:root{--studio-line:#3a473d;--studio-surface:#172119;--studio-surface-2:#202a22;--studio-gold:#c4ad7d}
/* Homepage brand header and slideshow. Keep the logo centered over the photography. */
.home-page .topbar{position:absolute;inset:0 0 auto;z-index:5;height:96px;padding:0 6vw;background:linear-gradient(180deg,rgba(8,13,9,.72),rgba(8,13,9,0));display:block}
.home-page .topbar>.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
.home-page .topbar>.brand img{width:132px;height:76px;object-fit:contain;filter:brightness(0) invert(1)}
.home-page .topbar>nav{position:absolute;inset:0 6vw;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:8px}
.home-page .topbar>nav>a:nth-child(1){grid-column:1}
.home-page .topbar>nav>a:nth-child(2){grid-column:2}
.home-page .topbar>nav>a:nth-child(3){grid-column:5}
.home-page .topbar>nav>a:nth-child(4){grid-column:6}
.home-page .topbar>nav>.nav-portfolio{grid-column:7}
.home-page .topbar>nav>a,.home-page .topbar>nav>.nav-portfolio>a{text-align:center;color:#f4f0e7;text-shadow:0 1px 10px #000}
.home-page .topbar .menu{position:absolute;right:6vw;top:50%;transform:translateY(-50%);z-index:3}
.hero{height:min(100svh,850px);min-height:550px}
.hero .slides,.hero .hero-photo{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-photo{display:block;margin:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease}
.hero .hero-photo.active{opacity:1;visibility:visible}
.hero .hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%}
.slide-controls{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:10px}
.slide-controls button{width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(8,13,9,.45);color:#fff;font-size:18px;cursor:pointer;backdrop-filter:blur(5px)}
.slide-controls button:hover,.slide-controls button:focus-visible{background:var(--studio-gold);color:var(--forest);outline:2px solid #fff;outline-offset:2px}
.home-page .intro.section{padding-top:88px}
.page-hero{position:relative;padding:88px max(8vw,24px) 82px;background:radial-gradient(ellipse at 86% 20%,#28372b 0,transparent 42%),linear-gradient(130deg,#141d16,#101711 72%);border-bottom:1px solid var(--studio-line)}
.page-hero>*{max-width:760px}.page-hero .eyebrow,.about-mast .eyebrow{margin:0 0 18px;color:var(--studio-gold)}
.page-hero h1,.about-mast h1,.project-mast h1{font:400 clamp(46px,7vw,84px)/.98 var(--serif);letter-spacing:.01em;margin:0 0 24px;color:var(--paper)}
.page-hero>p:not(.eyebrow){font-size:18px;line-height:1.7;color:var(--muted);max-width:620px;margin:0 0 28px}
.page-hero .button{color:var(--paper);border-color:var(--studio-gold)}
.home-portfolio,.service-overview,.pricing-section,.review-section,.project-body,.story-section,.contact-details,.faq-section{padding-top:84px;padding-bottom:96px}
.section-heading{max-width:1200px;margin:0 auto 34px}.section-heading h2,.story-heading h2,.contact-intro h2,.price-card h2,.faq-heading h2,.project-intro h2{font:400 clamp(34px,5vw,56px)/1.05 var(--serif);color:var(--paper);margin:8px 0}.section-heading h2 em,.story-heading h2 em,.faq-heading h2 em,.project-intro h2 em{font-style:italic;color:var(--studio-gold)}
.section-heading>p{max-width:380px;margin:0 0 4px;line-height:1.7}
.feature-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feature-card,.work-card{position:relative;display:block;overflow:hidden;background:var(--studio-surface-2);color:var(--paper);min-height:300px}
.feature-card img,.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .4s;filter:brightness(.78)}
.feature-card:after,.work-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(7,12,8,.88));pointer-events:none}
.feature-card>span,.work-card-label{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;display:flex;flex-direction:column;font:500 27px/1.1 var(--serif);color:white}
.feature-card b,.work-card-label small{font:500 10px/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#e2d4b5;margin-top:10px}
.feature-card:hover img,.work-card:hover img{transform:scale(1.045);filter:brightness(.94)}
.home-services{padding-top:78px;padding-bottom:90px;background:#141e16;border-top:1px solid var(--studio-line);border-bottom:1px solid var(--studio-line)}
.service-cards{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--studio-line)}
.service-cards>a,.service-cards>article{padding:30px 30px 32px;background:var(--studio-surface);border-right:1px solid var(--studio-line);color:var(--paper);transition:background .2s}
.service-cards>a:last-child,.service-cards>article:last-child{border:0}.service-cards>a:hover{background:var(--studio-surface-2)}
.service-number,.review-label{font-size:10px;letter-spacing:.17em;color:var(--studio-gold);text-transform:uppercase}
.service-cards h3{font:400 30px var(--serif);margin:28px 0 9px}.service-cards p{min-height:54px;color:var(--muted);font-size:14px}.service-cards small{display:block;margin-top:22px;color:var(--paper);font-size:12px;line-height:1.6}
.thanks{text-align:left;max-width:1200px;margin:auto}.thanks .eyebrow{color:var(--studio-gold)}.thanks h2{margin:10px 0}.thanks p:last-child{max-width:690px;color:var(--muted)}
.work-section{padding-top:54px}.work-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.work-card{min-height:360px}.work-card-label{bottom:23px}.work-card-label strong{font:400 36px/1 var(--serif)}.work-card-label b{position:absolute;right:0;bottom:0;font:24px var(--sans);color:var(--studio-gold)}
.review-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1200px;margin:52px auto 0;padding:26px 0;border-top:1px solid var(--studio-line);border-bottom:1px solid var(--studio-line)}.review-cta p{font:26px var(--serif);margin:0;color:var(--paper)}
.about-mast{max-width:1240px;margin:0 auto;padding:62px 7vw 82px;display:grid;grid-template-columns:1fr minmax(300px,.8fr);align-items:center;gap:7vw;background:radial-gradient(ellipse at 85% 70%,#29382c,transparent 45%),var(--forest)}
.about-copy{max-width:570px}.about-mast h1{font-size:clamp(52px,7vw,82px)}.about-lead{color:var(--muted);font-size:19px}.about-mast img{width:100%;max-height:480px;object-fit:cover;object-position:center 36%;filter:saturate(.82)}
.story-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;background:var(--forest-2)}.story-heading{position:sticky;top:30px;align-self:start}.story-copy{max-width:720px}.story-copy p{color:var(--muted);font-size:16px;line-height:1.9;margin:0 0 24px}.story-copy h3{font:400 31px var(--serif);color:var(--paper);margin:44px 0 12px}.story-copy h3:first-of-type{margin-top:0}.story-copy .signature{font:italic 27px var(--serif);color:var(--studio-gold)}
.review-section{background:var(--forest-2)}.review-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-card{min-height:240px;padding:28px;background:var(--forest);border:1px solid var(--studio-line)}.review-card h2{font:400 27px var(--serif);margin:16px 0 10px;color:var(--paper)}.review-card p:last-child{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.review-card .review-label{margin:0}
.service-hero{padding-top:92px;padding-bottom:100px}.service-overview{background:var(--forest-2)}.pricing-section{background:var(--forest);border-top:1px solid var(--studio-line)}.pricing-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;align-items:stretch}.pricing-card{padding:29px;background:var(--studio-surface);border:1px solid var(--studio-line)}.pricing-card h3{font:400 28px var(--serif);margin:10px 0 22px;color:var(--paper)}.pricing-card .eyebrow{color:var(--studio-gold);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.pricing-card ul,.price-card ul{list-style:none;padding:0;margin:0}.pricing-card li,.price-card li{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--studio-line);font-size:13px;color:var(--muted)}.pricing-card li b,.price-card li b{white-space:nowrap;color:var(--paper);font-weight:500}.pricing-card>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.75}.price-big{font:400 36px var(--serif)!important;color:var(--studio-gold)!important}.price-big small{font:13px var(--sans);color:var(--muted)}.pricing-cta{text-align:center;margin:36px 0 0}
.project-mast{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;background:var(--forest)}.project-mast:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,9,.78),rgba(8,12,9,.22) 75%),linear-gradient(0deg,rgba(8,12,9,.50),transparent 75%)}.project-mast>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:saturate(.84)}.project-mast-copy{position:relative;z-index:1;max-width:730px;padding:70px 9vw 68px}.project-mast-copy .eyebrow{color:#e1cca0}.project-mast-copy>p:not(.eyebrow){max-width:550px;color:#eee;font-size:16px;margin:0 0 25px}.project-mast h1{font-size:clamp(48px,7vw,84px)}.project-body{background:var(--forest-2)}.project-intro{max-width:720px;margin:0 auto 38px;text-align:center}.project-intro>p:last-child{color:var(--muted)}.project-body .imported-gallery{max-width:1180px;margin:0 auto}.related-work{max-width:1180px;margin:34px auto 0;display:flex;justify-content:space-between;gap:20px}.related-work a{color:var(--paper);border-bottom:1px solid var(--studio-gold);padding-bottom:7px}
.contact-hero{padding-top:82px;padding-bottom:74px}.contact-hero .button{margin:0 0 20px}.contact-hero .contact-location{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--studio-gold);margin-top:8px}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:var(--forest-2)}.contact-intro{align-self:center}.contact-intro>p:not(.eyebrow){max-width:520px;line-height:1.8;color:var(--muted)}.contact-email{display:inline-flex;margin-top:18px;padding-bottom:8px;border-bottom:1px solid var(--studio-gold);font-size:16px;color:var(--paper)}.contact-email span{color:var(--studio-gold);margin-left:18px}.price-card{padding:30px;background:var(--forest);border:1px solid var(--studio-line)}.price-card h2{font-size:38px;margin-bottom:22px}.price-note{color:var(--muted);font-size:13px;line-height:1.7;margin:20px 0}.price-card .text-link{color:var(--paper)}
.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:var(--forest)}.faq-heading{align-self:start;position:sticky;top:30px}.faq-list details{border-top:1px solid var(--studio-line);padding:18px 0}.faq-list details:last-child{border-bottom:1px solid var(--studio-line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;color:var(--paper);font:400 20px/1.3 var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--studio-gold);font:20px var(--sans)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.8;margin:15px 32px 0 0}
@media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr 1fr}.pricing-featured{grid-column:1/-1}.review-grid{grid-template-columns:repeat(2,1fr)}.story-section{gap:6vw}}
@media(max-width:760px){.home-page .topbar{height:74px;padding:0 20px}.home-page .topbar>.brand img{width:102px;height:60px}.home-page .topbar>nav{inset:74px 0 auto;padding:20px 24px 24px}.home-page .topbar .menu{right:20px}.home-page .hero{height:64svh;min-height:440px;max-height:620px}.home-page .hero .hero-photo img{object-position:57% center}.home-page .intro.section{padding-top:64px}.slide-controls{bottom:16px}.slide-controls button{width:42px;height:42px}}
@media(max-width:650px){.page-hero{padding:68px 7vw 62px}.page-hero h1,.about-mast h1,.project-mast h1{font-size:48px}.page-hero>p:not(.eyebrow){font-size:16px}.home-portfolio,.service-overview,.pricing-section,.review-section,.project-body,.story-section,.contact-details,.faq-section{padding:58px 7vw 66px}.section-heading{margin-bottom:24px}.feature-grid{gap:9px}.feature-card{min-height:220px}.feature-card>span{left:14px;right:12px;bottom:15px;font-size:22px}.feature-card b{font-size:9px}.service-cards{grid-template-columns:1fr}.service-cards>a,.service-cards>article{border-right:0;border-bottom:1px solid var(--studio-line);padding:22px}.service-cards>a:last-child,.service-cards>article:last-child{border-bottom:0}.service-cards h3{margin:16px 0 6px}.service-cards p{min-height:0}.service-cards small{margin-top:12px}.work-grid{grid-template-columns:1fr 1fr;gap:9px}.work-card{min-height:245px}.work-card-label{left:14px;right:13px;bottom:16px}.work-card-label strong{font-size:27px}.work-card-label small{font-size:9px}.about-mast{padding:42px 7vw 56px;grid-template-columns:1fr;gap:28px}.about-mast img{max-height:410px;order:-1}.story-section{grid-template-columns:1fr;gap:27px}.story-heading,.faq-heading{position:static}.story-copy h3{margin-top:34px}.review-grid{grid-template-columns:1fr}.review-card{min-height:0;padding:24px}.pricing-grid{grid-template-columns:1fr}.pricing-featured{grid-column:auto}.pricing-card{padding:23px}.project-mast{min-height:530px}.project-mast-copy{padding:56px 7vw}.project-mast:after{background:linear-gradient(0deg,rgba(8,12,9,.85),rgba(8,12,9,.1) 90%)}.related-work,.review-cta{align-items:flex-start;flex-direction:column}.contact-details,.faq-section{grid-template-columns:1fr;gap:34px}.price-card{padding:22px}.faq-list summary{font-size:19px}}
@media(prefers-reduced-motion:reduce){.feature-card img,.work-card img{transition:none}}
