@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{--ink:#173942;--ink-soft:#33545a;--paper:#fbf8f1;--canvas:#f3eee5;--line:#dcd8ce;--accent:#aa704f;--white:#fffdf8;--font:'DM Sans',Arial,sans-serif;--display:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);-webkit-font-smoothing:antialiased}
body:has(.selection-tray:not([hidden])){padding-bottom:100px}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
em{font-family:var(--display);font-weight:500}
[hidden]{display:none!important}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:fixed;top:8px;left:8px;z-index:100;background:#fff;padding:12px 18px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.notice{background:var(--ink);color:#e9eee8;text-align:center;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px}
.notice span{color:#bd9974;padding:0 11px}
.site-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(24px,5.1vw,80px);background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{font-size:27px;line-height:1;font-weight:700;letter-spacing:-.09em;white-space:nowrap}.brand span{font-weight:400}.brand b{color:var(--accent);font-weight:700}
.site-header nav,.footer>div{display:flex;align-items:center;gap:36px}.site-header nav a,.header-action,.footer a{font-size:12px;font-weight:700;letter-spacing:.04em}.site-header nav a:hover,.footer a:hover{color:var(--accent)}
.header-action{border-bottom:1px solid var(--ink);padding:7px 0}.header-action span{padding-left:13px}
.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin:0 0 23px}
.hero{display:grid;grid-template-columns:51% 49%;min-height:min(760px,calc(100vh - 112px));max-height:790px;overflow:hidden}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:64px 8% 78px max(7%,calc((100vw - 1390px)/2));background:var(--paper)}
.hero h1{max-width:620px;font-family:var(--display);font-weight:500;font-size:clamp(66px,6.5vw,115px);letter-spacing:-.055em;line-height:1.01;margin:0 0 30px}.hero h1 em{color:var(--accent)}
.hero-lead{max-width:445px;font-size:17px;line-height:1.76;color:var(--ink-soft);margin:0}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:38px}.hero-actions>span{font-size:11px;color:#61716f;line-height:1.5}
.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;padding:14px 21px;font-size:12px;font-weight:700;letter-spacing:.02em;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:17px;font-weight:400}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#2c5962}.button-light{background:var(--white);color:var(--ink)}.button-light:hover{background:#eee6db}.button-outline{border-color:var(--ink);color:var(--ink)}
.hero-caption{position:absolute;bottom:27px;left:max(7%,calc((100vw - 1390px)/2));display:flex;align-items:center;gap:12px;font-size:11px;color:#7e8781;letter-spacing:.07em}.line-mark{height:1px;width:30px;background:var(--accent)}
.hero-stamp #hero-total{display:inline;margin:0;color:inherit}
.hero-photo-note{position:absolute;right:17px;bottom:17px;padding:5px 8px;background:#fffdf8d9;color:#40535a;font-size:9px;letter-spacing:.02em}
.hero-media{position:relative;overflow:hidden;background:#d7d9d2}.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center 53%}.hero-stamp{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;padding:24px 30px 20px;font-size:10px;line-height:1.45;font-weight:700;letter-spacing:.16em}.hero-stamp span{display:block;margin-top:14px;font-weight:400;color:#cfdbd7}
.introduction{display:grid;grid-template-columns:29% 1fr;gap:45px;align-items:start;padding:75px clamp(24px,7vw,110px);background:#e6e9e2}.introduction .eyebrow{padding-top:12px;margin:0}.introduction>p:last-child{font-family:var(--display);font-size:clamp(24px,3vw,39px);line-height:1.45;max-width:970px;margin:0}
.section-pad{padding:100px clamp(24px,7vw,110px)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-top h2,.how h2,.closing h2,.detail-next h2{font-family:var(--display);font-weight:500;font-size:clamp(39px,4.5vw,65px);letter-spacing:-.045em;line-height:1.12;margin:0}.section-top h2 em,.how h2 em,.closing h2 em,.detail-next h2 em{color:var(--accent)}.section-intro{max-width:295px;font-size:13px;line-height:1.7;color:#63726e;margin:0 0 3px}
.collection-tools{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:51px;padding:16px 0}.filter-list{display:flex;gap:7px;flex-wrap:wrap}.filter-list button{background:none;color:var(--ink-soft);border:1px solid transparent;padding:10px 14px;font-size:11px;font-weight:700}.filter-list button:hover,.filter-list button[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}.search-box{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ink);min-width:220px;padding:6px 0}.search-box input{background:none;border:0;outline:0;width:100%;font-size:12px;color:var(--ink)}.search-box svg{width:17px;fill:none;stroke:var(--ink);stroke-width:1.7}
.result-count{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#75807a;margin:25px 0 20px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 20px}.product-card{min-width:0}.card-photo{position:relative;aspect-ratio:4/4.7;overflow:hidden;background:#e6e5df}.card-photo>a{display:block;width:100%;height:100%}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card-photo:hover img{transform:scale(1.035)}.card-badge{position:absolute;top:12px;left:12px;background:var(--white);padding:7px 9px;font-size:10px;letter-spacing:.06em;font-weight:700}.archive-badge{top:auto;bottom:12px;color:#68564c}.card-select{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:8px;min-height:37px;padding:6px 10px;background:var(--white);font-size:10px;font-weight:700;cursor:pointer}.card-select input,.detail-select input{width:17px;height:17px;accent-color:var(--ink);cursor:pointer;margin:0}.card-info{padding-top:16px}.card-category{color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.card-info h3{font-family:var(--display);font-size:21px;line-height:1.25;font-weight:500;margin:7px 0 11px}.card-info h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.card-price{font-size:15px;font-weight:700}.card-dimensions{font-size:11px;color:#76817b}.card-link{display:inline-block;font-size:11px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:3px;margin-top:15px}.card-link:hover{color:var(--accent);border-color:var(--accent)}.empty-state{padding:40px 0;color:var(--ink-soft)}
.card-variants{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.variant-choice{display:inline-flex;align-items:center;gap:5px;padding:6px 7px;border:1px solid var(--line);font-size:10px;font-weight:700;cursor:pointer}.variant-choice:has(input:checked){border-color:var(--ink);background:#e6e9e2}.variant-choice input{width:14px;height:14px;margin:0;accent-color:var(--ink)}
.product-card.is-unavailable .card-photo img{filter:grayscale(1);opacity:.48}.product-card.is-unavailable .card-photo{background:#d8dad6}.product-card.is-unavailable .card-price{color:#75817f}.status-badge{position:absolute;right:12px;bottom:12px;background:#fffdf8;color:#173942;padding:8px 10px;font-size:10px;font-weight:700;letter-spacing:.03em}.detail-unavailable,.availability-alert{background:#e7e9e4;border-left:3px solid var(--accent);padding:15px 18px;color:var(--ink);font-size:12px;line-height:1.5}.availability-alert{margin:0 0 20px}
.admin-page{min-height:100vh;background:var(--paper);padding-bottom:98px}.admin-header-label,.admin-logout{font-size:12px;font-weight:700;color:var(--ink-soft)}.admin-logout{border:0;background:none;text-decoration:underline}.admin-main{max-width:1000px;margin:0 auto;padding:70px 24px}.admin-main h1{font-family:var(--display);font-size:clamp(45px,6vw,70px);font-weight:500;letter-spacing:-.04em;margin:0 0 15px}.admin-intro,.login-main>p:not(.eyebrow){color:var(--ink-soft);font-size:14px;line-height:1.6}.admin-message{min-height:48px;background:#e7e9e4;padding:14px 18px;font-size:12px;color:var(--ink)}.admin-tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 18px}.admin-tools .search-box{max-width:340px;width:100%}.admin-tools>span{font-size:12px;font-weight:700;white-space:nowrap}.admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-bag{display:flex;align-items:center;gap:12px;padding:10px;background:#fffdf8;border:1px solid var(--line);cursor:pointer}.admin-bag:has(input:checked){border-color:var(--accent);background:#f6eee6}.admin-bag input{width:20px;height:20px;flex:none;accent-color:var(--ink)}.admin-bag img{width:66px;height:66px;object-fit:cover;background:#e7e6df}.admin-bag span{min-width:0}.admin-bag strong{display:block;font-size:12px;line-height:1.35}.admin-bag small{display:block;color:#74807a;font-size:11px;margin-top:5px}.admin-bar{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;background:#fffdf8;box-shadow:0 -8px 35px #17394222;z-index:20}.admin-bar .button{min-height:46px}.login-main{max-width:520px}.login-form{display:grid;gap:18px;margin-top:28px}.login-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.login-form input{padding:14px;border:1px solid var(--line);background:#fffdf8;font-size:15px}.login-form .button{justify-self:start}
.admin-message:empty{display:none}
.detail-style{display:inline-block;margin:-10px 0 18px;padding:8px 11px;background:#e6e9e2;color:var(--ink);font-size:12px;font-weight:700}.login-form[hidden]{display:none}
.how{display:grid;grid-template-columns:43% 1fr;gap:60px;background:#e9ece6}.how-heading{max-width:460px}.how h2{font-size:clamp(40px,4vw,58px)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.steps>div{border-top:1px solid #a4b0aa;padding-top:18px}.steps span{color:var(--accent);font-size:11px;font-weight:700}.steps h3{font-family:var(--display);font-size:24px;font-weight:500;margin:43px 0 12px}.steps p{font-size:13px;color:var(--ink-soft);line-height:1.7;margin:0}
.closing{text-align:center;background:var(--ink);color:var(--white)}.closing h2{max-width:800px;margin:0 auto}.closing p:not(.eyebrow){max-width:500px;margin:25px auto 30px;font-size:14px;color:#c7d1cc;line-height:1.75}.closing .eyebrow{color:#d5aa88}
.footer{display:grid;grid-template-columns:1fr 1fr;row-gap:38px;align-items:center;padding:50px clamp(24px,7vw,110px) 35px;background:var(--paper)}.footer p{justify-self:end;margin:0;font-family:var(--display);font-size:17px}.footer>div{gap:27px}.footer small{justify-self:end;color:#7a857e;font-size:10px}
.selection-tray{position:fixed;z-index:50;left:50%;bottom:18px;transform:translateX(-50%);width:min(840px,calc(100vw - 30px));display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--white);border:1px solid var(--line);box-shadow:0 15px 45px #17394226;padding:12px 12px 12px 19px}.selection-summary{display:flex;align-items:center;gap:13px;min-width:0}.selection-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-weight:700;font-size:14px;flex:none}.selection-summary>div{min-width:0}.selection-summary strong{display:block;font-size:12px}.selection-summary small{display:block;max-width:315px;font-size:10px;color:#78837d;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:3px}.selection-actions{display:flex;align-items:center;gap:12px}.selection-actions .button{min-height:45px;white-space:nowrap}.clear-button{border:0;background:none;font-size:11px;text-decoration:underline;color:var(--ink-soft);padding:9px}
.detail-main{padding:24px clamp(24px,7vw,110px) 0}.back-link{display:inline-block;font-size:12px;color:var(--ink-soft);padding:13px 0 25px}.back-link:hover{color:var(--accent)}.product-detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:clamp(35px,7vw,120px);align-items:start;padding-bottom:90px}.detail-main-photo{background:#e7e6df;aspect-ratio:1/.94;overflow:hidden}.detail-main-photo img{width:100%;height:100%;object-fit:contain}.detail-thumbnails{display:flex;gap:10px;margin-top:11px}.detail-thumbnails button{width:75px;height:75px;padding:0;border:1px solid var(--line);background:#e7e6df}.detail-thumbnails button[aria-pressed="true"]{border:2px solid var(--ink)}.detail-thumbnails img{width:100%;height:100%;object-fit:cover}.detail-copy{padding-top:17px}.detail-copy h1{font-family:var(--display);font-size:clamp(44px,4.8vw,70px);font-weight:500;letter-spacing:-.05em;line-height:1.08;margin:0 0 24px}.detail-price{font-size:27px;font-weight:700;margin-bottom:11px}.shipping-note{font-size:12px;color:#697a73;margin:0 0 29px}.detail-description{font-size:15px;line-height:1.8;color:var(--ink-soft);max-width:450px;margin:0 0 32px}.detail-specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 30px}.detail-specs>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.detail-specs>div:last-child{border:0}.detail-specs dt{font-size:11px;color:#718079}.detail-specs dd{font-size:12px;font-weight:700;margin:0}.detail-specs small{display:block;font-size:10px;font-weight:400;color:#7a857f;margin-top:6px}.variant-field{border:0;margin:0 0 22px;padding:0}.variant-field legend{font-size:11px;font-weight:700;margin-bottom:10px}.variant-field label{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);margin:0 7px 7px 0;padding:10px;font-size:11px;cursor:pointer}.variant-field input{accent-color:var(--ink)}.variant-field label:has(input:checked){border-color:var(--ink);background:#e6e9e2}.detail-select{display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:white;padding:16px 20px;font-size:12px;font-weight:700;cursor:pointer}.detail-select input{accent-color:#fff}.detail-help{font-size:11px;color:#718079;line-height:1.6;margin-top:15px}.detail-next{border-top:1px solid var(--line);text-align:center;padding:70px 0 100px}.detail-next .button{margin-top:25px}.not-found{grid-column:1/-1;text-align:center;padding:80px 0}.not-found h1{font-family:var(--display);font-size:48px;font-weight:500}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.how{grid-template-columns:1fr}.hero h1{font-size:clamp(60px,7vw,82px)}.hero-copy{padding-left:7%}.hero-caption{left:7%}}
@media(max-width:760px){.site-header{min-height:65px;padding:0 18px}.site-header nav{gap:14px}.site-header nav a{font-size:10px}.site-header nav a:nth-child(2),.site-header nav a:nth-child(3){display:none}.header-action{display:none}.hero{display:flex;flex-direction:column;max-height:none}.hero-copy{padding:64px 24px 73px}.hero h1{font-size:clamp(58px,13vw,82px);max-width:650px}.hero-lead{font-size:15px}.hero-caption{left:24px}.hero-media{height:450px}.hero-media>img{object-fit:contain}.hero-stamp{padding:15px 18px}.introduction{display:block;padding:55px 24px}.introduction .eyebrow{margin-bottom:14px}.section-pad{padding:70px 24px}.section-top{display:block}.section-intro{margin-top:20px}.collection-tools{display:block}.search-box{margin-top:13px;max-width:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 14px}.card-info h3{font-size:19px}.steps{gap:14px}.steps h3{margin-top:26px}.footer{grid-template-columns:1fr;row-gap:20px;padding:45px 24px}.footer p,.footer small{justify-self:start}.footer>div{flex-wrap:wrap}.product-detail{display:block;padding-bottom:65px}.detail-copy{padding-top:30px}.detail-main{padding:15px 24px 0}}
@media(max-width:500px){.notice{font-size:9px;letter-spacing:.06em}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px}.hero-media{height:420px}.filter-list{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:3px}.filter-list button{padding:9px 11px}.product-grid{gap:30px 10px}.card-photo{aspect-ratio:1/1.15}.card-badge{font-size:9px;top:8px;left:8px}.card-select{top:8px;right:8px;font-size:0;padding:7px;min-height:29px}.card-select input{width:17px;height:17px}.card-category{font-size:9px}.card-info h3{font-size:17px}.card-price{font-size:13px}.card-dimensions{font-size:9px}.card-link{font-size:10px}.steps{grid-template-columns:1fr;gap:30px}.steps h3{margin-top:16px}.selection-tray{bottom:0;width:100%;padding:9px 11px}.selection-summary small{max-width:95px}.selection-actions{gap:4px}.selection-actions .button{padding:11px;font-size:10px;gap:6px;min-height:40px}.clear-button{font-size:10px}.detail-copy h1{font-size:45px}.detail-main-photo{aspect-ratio:1/1.03}}
@media(max-width:600px){.admin-main{padding:45px 16px}.admin-list{grid-template-columns:1fr}.admin-bar{gap:6px;padding:10px}.admin-bar .button{padding:10px;font-size:11px;min-height:44px}.admin-bag img{width:58px;height:58px}.admin-tools{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card-photo img{transition:none}}
