@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--bg:#071f1c;--panel:#0c2824;--gold:#dfc58d;--text:#eeeae1;--muted:#b4bdb4;--line:#dfc58d36;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.03}h1,h2{letter-spacing:-.035em}em{font-weight:400;color:var(--gold)}.header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:14px;letter-spacing:.13em;line-height:1.5;display:inline-flex;flex-direction:column}.brand span{font-size:12px;color:var(--gold);letter-spacing:.24em;margin-top:3px}.header nav{display:flex;gap:32px;align-items:center;font-size:14px}.header nav a:hover,footer a:hover{color:var(--gold)}.nav-contact{margin-left:35px;border-bottom:1px solid var(--gold);padding:8px 0}.hero{min-height:740px;position:relative;isolation:isolate;overflow:hidden}.hero-content{padding:85px 5% 110px;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:500;color:var(--gold)}h1{font-size:clamp(64px,6.8vw,110px);margin:30px 0 26px;max-width:800px}.intro{color:#ccd0c6;font-size:17px;line-height:1.8;margin-bottom:35px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;border:1px solid var(--gold);padding:16px 25px;font-size:14px;color:var(--gold);transition:background .2s,color .2s}.button:hover{background:var(--gold);color:var(--bg)}.button span{font-size:22px}.hero-art{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden;z-index:-1;opacity:.9;mask-image:linear-gradient(90deg,transparent,#000 25%)}.hero-art img{height:100%;max-width:none;position:absolute;right:0;top:0;width:auto}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 17%)}.hero-bottom{position:absolute;bottom:0;left:5%;right:5%;padding:22px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;color:var(--muted)}.hero-bottom>span:first-child{font-family:var(--serif);font-size:21px;color:var(--gold);letter-spacing:0}.hero-bottom a{font-size:24px}.section{padding:105px 5%;scroll-margin-top:10px}.section-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.side-note{font-size:14px;line-height:1.7;color:var(--muted)}h2{font-size:clamp(46px,5.2vw,78px)}.section-description{color:var(--muted);font-size:14px;margin-top:20px}.works{background:#091c1c}.gallery{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:24px;margin-top:45px;align-items:start}.work{background:none;color:inherit;border:0;padding:0;text-align:left;cursor:pointer;min-width:0}.work:nth-child(2){margin-top:64px}.work:nth-child(3){margin-top:128px}.work-picture{display:block;position:relative;height:360px;overflow:hidden;background:var(--panel)}.work-large .work-picture{height:470px}.work-picture img{position:absolute;max-width:none;height:100%;width:auto;transition:transform .5s}.art-cloud img{right:-4%;height:160%;top:-10%}.art-eye img{right:-15%;height:116%;top:-8%}.art-person img{left:-13%;height:104%;top:-1%}.work:hover img{transform:scale(1.04)}.work-caption{display:flex;justify-content:space-between;gap:10px;padding-top:20px}.work-caption strong{display:block;font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1}.work-caption small{display:block;color:var(--muted);font-size:12px;margin-top:9px}.work-caption>span:last-child{color:var(--gold);font-size:23px}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}.portrait{position:relative;padding-bottom:28px}.portrait img{display:block;width:100%;height:590px;object-fit:cover;object-position:40% center}.portrait>span{display:block;font-size:12px;letter-spacing:.14em;color:var(--muted);margin-top:18px}.about h2{font-size:clamp(42px,4.2vw,64px);margin:27px 0}.about-copy>p:not(.eyebrow){color:var(--muted);margin-top:20px}.education{margin-top:25px;border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.education summary{padding:18px 0;display:flex;justify-content:space-between;font-size:14px;color:var(--gold)}.education p{color:var(--muted);font-size:14px}.services{background:#eae5d8;color:#17312b}.services .eyebrow,.services em{color:#77633c}.services .side-note,.services .service-foot{color:#53615a}.service-list{margin-top:52px;border-top:1px solid #17312b40}.service-list details{border-bottom:1px solid #17312b40}.service-list summary{display:grid;grid-template-columns:50px 1fr auto 35px;gap:20px;align-items:center;padding:27px 0}.service-no{font-size:12px;color:#677064}.service-name{font-family:var(--serif);font-size:34px;line-height:1.1}.price{font-size:16px;white-space:nowrap}.plus{font-size:27px;font-weight:400;text-align:right}.detail-body{padding:0 70px 28px;max-width:880px;font-size:16px;color:#45584d}.service-foot{display:flex;justify-content:space-between;gap:60px;margin-top:30px;font-size:14px}.service-foot p{max-width:480px}.process h2{margin-top:28px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:65px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{color:var(--gold);font-size:13px}.steps h3{font-size:32px;margin:24px 0 18px}.steps p{font-size:14px;color:var(--muted)}.terms{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-top:80px;border-top:1px solid var(--line);padding-top:40px}.terms h3{font-size:36px;color:var(--gold)}.terms-list details{border-bottom:1px solid var(--line)}.terms-list summary{display:flex;justify-content:space-between;gap:20px;padding:19px 0;font-size:16px}.terms-list summary span{color:var(--gold);font-size:21px}.terms-list p,.terms-list ul{font-size:14px;color:var(--muted);margin:0 0 20px}details[open] summary .plus,details[open] summary>span:last-child:not(.service-name){transform:rotate(45deg)}.contact{text-align:center;background:var(--panel);padding-top:100px;padding-bottom:100px;border-top:1px solid var(--line)}.contact h2{font-size:clamp(65px,8vw,118px);margin:30px 0}.contact>p:not(.eyebrow){color:var(--muted);margin-bottom:32px}.contact-handle{display:block;font-size:13px;color:var(--muted);margin-top:18px}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 5%;gap:24px}footer>span,footer>a:last-child{font-size:13px;color:var(--muted)}dialog{border:1px solid var(--line);padding:46px 20px 20px;background:var(--bg);color:var(--text);width:min(1200px,94vw);max-height:92vh}dialog::backdrop{background:#000d}dialog img{width:100%;max-height:73vh;object-fit:contain}dialog p{font-family:var(--serif);font-size:24px;margin-top:12px}.close{position:absolute;right:15px;top:0;background:none;border:0;color:var(--gold);font-size:36px;cursor:pointer}.skip{position:fixed;top:-80px;background:var(--gold);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:5px}
@media(min-width:1700px){.hero-content,.section,.header,footer{padding-left:max(5%,calc((100vw - 1530px)/2));padding-right:max(5%,calc((100vw - 1530px)/2))}}@media(max-width:1000px){.header nav{gap:20px}.nav-contact{margin-left:0}.hero{min-height:700px}.hero-content{padding-top:90px}h1{font-size:78px}.hero-art{width:48%;opacity:.6}.gallery{gap:18px}.work-picture{height:280px}.work-large .work-picture{height:380px}.about{gap:6%}.portrait img{height:560px}.steps{gap:24px}.terms{gap:30px}.service-name{font-size:30px}}@media(max-width:700px){.header{height:auto;min-height:105px;align-items:flex-start;padding-top:20px;padding-bottom:18px;gap:15px;flex-direction:column}.brand{font-size:12px}.brand span{font-size:12px}.header nav{width:100%;gap:19px;font-size:12px;flex-wrap:wrap}.nav-contact{margin-left:auto;border:0;padding:0}.hero{min-height:730px}.hero-content{padding-top:48px;padding-bottom:165px}.hero-art{width:100%;height:80%;top:20%;opacity:.45;mask-image:linear-gradient(90deg,transparent,#000 50%)}.hero-art img{right:-15%}h1{font-size:clamp(51px,10.8vw,76px);margin-top:25px;line-height:1.02}.eyebrow{font-size:12px;letter-spacing:.12em}.intro{font-size:16px;max-width:310px;margin-top:30px}.hero-bottom{gap:20px}.hero-bottom>span:nth-child(2){display:none}.section{padding-top:70px;padding-bottom:70px}.side-note{display:none}h2{font-size:48px}.gallery{grid-template-columns:1fr 1fr;gap:32px 16px;margin-top:30px}.work-large{grid-column:1/-1}.work-large .work-picture{height:470px}.work:nth-child(2),.work:nth-child(3){margin-top:0}.work-picture{height:260px}.work-caption strong{font-size:24px}.work-caption small{font-size:12px}.work-caption>span:last-child{display:none}.about{display:flex;flex-direction:column;gap:36px}.portrait{width:100%;padding:0}.portrait img{height:450px;object-position:40% 35%}.about h2{font-size:46px}.service-list summary{grid-template-columns:24px 1fr 22px;gap:12px;padding:22px 0}.service-name{font-size:29px}.price{grid-column:2;grid-row:2;font-size:14px}.plus{grid-column:3;grid-row:1/3}.detail-body{padding:0 0 23px 36px;font-size:14px}.service-foot{flex-direction:column;gap:15px}.steps{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:40px}.steps h3{font-size:29px;margin-top:18px}.terms{grid-template-columns:1fr;gap:18px;margin-top:55px}.terms h3{font-size:34px}.contact h2{font-size:66px}.contact .button{padding:14px 18px;gap:15px}footer{flex-wrap:wrap;padding-top:30px;padding-bottom:30px}footer>span{order:3;width:100%}.art-eye img{right:-30%}.art-person img{left:-27%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Revised visual system: equal project frames, live hero typography, service cards. */
.hero{min-height:780px}.hero-art{width:100%;height:100%;top:0;opacity:1;mask-image:none}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;right:0;top:0}.hero-art:after{background:linear-gradient(90deg,rgba(7,31,28,.35),transparent 70%),linear-gradient(0deg,var(--bg),transparent 18%)}.hero-content{padding-top:65px;padding-bottom:115px}.hero h1{font-size:clamp(70px,7.2vw,110px);line-height:1.01;max-width:650px}.hero .intro{max-width:555px;font-size:17px;line-height:1.8}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}.gallery .work{margin:0;grid-column:auto;display:flex;flex-direction:column;min-width:0}.gallery .work-picture{height:auto;width:100%;aspect-ratio:16/9;border:1px solid var(--line)}.gallery .work-picture img{position:static;width:100%;height:100%;object-fit:contain;max-width:100%;display:block}.gallery .work-caption{min-height:95px;width:100%;padding-top:19px}.gallery .work-caption strong{font-size:29px}.gallery .work-caption small{font-size:13px}.gallery .work:hover img{transform:scale(1.025)}.play-mark{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:26px;background:#0002}.about{grid-template-columns:.82fr 1.18fr;gap:7%;align-items:start}.portrait{position:sticky;top:35px}.portrait img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center}.about h2{margin-top:20px}.about-copy>p:not(.eyebrow){font-size:16px}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.expertise-grid article{padding:22px;background:#102f29;border:1px solid var(--line)}.expertise-grid h3{font-size:28px;color:var(--gold);line-height:1.12;margin-bottom:12px}.expertise-grid p{font-size:14px;line-height:1.65;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:45px}.service-card{background:#f4f0e7;border:1px solid #17312b24;padding:30px 23px;min-width:0;transition:border-color .2s,background .2s}.service-card:hover{background:#fffaf0;border-color:#857044}.service-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:#183b30;color:#e0c791;margin-bottom:35px}.service-icon svg{width:29px;height:29px}.service-card h3{font-size:30px;line-height:1.08;min-height:65px;margin-bottom:20px}.service-card p{font-size:14px;line-height:1.75;color:#506158}.service-link{color:#17312b;white-space:nowrap;align-self:flex-start;border-bottom:1px solid #82704e}.contact h2{font-size:clamp(54px,6.4vw,94px)}#lightbox h2{font-size:32px;line-height:1.2;margin:20px 0 8px}#project-description{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--muted);max-width:800px}#project-media img,#project-media video{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;background:#061511}#project-link{display:inline-block;color:var(--gold);border-bottom:1px solid var(--gold);margin-top:15px}#project-navigation{display:flex;justify-content:center;gap:24px;align-items:center;margin-top:20px}#project-navigation button{border:1px solid var(--line);background:var(--panel);color:var(--gold);width:48px;height:44px;cursor:pointer}#image-position{font-size:14px}#project-navigation[hidden],#project-link[hidden]{display:none}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{padding:28px}.service-card h3{min-height:0}.service-icon{margin-bottom:25px}.hero .intro{max-width:490px}.expertise-grid{grid-template-columns:1fr}.about{gap:5%}.gallery{gap:20px}.gallery .work-caption strong{font-size:26px}}
@media(max-width:700px){.hero{min-height:840px}.hero-content{padding-top:50px;padding-bottom:125px}.hero h1{font-size:clamp(60px,13vw,86px);max-width:100%;line-height:1.03}.hero .intro{font-size:16px;max-width:440px}.hero-art{width:100%;height:100%;top:0;opacity:.65;mask-image:none}.hero-art img{right:0;object-position:65% center}.hero-art:after{background:linear-gradient(90deg,rgba(7,31,28,.93),rgba(7,31,28,.4) 65%,transparent),linear-gradient(0deg,var(--bg),transparent 45%)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.gallery .work-caption{min-height:90px}.gallery .work-caption strong{font-size:25px}.gallery .work-caption small{font-size:12px}.about{display:flex;flex-direction:column;gap:40px}.portrait{position:static;max-width:480px;margin:auto}.portrait img{height:auto;object-position:center}.about-copy{width:100%}.expertise-grid{grid-template-columns:1fr 1fr;gap:12px}.expertise-grid article{padding:20px 16px}.expertise-grid h3{font-size:25px}.service-grid{gap:14px}.service-card{padding:24px 18px}.service-card h3{font-size:28px}.service-card p{font-size:14px}.contact h2{font-size:clamp(42px,8.6vw,60px)}}
@media(max-width:480px){.gallery{grid-template-columns:minmax(0,1fr);gap:26px}.gallery .work-caption{min-height:78px}.gallery .work-caption>span:last-child{display:block}.service-grid{grid-template-columns:minmax(0,1fr)}.service-card{display:grid;grid-template-columns:48px 1fr;gap:13px 18px;align-items:center;padding:24px}.service-icon{grid-column:1;grid-row:1;margin:0;width:48px;height:48px}.service-icon svg{width:25px;height:25px}.service-card h3{grid-column:2;margin:0;font-size:29px}.service-card p{grid-column:1/-1;margin-top:3px}.expertise-grid{grid-template-columns:1fr}.expertise-grid article{padding:23px}.hero{min-height:850px}}

/* Portrait video portfolio. */
.gallery .work-picture{aspect-ratio:9/16}.gallery .work-picture img{object-fit:cover}.play-mark{background:linear-gradient(0deg,#0003,transparent 45%);font-size:25px}.play-mark:before{content:'';position:absolute;width:70px;height:70px;border:1px solid #dfc58d99;border-radius:50%;background:#071f1c66;backdrop-filter:blur(4px)}.play-mark{isolation:isolate}.play-mark:before{z-index:-1}.work:hover .play-mark:before{background:#071f1ca6}.video-project{width:min(680px,94vw)}.video-project #project-media video{width:auto;max-width:100%;height:auto;max-height:65vh;margin:auto}.video-project #project-media{background:#061511}body:has(dialog[open]){overflow:hidden}
