@font-face{font-family:SpaceGrotesk;src:url('/fonts/space-grotesk.ttf') format('truetype');font-display:swap}@font-face{font-family:DMSans;src:url('/fonts/dm-sans.ttf') format('truetype');font-display:swap}
:root{--paper:#F7F4EE;--ink:#202226;--blue:#3457FF;--coral:#FF654A;--lime:#D9EC76;--line:#D8D5CE;--muted:#65686D;--surface:#fff;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:DMSans,Arial,sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,.button{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:.72rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700;min-height:44px;border-radius:2px;text-decoration:none}button:hover,.button:hover{text-decoration:none;background:var(--lime)}button.primary,.button.primary{border-color:var(--blue);background:var(--blue);color:white}button.primary:hover,.button.primary:hover{background:#2440D2}.button.outline{background:var(--paper)}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.skip{position:absolute;top:-100px;left:1rem;padding:1rem;background:white;z-index:1000}.skip:focus{top:1rem}h1,h2,h3,p{margin-top:0}h1,h2,h3,.wordmark,.price,.intro-number,.stats strong{font-family:SpaceGrotesk,Arial,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,6vw,6.4rem);line-height:1.02;font-weight:600}h2{font-size:clamp(1.75rem,3vw,3rem);line-height:1.13;font-weight:600}h3{font-size:1.25rem;line-height:1.2}.muted{color:var(--muted)}.tiny{font-size:.82rem;color:var(--muted)}.site-header{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.25rem 3.5vw;border-bottom:1px solid var(--line)}.wordmark{font-weight:700;font-size:2rem;white-space:nowrap;line-height:1}.logo-dot{color:var(--coral)}.site-header nav,.header-actions{display:flex;gap:1.5rem;align-items:center;font-size:.92rem;font-weight:600}.header-actions{gap:1.2rem}.count{display:inline-block;background:var(--lime);min-width:1.35rem;line-height:1.35rem;text-align:center;border-radius:50%;font-size:.75rem}.hero{max-width:var(--max);margin:auto;display:grid;grid-template-columns:47% 53%;min-height:640px;padding:3.5vw;gap:2rem;overflow:hidden}.hero-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:2rem 3vw 3rem 0}.hero-copy h1{max-width:680px}.hero-copy>p:not(.hero-kicker){font-size:1.2rem;max-width:33rem;margin:1rem 0 2rem}.hero-kicker{font-weight:700;color:var(--blue);font-size:.85rem;letter-spacing:.02em}.hero-art{position:relative;min-height:520px;background:#BFD5FF;overflow:hidden}.art-frame{position:absolute;inset:8% 12% 10%;background:linear-gradient(180deg,#6C9DE9 0,#C1D9F0 55%,#E3E8D6 56%,#7EAC71 100%);transform:rotate(-3deg);box-shadow:24px 24px 0 rgba(32,34,38,.12);overflow:hidden}.art-sun{position:absolute;width:32%;aspect-ratio:1;top:17%;right:16%;background:#FFCC6D;border-radius:50%;filter:blur(1px)}.art-ridge{position:absolute;width:140%;height:50%;border-radius:50%;background:#285677;left:-15%;bottom:-27%;transform:rotate(-7deg)}.art-ridge.second{background:#426943;bottom:-38%;left:15%;transform:rotate(10deg)}.hero-mark{position:absolute;bottom:7%;left:2%;background:var(--coral);padding:.75rem 1rem;font-family:SpaceGrotesk,Arial,sans-serif;font-size:1.15rem;font-weight:700;transform:rotate(-4deg)}.section{max-width:var(--max);padding:5rem 3.5vw;margin:auto}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro h2{max-width:640px}.intro p:not(.intro-number){max-width:430px}.intro-number{font-size:6rem;line-height:.8;color:var(--blue);font-weight:700;margin:0;white-space:nowrap}.intro-number span{display:block;font:700 .85rem DMSans,Arial,sans-serif;letter-spacing:0;text-align:right;margin-top:1rem}.section-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:2rem}.section-head a{color:var(--blue);font-weight:700;margin-bottom:1rem}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.product-card a:hover{text-decoration:none}.product-image{position:relative;aspect-ratio:3/4;background:#DDE2E4;overflow:hidden}.product-image img,.product-detail-image img{width:100%;height:100%;object-fit:cover}.placeholder-art{height:100%;width:100%;position:relative;overflow:hidden;background:linear-gradient(155deg,#405D9D,#8DB5D3 40%,#E4DFB8 60%,#84A76D 61%,#355E56)}.placeholder-art span{position:absolute;top:20%;right:20%;width:35%;aspect-ratio:1;background:#FBD489;border-radius:50%}.badge{position:absolute;top:.8rem;left:.8rem;background:var(--lime);color:var(--ink);padding:.2rem .5rem;font-size:.7rem;font-weight:800;letter-spacing:.1em}.product-card-meta{padding:1rem 0}.product-card-meta h3{margin-bottom:.2rem}.product-card-meta p{color:var(--muted);font-size:.92rem;margin:0 0 .5rem}.product-card-meta strong{color:var(--blue)}.editorial{background:var(--blue);color:white;padding:6rem 3.5vw;text-align:center}.editorial p{font:600 clamp(2rem,4vw,4.5rem)/1.1 SpaceGrotesk,Arial,sans-serif;max-width:950px;margin:auto}.footer{border-top:1px solid var(--line);max-width:var(--max);margin:auto;padding:4rem 3.5vw 2rem;display:grid;grid-template-columns:1fr 2fr;gap:2rem}.footer nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.footer .consent,.footer>.tiny{grid-column:1/-1}.consent{border-top:1px solid var(--line);padding-top:1.5rem}.consent summary{cursor:pointer;font-weight:700}.consent form{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.consent-actions{display:flex;gap:.6rem;flex-wrap:wrap;width:100%;margin-top:1rem}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;box-shadow:0 -4px 24px #0002;padding:1.2rem 3.5vw;display:flex;justify-content:space-between;align-items:center;gap:2rem}.cookie-banner p{margin:0;max-width:560px}.cookie-banner form{display:flex;gap:.5rem;flex-wrap:wrap}.notice,.errors,.warning{padding:1rem 3.5vw;margin:1rem auto;max-width:var(--max);border-left:4px solid var(--blue);background:white}.errors{border-color:#b63024}.warning{border-color:var(--coral);background:#FFF0E9}.page-intro{padding-bottom:2rem}.page-intro h1{max-width:850px}.catalog-filters{display:flex;gap:1rem;align-items:end;margin-bottom:2rem;flex-wrap:wrap}.catalog-filters label{min-width:230px}.catalog-filters button{height:46px}input,select,textarea{display:block;width:100%;border:1px solid #85878A;background:white;color:var(--ink);padding:.75rem .8rem;border-radius:2px;min-height:44px}input[type=checkbox],input[type=radio]{width:auto;min-height:0;display:inline-block;accent-color:var(--blue);margin-right:.35rem}label{display:block;font-weight:600;font-size:.92rem}label input,label select,label textarea{margin-top:.35rem;font-weight:400}.form-stack{display:grid;gap:1.2rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row>label{flex:1 1 190px}.radio{display:flex;align-items:center;gap:.15rem}.form-stack fieldset{border:1px solid var(--line);padding:1.2rem}.form-stack legend{font-weight:700}.form-stack button{justify-self:start}.breadcrumbs{max-width:var(--max);padding:1.5rem 3.5vw;margin:auto;font-size:.85rem;color:var(--muted)}.product-detail{max-width:var(--max);margin:auto;padding:1.5rem 3.5vw 5rem;display:grid;grid-template-columns:1fr 1fr;gap:6vw}.product-detail-image{position:relative;aspect-ratio:3/4;background:#d1ddd4}.product-info{padding-top:2rem}.product-info h1{font-size:clamp(2.7rem,5vw,5rem)}.price{font-size:1.6rem;color:var(--blue);font-weight:700}.lead{font-size:1.13rem;max-width:35rem}.specs{margin:2rem 0;border-top:1px solid var(--line)}.specs div{display:grid;grid-template-columns:130px 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:.65rem 0}.specs dt{color:var(--muted)}.specs dd{margin:0}.product-info form{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.product-info form label{max-width:100px}.stock{font-weight:700;color:#20593D}.unavailable{color:#A13B30}.demo-note{background:var(--lime);padding:1rem}.narrow{max-width:850px}.narrow h1{font-size:clamp(2.5rem,5vw,4rem)}.cart-line,.list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.cart-line h2{font-size:1.3rem;margin:0}.cart-line form{display:flex;align-items:end;gap:.5rem}.cart-line form label{max-width:90px}.cart-total{display:flex;justify-content:space-between;border-top:2px solid var(--ink);padding:1rem 0;font-size:1.25rem}.checkout-summary{border-top:1px solid var(--line);margin:2rem 0;padding-top:1rem}.checkout-summary p{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.6rem 0}.disabled-method{color:var(--muted);font-size:.9rem;margin:.3rem}.prose{line-height:1.8}.prose h1{margin-bottom:2rem}.admin-body{background:#F5F6F7}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;background:white;border-bottom:1px solid var(--line)}.admin-top .wordmark{font-size:1.6rem}.admin-top small{font:600 .65rem DMSans,Arial,sans-serif;letter-spacing:.04em;margin-left:.5rem;color:var(--muted)}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 70px)}.admin-nav{display:flex;flex-direction:column;padding:2rem 1rem;border-right:1px solid var(--line);background:#fff;gap:.2rem}.admin-nav a{padding:.65rem .8rem;border-radius:4px;font-weight:600}.admin-nav a:hover{background:var(--lime);text-decoration:none}.admin-main{padding:2rem 3vw;min-width:0;max-width:1400px}.admin-main h1{font-size:2.6rem}.admin-main h2{font-size:1.6rem}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:3rem}.stats article,.admin-panel{background:white;border:1px solid var(--line);padding:1.4rem}.stats span{display:block;color:var(--muted);font-size:.9rem}.stats strong{display:block;font-size:2rem;margin-top:.4rem}.admin-panel{margin:2rem 0}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:.8rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;color:var(--muted);background:#f9fafb}td a{color:var(--blue);font-weight:700}td input{min-width:95px}.admin-main .notice,.admin-main .errors,.admin-main .warning{margin:1rem 0;padding:1rem;max-width:none}
@media(max-width:900px){.site-header{flex-wrap:wrap}.site-header nav{order:3;width:100%;justify-content:flex-start;overflow:auto}.hero{min-height:0;grid-template-columns:1fr}.hero-copy{padding:3rem 0}.hero-art{min-height:440px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-number{font-size:4rem}.admin-shell{grid-template-columns:1fr}.admin-nav{flex-direction:row;overflow:auto;padding:.5rem;border-right:0;border-bottom:1px solid var(--line)}.admin-nav a{white-space:nowrap}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-header{gap:1rem}.site-header nav,.header-actions{gap:.8rem;font-size:.8rem}.wordmark{font-size:1.6rem}.hero{padding:1rem 5vw}.hero-copy h1{font-size:3.6rem}.hero-art{min-height:360px}.section{padding:3rem 5vw}.intro{display:block}.intro-number{margin-top:2rem}.product-grid{gap:.8rem}.product-card-meta h3{font-size:1rem}.editorial{padding:4rem 5vw}.footer{grid-template-columns:1fr;padding:3rem 5vw}.footer nav{grid-template-columns:repeat(2,1fr)}.cookie-banner{display:block;padding:1rem 5vw}.cookie-banner form{margin-top:1rem}.cookie-banner button,.cookie-banner .button{flex:1;font-size:.8rem;padding:.4rem}.product-detail{grid-template-columns:1fr;padding:1rem 5vw 3rem}.product-info{padding-top:0}.cart-line{align-items:flex-start;flex-wrap:wrap}.admin-top{padding:.8rem}.admin-main{padding:1rem}.admin-heading{display:block}.stats{gap:.5rem}.stats article{padding:1rem}.stats strong{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Editorial purchase and account flows */
.product-info form.form-stack{display:grid;align-items:stretch;gap:1rem;max-width:32rem}
.product-info form.form-stack label{max-width:none}
.product-info form.form-stack label:first-of-type{width:100%}
.product-info form.form-stack button{justify-self:start}
.checkout-page{max-width:1380px}
.checkout-heading{border-bottom:1px solid var(--line);margin-bottom:2.4rem;padding-bottom:1.4rem}
.checkout-heading h1{margin-bottom:.5rem}
.checkout-heading p:last-child{max-width:42rem;margin:0}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:start;gap:clamp(2rem,6vw,7rem)}
.checkout-form fieldset{border:0;border-top:2px solid var(--ink);padding:1.4rem 0 0;margin:0;display:grid;gap:1rem}
.checkout-form legend{font:600 1.5rem SpaceGrotesk,Arial,sans-serif;letter-spacing:-.03em;padding:0 1rem 0 0}
.checkout-aside{background:#fff;border:1px solid var(--line);padding:clamp(1.25rem,3vw,2rem);position:sticky;top:1.5rem}
.checkout-aside h2{font-size:1.55rem;margin-bottom:1.5rem}
.summary-line{display:flex;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line);padding:.8rem 0}
.summary-line span{max-width:18rem}.summary-line small{color:var(--muted)}.summary-line strong{white-space:nowrap}
.summary-total{border-bottom:0;border-top:2px solid var(--ink);margin-top:1.5rem;font-size:1.15rem}
.checkout-aside .muted{font-size:.85rem;line-height:1.5;margin:1.5rem 0 0}
.saved-addresses{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.saved-addresses span{font-weight:700;margin-right:.5rem}
.saved-addresses a{border:1px solid var(--line);padding:.55rem .8rem;background:white;font-size:.9rem}
.saved-addresses a[aria-current=true]{border-color:var(--blue);box-shadow:inset 0 -3px var(--blue)}
.payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}
.payment-options .radio{background:white;border:1px solid var(--line);padding:.75rem}
.payment-options .disabled-method{padding:.75rem;border:1px dashed var(--line);margin:0}
.terms-check{align-items:flex-start}.terms-check a{text-decoration:underline;text-underline-offset:.15em}
.account-page{max-width:1380px}.account-intro{display:flex;justify-content:space-between;gap:2rem;align-items:start;border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:3rem}
.account-intro h1{margin-bottom:1rem}.account-intro p{line-height:1.45}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem)}
.account-grid h2{font-size:2rem;padding-bottom:1rem;border-bottom:2px solid var(--ink)}
.account-grid .list-row{flex-wrap:wrap}.empty-state{border:1px solid var(--line);padding:1.5rem;background:white}
.address-card{background:white;border:1px solid var(--line);padding:1.35rem;margin:1rem 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem}
.address-card h3{font-size:1.2rem;margin-bottom:.7rem}.address-card p{margin:0;font-size:.92rem;line-height:1.6}
.address-default{display:inline-block;background:var(--lime);font:700 .72rem DMSans,Arial,sans-serif;letter-spacing:0;padding:.2rem .45rem;vertical-align:middle;margin-left:.4rem}
.address-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;font-size:.88rem}
.address-actions>a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:.15em}
.address-actions details{width:100%}.address-actions summary,.address-new summary{cursor:pointer;font-weight:700}
.address-actions details[open]{grid-column:1/-1}.address-actions details form{margin-top:1rem}
.address-actions button{font-size:.88rem;min-height:38px;padding:.35rem .7rem}
.address-new{border:1px solid var(--ink);padding:1.25rem;margin-top:1.5rem;background:#fff}
.address-new form{margin-top:1.4rem}
.admin-panel>form.form-stack:not(:last-child){border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:1.5rem}
.admin-panel h3{margin-top:1.8rem}
@media(max-width:900px){.checkout-grid,.account-grid{grid-template-columns:1fr}.checkout-aside{position:static}.account-grid{gap:3rem}}
@media(max-width:600px){.checkout-heading{margin-bottom:1.5rem}.payment-options{grid-template-columns:1fr}.address-card{grid-template-columns:1fr}.address-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.account-intro{align-items:center}.checkout-aside{padding:1.1rem}}
/* CMS imagery follows the calendar's portrait proportions. */
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.intro-image{width:min(38%,420px);max-height:420px;object-fit:cover;align-self:stretch}
.editorial{display:grid;justify-items:center;gap:2rem}.editorial img{width:min(100%,820px);max-height:520px;object-fit:cover}
.page-image{margin:0 0 2.5rem}.page-image img{width:100%;height:auto;max-height:680px;object-fit:cover;display:block}
.admin-panel label small{display:block;color:var(--muted);font-weight:400;margin-top:.25rem;line-height:1.4}
@media(max-width:600px){.intro-image{width:100%;max-height:300px;margin-top:2rem}}
/* Measured data gets a compact ledger, distinct from marketing cards. */
.analytics-filter{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:1.3rem 0;margin-bottom:2rem}
.analytics-filter label{min-width:150px;flex:0 1 220px}
.analytics-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;margin:2rem 0 2.5rem}
.analytics-rail>div{border-left:2px solid var(--blue);padding-left:1rem;min-width:0}
.analytics-rail span,.analytics-rail small{display:block;color:var(--muted);font-size:.85rem}
.analytics-rail strong{display:block;font:600 clamp(1.5rem,2.6vw,2.4rem)/1.1 SpaceGrotesk,Arial,sans-serif;margin:.45rem 0;letter-spacing:-.04em}
.analytics-breakdown{columns:2;column-gap:3rem}.analytics-breakdown p{display:flex;justify-content:space-between;gap:1rem;break-inside:avoid;border-bottom:1px solid var(--line);padding:.65rem 0;margin:0}.analytics-breakdown strong{white-space:nowrap}
.analytics-sections{display:grid;grid-template-columns:1fr 1.25fr;gap:2rem;margin:3rem 0}.analytics-sections h2{font-size:1.65rem}
@media(max-width:1000px){.analytics-sections{grid-template-columns:1fr}.analytics-rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.analytics-rail{gap:1.25rem}.analytics-breakdown{columns:1}.analytics-filter label{flex:1 1 130px}}
.return-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1rem}.return-heading h2{margin:0}.return-heading p{margin:.3rem 0 0;color:var(--muted)}
.return-status{background:var(--lime);padding:.25rem .6rem;font-size:.82rem;font-weight:700}
.return-action{display:grid;grid-template-columns:minmax(160px,.5fr) minmax(220px,1fr) auto;align-items:end;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}
@media(max-width:900px){.return-action{grid-template-columns:1fr}.return-action button{justify-self:start}}
.admin-main .stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.admin-main .stats a{text-decoration:none}.admin-main .stats a:hover{text-decoration:underline}
.product-gallery{padding-top:0}.product-gallery h2{font-size:1.8rem;border-top:1px solid var(--line);padding-top:2rem}
.gallery-grid,.admin-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.gallery-grid figure,.admin-image-grid figure{margin:0}.gallery-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.gallery-grid a:focus-visible img{outline:3px solid var(--blue);outline-offset:3px}
.admin-image-grid{margin:1.5rem 0}.admin-image-grid img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.admin-image-grid figcaption{font-size:.85rem;margin:.5rem 0;color:var(--muted)}
@media(max-width:750px){.gallery-grid,.admin-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
