/* Original colors, assets, type families and content are retained in assets/original.css.
   Only viewport composition and the clearly isolated local preview live here. */
:root { --header-height: 84px; --page-pad: clamp(24px, 4vh, 48px); }
.site-header { position:fixed; inset:0 0 auto; width:100%; max-width:none; height:var(--header-height); padding:16px max(4vw,28px); background:#071f1a; border-bottom:1px solid #b891502b; }
.site-header nav a[aria-current="page"] { opacity:1; color:var(--gold); }
.site-header .nav-cta[aria-current="page"] { border-color:var(--gold); }
.preview-badge { position:fixed; bottom:8px; left:10px; z-index:30; padding:4px 8px; border:1px solid #b8915066; color:#e8d9b8; background:#071f1ae8; font:10px/1.4 var(--sans); letter-spacing:.08em; pointer-events:none; }
.preview-form-note { color:var(--ink); background:#b8915014; border-left:2px solid var(--gold); padding:9px 12px; margin:0 0 16px; font-size:12px; line-height:1.6; }
.fp-scroll { background:var(--ivory); scrollbar-width:thin; scrollbar-color:var(--gold) transparent; }
.fp-page:focus { outline:none; }
:is(a,button,summary,input,select,textarea):focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.fp-scroll > section { min-height:100%; border-top:0; padding:var(--page-pad) max(6vw,42px); }
.fp-scroll .section-kicker { margin-bottom:18px; }
.fp-scroll :is(.manifesto h2,.section-heading h2,.inquiry h2,.winter-copy h2,.founding h2) { font-size:clamp(38px,min(4.7vw,7.2vh),72px); }
.fp-scroll .section-heading { margin-bottom:clamp(20px,3vh,36px); }
.fp-scroll :is(.manifesto,.commissions,.craft,.process,.faq) { display:flex; flex-direction:column; justify-content:center; }
.fp-scroll .hero { padding:0; min-height:100%; }
.fp-scroll .hero-copy { min-height:calc(100dvh - var(--header-height)); width:min(730px,54vw); padding:40px 0 58px max(7vw,70px); container-type:inline-size; }
.fp-scroll .hero h1 { font-size:clamp(60px,min(7.2vw,13vh),108px); }
.fp-scroll .hero .eyebrow { margin-bottom:24px; }
.fp-scroll .hero-lede { margin-top:24px; }
.fp-scroll .hero-actions { margin-top:28px; }
.fp-scroll .hero-concept { bottom:22px; }
.fp-scroll .manifesto-grid { align-items:center; gap:8vw; }
.fp-scroll .commission-card .image-wrap { aspect-ratio:auto; height:clamp(190px,31vh,340px); }
.fp-scroll .commission-card .image-wrap img { object-fit:cover; width:100%; height:100%; }
.fp-scroll .commission-card h3 { font-size:clamp(23px,2.1vw,30px); }
.fp-scroll .commission-card>p { max-width:100%; }
.fp-scroll .winter-feature { padding:0; }
.fp-scroll .winter-image { min-height:100%; }
.fp-scroll .winter-image img { position:absolute; inset:0; object-fit:cover; }
.fp-scroll .winter-copy { padding:clamp(26px,4vh,58px) max(4vw,36px); }
.fp-scroll .winter-intro { margin-top:18px; font-size:24px; }
.fp-scroll .winter-details { margin:18px 0 14px; }
.fp-scroll .winter-details div { padding:11px 0; grid-template-columns:105px 1fr; gap:18px; }
.fp-scroll .concept-note { margin-bottom:20px; }
.fp-scroll .craft-heading { grid-template-columns:1fr minmax(260px,31%); }
.fp-scroll .craft-grid { margin-bottom:clamp(18px,2.5vh,28px); }
.fp-scroll .craft-grid article { min-height:0; padding:18px 24px 20px 0; }
.fp-scroll .craft-grid article+article { padding-left:24px; }
.fp-scroll .craft-grid h3 { margin:12px 0 8px; font-size:25px; }
.fp-scroll .craft-study { grid-template-columns:1.6fr .4fr; }
.fp-scroll .craft-study img { min-height:0; height:clamp(155px,24vh,260px); object-fit:cover; object-position:center; }
.fp-scroll .craft-study figcaption { min-height:0; padding:20px 24px; font-size:11px; line-height:1.65; }
.fp-scroll .craft-study figcaption span { margin-bottom:12px; font-size:22px; }
.fp-scroll .process-list article { padding:clamp(12px,1.7vh,21px) 0; grid-template-columns:60px .8fr 1.2fr; }
.fp-scroll .process-list h3 { font-size:25px; }
.fp-scroll .faq-list summary { min-height:clamp(50px,6.8vh,68px); padding:12px 0; font-size:clamp(20px,2vw,27px); }
.fp-scroll .faq-list details>p { margin-bottom:20px; font-size:14px; }
.fp-scroll .founding { align-items:center; }
.fp-scroll .founding-card { padding:clamp(26px,3.3vh,42px); }
.fp-scroll .founding-heading>p:not(.section-kicker) { margin-top:24px; }
.fp-scroll .inquiry { min-height:calc(100% - 102px); align-items:center; padding:24px max(6vw,42px); }
.fp-scroll .inquiry h2 { font-size:clamp(38px,min(4.4vw,6.6vh),64px); }
.fp-scroll .inquiry-form { padding:22px 28px; }
.fp-scroll .inquiry-form label { gap:5px; margin-bottom:12px; }
.fp-scroll .inquiry-form input,.fp-scroll .inquiry-form select { padding:8px 0; }
.fp-scroll .inquiry-form textarea { height:96px; min-height:75px; }
.fp-scroll .inquiry-form .consent { margin-bottom:14px; }
.fp-scroll .form-status { min-height:0; margin-top:10px; }
.fp-scroll .form-status:empty { margin:0; }
.fp-scroll .inquiry-facts { margin-top:24px; }
.fp-scroll .contact-note { margin-top:24px; padding-top:18px; }
.fp-scroll footer { min-height:102px; padding:22px 6vw 28px; }
.fp-scroll footer p { margin:0; }

@media (min-width:1081px) and (max-height:780px) {
  :root { --header-height:76px; --page-pad:22px; }
  .fp-scroll .section-kicker { margin-bottom:12px; }
  .fp-scroll .section-heading { margin-bottom:18px; }
  .fp-scroll .craft-grid article { padding-top:12px; padding-bottom:14px; }
  .fp-scroll .craft-study img { height:23vh; }
  .fp-scroll .inquiry-form { padding:15px 22px; }
  .fp-scroll .inquiry-form label { margin-bottom:8px; }
  .fp-scroll .preview-form-note { margin-bottom:10px; padding:6px 10px; }
  .fp-scroll .inquiry-form textarea { height:78px; }
  .fp-scroll .inquiry { padding-top:18px; padding-bottom:18px; }
  .fp-scroll .inquiry-form .button { min-height:44px; }
  .fp-scroll footer { min-height:90px; padding:18px 6vw 25px; }
  .fp-scroll .inquiry { min-height:calc(100% - 90px); }
}
@media (max-width:1080px) and (min-width:761px) {
  .fp-scroll .winter-feature { grid-template-columns:.85fr 1.15fr; }
  .fp-scroll .manifesto-grid { grid-template-columns:1fr 1fr; gap:5vw; }
  .fp-scroll .founding { grid-template-columns:1fr 1fr; gap:5vw; }
  .fp-scroll .inquiry { grid-template-columns:1fr 1.2fr; gap:4vw; }
}
@media (max-width:760px) {
  :root { --header-height:74px; --page-pad:36px; }
  .site-header { padding:16px 20px; }
  .fp-scroll > section { padding:36px 22px 44px; }
  .fp-scroll .hero { padding:0; }
  .fp-scroll .hero-copy { width:94%; min-height:calc(100dvh - var(--header-height)); padding:32px 22px 66px; }
  .fp-scroll .hero h1 { font-size:clamp(48px,min(16vw,10.5vh),74px); }
  .fp-scroll .hero .eyebrow { font-size:10px; line-height:1.8; margin-bottom:20px; }
  .fp-scroll .hero-lede { margin-top:22px; line-height:1.7; }
  .fp-scroll .hero-actions { margin-top:24px; }
  .fp-scroll .hero-private-note { margin-top:20px; }
  .fp-scroll .hero-concept { font-size:10px; bottom:20px; right:18px; }
  .fp-scroll :is(.manifesto h2,.section-heading h2,.inquiry h2,.winter-copy h2,.founding h2) { font-size:clamp(38px,10vw,52px); }
  .fp-scroll .manifesto-grid { gap:24px; }
  .fp-scroll .manifesto-grid p { font-size:15px; line-height:1.75; }
  .fp-scroll .section-heading { gap:20px; margin-bottom:26px; }
  .fp-scroll .commission-grid { gap:36px; }
  .fp-scroll .commission-card .image-wrap { height:auto; aspect-ratio:1.1; }
  .fp-scroll .commission-card h3 { font-size:27px; }
  .fp-scroll .winter-feature { padding:0; }
  .fp-scroll .winter-image { min-height:430px; }
  .fp-scroll .winter-copy { padding:36px 22px 48px; }
  .fp-scroll .winter-details div { grid-template-columns:1fr; gap:7px; }
  .fp-scroll .craft-heading { grid-template-columns:1fr; }
  .fp-scroll .craft-grid article,.fp-scroll .craft-grid article+article { padding:24px 0; }
  .fp-scroll .craft-grid h3 { margin-top:15px; }
  .fp-scroll .craft-study { grid-template-columns:1fr; }
  .fp-scroll .craft-study img { height:auto; }
  .fp-scroll .craft-study figcaption { padding:24px; }
  .fp-scroll .process-list article { grid-template-columns:35px 1fr; gap:10px 15px; padding:20px 0; }
  .fp-scroll .process-list h3 { font-size:25px; }
  .fp-scroll .faq-list summary { padding:18px 0; min-height:72px; font-size:21px; }
  .fp-scroll .faq-list details>p { font-size:14px; margin-left:46px; }
  .fp-scroll .founding { gap:30px; }
  .fp-scroll .founding-card { padding:26px 22px; }
  .fp-scroll .inquiry { padding:36px 18px; gap:32px; }
  .fp-scroll .inquiry-form { padding:24px 20px; }
  .fp-scroll .inquiry-form label { margin-bottom:20px; font-size:12px; }
  .fp-scroll .inquiry-form input,.fp-scroll .inquiry-form select,.fp-scroll .inquiry-form textarea { font-size:16px; padding:12px 0; }
  .fp-scroll .inquiry-form textarea { height:130px; padding:12px; }
  .fp-scroll .inquiry-form .consent { font-size:12px!important; }
  .fp-scroll footer { padding:32px 22px 44px; }
  .preview-badge { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; scroll-behavior:auto!important; }
}
/* Two deliberate headline lines, sized against the available copy column. */
.fp-scroll .hero h1 { width:100%; max-width:none; font-size:clamp(24px,14cqw,108px); line-height:1.03; }
.fp-scroll .hero h1 .hero-title-line {
  display:block;
  white-space:nowrap;
  color:#d4b77b;
  background:linear-gradient(115deg,#ae803b 0%,#e9d6a3 28%,#c29b56 48%,#f0dfaf 68%,#b48b49 100%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  /* The italic y/p descenders extend beyond the tight line box. Expand the
     gold paint area while keeping the same text position and line spacing. */
  padding:.16em .12em .24em;
  margin:-.1em -.12em -.18em;
}

/* Two collections share one uninterrupted, image-only screen. */
#commissions .fp-scroll { overflow: hidden; background: #071f1a; }
.fp-scroll > .commission-diptych {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0; padding: 0; margin: 0; width: 100%;
  height: calc(100dvh - var(--header-height)); min-height: 0;
}
.commission-diptych > img {
  display: block; width: 100%; height: 100%; min-width: 0; min-height: 0;
  object-fit: cover; object-position: center;
}
.diptych-panel { position: relative; min-width: 0; min-height: 0; overflow: hidden; }
.diptych-panel > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.diptych-trigger { position:absolute; inset:0; width:100%; height:100%; z-index:2; padding:0; border:0; border-radius:0; background:transparent; cursor:pointer; }
.diptych-trigger:focus-visible { outline:2px solid var(--gold); outline-offset:-8px; }
.diptych-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; gap:16px; padding:clamp(24px,4vw,64px); color:#eae5d7; background:#071f1a; opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .45s ease,transform .45s ease,visibility .45s; pointer-events:none; }
.diptych-copy[aria-hidden="false"] { opacity:1; visibility:visible; transform:none; }
.diptych-copy h2 { color:var(--gold); font-size:clamp(30px,4vw,64px); line-height:1.08; margin:0; }
.diptych-copy .section-kicker { color:var(--gold); margin:0; font-size:10px; }
.diptych-copy p { margin:0; font-size:clamp(12px,1.15vw,16px); line-height:1.7; }
.diptych-copy .diptych-intro { font-family:var(--serif); font-size:clamp(19px,2vw,28px); line-height:1.35; }
.diptych-copy dl { margin:0; }
.diptych-copy dl > div { display:grid; grid-template-columns:80px 1fr; gap:14px; padding:12px 0; border-top:1px solid #ffffff20; }
.diptych-copy dt { font:10px/1.5 var(--sans); text-transform:uppercase; letter-spacing:.08em; color:#b8bcae; }
.diptych-copy dd { margin:0; font:clamp(13px,1.3vw,18px)/1.5 var(--serif); }
.diptych-copy .diptych-note { color:#a0aa9f; font-size:10px; line-height:1.65; }
@media(max-width:760px) { .diptych-copy { padding:18px 13px; gap:12px; } .diptych-copy h2 { font-size:25px; } .diptych-copy dl { display:none; } .diptych-copy p { font-size:11px; } .diptych-copy .diptych-intro { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .diptych-copy { transition:none; } }
.commission-diptych { position:relative; }
.diptych-divider { position:absolute; top:0; bottom:0; left:50%; width:48px; transform:translateX(-50%); z-index:3; pointer-events:none; background:linear-gradient(90deg,transparent,#071f1a99 45%,#071f1a99 55%,transparent); }
.diptych-divider::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:1px; background:linear-gradient(transparent,#b8915066 20%,#b8915099 50%,#b8915066 80%,transparent); }
.diptych-divider > span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40px; height:40px; border:1px solid #b8915070; border-radius:50%; background:#071f1a; }
.diptych-divider > span::before { content:""; position:absolute; inset:10px; background:#c8ac72; mask:url('./images/atelier-emblem-white-v2.png') center/contain no-repeat; mask-mode:luminance; }
/* From the finished tile to two photographic worlds, opening from the seam. */
.collection-entering[data-collection-from="imprint"] #imprint { transform:translate3d(0,0,0) !important; transition:none !important; z-index:4; pointer-events:none !important; animation:collection-tile-out 2000ms both; }
.collection-entering #commissions { transform:translate3d(0,0,0) !important; transition:none !important; z-index:3; }
.collection-entering .diptych-panel[data-collection="winter"] { animation:collection-open-left 2000ms cubic-bezier(.22,.75,.2,1) both; }
.collection-entering .diptych-panel[data-collection="botanical"] { animation:collection-open-right 2000ms cubic-bezier(.22,.75,.2,1) both; }
.collection-entering .diptych-divider::before { transform-origin:center; animation:collection-line 2000ms ease both; }
.collection-entering .diptych-divider > span { animation:collection-star 2000ms ease both; }
.collection-entering .diptych-trigger { pointer-events:none; }
@keyframes collection-tile-out { 0% {opacity:1} 24%,100% {opacity:0} }
@keyframes collection-open-left { 0%,24% {clip-path:inset(0 0 0 100%)} 88%,100% {clip-path:inset(0)} }
@keyframes collection-open-right { 0%,24% {clip-path:inset(0 100% 0 0)} 88%,100% {clip-path:inset(0)} }
@keyframes collection-line { 0%,12% {opacity:0;transform:scaleY(.05)} 34%,100% {opacity:1;transform:scaleY(1)} }
@keyframes collection-star { 0%,80% {opacity:0} 100% {opacity:1} }

/* A slower opening curtain hands off to the homepage instead of revealing it abruptly. */
.entrance-intro[hidden] { display:none !important; }
.entrance-intro .intro-panel { transition:transform 1.45s cubic-bezier(.65,0,.2,1); }
.entrance-intro .intro-content { transition:opacity .55s ease,transform .85s ease; }
.entrance-intro.is-skipped .intro-panel,.entrance-intro.is-skipped .intro-content { transition-duration:.15s; }
.intro-complete .hero-copy > * { animation:home-copy-arrive 1.15s cubic-bezier(.2,.65,.2,1) both; }
.intro-complete .hero-copy > h1 { animation-delay:.35s; }
.intro-complete .hero-copy > .hero-lede { animation-delay:.6s; }
.intro-complete .hero-copy > .hero-actions { animation-delay:.8s; }
.intro-complete .hero-background { animation:home-image-arrive 1.8s ease-out both; }
.intro-complete .site-header { animation:home-copy-arrive 1s .5s both; }
@keyframes home-copy-arrive { from {opacity:0;transform:translateY(14px)} to {opacity:1;transform:translateY(0)} }
@keyframes home-image-arrive { from {opacity:.35;transform:scale(1.035)} to {opacity:1;transform:scale(1)} }
@media(prefers-reduced-motion:reduce) { .intro-complete .hero-copy > *,.intro-complete .hero-background,.intro-complete .site-header { animation:none; } }
/* Two gold strokes travel in, draw opposite semicircles, then release the green covers. */
.collection-curtain,.collection-gold-trace { display:none;pointer-events:none; }
.collection-entering[data-collection-from="imprint"] #imprint { z-index:7;animation:collection-quiet-exit 4600ms both; }
.collection-entering .diptych-panel[data-collection] { animation:none;clip-path:none; }
.collection-entering .collection-curtain { display:block;position:absolute;top:0;bottom:0;width:50.1%;background:#071f1a;z-index:4; }
.collection-entering .collection-curtain-left { left:0;animation:collection-cover-left 4600ms cubic-bezier(.4,0,.2,1) both; }
.collection-entering .collection-curtain-right { right:0;animation:collection-cover-right 4600ms cubic-bezier(.4,0,.2,1) both; }
.collection-entering .collection-gold-trace { display:block;position:absolute;inset:0;width:100%;height:100%;z-index:5;fill:none;stroke:#c5a368;stroke-width:1.3;stroke-linecap:round; }
.collection-gold-trace path { stroke-dasharray:1;stroke-dashoffset:1; }
.collection-entering .collection-gold-trace path { animation:collection-trace-in 4600ms linear both; }
.collection-entering .diptych-divider { z-index:6;background:none; }
.collection-entering .diptych-divider::before { animation:none;opacity:0; }
.collection-entering .diptych-divider > span { border-color:transparent;background:#071f1a;opacity:1;animation:none; }
.collection-entering .diptych-divider > span::before { animation:collection-emblem-in 4600ms ease both; }
@keyframes collection-quiet-exit { 0% {opacity:1} 7%,100% {opacity:0} }
@keyframes collection-trace-in { 0%,7%{stroke-dashoffset:1} 35%,100%{stroke-dashoffset:0} }
@keyframes collection-emblem-in { 0%,36%{opacity:0} 47%,100%{opacity:1} }
@keyframes collection-cover-left { 0%,50%{transform:translateX(0)} 97%,100%{transform:translateX(-101%)} }
@keyframes collection-cover-right { 0%,50%{transform:translateX(0)} 97%,100%{transform:translateX(101%)} }
.collection-viewer[hidden] { display:none; }
.collection-viewer { position:fixed;inset:0;z-index:500;background:transparent;transition:background 1.4s; }
.collection-viewer.is-visible { background:#071f1af7; }
.collection-viewer canvas { position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;opacity:0;transition:opacity .4s; }
.collection-viewer.is-visible canvas { opacity:1; }.collection-viewer canvas:active{cursor:grabbing;}
.collection-close { position:absolute;right:28px;top:24px;width:44px;height:44px;border:1px solid #c5a36866;border-radius:50%;background:#071f1a;color:#e8d8b8;font-size:28px;cursor:pointer;z-index:2; }
.collection-model-caption { position:absolute;bottom:4vh;left:10%;right:10%;text-align:center;color:#e8dfcc;opacity:0;transform:translateY(10px);transition:opacity .6s,transform .6s;pointer-events:none; }
.collection-viewer.is-ready .collection-model-caption { opacity:1;transform:none; }
.collection-model-caption h2 { font:clamp(25px,3vw,42px)/1.2 var(--serif);color:var(--gold);margin:0 0 12px; }.collection-model-caption p{font:11px/1.5 var(--sans);letter-spacing:.1em;margin:0 0 16px;}
.collection-model-views { display:flex;justify-content:center;gap:10px;pointer-events:auto; }.collection-model-views button { padding:9px 18px;border:1px solid #c5a36855;background:#ffffff08;color:#e8dfcc;border-radius:30px;cursor:pointer; }
@media(prefers-reduced-motion:reduce){.collection-viewer,.collection-viewer canvas,.collection-model-caption{transition:none;}}
/* The central medallion keeps its green fill while the covers move away. */
.collection-entering .diptych-divider > span { background:#071f1a; }

