:root{
  --paper:#f5f0e7;
  --cream:#fbf8f2;
  --ink:#121814;
  --muted:#546057;
  --green:#809c3d;
  --deep:#101410;
  --forest:#173b2c;
  --gold:#d6ad5f;
  --line:rgba(18,24,20,.12);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --max:1500px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
.site-header{position:fixed;left:0;right:0;top:0;z-index:60;height:78px;padding:0 max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:28px;background:rgba(249,246,239,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transform:translateY(-110%);transition:transform .35s ease,box-shadow .35s ease;box-shadow:0 10px 34px rgba(0,0,0,.06)}
.site-header.visible{transform:translateY(0)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand img{width:42px}.brand span{display:flex;flex-direction:column}.brand strong{font-family:var(--serif);font-size:25px;font-weight:600;line-height:1}.brand small{font-size:8px;letter-spacing:.22em;margin-top:6px}
.site-header nav{display:flex;gap:25px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.site-header nav a{text-decoration:none;position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-9px;height:1px;width:0;background:var(--green);transition:.25s}.site-header nav a:hover:after{width:100%}.header-cta{padding:12px 17px;border:1px solid var(--green);border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.09em;color:#425025;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;font-size:24px;color:var(--ink)}.mobile-menu{display:none}
.hero-shell{background:#eee8dd}.hero-exact{position:relative;width:100%;overflow:hidden;background:#eee8dd;aspect-ratio:1672/941}.hero-image{width:100%;height:100%;object-fit:contain;object-position:center center;filter:none!important;opacity:1!important;transform:none!important}.hotspot{position:absolute;z-index:20;display:block;background:transparent;cursor:pointer}
.hs-portfolio{left:31.0%;top:.3%;width:6.2%;height:7.2%}
.hs-custom{left:38.2%;top:.3%;width:7.8%;height:7.2%}
.hs-gigi{left:47.5%;top:.3%;width:8.4%;height:7.2%}
.hs-sustainability{left:56.9%;top:.3%;width:8.8%;height:7.2%}
.hs-contact{left:66.2%;top:.3%;width:5.5%;height:7.2%}
.hs-top-cta{left:86.3%;top:.15%;width:12.2%;height:7.1%}
.hs-main-portfolio{left:3.1%;top:49.8%;width:16.6%;height:7.8%}
.hs-main-contact{left:19.9%;top:49.8%;width:13.1%;height:7.8%}
.flying-bird{position:absolute;z-index:7;width:4.8%;min-width:42px;max-width:82px;left:0;top:0;opacity:0;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));will-change:transform,opacity}.mobile-actions{display:none}
.section-copy{max-width:780px;padding:0 24px}.section-copy.centered{margin:0 auto 44px;text-align:center}.eyebrow{margin:0 0 18px;color:var(--green);font-size:11px;letter-spacing:.28em;font-weight:700;text-transform:uppercase}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(48px,6vw,82px);line-height:.95;margin:0 0 22px}h2{font-size:clamp(44px,5.2vw,76px);line-height:.98;margin:0 0 22px}h3{font-size:30px;margin:18px 0 12px}.section-copy>p:last-child,.gigi-copy p,.process-grid p,.contact-copy p,.world-card p,.sustainability-intro p,.material-copy p{font-size:17px;line-height:1.7;color:var(--muted)}
.portfolio-section{background:var(--deep);color:#f6f1e8;padding:98px 0 108px}.portfolio-section .eyebrow{color:#b8ce71}.portfolio-section .section-copy>p:last-child{color:#bdc6bf}.filmstrip{overflow:hidden;background:#080a08;padding:22px 0}.perforation{height:15px;background:repeating-linear-gradient(90deg,transparent 0 17px,#f0e8da 17px 30px,transparent 30px 49px)}.film-track{display:flex;gap:16px;width:max-content;padding:17px 16px;animation:filmroll 42s linear infinite}.filmstrip:hover .film-track{animation-play-state:paused}.frame{position:relative;flex:none;width:220px;aspect-ratio:4/5;border:7px solid #eee6d8;background:#eee6d8;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;padding:0;cursor:zoom-in}.frame:hover{transform:scale(1.055);z-index:2;box-shadow:0 12px 34px rgba(0,0,0,.3)}.frame img{width:100%;height:100%;object-fit:contain;background:#f6f2e9;padding:6px}.frame span{position:absolute;left:8px;right:8px;bottom:8px;padding:10px 11px;background:rgba(9,11,9,.78);color:#fff;font-size:10px;letter-spacing:.13em;text-transform:uppercase}@keyframes filmroll{to{transform:translateX(calc(-50% - 8px))}}

.gigi-section{max-width:var(--max);margin:0 auto;padding:90px 24px 110px;display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:center}.portrait-wrap{position:relative;max-width:520px;margin:0 auto}.portrait{width:100%;aspect-ratio:355/610;object-fit:cover;object-position:45% 48%;border-radius:18px;box-shadow:0 28px 70px rgba(0,0,0,.12)}.patch{position:absolute;width:185px;right:-24px;bottom:-28px;transform:rotate(-5deg);filter:drop-shadow(0 12px 18px rgba(0,0,0,.18))}.gigi-copy{max-width:740px}.gigi-copy p{margin:0 0 17px}.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;margin-top:15px;min-height:52px;padding:0 24px;border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.09em}.primary-button{background:var(--green);color:#fff}.outline-button{border:1px solid #2a332c;color:#2a332c;background:transparent}
.motto-section{display:grid;grid-template-columns:88px 1fr;gap:24px;align-items:center;background:#183b2d;color:white;padding:44px max(24px,calc((100vw - var(--max))/2 + 24px))}.motto-section img{width:72px}.motto-section div{display:flex;justify-content:space-between;gap:34px;font-family:var(--serif);font-size:clamp(30px,3.3vw,50px);font-style:italic}
.sustainability-section{background:linear-gradient(180deg,#fbf8f2 0%,#efe8dc 100%);padding:112px max(24px,calc((100vw - var(--max))/2 + 24px))}.sustainability-intro{max-width:880px;margin-bottom:46px}.sustainability-intro p:last-child{max-width:760px}.material-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.material-card{background:#fff;border:1px solid rgba(18,24,20,.1);border-radius:18px;overflow:hidden;box-shadow:0 12px 35px rgba(58,49,31,.06);transition:transform .28s ease,box-shadow .28s ease}.material-card:hover{transform:translateY(-7px);box-shadow:0 20px 48px rgba(58,49,31,.12)}.material-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#e9e4dc}.material-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.material-card:hover .material-image img{transform:scale(1.035)}.material-image span{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);font-family:var(--serif);font-size:14px}.material-copy{padding:24px 22px 26px}.material-code{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:800}.material-copy h3{font-size:28px;margin:8px 0 10px}.material-copy p{font-size:15px;line-height:1.58;margin:0}.material-footer{margin-top:24px;padding:24px 26px;background:#fff;border:1px solid rgba(18,24,20,.1);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:30px}.material-footer div{display:flex;flex-direction:column;gap:5px}.material-footer strong{font-family:var(--serif);font-size:24px}.material-footer span{color:var(--muted);font-size:15px}.material-footer .outline-button{margin:0;white-space:nowrap}
.custom-section{max-width:var(--max);margin:0 auto;padding:110px 24px}.custom-section>.section-copy{padding:0;max-width:910px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:44px 0 24px}.process-grid article{padding:30px;background:#fff;border:1px solid var(--line);min-height:255px;border-radius:16px;transition:transform .28s ease,box-shadow .28s ease}.process-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 42px rgba(0,0,0,.08)}.process-grid span{font-family:var(--serif);font-size:38px;color:var(--green)}.process-grid p{font-size:16px;margin:0}
.contact-section{background:radial-gradient(circle at 82% 20%,#243329 0,#131814 36%,#0e110f 72%);color:#f8f4ed;padding:112px max(24px,calc((100vw - var(--max))/2 + 24px));display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-section .eyebrow{color:var(--gold)}.contact-copy h2{color:#fff}.contact-copy p{color:#c5cec7}.email{display:inline-block;margin-top:20px;color:white;font-family:var(--serif);font-size:clamp(26px,2.6vw,42px);text-decoration:none}.contact-motto{margin-top:34px;font-family:var(--serif);font-size:28px;font-style:italic;color:#d7dfd8}.contact-form{display:flex;flex-direction:column;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-form label{display:flex;flex-direction:column;gap:8px;color:#d6ddd8;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:#181c19;color:#fff;font:inherit}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:#a7c35c;box-shadow:0 0 0 3px rgba(128,156,61,.15)}.contact-form button{height:52px;border:0;border-radius:999px;background:var(--green);color:#fff;font-weight:700;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.honeypot{position:absolute!important;left:-10000px!important}
footer{max-width:var(--max);margin:0 auto;padding:30px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:34px}.footer-brand strong{font-family:var(--serif);font-size:24px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,8,6,.92);display:grid;place-items:center;padding:34px}.lightbox[hidden]{display:none}.lightbox img{max-height:82vh;max-width:min(92vw,1000px);box-shadow:0 28px 80px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:22px;right:28px;border:0;background:transparent;color:white;font-size:42px;cursor:pointer}.lightbox>div{position:absolute;bottom:24px;color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in-view{opacity:1;transform:none}
@media(max-width:1150px){.site-header{grid-template-columns:1fr auto auto}.site-header nav{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;z-index:55;top:78px;left:0;right:0;padding:20px 24px;background:rgba(249,246,239,.98);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:16px;transform:translateY(-140%);transition:.3s;border-bottom:1px solid var(--line)}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.gigi-section,.contact-section{grid-template-columns:1fr}.portrait-wrap{max-width:460px}.material-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr}.motto-section div{flex-direction:column;gap:7px}.motto-section{grid-template-columns:70px 1fr}}
@media(max-width:720px){.site-header{height:70px;padding-inline:16px}.brand strong{font-size:21px}.brand small{font-size:7px}.header-cta{display:none}.mobile-menu{top:70px}.hero-exact{aspect-ratio:1672/941}.hotspot{display:none}.flying-bird{width:54px}.mobile-actions{display:flex;gap:10px;justify-content:center;padding:13px 12px 15px;background:#f7f2e9}.mobile-actions a{padding:11px 14px;border:1px solid #26332a;border-radius:999px;text-decoration:none;text-transform:uppercase;font-size:9px;letter-spacing:.08em}.portfolio-section{padding-top:72px}.film-track{animation:none;overflow-x:auto;width:auto}.frame{width:180px}.gigi-section,.custom-section{padding:76px 16px}.patch{width:135px;right:8px}.motto-section{padding:30px 16px}.motto-section img{width:54px}.motto-section div{font-size:27px}.sustainability-section{padding:78px 16px}.material-grid{grid-template-columns:1fr}.material-footer{align-items:flex-start;flex-direction:column}.contact-section{padding:78px 16px}.form-row{grid-template-columns:1fr}footer{padding:24px 16px;flex-direction:column;text-align:center}.lightbox{padding:18px}.lightbox>div{bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.film-track{animation:none}.flying-bird{display:none}.reveal{opacity:1;transform:none;transition:none}}


/* ===== V9 test-ready refinements ===== */
.skip-link{position:fixed;left:10px;top:10px;z-index:200;transform:translateY(-150%);background:#fff;color:#111;padding:10px 14px;border-radius:8px;text-decoration:none}.skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a6bd67;outline-offset:3px}
.portfolio-entry{display:flex;justify-content:center;margin:-20px auto 36px}.outline-button.light{border-color:#d6dfd8;color:#eef3ef}
.patch-link{position:absolute;right:-24px;bottom:-28px;width:185px;display:block;z-index:3;transition:transform .3s ease}.patch-link .patch{position:static;width:100%;transform:rotate(-5deg);transition:transform .35s ease,filter .35s ease}.patch-link:hover .patch{transform:rotate(-2deg) translateY(-5px) scale(1.035);filter:drop-shadow(0 18px 24px rgba(0,0,0,.24))}
.instagram-follow{position:relative;margin-top:34px;width:260px;min-height:115px;display:grid;grid-template-columns:1fr 72px;grid-template-rows:auto auto;align-items:center;gap:0 12px}.follow-script{font-family:var(--serif);font-style:italic;font-size:23px;transform:rotate(-5deg)}.follow-arrow{position:absolute;left:120px;top:33px;font-size:27px;color:var(--green);transform:rotate(8deg)}.insta-medallion{grid-column:2;grid-row:1/3;width:68px;height:68px;border-radius:22px;display:grid;place-items:center;text-decoration:none;box-shadow:inset 5px 5px 10px rgba(255,255,255,.8),inset -8px -8px 14px rgba(117,94,59,.12),0 12px 23px rgba(40,45,37,.18);transition:transform .3s ease,box-shadow .3s ease;background:linear-gradient(145deg,#fffdf6,#e5ddcf);position:relative;overflow:hidden}.insta-medallion:hover{transform:translateY(-5px) rotate(2deg);box-shadow:inset 5px 5px 10px rgba(255,255,255,.9),inset -8px -8px 14px rgba(117,94,59,.13),0 18px 30px rgba(40,45,37,.22)}.insta-medallion:before{content:"";position:absolute;inset:-30% -70%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.86) 50%,transparent 62%);transform:translateX(-55%);transition:transform .65s ease}.insta-medallion:hover:before{transform:translateX(60%)}.insta-glyph{width:33px;height:33px;border:3px solid #16392b;border-radius:10px;position:relative;display:grid;place-items:center;z-index:2}.insta-glyph:before{content:"";width:12px;height:12px;border:3px solid #16392b;border-radius:50%}.insta-glyph:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#16392b;right:5px;top:5px}.insta-handle{font-size:11px;letter-spacing:.08em;color:var(--muted)}.insta-bird{position:absolute;width:54px;right:37px;top:-45px;opacity:0;pointer-events:none;filter:drop-shadow(0 7px 8px rgba(0,0,0,.17));transform:translate(-130px,-45px) rotate(-8deg);z-index:5}.insta-bird.landed{animation:birdLand 5.2s ease-in-out both}@keyframes birdLand{0%{opacity:0;transform:translate(-160px,-70px) rotate(-12deg)}25%{opacity:1;transform:translate(0,0) rotate(3deg)}65%{opacity:1;transform:translate(0,0) rotate(-2deg)}100%{opacity:0;transform:translate(130px,-80px) rotate(10deg)}}
.consent{display:grid!important;grid-template-columns:20px 1fr!important;align-items:start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;line-height:1.5}.consent input{width:16px!important;height:16px!important;margin:2px 0 0!important;padding:0!important}.consent a{color:#dfe8b5}.footer-links{display:flex;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}
@media(max-width:720px){.patch-link{width:135px;right:8px}.instagram-follow{width:235px}.footer-links{flex-wrap:wrap;justify-content:center}.portfolio-entry{margin-top:-8px}}

.status-page{min-height:100svh;display:grid;place-items:center;padding:30px;background:#f5f0e7}.status-page>div{max-width:780px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:50px;text-align:center}.status-page p{font-size:17px;line-height:1.7;color:var(--muted)}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* V18 contact form status */
.contact-status{
  margin-top:18px;
  padding:16px 18px;
  border-radius:18px;
  font-size:15px;
  line-height:1.45;
}
.contact-status.is-sending{
  background:rgba(29,38,37,.06);
}
.contact-status.is-success{
  background:rgba(104,143,117,.14);
}
.contact-status.is-error{
  background:rgba(170,70,60,.10);
}
.contact-form button[disabled]{
  opacity:.62;
  cursor:wait;
}
