/* Shared refinements for the brand and product pages. */
:root{--paper:#f3f1e9;--ink:#2f3431;--mint:#cfeae1;--muted:#71756e;--line:#d6d6cb}
body{-webkit-font-smoothing:antialiased}
.shell{width:min(1440px,calc(100% - clamp(48px,9vw,160px)))}
.top{height:92px;background:#f3f1e9eb;backdrop-filter:blur(18px)}
.top .logo{width:176px;height:auto}
.top .back{font-size:11px}
.brand-hero{padding:84px 0 64px}
.brand-logo{max-height:58px;margin-bottom:45px;object-fit:contain}
.brand-hero h1{font-size:clamp(80px,13vw,188px);letter-spacing:-.025em}
.brand-hero .lede{max-width:700px;color:var(--muted)}
.product-grid{border:0;gap:45px 32px}
.product-card{background:transparent;border:0;overflow:hidden}
.product-card img{height:auto;aspect-ratio:2.2;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.product-card:hover img{transform:scale(1.025)}
.card-copy{padding:25px 0 22px;border-bottom:1px solid var(--line)}
.card-copy h2{font-size:clamp(38px,4vw,64px)}
.card-copy .eyebrow{font-size:9px;color:var(--muted)}
.card-copy .arrow{display:block;margin-top:22px}
.specs{background:#eeeee7}
.spec-grid{border-right:0;border-left:0}
.spec{gap:24px}
.spec b{line-height:1.25;font-size:24px}
.hero{display:block;padding:0 max(24px,4.5vw) 60px;min-height:0}
.hero-copy{padding:64px 0 48px;max-width:1440px;margin:auto;display:block}
.crumb{margin-bottom:40px;font-size:10px}
.crumb a{border-bottom:1px solid #a4ad9e;text-decoration:none}
.hero .kicker{font-size:10px;color:var(--muted)}
.hero h1{font-size:clamp(64px,10vw,156px);max-width:1250px;margin:20px 0 32px}
.hero .lede{max-width:760px;color:var(--muted);font-size:18px;line-height:1.6}
.hero-image{max-width:1440px;margin:auto;min-height:0;aspect-ratio:2.45;background-position:center}
.stats{padding:0 max(24px,4.5vw)}
.stat{padding:25px 20px}
.stat:first-child{padding-left:0}
.stat b{font-size:28px;margin-top:8px}
.stat span{font-family:FranklinMedCond;font-size:10px;letter-spacing:.08em}
.intro-grid h2{font-size:clamp(48px,5.7vw,88px)}
.ideal{font-size:20px;color:var(--muted);line-height:1.6}
.col{padding:35px}.col ul{padding-left:18px}.col li{line-height:1.6;font-size:15px}
.recommend{background:#303831;padding:70px 0}
.recommend h2{font-size:clamp(34px,3.4vw,50px);max-width:1000px;line-height:1.08;text-transform:none;margin:25px 0}
.recommend .eyebrow{font-size:10px;color:#b6c8ad}
.recommend .cta{background:var(--mint);font-size:11px;padding:18px 24px}
.fine{line-height:1.5;color:#bac5b3}
.foot{font-size:12px;line-height:1.8;padding:40px 0}
.foot a{text-decoration:none;border-bottom:1px solid var(--line)}
:focus-visible{outline:2px solid #4c8063;outline-offset:6px}
@media(max-width:800px){.top{height:78px}.top .logo{width:142px}.brand-hero{padding-top:55px}.product-grid{grid-template-columns:1fr;gap:38px}.card-copy h2{font-size:44px}.hero{padding-bottom:30px}.hero-copy{padding:42px 0 30px}.hero h1{font-size:clamp(60px,12vw,96px);overflow-wrap:anywhere}.hero .lede{font-size:16px}.hero-image{min-height:0;aspect-ratio:1.7}.crumb{margin-bottom:30px}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(odd){padding-left:0}.stat b{font-size:25px}.intro-grid{gap:28px}.intro-grid h2{font-size:54px}.ideal{font-size:18px}.spec-grid{grid-template-columns:1fr}.spec{grid-template-columns:100px 1fr;gap:18px;padding:20px 0}.spec b{font-size:22px}.spec:nth-child(odd){border-right:0}.col{padding:28px}.recommend{padding:50px 0}.recommend h2{font-size:36px;line-height:1.1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Same quiet timing, palette and reading rhythm as the homepage. */
:root{--catalog-ease:cubic-bezier(.22,1,.36,1)}
.catalog-progress{height:2px;position:fixed;inset:0 0 auto;z-index:20;background:#7d9d8d;transform:scaleX(0);transform-origin:left;pointer-events:none}
.top{transition:height .4s var(--catalog-ease),box-shadow .4s}
.top.is-scrolled{height:78px;box-shadow:0 1px 20px #2f343108}
.catalog-title-mask{display:block;overflow:hidden;padding:.05em 0 .08em;margin:-.05em 0 -.08em}
.catalog-title-mask>span{display:block}
.product-card .arrow{transition:color .3s}
.product-card:hover .arrow{color:#53816a}
.cta{transition:background .3s,transform .4s var(--catalog-ease)}
.cta:hover{background:#e2f1e9;transform:translateY(-3px)}
@media(prefers-reduced-motion:no-preference){
 .catalog-motion .catalog-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--catalog-ease),transform 1.1s var(--catalog-ease);transition-delay:var(--reveal-delay,0ms)}
 .catalog-motion .catalog-reveal.is-visible{opacity:1;transform:none}
 .catalog-motion [data-catalog-title]{opacity:1;transform:none}
 .catalog-motion [data-catalog-title] .catalog-title-mask>span{transform:translateY(112%);transition:transform 1.25s var(--catalog-ease)}
 .catalog-motion [data-catalog-title].is-visible .catalog-title-mask>span{transform:none}
 .catalog-motion .hero-image{transform:none;clip-path:inset(5% 2% 5% 2%);transition:opacity 1s var(--catalog-ease),clip-path 1.35s var(--catalog-ease)}
 .catalog-motion .hero-image.is-visible{clip-path:inset(0)}
 .catalog-motion .spec{transform:translateY(12px)}
 .catalog-motion .spec.is-visible{transform:none}
}
@media(max-width:800px){.top.is-scrolled{height:70px}}
