:root{
  --ink:#0b0809;
  --ink-2:#151012;
  --ink-3:#1c1518;
  --paper:#f3eeea;
  --paper-2:#e8dfda;
  --champagne:#caa08f;
  --champagne-deep:#a97868;
  --hot:#ee2f8e;
  --soft:#aa9d99;
  --line:rgba(255,255,255,.14);
  --dark-line:rgba(17,12,14,.14);
  --serif:'Cormorant Garamond', Georgia, serif;
  --sans:'Montserrat', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
::selection{background:var(--hot);color:white}
.skip-link{position:fixed;left:18px;top:-80px;z-index:200;background:white;color:#111;padding:12px 16px;font-size:12px;transition:.2s}.skip-link:focus{top:18px}
.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;width:100%;height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;z-index:50;transition:.35s ease;border-bottom:1px solid transparent}
.site-header.scrolled{height:76px;background:rgba(11,8,9,.88);backdrop-filter:blur(18px);border-color:var(--line)}
.brand{display:inline-flex;align-items:center;line-height:1}.brand-logo img{display:block;width:auto;height:58px;max-width:min(32vw,260px)}
.nav{display:flex;align-items:center;gap:2.1vw;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--champagne);transition:.3s}.nav a:hover::after{width:100%}.nav-cta{border:1px solid rgba(255,255,255,.48);padding:13px 18px;transition:.3s}.nav-cta:hover{background:var(--paper);color:var(--ink)}
.menu-toggle{display:none;background:none;border:0;width:38px;height:38px;position:relative}.menu-toggle span{position:absolute;width:25px;height:1px;background:white;left:7px;transition:.3s}.menu-toggle span:first-child{top:14px}.menu-toggle span:last-child{top:23px}
.hero{height:100svh;min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/hero-v3.jpg');background-size:cover;background-position:center center;transform:scale(1.025)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,3,4,.91) 0%,rgba(5,3,4,.7) 38%,rgba(5,3,4,.16) 72%,rgba(5,3,4,.24) 100%),linear-gradient(0deg,rgba(7,4,5,.82) 0%,transparent 40%)}
.hero-content{position:relative;z-index:2;margin-left:8vw;margin-top:4vh;width:min(790px,62vw)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.34em;font-weight:500;margin:0 0 22px}.accent{color:var(--champagne)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.92;margin:0}h1{font-size:clamp(58px,7vw,110px);letter-spacing:-.035em;text-shadow:0 5px 40px rgba(0,0,0,.28)}h1 em,h2 em{font-weight:400;color:var(--champagne)}
.hero-copy{width:min(585px,92%);font-size:14px;letter-spacing:.025em;color:rgba(255,255,255,.78);margin:32px 0 30px}.hero-actions{display:flex;align-items:center;gap:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.18em;transition:.3s;border:0;cursor:pointer}.button-solid{background:var(--paper);color:var(--ink)}.button-solid:hover{background:var(--champagne);color:var(--ink);transform:translateY(-2px)}.button-outline{border:1px solid rgba(255,255,255,.3)}.button-outline:hover{background:var(--paper);color:var(--ink)}.button-light{background:white;color:var(--ink)}.button-light:hover{background:var(--champagne);color:var(--ink);transform:translateY(-2px)}
.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.17em;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:5px}.text-link span{margin-left:7px;color:var(--champagne)}.hero-note{position:absolute;z-index:2;right:4vw;bottom:5vh;writing-mode:vertical-rl;font-size:8px;letter-spacing:.28em;color:rgba(255,255,255,.56)}
.scroll-cue{position:absolute;left:50%;bottom:28px;width:28px;height:45px;border:1px solid rgba(255,255,255,.3);border-radius:20px;z-index:3}.scroll-cue span{position:absolute;width:3px;height:3px;background:white;border-radius:50%;left:12px;top:9px;animation:scroll 1.7s infinite}@keyframes scroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(18px)}}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#090607;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 6vw}.trust-strip div{display:flex;align-items:center;gap:14px;min-height:84px;border-right:1px solid var(--line);padding:0 2vw}.trust-strip div:last-child{border-right:0}.trust-strip span{font:italic 400 16px var(--serif);color:var(--champagne)}.trust-strip strong{font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.7)}
.section{position:relative;padding:130px 8vw}.section-number{position:absolute;top:38px;left:4vw;font:italic 400 16px var(--serif);color:rgba(255,255,255,.26)}.intro{background:var(--paper);color:var(--ink);padding-top:150px;padding-bottom:150px}.intro-grid,.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:start}h2{font-size:clamp(48px,6vw,86px);letter-spacing:-.03em}.intro-copy{padding-top:58px;max-width:610px}.intro-copy p,.about-copy p{font-size:14px;color:#5d5552;margin:0 0 22px}.intro-copy .lead{font:400 24px/1.35 var(--serif);color:var(--ink)}.intro .text-link{color:var(--ink);border-color:#afa6a1;display:inline-block;margin-top:10px}
.manifesto{overflow:hidden;background:#0d090b;color:var(--champagne);border-top:1px solid rgba(202,160,143,.35);border-bottom:1px solid rgba(202,160,143,.35);position:relative}.manifesto::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--hot);z-index:2}.marquee{display:flex;width:max-content;animation:marquee 30s linear infinite}.marquee span{font:italic 400 clamp(42px,5vw,78px)/1 var(--serif);letter-spacing:.02em;white-space:nowrap;padding:21px 20px}@keyframes marquee{to{transform:translateX(-50%)}}
.experience{background:var(--ink)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:70px}.section-heading>p{max-width:430px;color:rgba(255,255,255,.58);font-size:13px}.experience-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.exp-card{padding:40px 3.3vw 45px 0;border-right:1px solid var(--line);min-height:320px}.exp-card:nth-child(2),.exp-card:nth-child(3){padding-left:3.3vw}.exp-card:last-child{border-right:0}.exp-card span{display:block;color:var(--hot);font:italic 400 18px var(--serif);margin-bottom:72px}.exp-card h3{font-size:45px;margin-bottom:16px}.exp-card p{font-size:12px;color:rgba(255,255,255,.58);max-width:340px}
.portfolio{display:grid;grid-template-columns:1.2fr .8fr;min-height:760px;background:#100c0d}.portfolio-photo{position:relative;overflow:hidden;min-height:760px}.portfolio-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.94) contrast(1.02)}.photo-caption{position:absolute;left:28px;bottom:25px;display:flex;flex-direction:column;background:rgba(8,5,6,.74);backdrop-filter:blur(8px);padding:15px 18px;min-width:180px;border:1px solid rgba(255,255,255,.1)}.photo-caption span{font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne)}.photo-caption strong{font:italic 400 26px var(--serif)}.portfolio-copy{display:flex;flex-direction:column;justify-content:center;padding:8vw 7vw}.portfolio-copy h2{font-size:clamp(46px,5vw,72px);margin-bottom:30px}.portfolio-copy>p{font-size:13px;color:rgba(255,255,255,.6);max-width:500px}.quote{font:italic 400 28px/1.2 var(--serif);color:var(--champagne);padding:30px 0;margin:20px 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.portfolio-copy .button{align-self:flex-start}
.social-proof{background:var(--paper);color:var(--ink)}.social-proof .section-heading>p{color:#6e6460}.social-proof em{color:var(--champagne-deep)}.instagram-banner{min-height:510px;display:grid;grid-template-columns:1.1fr .9fr;background:var(--ink);color:white;overflow:hidden;transition:.35s}.instagram-banner:hover{transform:translateY(-5px);box-shadow:0 24px 80px rgba(21,12,16,.18)}.instagram-image{background:linear-gradient(90deg,rgba(16,9,12,.05),rgba(16,9,12,.34)),url('assets/instagram-v3.jpg') center 22%/cover;min-height:510px}.instagram-copy{display:flex;flex-direction:column;justify-content:center;padding:6vw}.instagram-copy span{font-size:9px;text-transform:uppercase;letter-spacing:.25em;color:var(--champagne);margin-bottom:35px}.instagram-copy strong{font:400 clamp(40px,4.5vw,68px)/.98 var(--serif);max-width:520px}.instagram-copy small{margin-top:35px;text-transform:uppercase;font-size:9px;letter-spacing:.18em;color:rgba(255,255,255,.65)}
.about{background:#171113}.about-kicker{font:italic 400 clamp(65px,11vw,160px)/.7 var(--serif);letter-spacing:-.06em;color:rgba(255,255,255,.035);position:absolute;top:60px;right:4vw;white-space:nowrap}.about-grid{padding-top:40px}.about-copy{padding-top:62px}.about-copy p{color:rgba(255,255,255,.58)}
.privacy-promise{background:#0e0a0b;padding-top:95px;padding-bottom:95px}.privacy-card{max-width:1180px;margin:0 auto;border:1px solid rgba(202,160,143,.3);padding:70px 7vw;position:relative}.privacy-card::before{content:'';position:absolute;left:-1px;top:60px;width:3px;height:85px;background:var(--hot)}.privacy-card h2{font-size:clamp(48px,5.8vw,82px);max-width:940px}.privacy-card>p:last-child{max-width:720px;color:rgba(255,255,255,.6);font-size:13px;margin:30px 0 0}
.faq{background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-heading{position:sticky;top:120px;align-self:start}.faq-heading h2{font-size:clamp(48px,5vw,74px)}.accordion details{border-top:1px solid #cfc4be;padding:0}.accordion details:last-child{border-bottom:1px solid #cfc4be}.accordion summary{list-style:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;align-items:center;font:500 22px var(--serif)}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font:300 25px var(--sans);transition:.3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{font-size:12px;color:#635b57;max-width:650px;padding:0 40px 28px 0;margin:0}
.inquire{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;background:linear-gradient(135deg,#d82d80 0%,#a31f61 100%);color:white;padding-top:120px;padding-bottom:120px}.inquire-intro{align-self:start;position:sticky;top:120px}.inquire h2{font-size:clamp(54px,6vw,84px)}.inquire h2 em{color:#2a121d}.inquire-intro>p:not(.eyebrow){font-size:13px;max-width:500px;margin:28px 0;color:rgba(255,255,255,.82)}.inquire-meta{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,.25);padding-top:22px;margin-top:34px}.inquire-meta span{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.inquiry-form{background:rgba(11,8,9,.93);padding:48px;color:white;box-shadow:0 35px 90px rgba(43,8,25,.24)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.inquiry-form label{display:block;margin-bottom:25px}.inquiry-form label>span{display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:9px}.inquiry-form label>span small{text-transform:none;letter-spacing:0;font-size:9px;opacity:.65}.inquiry-form input:not([type=checkbox]),.inquiry-form textarea,.inquiry-form select{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:white;border-radius:0;padding:11px 0 13px;outline:none;transition:.25s}.inquiry-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#caa08f 50%),linear-gradient(135deg,#caa08f 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.inquiry-form select option{color:#111}.inquiry-form textarea{resize:vertical;min-height:125px}.inquiry-form input:focus,.inquiry-form textarea:focus,.inquiry-form select:focus{border-color:var(--champagne)}.inquiry-form ::placeholder{color:rgba(255,255,255,.36)}.honeypot{position:absolute;left:-9999px}.consent{display:flex!important;align-items:flex-start;gap:11px;margin:8px 0 30px!important}.consent input{margin-top:4px;accent-color:var(--champagne)}.consent span{margin:0!important;font-size:9px!important;line-height:1.6;letter-spacing:.08em!important;text-transform:none!important}.form-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.instagram-inline{font-size:9px;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:4px;color:rgba(255,255,255,.75)}
footer{min-height:220px;padding:55px 6vw 38px;background:#090708;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;gap:35px;align-items:start}.footer-brand{align-self:start}.footer-brand img{height:72px;max-width:min(38vw,320px)}.footer-meta{display:flex;gap:25px;font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.55)}.footer-meta a{color:white}.copyright{grid-column:1/-1;padding-top:22px;border-top:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.36)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@media (max-width:980px){
  .site-header{height:78px;padding:0 24px}.brand-logo img{height:48px;max-width:220px}.nav{position:fixed;inset:78px 0 auto 0;background:rgba(11,8,9,.98);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:flex-start;padding:32px 25px 42px;gap:25px;transform:translateY(-130%);transition:.35s;border-bottom:1px solid var(--line)}.nav.open{transform:none}.nav-cta{margin-top:5px}.menu-toggle{display:block}.menu-toggle.open span:first-child{transform:rotate(45deg);top:19px}.menu-toggle.open span:last-child{transform:rotate(-45deg);top:19px}
  .hero-content{width:84vw;margin-left:7vw}.hero-shade{background:linear-gradient(90deg,rgba(6,4,5,.84),rgba(6,4,5,.34)),linear-gradient(0deg,rgba(6,4,5,.77),transparent 60%)}
  .trust-strip{grid-template-columns:1fr 1fr;padding:0 7vw}.trust-strip div:nth-child(2){border-right:0}.trust-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .intro-grid,.about-grid,.faq,.inquire{grid-template-columns:1fr}.intro-copy,.about-copy{padding-top:10px}.section-heading{align-items:flex-start;flex-direction:column}.experience-cards{grid-template-columns:1fr}.exp-card,.exp-card:nth-child(2),.exp-card:nth-child(3){padding:34px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.exp-card span{margin-bottom:35px}.portfolio{grid-template-columns:1fr}.portfolio-photo{min-height:650px}.portfolio-copy{padding:90px 8vw}.instagram-banner{grid-template-columns:1fr}.instagram-image{min-height:520px}.instagram-copy{padding:70px 8vw}.faq-heading,.inquire-intro{position:relative;top:0}.field-row{grid-template-columns:1fr}.footer-meta{flex-direction:column;gap:9px}
}
@media (max-width:620px){
  .section{padding:95px 7vw}.brand-logo img{height:40px;max-width:180px}.hero{min-height:680px}.hero-image{background-position:58% 45%}.hero-content{margin-top:12vh}.hero-content h1{font-size:clamp(52px,16vw,78px)}.hero-copy{font-size:12px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-note{display:none}.scroll-cue{display:none}
  .trust-strip{grid-template-columns:1fr}.trust-strip div{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:66px;padding:0}.trust-strip div:last-child{border-bottom:0!important}
  h2{font-size:clamp(44px,14vw,66px)}.intro{padding-top:105px}.intro-copy .lead{font-size:21px}.marquee span{padding:15px 12px}.section-heading{margin-bottom:45px}.portfolio-photo{min-height:520px}.portfolio-copy{padding:75px 7vw}.instagram-image{min-height:430px}.instagram-copy strong{font-size:44px}.about-kicker{display:none}.privacy-card{padding:55px 8vw}.faq{gap:55px}.accordion summary{font-size:19px}.inquiry-form{padding:34px 24px}.form-actions{align-items:flex-start;flex-direction:column}.inquire{padding-top:90px;padding-bottom:90px}footer{grid-template-columns:1fr}.footer-meta{grid-column:1}.copyright{grid-column:1}.footer-brand{margin-bottom:15px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee{animation:none}.scroll-cue span{animation:none}.reveal{opacity:1;transform:none;transition:none}.social-card,.instagram-banner,.button{transition:none}}

.gallery-showcase{background:linear-gradient(180deg,#f6f0ec 0%,#efe7e2 100%);color:var(--ink)}
.gallery-showcase .section-heading>p{color:#6b625e}
.gallery-showcase em{color:var(--champagne-deep)}
.gallery-heading{margin-bottom:54px}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.gallery-card{position:relative;overflow:hidden;min-height:320px;background:#ddd;border:1px solid rgba(17,12,14,.08);box-shadow:0 20px 70px rgba(24,17,20,.08);margin:0}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-card:hover img{transform:scale(1.03)}
.gallery-card figcaption{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:flex-start}
.gallery-card figcaption span{background:rgba(8,5,6,.72);backdrop-filter:blur(8px);color:white;padding:9px 12px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(255,255,255,.1)}
.gallery-card.tall{grid-column:span 3;min-height:620px}
.gallery-card.square{grid-column:span 4;min-height:420px}
.gallery-card.wide{grid-column:span 5;min-height:420px}
@media (max-width:980px){
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-card.tall,.gallery-card.square,.gallery-card.wide{grid-column:auto;min-height:420px}
}
@media (max-width:620px){
  .gallery-grid{grid-template-columns:1fr;gap:16px}
  .gallery-card.tall,.gallery-card.square,.gallery-card.wide{min-height:340px}
}
