@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/dm-serif-0-compressed.woff2) format('woff2');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/dm-serif-1-compressed.woff2) format('woff2');
}

@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(assets/dm-sans-0-compressed.woff2)}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(assets/dm-sans-1-compressed.woff2)}@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(assets/dm-sans-2-compressed.woff2)}
:root{--paper:#FAF9F6;--cream:#EDE5DA;--green:#344E41;--sage:#A8B9A5;--mist:#DCE6DC;--ink:#303632;--muted:#60695f;--line:#d8ddd3;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans);overflow-x:clip}button,input,textarea{font:inherit}button,a,input,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font:400 1em/1.12 var(--serif);letter-spacing:-.045em}h1{font-size:clamp(45px,4.9vw,82px);margin-bottom:28px}h2{font-size:clamp(37px,4vw,64px);margin-bottom:25px}h3{font-size:28px;letter-spacing:-.025em}em{font-weight:400;color:var(--green)}p{color:var(--muted);max-width:65ch}strong{color:var(--ink)}.eyebrow{font:500 10px/1.6 var(--sans);letter-spacing:2px;color:var(--green);margin-bottom:22px}.section{padding:105px max(6vw,24px);max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}.section-heading p:last-child{margin-bottom:8px}.button{border:1px solid var(--green);background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:16px 23px;border-radius:8px;font:500 12px/1.5 var(--sans);transition:background .35s,transform .35s,box-shadow .35s}.button:hover{background:#233b2d;transform:translateY(-3px);box-shadow:0 7px 20px #344e411b}.button.small{padding:12px 17px;min-height:44px;font-size:11px}.button.full{width:100%}.text-link{border:0;border-bottom:1px solid var(--sage);padding:8px 0;background:none;font:500 12px/1.6 var(--sans);display:inline-block;color:var(--green);transition:padding .3s,border .3s}.text-link:hover{padding-right:9px;border-color:var(--green)}.sub-link{display:inline-block;font-size:11px;padding:10px 0;margin-left:20px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.tiny-note,.concept-note,.field-note,.config-note{font-size:11px;line-height:1.65}.concept-note{max-width:95ch;margin:28px 0 0}.concept-note a,.tiny-note a{text-decoration:underline;text-underline-offset:3px}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:20px;background:var(--paper);padding:12px;z-index:99}.skip:focus{top:10px}.announcement{background:var(--mist);text-align:center;font-size:9px;letter-spacing:2px;padding:9px 20px;color:var(--green)}header{position:sticky;top:0;z-index:30;background:#faf9f6f5;backdrop-filter:blur(12px);border-bottom:1px solid #344e4111;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 4vw}.brand{display:block;flex-shrink:0;width:285px}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:25px;font-size:11px}nav>a{padding:12px 0}nav>a:hover{color:var(--green)}.menu-button{display:none}.reading-progress{height:2px;position:fixed;left:0;top:0;width:0;background:var(--sage);z-index:99}
.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:5vw;align-items:center;padding:65px 4vw 50px 6vw;max-width:1600px;margin:auto;min-height:650px}.hero-copy{padding:20px 0 30px}.hero-copy h1{font-size:clamp(45px,4.6vw,76px)}.hero-copy .lead{font-size:15px;max-width:43ch;line-height:1.9;margin-bottom:28px}.hero-note{font-size:10px;margin:22px 0 0}.hero-art{position:relative;min-width:0}.hero-window{position:relative;aspect-ratio:1.02;overflow:hidden;border-radius:16px;background:var(--cream)}.hero-window img{height:100%;object-fit:cover;object-position:65% 50%;transition:opacity .65s,transform 1.2s}.hero-window .hero-alternate{position:absolute;inset:0;opacity:0;object-position:50% 50%}.hero-window.alternate img:first-child{opacity:0}.hero-window.alternate .hero-alternate{opacity:1}.hero-image-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;padding:15px 0 7px;color:var(--green)}.scene-controls{display:flex;align-items:center;gap:8px;font-size:10px;white-space:nowrap}.scene-controls button,.rail-controls button{background:transparent;border:1px solid var(--line);border-radius:50%;height:40px;min-width:40px;color:var(--green);transition:background .3s}.scene-controls button:hover,.rail-controls button:hover{background:var(--mist)}.image-disclosure{font-size:9px;color:var(--muted)}.hero-label{position:absolute;left:-40px;bottom:100px;background:var(--paper);padding:25px 30px;box-shadow:0 10px 35px #3036320d;font:24px/1.2 var(--serif);border-radius:12px;transform:rotate(-4deg)}.values{display:flex;justify-content:space-between;gap:25px;max-width:1400px;margin:auto;padding:25px 6vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.5px;color:var(--green)}
.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:11vw;align-items:center}.portrait-wrap{position:relative;max-width:420px;justify-self:center;width:100%}.portrait-wrap img{aspect-ratio:4/5;object-fit:cover;border-radius:16px}.portrait-wrap>span{display:block;background:var(--mist);padding:18px 22px;margin:-30px -22px 0 35px;position:relative;border-radius:10px;font-size:12px;color:var(--green)}.portrait-wrap .tiny-note{font-size:9px;margin:20px 0 0}.about-copy p{font-size:14px}.signature{font:italic 27px var(--serif);display:block;margin:28px 0 15px;color:var(--green)}
.collection{padding-top:75px;padding-bottom:80px}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{background:transparent;border:1px solid var(--line);color:var(--muted);font-size:11px;border-radius:30px;padding:11px 16px;min-height:44px;transition:background .35s,color .35s}.filters button.active{background:var(--mist);border-color:var(--mist);color:var(--green)}.rail-controls{display:flex;gap:8px}.product-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--sage) transparent;padding-bottom:20px}.product{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;min-width:0}.product:nth-child(2){padding-top:45px}.product:nth-child(4){padding-top:25px}.photo-button{padding:0;border:0;background:var(--cream);display:block;width:100%;position:relative;overflow:hidden;border-radius:16px}.photo-button img{transition:transform .65s;object-fit:cover}.photo-button:hover img{transform:scale(1.035)}.product-image img{aspect-ratio:4/5;height:auto}.magnify{position:absolute;right:16px;bottom:16px;background:var(--paper);color:var(--green);height:38px;width:38px;border-radius:50%;display:grid;place-items:center;font-size:20px;transition:transform .4s}.photo-button:hover .magnify{transform:rotate(45deg)}.product-label{position:absolute;left:16px;top:17px;background:#faf9f6e6;padding:6px 9px;border-radius:5px;font-size:8px;letter-spacing:1.3px}.product-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 10px}.product-title h3{font-size:24px;margin:0}.product-title>span{font-size:10px;white-space:nowrap}.product>p{font-size:12px;margin-bottom:9px}
.config-section{margin-top:80px;padding:65px 4vw;background:#f0f2ec;border-radius:20px}.config-intro{text-align:center;margin-bottom:40px}.config-intro h2{font-size:48px}.config-intro p{margin-left:auto;margin-right:auto;font-size:13px}.config-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.config-image{position:sticky;top:115px;min-width:0}.render-frame{position:relative;overflow:hidden;width:100%;aspect-ratio:1;background:var(--cream);border-radius:16px}.sprite-canvas{width:100%;height:100%;position:relative;transform:scale(var(--preview-scale,1));transform-origin:50% 90%;transition:transform .5s}.render-frame .sheet-image{position:absolute;width:200%;height:200%;max-width:none;left:var(--tile-x,0);top:var(--tile-y,0);object-fit:fill;transition:left .5s,top .5s}.config-image-label{display:block;font-size:12px;color:var(--green);padding:18px 0 5px}.config-image p{font-size:10px}.config-form fieldset{border:0;padding:0;margin:0 0 28px}.config-form legend{font-size:12px;font-weight:500;margin-bottom:14px}.config-form legend>span{font-size:9px;color:var(--muted);margin-right:15px}.option-row{display:flex;gap:8px}.option-row label{flex:1;min-width:0;cursor:pointer}.option-row input{position:absolute;opacity:0;width:1px;height:1px}.option-row label>span{display:block;border:1px solid #cbd3c7;border-radius:8px;padding:12px 10px;font-size:11px;background:#faf9f65c;text-align:center;transition:background .3s,border .3s}.option-row input:checked+span{background:var(--paper);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.option-row input:focus-visible+span{outline:3px solid var(--green);outline-offset:3px}.option-row small{font-size:8px;display:block;color:var(--muted);margin-top:5px}.finish-options{display:flex;gap:25px}.finish-options label{display:flex;flex-direction:column;align-items:center;position:relative;gap:7px;font-size:10px;cursor:pointer}.finish-options input{position:absolute;opacity:0;width:1px;height:1px}.swatch{width:38px;height:38px;display:block;border-radius:50%;border:1px solid #9a9f95}.swatch.ivory{background:#ede7dc}.swatch.bronze{background:linear-gradient(120deg,#957345,#c09b61,#84633d)}.swatch.black{background:#303632}.finish-options input:checked+.swatch{outline:2px solid var(--green);outline-offset:4px}.finish-options input:focus-visible+.swatch{outline:3px solid var(--green);outline-offset:4px}.field-note{font-size:9px;margin:17px 0 0}.extras{display:grid;gap:13px;font-size:11px}.extras label{display:flex;gap:9px;align-items:center}.extras input,.consent input{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.extras span{margin-left:auto;font-size:10px}.price-box{margin:24px 0 16px;border-top:1px solid #cbd3c7;padding-top:20px}.price-box>div{display:flex;justify-content:space-between;align-items:center;font-size:11px}.price-box strong{font:36px var(--serif);color:var(--green)}.price-box p{font-size:10px;margin:6px 0 0}.config-note{font-size:9px;margin:15px 0 0}.reset-config{border:0;background:none;font-size:10px;color:var(--muted);padding:12px;display:block;margin:auto}
.process{display:grid;grid-template-columns:.8fr 1fr;gap:11vw;align-items:start}.process-intro{position:sticky;top:135px}.process-intro>p{font-size:14px}.process-index{display:grid;margin:30px 0;gap:0}.process-index a{border-bottom:1px solid var(--line);padding:15px 0;font-size:11px;color:var(--muted);transition:padding .4s,color .4s}.process-index a.active{color:var(--green);padding-left:15px;border-color:var(--sage)}.process-step{position:relative;margin-bottom:65px;scroll-margin-top:110px}.process-step>img{aspect-ratio:3/2;object-fit:cover;border-radius:16px;margin-bottom:25px}.process-step h3{font-size:29px;margin-bottom:14px;padding-right:50px}.process-step p{font-size:13px}.step-number{position:absolute;right:0;bottom:83px;font-size:10px;color:var(--green)}
.editorial{background:#f2eee7;padding-bottom:30px}.editorial-title{text-align:center;padding-bottom:55px;padding-top:80px}.editorial-title>p{margin-left:auto;margin-right:auto;font-size:13px}.editorial-title .eyebrow{font-size:10px}.editorial-grid{max-width:1500px;margin:auto;padding:0 5vw;display:grid;grid-template-columns:1fr 1.18fr;gap:30px 65px;align-items:start}.editorial-grid figure{margin:0}.editorial-portrait{grid-row:span 2;margin-top:65px!important}.editorial-portrait img{aspect-ratio:4/5}.editorial-wide img{aspect-ratio:3/2}.editorial-interior{grid-column:2}.editorial-interior img{aspect-ratio:16/10}.editorial-quote{grid-row:3;grid-column:1;align-self:start;margin-top:-80px;text-align:center;padding:40px 10px}.editorial-quote>span{font:80px/1 var(--serif);color:var(--sage)}.editorial-quote p{font:34px/1.25 var(--serif);margin:0 auto 20px;color:var(--ink)}.editorial-quote small{font-size:8px;letter-spacing:1.5px}.editorial figcaption,.gift figcaption{font-size:9px;line-height:1.5;color:var(--muted);padding:10px 0}.gift{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center;padding-top:40px;padding-bottom:65px}.gift figure{margin:0}.gift img{aspect-ratio:3/2}.gift p{font-size:13px}.gift h2{font-size:48px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.faq>div:first-child>p{font-size:13px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;padding:22px 35px 22px 0;font-size:13px;position:relative;color:var(--ink)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:5px;top:16px;font-size:25px;color:var(--green);transition:transform .4s}.faq-list details[open] summary:after{transform:rotate(45deg)}.faq-list details p{font-size:12px;line-height:1.85;padding-right:30px;animation:faq-in .4s ease}.contact{display:grid;grid-template-columns:1.3fr .7fr;gap:12vw;align-items:center;padding-top:65px;padding-bottom:100px}.contact>div:first-child>p{font-size:14px}.contact .tiny-note{font-size:10px;margin-top:20px}.contact-note{background:var(--mist);padding:45px 35px;border-radius:16px;transform:rotate(2deg)}.contact-note>span{font:italic 38px/1.12 var(--serif);color:var(--green)}.contact-note>p{margin-top:27px;font-size:12px}
footer{padding:50px 6vw 25px;border-top:1px solid var(--line);background:#f1f1eb}.footer-top{display:grid;grid-template-columns:1.7fr .9fr 1fr 1fr;gap:30px;max-width:1400px;margin:auto}.footer-top .brand{width:260px}.footer-top p{font-size:12px}.footer-top>div{display:flex;flex-direction:column;gap:9px;font-size:10px}.footer-top a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:9px;color:var(--muted)}.mobile-book{display:none}
dialog{border:0;border-radius:18px;background:var(--paper);color:var(--ink);padding:40px;width:min(620px,calc(100% - 30px));max-height:88dvh;overflow:auto;box-shadow:0 25px 100px #30363244}dialog::backdrop{background:#23352aca;backdrop-filter:blur(5px)}dialog h2{font-size:38px;margin-bottom:15px}.close-dialog{position:absolute;top:12px;right:12px;border:0;background:var(--mist);color:var(--green);border-radius:50%;height:40px;width:40px;font-size:24px;z-index:4}.order-summary{background:var(--mist);border-radius:8px;padding:15px;font-size:11px;margin:22px 0}.order-summary strong{display:block;margin-bottom:5px}#dialogIntro{font-size:12px}#orderForm>label,.form-pair label{display:block;font-size:11px;margin-bottom:16px}input:not([type=radio]):not([type=checkbox]),textarea{display:block;width:100%;border:1px solid #bfc9bb;background:#fffefa;border-radius:7px;padding:12px;margin-top:7px;color:var(--ink);min-height:44px;font-size:12px}textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.optional{color:var(--muted);font-size:9px}.consent{display:flex!important;align-items:flex-start;gap:10px}.consent a{text-decoration:underline}.demo-notice{background:var(--cream);border-radius:6px;font-size:10px;padding:12px}.honeypot{position:absolute!important;left:-10000px}#orderStatus{font-size:12px;margin-top:15px}.gallery-dialog{width:min(1050px,calc(100% - 30px));padding:0;overflow:auto}.gallery-frame{position:relative;background:var(--cream)}.gallery-frame>img{width:100%;height:min(66dvh,700px);object-fit:contain}.gallery-nav{position:absolute;top:48%;border:0;background:var(--paper);color:var(--green);border-radius:50%;height:44px;width:44px}.gallery-nav.previous{left:15px}.gallery-nav.next{right:15px}.gallery-caption{padding:18px 30px}.gallery-caption h2{font-size:28px;margin:0 0 7px}.gallery-caption p{font-size:10px;margin:0 0 6px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:8px;padding:12px 20px;opacity:0;pointer-events:none;font-size:12px;z-index:99;transition:opacity .3s}.toast.visible{opacity:1}.article-page{max-width:1000px;padding:75px 6vw 100px;margin:auto}.article-page h1{font-size:clamp(45px,5vw,72px)}.article-page h2{font-size:35px;margin:45px 0 18px}.article-page p{font-size:14px;max-width:none}.article-page .render-frame{max-width:720px;margin:35px auto 10px}.article-page .reading-time{font-size:10px}.article-page>img{border-radius:16px;max-height:560px;object-fit:cover}
.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .65s ease,transform .65s ease;transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal.visible{opacity:1;transform:none}@keyframes faq-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{padding-left:90px;padding-right:65px}}@media(max-width:1100px){header{padding:15px 4vw}.brand{width:245px}nav{gap:15px;font-size:10px}nav .button{font-size:10px;padding:11px 12px}.hero{gap:4vw;padding-top:40px;min-height:580px}.hero-label{left:-20px;font-size:22px;padding:20px}.section{padding:80px 5vw}.about{gap:7vw}.process{gap:7vw}.product{flex-basis:calc((100% - 24px)/2.3)}.footer-top{grid-template-columns:1.4fr 1fr 1fr}.footer-top>p{display:none}.config-section{padding:45px 3vw}.config-layout{gap:4vw}.config-intro h2,.gift h2{font-size:42px}.faq{gap:7vw}.editorial-grid{gap:25px 35px}.editorial-quote{margin-top:-40px}}@media(max-width:850px){header{gap:15px}.menu-button{display:flex;align-items:center;gap:15px;min-height:44px;border:1px solid var(--line);border-radius:7px;background:transparent;padding:10px 14px;font-size:11px;color:var(--green)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 5vw;box-shadow:0 15px 25px #3036320d;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{min-height:44px;border-bottom:1px solid var(--line);font-size:12px;padding:14px 0}nav .button{margin-top:15px;justify-content:center;padding:15px}.hero-copy h1{font-size:47px}.hero-copy .lead{font-size:13px}.hero-art .hero-label{display:none}.hero{min-height:500px}.scene-controls{gap:5px}.scene-controls button{min-width:32px;height:36px}.hero-image-footer{gap:5px}.hero-image-footer>span{font-size:9px}.about{grid-template-columns:.85fr 1.15fr;gap:5vw}.about-copy h2{font-size:38px}.about-copy p{font-size:12px}.config-layout{grid-template-columns:.85fr 1fr}.option-row{gap:5px}.option-row label>span{padding:11px 6px;font-size:10px}.option-row small{font-size:7px}.config-form legend{font-size:11px}.process{grid-template-columns:.8fr 1fr;gap:6vw}.process h2{font-size:40px}.faq{grid-template-columns:1fr;gap:20px}.faq>div:first-child{max-width:550px}.contact{gap:6vw}.contact h2{font-size:47px}.contact-note{padding:30px 25px}.contact-note>span{font-size:33px}.footer-top .brand{width:220px}}
@media(max-width:650px){html{scroll-padding-top:95px}body{font-size:14px}.announcement{font-size:8px;padding:7px 12px;letter-spacing:1.5px}header{padding:12px 5vw}.brand{width:222px;max-width:calc(100% - 90px)}.menu-button{font-size:10px;padding:9px 11px;gap:9px}.section{padding:65px 6vw}.hero{display:flex;flex-direction:column;gap:24px;padding:40px 6vw 30px;min-height:0}.hero-copy{padding:0;width:100%}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:18px}.hero-copy h1{font-size:clamp(40px,10.5vw,58px);letter-spacing:-.04em;margin-bottom:22px}.hero-copy .lead{font-size:13px;max-width:44ch;line-height:1.8;margin-bottom:22px}.hero-note{font-size:9px;margin-top:16px}.hero-art{width:100%}.hero-window{aspect-ratio:1.16;border-radius:14px}.hero-image-footer>span{font-size:11px}.scene-controls button{min-width:36px;height:38px}.image-disclosure{font-size:8px}.values{display:grid;grid-template-columns:1fr;gap:9px;padding:19px 6vw;font-size:9px}.about{display:flex;flex-direction:column;gap:40px;align-items:stretch}.portrait-wrap{max-width:330px;align-self:flex-start;margin-left:0;justify-self:auto}.portrait-wrap img{aspect-ratio:4/4.3;object-position:50% 25%}.portrait-wrap>span{margin-left:40px;margin-right:-20px}.about-copy h2{font-size:39px}.about-copy p{font-size:13px}.signature{font-size:25px;margin-top:22px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:40px}.section-heading p:last-child{font-size:12px}.collection{padding-top:30px}.collection-toolbar{align-items:flex-end;gap:12px}.filters{gap:6px}.filters button{font-size:9px;padding:10px 11px;min-height:42px}.rail-controls{gap:5px}.rail-controls button{min-width:36px;height:42px}.product-grid{gap:18px;margin-right:-6vw;padding-right:6vw;scroll-padding-left:0}.product{flex-basis:82%;padding-top:0!important}.product-title h3{font-size:25px}.product-title span{font-size:10px}.product-image img{aspect-ratio:4/4.7}.concept-note{font-size:9px;margin-top:20px}.config-section{padding:36px 20px;margin:55px -3vw 0;border-radius:16px}.config-intro{text-align:left;margin-bottom:25px}.config-intro h2{font-size:35px}.config-intro p{font-size:12px}.config-layout{display:block}.config-image{position:relative;top:0;max-width:420px;margin:0 auto 27px}.render-frame{aspect-ratio:1.12}.config-form fieldset{margin-bottom:25px}.config-form legend{font-size:12px}.option-row label>span{font-size:11px;padding:13px 8px}.option-row small{font-size:8px}.finish-options{gap:32px}.finish-options label{font-size:11px}.config-note{font-size:10px}.extras{font-size:12px}.field-note{font-size:10px}.process{display:block}.process-intro{position:static}.process-intro h2{font-size:42px}.process-index{display:flex;gap:12px;overflow-x:auto;margin:22px 0}.process-index a{white-space:nowrap;font-size:9px;padding:12px 0!important}.process-intro .text-link{margin-bottom:35px}.process-step{margin-bottom:42px}.process-step h3{font-size:29px}.process-step p{font-size:12px}.step-number{bottom:95px}.editorial-title{padding-top:60px;padding-bottom:30px}.editorial-title h2{font-size:40px}.editorial-grid{grid-template-columns:1fr 1fr;gap:20px 15px;padding:0 6vw}.editorial-portrait{grid-row:1;grid-column:1;margin-top:30px!important}.editorial-wide{grid-column:1/3;grid-row:2}.editorial-wide img{aspect-ratio:3/2}.editorial-interior{grid-column:2;grid-row:1}.editorial-interior img{aspect-ratio:4/5}.editorial-quote{grid-column:1/3;grid-row:3;margin:0;padding:15px 0}.editorial-quote p{font-size:30px}.editorial-quote>span{font-size:55px}.editorial figcaption,.gift figcaption{font-size:8px}.gift{display:flex;flex-direction:column;gap:30px;padding-top:30px;padding-bottom:40px}.gift h2{font-size:39px}.gift>div{width:100%}.faq{gap:20px}.faq h2{font-size:40px}.faq-list summary{font-size:12px;padding-top:20px;padding-bottom:20px}.faq-list details p{font-size:12px}.contact{display:flex;flex-direction:column;gap:35px;padding-top:15px;padding-bottom:70px;align-items:stretch}.contact h2{font-size:43px}.contact>div:first-child>p{font-size:13px}.contact-note{max-width:400px;transform:rotate(1deg)}footer{padding:40px 6vw 90px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-top .brand{grid-column:1/3;width:250px;max-width:none}.footer-top>div{font-size:10px}.footer-bottom{display:block;font-size:8px;line-height:2}.footer-bottom>span{display:block}.mobile-book{display:block;position:fixed;bottom:12px;left:6vw;right:6vw;z-index:25;background:var(--green);color:white;padding:13px;text-align:center;border-radius:8px;box-shadow:0 5px 20px #344e4140;font-size:11px;transition:transform .4s}.mobile-book.hide{transform:translateY(100px)}dialog{padding:34px 24px;max-height:88dvh}.form-pair{grid-template-columns:1fr;gap:0}dialog h2{font-size:34px}.gallery-caption{padding:17px 20px}.gallery-caption h2{font-size:26px}.gallery-frame>img{height:58dvh}.article-page{padding:45px 6vw 65px}.article-page h1{font-size:43px}.article-page h2{font-size:31px}.article-page p{font-size:13px}.article-page .render-frame{aspect-ratio:1}.toast{bottom:78px;width:85%;text-align:center;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-window img{transform:none!important}.contact-note{transform:none}.hero-label{transform:none}}
@media(min-width:651px){.editorial-portrait{grid-row:1;grid-column:1}.editorial-interior{grid-row:1;grid-column:2;margin-top:145px!important}.editorial-interior img{aspect-ratio:4/4.5}.editorial-wide{grid-row:2;grid-column:1/3}.editorial-wide img{aspect-ratio:2.1}.editorial-quote{grid-row:3;grid-column:1/3;margin:0;padding:20px}.editorial-quote p{font-size:42px}}
@media(min-width:651px) and (max-width:850px){.hero{grid-template-columns:1fr;padding:45px 6vw 35px;gap:30px}.hero-copy{max-width:620px;padding:0}.hero-copy h1{font-size:62px}.hero-copy .lead{max-width:56ch;font-size:14px}.hero-window{aspect-ratio:1.7}.hero-image-footer>span{font-size:11px}.hero-window img{object-position:65% 60%}.hero-window .hero-alternate{object-position:50% 40%}.scene-controls button{min-width:40px;height:40px}}
.pregnancy-focus{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center;padding-top:10px}.pregnancy-focus figure{margin:0;max-width:470px}.pregnancy-focus figure img{aspect-ratio:4/5;object-fit:cover}.pregnancy-focus figcaption{font-size:9px;padding-top:10px;color:var(--muted)}.pregnancy-focus>div>p{font-size:13px}.pregnancy-details{margin:25px 0 30px;display:grid;gap:16px}.pregnancy-details>div{position:relative;padding-left:37px}.pregnancy-details span{position:absolute;left:0;top:5px;font-size:9px;color:var(--green)}.pregnancy-details h3{font-size:23px;margin-bottom:7px}.pregnancy-details p{font-size:12px;margin:0}.pregnancy-focus .tiny-note{font-size:10px;margin-top:16px}.scan-ideas{padding-top:70px;padding-bottom:35px}.ideas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.idea-card img{aspect-ratio:4/5;object-fit:cover}.idea-card h3{font-size:27px;margin:23px 0 12px}.idea-card p{font-size:12px;margin-bottom:10px}.idea-card:nth-child(even){margin-top:35px}.ideas-note{background:#edf0e9;border-radius:12px;padding:25px 30px;margin:35px 0 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.ideas-note p{margin:0;font-size:12px}.ideas-note .text-link{flex-shrink:0}.scan-ideas .concept-note{font-size:10px}.contact-direct{display:block;width:fit-content;margin-top:17px;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.nav-contact{border:0;background:none;font:inherit;color:var(--green);padding:12px 0;min-height:44px}.footer-contact{padding:0;border:0;background:none;text-align:left;color:inherit;font:inherit;width:fit-content}.footer-contact:hover,.nav-contact:hover{text-decoration:underline}.footer-top a{overflow-wrap:anywhere}#contactForm>label{display:block;font-size:11px;margin-bottom:16px}.contact-intro{font-size:12px}.contact-address{font-size:12px;overflow-wrap:anywhere;color:var(--green)}.contact-address a{text-decoration:underline;text-underline-offset:3px}#contactStatus{font-size:12px;margin-top:17px}.contact-address+.contact-intro{font-size:12px}
@media(max-width:1100px){nav{gap:13px}.ideas-grid{gap:18px}.idea-card h3{font-size:24px}.pregnancy-focus{gap:6vw}.pregnancy-focus h2{font-size:43px}}
@media(max-width:850px){.nav-contact{font-size:12px;text-align:left;padding:15px 0}.ideas-grid{grid-template-columns:1fr 1fr;gap:30px}.idea-card:nth-child(even){margin-top:25px}.pregnancy-focus h2{font-size:37px}.pregnancy-details{gap:15px}.pregnancy-details h3{font-size:21px}.pregnancy-details p{font-size:11px}.ideas-note{display:block}.ideas-note .text-link{margin-top:13px}}
@media(max-width:650px){.pregnancy-focus{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:10px}.pregnancy-focus figure{max-width:360px}.pregnancy-focus figure img{aspect-ratio:4/4.5}.pregnancy-focus h2{font-size:39px}.pregnancy-details h3{font-size:25px}.pregnancy-details p{font-size:12px}.scan-ideas{padding-top:45px}.scan-ideas h2{font-size:39px}.ideas-grid{gap:30px 16px}.idea-card:nth-child(even){margin-top:20px}.idea-card h3{font-size:24px}.idea-card p{font-size:11px}.idea-card .text-link{font-size:10px}.ideas-note{padding:22px}.contact-direct{font-size:11px}#contactDialog{padding:35px 24px}.contact-address{font-size:11px}.scan-ideas .concept-note{font-size:9px}}

/* Header and wordmark refinement */
header{padding-top:13px;padding-bottom:13px}.brand{width:280px}header .brand{max-width:calc(100% - 95px)}.nav-contact{border-bottom:1px solid transparent}.nav-contact:hover{border-color:var(--sage);text-decoration:none}@media(max-width:850px){.nav-contact{border-bottom:1px solid var(--line)}header .brand{width:245px}}@media(max-width:450px){header .brand{width:225px}header{gap:10px;padding-top:10px;padding-bottom:10px}}

/* Approved basis: desktop header readability, 10 October 2026.
   Scope is deliberately limited to the header; mobile and forms stay intact. */
@media (min-width:851px) {
  html { scroll-padding-top:180px; }
  .announcement { font-size:11px; letter-spacing:1.7px; padding:10px 24px; }
  header { padding:20px 3vw; gap:24px; }
  header .brand { width:clamp(340px,26vw,440px); max-width:none; }
  header .brand img { width:100%; height:auto; }
  header nav { gap:clamp(16px,1.5vw,30px); font-size:19.5px; font-weight:500; }
  header nav > a { white-space:nowrap; min-height:48px; display:inline-flex; align-items:center; }
  header .nav-contact { font:inherit; white-space:nowrap; min-height:48px; padding:12px 0; }
  header nav .button.small { font-size:18.2px; min-height:54px; padding:16px 22px; border-radius:8px; }
}
@media (min-width:851px) and (max-width:1199px) {
  html { scroll-padding-top:205px; }
  header { flex-wrap:wrap; justify-content:center; gap:8px; padding:15px 4vw; }
  header .brand { width:340px; }
  header nav { width:100%; justify-content:center; gap:clamp(18px,2.4vw,28px); font-size:18.2px; }
  header nav .button.small { font-size:16.9px; min-height:48px; padding:12px 18px; }
}

/* Keep the approved logo sizing while giving larger menu text room. */
@media (min-width:1200px) and (max-width:1399px) {
 html { scroll-padding-top:230px; }
 header { flex-wrap:wrap; justify-content:center; gap:8px; }
 header nav { width:100%; justify-content:center; }
}
@media (min-width:851px) and (max-width:1399px) {
 header nav { flex-wrap:wrap; row-gap:8px; }
}

/* Mobile introduction and optional viewer detail; desktop keeps its full copy. */
.mobile-intro{display:none}
.viewer-explanation summary{font-size:12px;color:var(--green);cursor:pointer;padding:10px 0;min-height:44px}
.viewer-explanation p{margin:0 0 12px;font-size:12px;line-height:1.65}
@media(max-width:650px){
 .desktop-intro{display:none!important}
 .mobile-intro{display:block}
 .button .mobile-intro{display:inline}
 .hero{padding-top:26px;gap:18px}
 .hero-copy h1{margin-bottom:16px}
 .hero-copy .lead{line-height:1.65;margin-bottom:18px}
 .hero-note{margin-top:12px}
 .hero-window{aspect-ratio:1.55}
 .section{padding-top:44px;padding-bottom:44px}
 .mobile-flow main>.config-section{margin:0 3vw;padding:32px 6vw;border-radius:16px}
 .config-intro h2{font-size:32px}
 .config-form>.config-image{position:static;margin:0 auto 22px;width:100%;max-width:420px}
 .config-image-label{padding-top:12px}
 .viewer-explanation{border-bottom:1px solid var(--line);margin-bottom:6px}
 .process-index{margin:16px 0;gap:16px}
 .process-intro .text-link{margin-bottom:24px}
 .process-step{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;row-gap:8px;margin-bottom:24px;align-items:start}
 .process-step img{grid-column:1;grid-row:1/3;width:64px;height:85px;object-fit:cover;border-radius:8px;margin:0}
 .process-step h3{grid-column:2;font-size:23px;margin:0}
 .process-step p{grid-column:2;font-size:12px;line-height:1.65;margin:0}
 .process-step .step-number{display:none}
 .portrait-wrap{max-width:250px}
 .about{gap:24px}
 .pregnancy-focus{gap:24px}
 .scan-ideas{padding-top:44px}
}

/* Photographic objects, calibrated at 10 units/cm, with grounded shadows. */
#configFrame { aspect-ratio:640/480; background:var(--paper); border:1px solid var(--line); isolation:isolate; }
#sizeComparison { display:block; width:100%; height:100%; }
#configFrame svg image { max-width:none; }
#configFrame + .config-image-label + p { font-size:12px; line-height:1.65; }
/* Real, dimensioned 3D scene. Existing photograph remains the WebGL fallback. */
#configFrame{position:relative}
#configFrame.has-3d>#sizeComparison{visibility:hidden}
.viewer3d{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#ede8df}
.v3-stage{height:calc(100% - 48px);width:100%}
.v3-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
.v3-stage canvas:active{cursor:grabbing}
.v3-badge{position:absolute;left:15px;top:15px;background:#faf9f6e8;border-radius:20px;padding:7px 12px;font-size:11px;pointer-events:none;color:#344e41}
.v3-toolbar{position:absolute;bottom:58px;left:0;right:0;display:flex;gap:6px;justify-content:center}
.v3-toolbar button{height:42px;min-width:42px;padding:0 12px;border:1px solid #d7d7cc;border-radius:9px;background:#faf9f6ee;color:#344e41;font:inherit;font-size:14px;cursor:pointer}
.v3-toolbar button:hover{background:#dce6dc}.v3-toolbar button:focus-visible,.v3-stage canvas:focus-visible{outline:3px solid #344e41;outline-offset:-3px}
.v3-scale{height:48px;display:flex;align-items:center;justify-content:space-around;background:#faf9f6;color:#344e41;font-size:12px}.v3-scale b{font-weight:600;margin-left:3px}
.v3-launch{position:absolute;bottom:64px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:13px}
@media(max-width:600px){#configFrame{aspect-ratio:1/1}.v3-badge{font-size:10px;top:10px;left:10px}.v3-toolbar{gap:4px}.v3-toolbar button{min-width:40px;padding:0 10px}}
