@font-face{font-family:Inter;src:url(fonts/inter-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/playfair-display-normal.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(fonts/playfair-display-italic.woff2) format("woff2");font-style:italic;font-weight:400 900;font-display:swap}

:root {
    --cream:#faf8f5; --paper:#f5f1eb; --sand:#ede7dd; --line:#dfd8cb; --ink:#24211d;
    --muted:#625e56; --drift:#7d7164; --rust:#944e31; --gold:#83591d;
    --serif:"Playfair Display",Georgia,serif;
    --soft:0 2px 5px #30261c06,0 12px 30px -20px #30261c35;
    --lift:0 5px 10px #30261c08,0 24px 48px -22px #30261c40;
    color-scheme:light; scroll-behavior:smooth; scroll-padding-top:90px;
}
* {box-sizing:border-box}
body {margin:0;background:var(--cream);color:var(--ink);font:400 15px/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body:has(dialog[open]) {overflow:hidden}
h1,h2,h3,p,ol,ul,figure,dl,dd {margin:0}
h1,h2,h3,.brand strong,.price,.total b,.selection b {font-family:var(--serif);font-weight:500}
h1,h2 {line-height:1.1;letter-spacing:-.035em}
h1 {font-size:clamp(2.35rem,4.5vw,3.65rem)}
h2 {font-size:clamp(1.9rem,3vw,2.5rem)}
h3 {font-size:1.35rem;line-height:1.3}
em {font-weight:400;color:var(--drift)}
p,dt {color:var(--muted)}
a {color:inherit;text-decoration:none}
button,input,textarea,select {font:inherit;color:inherit}
button,summary,select {cursor:pointer}
button {background:none;border:0}
img {display:block;max-width:100%}
.icon {display:inline-block;width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}
[hidden] {display:none!important}
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fallback-nav {display:none}
:focus-visible {outline:3px solid var(--rust);outline-offset:4px}
::selection {background:#49372b;color:white}
.wrap {width:min(calc(100% - 3rem),1080px);margin-inline:auto}
.narrow {max-width:760px}
.band {border-block:1px solid var(--line);background:#fffdfb}
.section {padding-block:clamp(3.2rem,6vw,5rem)}
.eyebrow,.tag,.brand small,.social-pill,.back,.ribbon,.photo-label,.piece-label small,.atelier-note small,.copyright,.footer-grid h2 {
    font:650 .65rem/1.4 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase
}
.eyebrow,.warm {color:var(--rust)}
.btn,.text-link,.back,.social-pill,.tag,.hero-notes li,.aside-note,.craft-note {display:inline-flex;align-items:center;gap:.55rem}
.btn {justify-content:center;min-height:46px;padding:.76rem 1.35rem;font-size:.86rem;font-weight:600;border:1px solid var(--line);border-radius:15px;line-height:1.35;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.btn.dark {background:var(--ink);border-color:var(--ink);color:white;box-shadow:var(--soft)}
.btn.light {background:white}
.text-link {font-size:.85rem;font-weight:600;min-height:42px}
.text-link:hover,.back:hover,.footer-grid a:hover {color:var(--rust)}
.skip-link {position:fixed;left:1rem;top:-5rem;background:white;padding:.65rem 1rem;z-index:100}
.skip-link:focus {top:.5rem}
.ribbon {display:flex;background:#25231f;color:#f4e9d9;font-size:.6rem}
.ribbon-window {flex:1;min-width:0;overflow:hidden}
.ribbon-track {display:flex;width:max-content}
.ribbon-row {display:flex;justify-content:space-around;align-items:center;min-height:30px;min-width:max(100vw,750px);white-space:nowrap}
.ribbon-row span,.photo-label {display:inline-flex;align-items:center;gap:.65rem}
.ribbon-row span::before,.photo-label::before {content:"";width:5px;height:5px;border-radius:50%;background:#d7a365}
.ribbon-row span:nth-child(2)::before {background:#bd856a}
.ribbon-row span:nth-child(3)::before {background:#adb49e}
.ribbon.is-moving .ribbon-track {animation:marquee 38s linear infinite}
.ribbon.is-paused .ribbon-track {animation-play-state:paused}
#ribbon-motion {border-left:1px solid #635b50;width:36px;color:#f4e9d9;font:600 .75rem Inter,sans-serif}
#ribbon-motion:focus-visible {outline:2px solid white;outline-offset:-3px}
@keyframes marquee {to {transform:translateX(-50%)}}
.masthead {position:sticky;top:0;z-index:20;background:#faf8f5f7;border-bottom:1px solid var(--line)}
.nav-row,.nav-actions,.brand,.main-nav {display:flex;align-items:center}
.nav-row {justify-content:space-between;min-height:68px;gap:1rem}
.brand {gap:.7rem;line-height:1.05}
.brand-mark {display:grid;place-items:center;background:var(--ink);color:var(--cream);width:38px;height:38px;border-radius:12px}
.brand-mark img {width:100%;height:100%;object-fit:cover;border-radius:inherit}
.brand strong {font-size:1.23rem;font-weight:650;letter-spacing:-.035em}
.brand small {display:block;color:var(--muted);font-size:.55rem;margin-top:.12rem}
.main-nav {gap:clamp(.7rem,1.9vw,1.6rem)}
.main-nav a,.mobile-nav a {font-size:.82rem;color:var(--muted);font-weight:500;padding:.55rem .1rem}
.main-nav a[aria-current],.mobile-nav a[aria-current] {color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-color:#b57855}
.main-nav a:hover,.mobile-nav a:hover {color:var(--rust)}
.nav-actions {gap:.6rem}
.social-pill {border:1px solid var(--line);border-radius:2rem;padding:.55rem .8rem;background:white;font-size:.61rem}
.compact {border-radius:2rem;min-height:40px;font-size:.8rem;padding:.62rem 1.16rem}
.menu-toggle {display:none;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;place-items:center;background:#fff}
.mobile-nav {position:absolute;inset:100% 0 auto;background:var(--cream);border-bottom:1px solid var(--line);padding:.5rem max(1rem,calc((100% - 1080px)/2));box-shadow:var(--soft);max-height:calc(100dvh - 75px);overflow:auto}
.mobile-nav a {display:block;padding:.7rem}
.hero {overflow:hidden;background:radial-gradient(ellipse at 82% 30%,#eee6da82,transparent 49%),var(--cream)}
.hero-grid {display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:4%;padding-block:clamp(3.5rem,5.4vw,5.1rem)}
.hero-tags,.hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.tag {width:fit-content;font-size:.61rem;letter-spacing:.12em;border-radius:30px;padding:.42rem .8rem;border:1px solid var(--line);background:#fffdf6f5}
.tag.amber {background:#f6ecdb;color:var(--gold);border-color:#e3cfaf}
.tag i {width:6px;height:6px;background:#b98138;border-radius:50%}
.tag.linen {background:var(--paper)}
.tag .icon,.craft-note .icon {color:var(--rust)}
.hero h1 {margin:1.25rem 0}
.hero-intro {max-width:49ch;font-size:1rem;line-height:1.75}
.hero-intro strong {color:var(--ink);font-weight:550}
.hero-actions {margin:1.8rem 0}
.hero-notes {display:flex;justify-content:space-between;gap:.75rem;max-width:435px;list-style:none;border-top:1px solid var(--line);padding:1.2rem 0 0}
.hero-notes li {font-size:.71rem;line-height:1.35;color:var(--muted);font-weight:550}
.hero-notes .icon {background:var(--paper);color:var(--rust);border:1px solid var(--line);border-radius:9px;width:32px;height:32px;padding:7px}
.hero-display {position:relative;justify-self:center;width:clamp(245px,22vw,288px);isolation:isolate}
.hero-frame {background:#fffdfb;border:1px solid var(--line);padding:11px;border-radius:39px;box-shadow:0 26px 45px -22px #55443356,0 2px 12px #50463812;animation:float 5s ease-in-out 1}
@keyframes float {0%,100% {transform:translateY(0)}50% {transform:translateY(-6px)}}
.hero-art {position:relative;border-radius:29px;overflow:hidden;aspect-ratio:9/14.3;background:var(--sand)}
.hero-art img,.card-image img,.summary-image img {width:100%;height:100%;object-fit:cover}
.hero-art::after,.summary-image::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,#110d09bd 100%)}
.photo-label,.piece-label {position:absolute;z-index:1;color:white}
.photo-label {top:14px;left:14px;border-radius:20px;background:#29241ff0;padding:.4rem .6rem;font-size:.52rem}
.piece-label {bottom:15px;left:18px;right:18px}
.piece-label strong {display:block;font:500 1.26rem var(--serif);margin:.1rem 0 .4rem}
.piece-label small {color:#f4dfb4;font-size:.55rem}
.piece-label>span {display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff60;padding-top:.4rem;font-size:.7rem}
.piece-label b {font-size:.8rem;color:#f9dfb3}
.atelier-note {position:absolute;z-index:2;display:flex;align-items:center;gap:.55rem;background:#fffdfbf7;border:1px solid var(--line);border-radius:13px;padding:.63rem .8rem;box-shadow:var(--lift);font-size:.75rem;font-weight:600}
.atelier-note .icon {color:var(--rust)}
.atelier-note small {display:block;font-size:.49rem;color:var(--muted);margin-top:.15rem}
.note-top {right:-3.6rem;top:12%}
.note-bottom {left:-2.6rem;bottom:25%}
.process {display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center;padding-block:3.7rem}
.process h2,.section-lead h2,.section-title h2 {margin:.55rem 0 .8rem}
.process>div>p {max-width:44ch;font-size:.9rem;margin-bottom:.45rem}
.step-grid {display:grid;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;overflow:hidden;border:1px solid var(--line);border-radius:23px;background:var(--cream)}
.step-grid li {padding:1.3rem 1rem}
.step-grid li+li {border-left:1px solid var(--line)}
.step-grid li>span {font:400 1.7rem var(--serif);color:var(--drift)}
.step-grid h3,.catalogue-notes h2 {font:600 .9rem Inter,sans-serif;letter-spacing:normal;margin:.75rem 0 .25rem}
.step-grid p,.catalogue-notes p {font-size:.8rem;line-height:1.65}
.section-lead,.catalogue-callout {display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}
.section-lead {margin-bottom:2rem}
.section-lead p {max-width:35ch;font-size:.92rem}
.product-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.product-card {position:relative;display:flex;flex-direction:column;min-width:0;border-radius:23px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:var(--soft);transition:transform .3s,box-shadow .3s,border-color .3s}
.product-card.selected {border-color:#5a4b3b;box-shadow:0 0 0 1px #5a4b3b}
.card-image {position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--sand)}
.card-image img {transition:transform .55s;object-position:center}
.card-image .tag {position:absolute;left:14px;top:14px;box-shadow:var(--soft);font-size:.58rem}
.custom-overlay {position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:.4rem;background:#1d160f50;color:white;font-weight:600;text-shadow:0 1px 4px #000a}
.custom-overlay svg {width:28px;height:28px}
.card-body {padding:1.1rem;display:flex;flex-direction:column;flex:1}
.card-head {display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.card-head h3 {font-size:1.1rem;line-height:1.3}
.card-head p,.craft-note {font-size:.74rem}
.price {font-size:1.13rem;white-space:nowrap;font-weight:600}
.price small {font:600 .64rem Inter,sans-serif}
.card-description {font-size:.81rem;margin:.65rem 0 .75rem;flex:1}
.craft-note {gap:.4rem;margin-bottom:.75rem}
.card-action {border-radius:12px;background:var(--cream);font-size:.8rem;min-height:42px}
.card-action::after {content:"";position:absolute;inset:0}
.product-card:focus-within {outline:3px solid var(--rust);outline-offset:3px}
.selected .card-action {background:var(--ink);color:white}
.catalogue-callout {align-items:center;background:var(--paper);padding:1.7rem 2rem;border:1px solid var(--line);border-radius:22px;margin-top:2rem}
.catalogue-callout p {font-size:.86rem;margin-top:.25rem}
.catalogue-header {border-top:0;padding-block:2.5rem 3rem}
.catalogue-header .section-lead {margin:0}
.catalogue-header h1 {margin-top:.9rem}
.back {min-height:36px;color:var(--muted);margin-bottom:.8rem}
.count {display:block;margin-top:.65rem}
.collection-list {padding-block:2.7rem}
.catalogue-notes {display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:1rem;padding-block:2rem}
.catalogue-notes>div>.icon {color:var(--rust);width:20px;height:20px}
.catalogue-notes .text-link {min-height:28px;font-weight:500;font-size:.8rem}
.section-title {text-align:center;margin:0 auto 2.3rem;max-width:52ch}
.section-title p {font-size:.9rem}
details {background:white;border:1px solid var(--line);border-radius:15px;margin:.65rem 0}
summary {list-style:none;position:relative;padding:1rem 2.75rem 1rem 1.2rem;font-weight:600;font-size:.89rem}
summary::-webkit-details-marker {display:none}
summary::after {content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:400;color:var(--rust)}
details[open] summary::after {content:"−"}
details p {padding:0 1.2rem 1.1rem;font-size:.87rem}
@media(hover:hover) {
    .btn:hover {transform:translateY(-1px);border-color:#685a4c}
    .btn.dark:hover {background:#443b31}
    .product-card:hover {transform:translateY(-4px);box-shadow:var(--lift);border-color:#aa9b89}
    .product-card:hover .card-image img {transform:scale(1.035)}
}

.order-section {background:linear-gradient(to bottom,var(--cream),#f4eee5)}
.order-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.56fr);gap:1.5rem;align-items:start}
#order-form,.summary,dialog {border:1px solid var(--line);border-radius:26px;background:white;box-shadow:var(--soft)}
#order-form {padding:clamp(1.15rem,3vw,2rem)}
fieldset {margin:0 0 1.6rem;border:0;min-width:0;padding:0 0 1.6rem;border-bottom:1px solid var(--line)}
legend {padding:0;margin:0 0 .85rem;font:500 1.24rem var(--serif)}
legend span {display:inline-grid;place-items:center;vertical-align:.12em;width:26px;height:26px;margin-right:.4rem;border-radius:8px;background:var(--ink);color:white;font:600 .75rem Inter,sans-serif}
.selection {display:flex;align-items:center;gap:.8rem;background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:.65rem .85rem}
.selection img {width:50px;height:62px;border-radius:9px;object-fit:cover}
.selection strong {display:block;font:500 1.02rem var(--serif)}
.selection b {margin-left:auto;font-size:1.02rem;white-space:nowrap}
.selection .eyebrow {font-size:.56rem}
form label {display:block;font-size:.82rem;font-weight:600;margin:1rem 0 .35rem}
form label small {font-size:.73rem;font-weight:400;color:var(--muted);margin-left:.4rem}
form label>span {color:var(--rust)}
input,select,textarea {width:100%;border:1px solid #c8beb0;border-radius:12px;padding:.75rem .85rem;min-height:45px;background:var(--cream);line-height:1.4;font-size:.9rem}
textarea {resize:vertical}
input::placeholder,textarea::placeholder {color:#706a60}
.field-pair {display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.hint {font-size:.76rem;line-height:1.55;margin-top:.35rem}
.upload-box {background:var(--cream);border:1px solid var(--line);border-radius:15px;padding:1rem}
.upload-box>label {margin-top:0}
.file-control {position:relative}
.file-control input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.file-control label {display:flex;align-items:center;justify-content:center;gap:.5rem;background:white;border:1px dashed #aa9a86;border-radius:12px;min-height:48px;margin:.75rem 0 .45rem;cursor:pointer}
.file-control:focus-within label {outline:3px solid var(--rust);outline-offset:3px}
#photo-row {display:flex;align-items:center;gap:.65rem;margin-top:.6rem;font-size:.82rem}
#photo-name {overflow-wrap:anywhere}
#photo-row img {border-radius:8px;object-fit:cover}
#remove-photo,.close {display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line);border-radius:50%;margin-left:auto;background:white}
#photo-status:empty,#draft-status:empty {display:none}
.submit {width:100%}
.submit:disabled {opacity:.6}
.submit-note {text-align:center;margin-top:.7rem}
.order-aside {position:sticky;top:86px}
.summary {overflow:hidden}
.summary-title {padding:1.1rem 1.3rem}
.summary-title h3 {margin-top:.2rem}
.summary-image {position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--sand)}
.summary-image img {object-position:center 38%}
.summary-image strong {position:absolute;bottom:.8rem;left:1.3rem;z-index:1;color:white;font:500 1.15rem var(--serif);text-shadow:0 1px 5px #000}
.summary-body {padding:1.25rem}
dl>div,.total {display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
dl>div {font-size:.83rem;padding:.28rem 0}
dd {text-align:right;font-weight:550;overflow-wrap:anywhere}
.total {background:var(--ink);color:white;padding:1rem;border-radius:15px;margin-top:.9rem}
.total strong,.total small {display:block;font-size:.74rem}
.total small {color:#ded4c7;font-weight:400}
.total b {font-size:1.3rem;white-space:nowrap}
.aside-note {align-items:flex-start;margin:.85rem .25rem;font-size:.8rem}
.aside-note svg {margin-top:.3rem;color:var(--rust)}
dialog {width:min(470px,calc(100% - 2rem));max-height:88dvh;padding:1.6rem;color:var(--ink);overscroll-behavior:contain;box-shadow:var(--lift)}
dialog::backdrop {background:#241c1490}
dialog[open] {animation:appear .2s ease-out}
@keyframes appear {from {opacity:0;transform:translateY(8px)}to {opacity:1;transform:translateY(0)}}
dialog h2 {font-size:1.75rem;margin:.6rem 0}
dialog>p,.notice {font-size:.86rem}
.close {float:right}
#draft {font:400 .81rem/1.55 Inter,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);border-radius:12px;padding:1rem;max-height:27vh;overflow:auto}
.notice {color:#70442e;background:#faf0e5;padding:.75rem;border-radius:10px;margin:.75rem 0}
.notice a {text-decoration:underline}
dialog .btn {width:100%;margin-top:.4rem}
dialog .text-link {display:flex;margin:.3rem auto 0}
footer {background:var(--cream);border-top:1px solid var(--line);padding:2.6rem 0 1.3rem}
.footer-grid {display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
.footer-grid h2 {margin:.45rem 0 .65rem;color:var(--rust)}
.footer-grid p,.footer-grid>div>a:not(.brand) {font-size:.8rem;color:var(--muted)}
.footer-grid p {max-width:32ch;margin-top:.6rem}
.footer-grid>div>a:not(.brand) {display:block;width:fit-content;padding:.2rem 0}
.copyright {margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.56rem;text-align:center}
.copyright span {margin:0 .4rem}
.contact-float {position:fixed;bottom:max(1rem,env(safe-area-inset-bottom));right:1rem;z-index:12;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#276a49;border:1px solid #ffffffab;color:white;box-shadow:var(--lift)}
.contact-float .icon {width:22px;height:22px}
@media(max-width:920px) {
    .wrap {width:calc(100% - 2.5rem)}
    .main-nav {gap:.8rem}
    .social-pill span {display:none}
    .social-pill {padding:.7rem}
    .hero-grid {gap:2%}
    .note-top {right:-1.5rem}
    .note-bottom {left:-1.5rem}
    .process {gap:2rem;grid-template-columns:1fr 1.22fr}
    .product-grid {gap:1rem}
    .card-head {flex-wrap:wrap}
    .order-grid {grid-template-columns:minmax(0,1fr) minmax(250px,.52fr)}
}
@media(max-width:760px) {
    .fallback-nav {display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;padding:.2rem .5rem .6rem;font-size:.8rem}
    .main-nav,.nav-actions .social-pill {display:none}
    .menu-toggle {display:grid}
    .hero-grid {grid-template-columns:minmax(0,1fr) minmax(200px,.73fr);gap:1.5rem}
    .hero-display {width:min(100%,230px)}
    .hero h1 {font-size:clamp(2.2rem,6vw,2.9rem)}
    .hero-actions {margin:1.25rem 0}
    .hero-notes {gap:.55rem}
    .hero-notes .icon {width:26px;height:26px;padding:5px}
    .process,.order-grid {grid-template-columns:1fr}
    .process {gap:1.5rem}
    .order-aside {position:static}
    .order-grid {max-width:600px;margin:auto}
    .product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
    .footer-grid {grid-template-columns:1fr 1fr}
    input,textarea,select {font-size:1rem}
}
@media(max-width:580px) {
    .wrap {width:calc(100% - 2.1rem)}
    .ribbon-row {min-height:26px;min-width:620px}
    .ribbon {font-size:.5rem;letter-spacing:.1em}
    .nav-row {min-height:60px;gap:.5rem}
    .nav-actions {gap:.4rem}
    .brand {gap:.5rem}
    .brand-mark {width:34px;height:34px}
    .compact {min-height:40px;padding:.55rem .9rem}
    .hero-grid {display:flex;flex-direction:column;align-items:stretch;padding:1.8rem 0 2.5rem;gap:1.5rem}
    .hero-copy {display:contents}
    .hero-tags {order:0}
    .hero h1 {order:1;margin:-.45rem 0 -.6rem;font-size:clamp(2.4rem,9.6vw,3rem)}
    .hero-display {order:2;align-self:center;width:clamp(175px,47vw,230px)}
    .hero-intro {order:3;font-size:.94rem}
    .hero-actions {order:4;margin:-.35rem 0 0;gap:.55rem}
    .hero-actions .btn {padding:.7rem .85rem;font-size:.8rem}
    .hero-notes {order:5;padding-top:1rem;margin:0;max-width:none;justify-content:space-around}
    .hero-frame {padding:7px;border-radius:29px}
    .hero-art {border-radius:22px}
    .atelier-note {padding:.45rem .52rem;font-size:.65rem}
    .hero-display figcaption {display:flex;justify-content:center;gap:.45rem;margin-top:.45rem}
    .atelier-note {position:static;white-space:nowrap;box-shadow:var(--soft)}
    .piece-label {bottom:11px;left:12px;right:12px}
    .piece-label strong {font-size:.98rem;margin:0 0 .15rem}
    .piece-label>span {font-size:.55rem}
    .photo-label {top:9px;left:9px;font-size:.44rem;padding:.3rem .4rem}
    .process {padding-block:2.5rem}
    .step-grid li {padding:.85rem .65rem}
    .step-grid p {font-size:.76rem}
    .section-lead,.catalogue-callout {flex-direction:column;align-items:flex-start;gap:.65rem}
    .section-lead {margin-bottom:1.4rem}
    .section-lead h2 {margin-bottom:.3rem}
    .product-grid {grid-template-columns:1fr;gap:1.25rem}
    .card-image {aspect-ratio:1/1.06}
    .catalogue-callout {padding:1.25rem;gap:1rem}
    .catalogue-header {padding:1.2rem 0 1.7rem}
    .catalogue-notes {grid-template-columns:1fr;gap:1.25rem}
    .summary-image {aspect-ratio:2}
    .contact-float {display:none}
    .section-title {margin-bottom:1.4rem}
    .footer-grid {gap:1.4rem}
    .copyright {padding-right:2rem;padding-left:2rem}
}
@media(max-width:390px) {
    .nav-row {width:calc(100% - 1.25rem);gap:.25rem}
    .nav-row .brand strong {font-size:1.05rem}
    .nav-row .brand small {font-size:.5rem;letter-spacing:.08em}
    .nav-row .compact {font-size:.74rem;padding:.55rem .7rem}
    .hero h1 {font-size:clamp(2rem,9.5vw,2.4rem)}
    .field-pair {grid-template-columns:1fr;gap:0}
    .hero-tags .tag {font-size:.55rem;padding:.38rem .6rem}
    .hero-actions {display:grid;grid-template-columns:1fr}
    .step-grid {grid-template-columns:1fr}
    .step-grid li {padding:.8rem;display:grid;grid-template-columns:32px 1fr;column-gap:.6rem}
    .step-grid li+li {border-left:0;border-top:1px solid var(--line)}
    .step-grid li>span {grid-row:span 2}
    .step-grid h3 {margin:.1rem 0}
}
@media(min-width:761px) {.mobile-nav {display:none}}
@media(prefers-reduced-motion:reduce) {
    :root {scroll-behavior:auto}
    *,*::before,*::after {animation:none!important;transition:none!important}
}
