
:root{
  --bg:#fcfbf8;
  --bg-2:#f7f5ef;
  --paper:#f0ece4;
  --ink:#1f1f1d;
  --muted:#68645d;
  --provence-blue:#4F6F86;
  --dusty-blue:#8EA4AE;
  --soft-lemon:#E6C85C;
  --faint:#958f84;
  --line:#e4dfd5;
  --line-dark:rgba(31,31,29,.24);
  --panel:rgba(252,251,248,.88);
  --panel-strong:rgba(252,251,248,.95);
  --max:1360px;
  --side:clamp(22px,3.6vw,48px);
  --header-h:82px;
  --font-cn:"Source Han Sans SC","Noto Sans SC","PingFang SC",sans-serif;
  --font-en:"Inter",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-cn);font-size:16px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} ::selection{background:#e8dfcd;color:#111}.en{font-family:var(--font-en)}
.skip-link{position:absolute;left:-999px;top:12px;background:var(--ink);color:var(--bg);padding:8px 12px;z-index:999}.skip-link:focus{left:12px}
.site-header{height:var(--header-h);position:sticky;top:0;z-index:80;background:rgba(252,251,248,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(31,31,29,.08)}
.header-inner{max-width:var(--max);height:100%;margin:0 auto;padding:0 var(--side);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px}.brand{display:flex;flex-direction:column;gap:3px;justify-self:start}.brand-main{font-family:var(--font-en);font-size:16px;font-weight:780;letter-spacing:.16em;text-transform:uppercase}.brand-sub{font-size:11px;letter-spacing:.24em;color:var(--muted)}.nav{display:flex;justify-content:center;gap:30px;align-items:center;font-size:14px;font-weight:470;letter-spacing:.02em;white-space:nowrap}.nav a{position:relative;color:rgba(31,31,29,.84)}.nav a.active:after,.nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-13px;height:1px;background:var(--ink)}.header-right{justify-self:end;display:flex;gap:14px;align-items:center;font-family:var(--font-en);font-size:14px}.header-right .divider{height:20px;width:1px;background:rgba(31,31,29,.22)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font:inherit;padding:8px}.language-current{color:var(--muted)}
.kicker{font-family:var(--font-en);text-transform:uppercase;letter-spacing:.22em;font-size:11px;line-height:1.38;font-weight:760;color:rgba(31,31,29,.62)}.rule{width:52px;height:1px;background:rgba(31,31,29,.5);margin:22px 0}.btn-row{display:flex;gap:16px;flex-wrap:wrap}.btn{height:50px;min-width:164px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(31,31,29,.34);font-family:var(--font-cn);font-size:14px;font-weight:600;transition:.24s ease;background:rgba(252,251,248,.56)}.btn.dark{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn:hover{background:var(--ink);color:var(--bg);transform:translateY(-1px)}.arrow{font-family:var(--font-en);font-size:19px}
.cover{max-width:var(--max);margin:0 auto;padding:0 var(--side) 32px}.cover-frame{position:relative;height:min(620px,calc(100vh - var(--header-h) - 26px));min-height:540px;overflow:hidden;background:var(--bg-2);border-bottom:1px solid var(--line)}.cover-frame.short{height:520px;min-height:480px}.cover-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.94) contrast(.98);transform:scale(1.002)}.cover-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,251,248,.98) 0%,rgba(252,251,248,.93) 26%,rgba(252,251,248,.76) 40%,rgba(252,251,248,.18) 64%,rgba(252,251,248,0) 100%)}.cover-frame::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(252,251,248,.14),rgba(252,251,248,.02) 38%,rgba(252,251,248,.08));pointer-events:none}.cover-copy{position:relative;z-index:2;width:min(430px,40%);height:100%;padding:clamp(44px,6vw,72px) 0 48px clamp(26px,3.2vw,46px);display:flex;flex-direction:column;justify-content:center}.cover-title{margin:22px 0 0;font-size:clamp(36px,4.1vw,54px);line-height:1.16;letter-spacing:-.045em;font-weight:680}.cover-title.en-title{font-family:var(--font-en);font-size:clamp(43px,5.1vw,68px);line-height:1.02;letter-spacing:-.062em;font-weight:800}.cover-frame.short .cover-title{font-size:clamp(34px,3.6vw,48px);line-height:1.16}.cover-sub{margin:16px 0 0;font-family:var(--font-en);font-size:15px;color:var(--muted)}.cover-text{max-width:380px;margin:0 0 30px;font-size:15px;line-height:1.86;color:var(--muted)}.cover-text.en{font-family:var(--font-en);line-height:1.72}.cover-index{position:absolute;right:28px;top:44%;z-index:3;display:grid;gap:20px;font-family:var(--font-en);font-size:12px;font-weight:800}.cover-index::before{content:"";position:absolute;right:6px;top:32px;width:1px;height:66px;background:rgba(31,31,29,.46)}.cover-index span:not(:first-child){opacity:.54}
.product-strip{max-width:var(--max);margin:0 auto;padding:20px var(--side) 72px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.product-card{display:block;background:transparent;overflow:hidden}.product-card figure{margin:0;overflow:hidden;background:var(--paper);aspect-ratio:1.85;border:1px solid rgba(31,31,29,.06)}.product-card img{width:100%;height:100%;object-fit:cover;transition:.55s ease;filter:saturate(.95)}.product-card:hover img{transform:scale(1.018)}.product-card .caption{padding:14px 0 0;display:grid;grid-template-columns:auto 1fr;column-gap:15px}.product-card .num{font-family:var(--font-en);font-weight:800;font-size:12px;letter-spacing:.08em;color:var(--muted)}.product-card .label{font-family:var(--font-en);font-weight:760;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.product-card h3{grid-column:2;margin:2px 0 0;font-size:18px;line-height:1.34;letter-spacing:-.025em;font-weight:600}
.home-updates{max-width:var(--max);margin:0 auto;padding:0 var(--side) 84px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-note{border-top:1px solid var(--line);padding:26px 0 0;display:grid;grid-template-columns:130px 1fr auto;gap:22px;align-items:start}.home-note .meta{font-family:var(--font-en);font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:760}.home-note h2{margin:0;font-size:22px;letter-spacing:-.035em;line-height:1.38;font-weight:570}.home-note p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.intro{max-width:var(--max);margin:0 auto;padding:0 var(--side) 86px;display:grid;grid-template-columns:32% 1fr auto;gap:44px;align-items:end}.intro h2{margin:10px 0 0;font-size:30px;line-height:1.25;letter-spacing:-.045em}.intro p{margin:0;max-width:710px;color:var(--muted);line-height:1.9}.text-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-cn);font-weight:600}.text-link::after{content:"→";font-family:var(--font-en);font-size:20px}.section{max-width:var(--max);margin:0 auto;padding:76px var(--side);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:33% 1fr;gap:52px;margin-bottom:42px}.section-head h2{font-size:clamp(28px,3vw,44px);line-height:1.2;letter-spacing:-.045em;margin:0;font-weight:650}.section-head p{font-size:16px;line-height:1.9;color:var(--muted);margin:0;max-width:720px}.edge-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edge-box{background:var(--bg-2);border:1px solid var(--line);padding:32px;min-height:220px}.edge-box h3{font-family:var(--font-en);font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin:0 0 18px}.edge-box ul{margin:0;padding-left:18px;color:var(--muted);line-height:2}.journal-list{border-top:1px solid var(--line)}.journal-item{display:grid;grid-template-columns:120px 1fr auto;gap:26px;align-items:center;border-bottom:1px solid var(--line);padding:26px 0}.journal-item .meta{font-family:var(--font-en);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.journal-item h3{font-size:23px;line-height:1.35;letter-spacing:-.035em;margin:0;font-weight:560}.editorial{max-width:var(--max);margin:0 auto;padding:76px var(--side);border-top:1px solid var(--line)}
.product-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.directory-card{display:grid;grid-template-columns:42% 1fr;background:var(--bg-2);border:1px solid var(--line);min-height:280px}.directory-card figure{margin:0;overflow:hidden;background:var(--paper)}.directory-card img{width:100%;height:100%;object-fit:cover}.directory-card .body{padding:34px;display:flex;flex-direction:column;justify-content:space-between}.directory-card h2{margin:12px 0 14px;font-size:28px;line-height:1.22;letter-spacing:-.04em}.directory-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.85}.directory-card .links{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px}.mini-link{font-weight:650;font-size:14px}.mini-link::after{content:" →";font-family:var(--font-en)}
.guide-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.guide-card{border:1px solid var(--line);background:var(--bg-2);padding:28px;min-height:220px}.guide-card h3{font-size:22px;letter-spacing:-.035em;line-height:1.25;margin:16px 0 12px}.guide-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.guide-card.disabled{opacity:.58}.guide-card.disabled .mini-link{display:none}.feature-list{display:grid;gap:10px}.feature-row{position:relative;min-height:380px;overflow:hidden;background:var(--bg-2)}.feature-row .image{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.92) contrast(.98)}.feature-row::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,251,248,.94),rgba(252,251,248,.72) 42%,rgba(252,251,248,.08) 72%)}.feature-row.right::after{background:linear-gradient(270deg,rgba(252,251,248,.94),rgba(252,251,248,.72) 42%,rgba(252,251,248,.08) 72%)}.feature-card{position:relative;z-index:2;width:min(450px,48%);padding:42px;background:rgba(252,251,248,.86);backdrop-filter:blur(4px);margin:36px}.feature-row.right .feature-card{margin-left:auto}.small{font-family:var(--font-en);text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--muted);font-weight:760}.feature-card h2{font-size:28px;line-height:1.24;letter-spacing:-.04em;margin:12px 0 10px}.feature-card p{color:var(--muted);margin:0;line-height:1.85;font-size:15px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.tag{font-size:12px;background:#efe6d2;padding:7px 11px}.mag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mag-card{display:block;background:var(--bg-2);border:1px solid var(--line);overflow:hidden}.mag-card img{width:100%;aspect-ratio:1.4;object-fit:cover}.mag-card .body{padding:24px}.mag-card h2{margin:8px 0 10px;font-size:24px;line-height:1.3}.mag-card p{margin:0;color:var(--muted);font-size:14px}.event-list{display:grid;gap:16px}.event-card{display:grid;grid-template-columns:170px 1fr 260px;gap:34px;align-items:center;border-top:1px solid var(--line);padding:28px 0}.event-card:last-child{border-bottom:1px solid var(--line)}.event-card .date{font-family:var(--font-en);font-size:18px;font-weight:760}.event-card h2{margin:0 0 8px;font-size:28px}.event-card p{margin:0;color:var(--muted)}.event-card img{width:100%;aspect-ratio:1.4;object-fit:cover}.article-shell{max-width:900px;margin:0 auto;padding:96px var(--side)}.article-shell .hero{width:100%;aspect-ratio:1.75;object-fit:cover;margin-bottom:34px}.article-shell .meta{font-family:var(--font-en);letter-spacing:.16em;text-transform:uppercase;font-size:12px;color:var(--muted);font-weight:760}.article-shell h1{font-size:clamp(36px,4.2vw,58px);line-height:1.12;letter-spacing:-.055em;margin:18px 0 36px}.article-body{font-size:17px;line-height:1.95;color:#3a3834}.article-body h2{font-size:28px;letter-spacing:-.04em;color:var(--ink);margin:42px 0 12px}.article-body blockquote{border-left:2px solid var(--ink);margin:28px 0;padding-left:22px;color:var(--ink)}.footer{max-width:var(--max);margin:0 auto;padding:46px var(--side) 70px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.footer-top{display:grid;grid-template-columns:260px 1fr;gap:34px;margin-bottom:18px}.footer strong{font-family:var(--font-en);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
@media(max-width:1100px){:root{--header-h:auto}.site-header{height:auto}.header-inner{grid-template-columns:1fr auto;padding-top:18px;padding-bottom:18px}.menu-toggle{display:block}.nav{display:none;grid-column:1/-1;justify-content:flex-start;gap:18px;flex-wrap:wrap;padding-top:12px}.nav.open{display:flex}.header-right{justify-self:end}.cover-frame{height:680px}.cover-copy{width:min(500px,72%)}.product-strip,.mag-grid,.product-directory{grid-template-columns:repeat(2,1fr)}.guide-directory{grid-template-columns:repeat(2,1fr)}.intro,.section-head{grid-template-columns:1fr}.event-card{grid-template-columns:1fr}.event-card img{max-width:420px}.feature-card{width:min(500px,70%)}.home-updates{grid-template-columns:1fr}}
@media(max-width:720px){.header-inner{padding-left:20px;padding-right:20px}.brand-main{font-size:15px}.brand-sub{font-size:10px}.cover{padding-left:0;padding-right:0}.cover-frame{height:690px;min-height:640px;border-top:1px solid var(--line)}.cover-frame::after{background:linear-gradient(180deg,rgba(252,251,248,.96),rgba(252,251,248,.86) 42%,rgba(252,251,248,.15) 100%)}.cover-copy{width:auto;padding:46px 24px 38px}.cover-title{font-size:clamp(38px,12vw,52px)}.cover-title.en-title{font-size:clamp(42px,13vw,58px)}.cover-text{font-size:15px}.cover-index{display:none}.product-strip{grid-template-columns:1fr;padding-top:14px;padding-bottom:48px}.product-card figure{aspect-ratio:1.65}.home-note{grid-template-columns:1fr}.section,.editorial{padding-top:58px;padding-bottom:58px}.edge-grid,.mag-grid,.product-directory,.guide-directory{grid-template-columns:1fr}.directory-card{grid-template-columns:1fr}.directory-card figure{aspect-ratio:1.5}.feature-row{min-height:520px}.feature-row::after,.feature-row.right::after{background:linear-gradient(180deg,rgba(252,251,248,.95),rgba(252,251,248,.72) 50%,rgba(252,251,248,.12))}.feature-card,.feature-row.right .feature-card{width:auto;margin:24px;padding:28px}.journal-item{grid-template-columns:1fr}.btn{min-width:100%}.footer-top{grid-template-columns:1fr}}

/* v4.5 user-centered refinements */
.product-strip.with-copy .product-card .caption{grid-template-columns:auto 1fr;align-items:start}
.product-strip.with-copy .product-card p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.6;max-width:260px}
.trust-strip{max-width:var(--max);margin:0 auto 72px;padding:0 var(--side);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.trust-strip>div{border-top:1px solid var(--line);padding:24px 10px 0 0;min-height:132px}
.trust-strip strong{display:block;margin:10px 0 8px;font-size:18px;letter-spacing:-.02em;font-weight:650}.trust-strip p{margin:0;color:var(--muted);font-size:14px;line-height:1.78;max-width:330px}
.product-focus{padding-bottom:54px}.scene-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:-10px}.scene-tags span{border:1px solid var(--line);background:var(--bg-2);padding:10px 15px;font-size:14px;color:var(--muted)}
.user-note{margin-top:28px;border-top:1px solid var(--line);padding-top:22px;max-width:720px;color:var(--muted);font-size:15px;line-height:1.85}.user-note strong{display:block;color:var(--ink);font-size:13px;font-family:var(--font-en);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}.user-note p{margin:0}.user-note.wide{max-width:900px;margin-top:38px}
.product-directory.three{grid-template-columns:repeat(3,1fr)}.product-directory.three .directory-card{grid-template-columns:1fr;min-height:auto}.product-directory.three .directory-card figure{aspect-ratio:1.55}.product-directory.three .directory-card .body{min-height:270px}
.purchase-strip h2{max-width:780px;font-size:clamp(28px,3.1vw,44px);line-height:1.24;letter-spacing:-.045em;margin:16px 0 28px;font-weight:620}
.nav a[href="guide.html"]{white-space:nowrap}
@media(max-width:1100px){.trust-strip{grid-template-columns:1fr 1fr}.product-directory.three{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.trust-strip{grid-template-columns:1fr;margin-bottom:48px}.trust-strip>div{min-height:auto}.product-directory.three{grid-template-columns:1fr}.scene-tags span{font-size:13px}.purchase-strip h2{font-size:28px}.product-strip.with-copy .product-card p{max-width:none}}

/* v4.6 editorial user-flow refinements */
:root{--max:1320px;--bg:#fbfaf7;--bg-2:#f4f2ed;--line:#ded9d0;--ink:#1d1d1b;--muted:#6d6962}
.site-header{background:rgba(251,250,247,.94);backdrop-filter:blur(8px)}
.header-inner{max-width:1320px;margin:0 auto;padding:0 34px;height:76px;display:grid;grid-template-columns:250px 1fr 120px;align-items:center}.brand-main{font-size:14px;letter-spacing:.14em}.brand-sub{font-size:11px;letter-spacing:.16em;margin-top:7px}.nav{justify-content:center;gap:32px}.nav a{font-size:14px}.header-right{justify-content:flex-end;font-size:13px}
.cover{max-width:1320px;margin:0 auto 44px;padding:0 34px}.cover-frame{min-height:560px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.cover.short .cover-frame{min-height:440px}.cover-bg{opacity:.96}.cover-frame:before{background:linear-gradient(to right,rgba(251,250,247,.95) 0%,rgba(251,250,247,.86) 32%,rgba(251,250,247,.28) 55%,rgba(251,250,247,.04) 100%)}.cover-copy{left:6.8%;max-width:410px}.cover-title{font-size:clamp(42px,5vw,64px);line-height:1.05;letter-spacing:-.04em;font-weight:780}.cover-sub{font-size:16px;color:var(--muted)}.cover-text{font-size:14px;line-height:1.9}.cover-index{display:none}.btn{font-size:14px;height:48px;padding:0 28px}.home-intro{max-width:1320px;margin:0 auto;padding:46px 34px 34px;display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:80px;border-bottom:1px solid var(--line)}.home-intro h2{font-size:clamp(28px,3.6vw,46px);line-height:1.15;margin:8px 0 0;letter-spacing:-.035em}.home-intro p{margin:3px 0 0;color:var(--muted);font-size:16px;line-height:1.9;max-width:680px}.trust-strip.compact{margin:0 auto 48px;padding:38px 34px 0;max-width:1320px}.trust-strip.compact>div{min-height:110px}.ecosystem{max-width:1320px;margin:0 auto 58px;padding:0 34px}.section-line{border-top:1px solid var(--line);padding-top:22px;margin-bottom:18px}.section-line span{font-family:var(--font-en);font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.ecosystem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.ecosystem-grid a{background:var(--bg);padding:28px 24px;min-height:168px;text-decoration:none;color:var(--ink);display:grid;grid-template-rows:auto auto 1fr;align-content:start}.ecosystem-grid span{font-family:var(--font-en);font-size:12px;color:var(--muted)}.ecosystem-grid strong{display:block;margin-top:24px;font-size:19px;letter-spacing:-.02em}.ecosystem-grid em{font-style:normal;color:var(--muted);font-size:14px;line-height:1.65;margin-top:10px}.product-strip{display:none}.home-updates{max-width:1320px}.event-card{grid-template-columns:140px 1fr 280px}.event-card img{height:220px;object-fit:cover}.about-single{max-width:1320px;margin:0 auto;padding:64px 34px 96px;display:grid;grid-template-columns:minmax(380px,54%) 1fr;gap:70px;align-items:stretch}.about-image img{width:100%;height:100%;min-height:610px;object-fit:cover;filter:saturate(.88) contrast(.96) brightness(1.05)}.about-copy{padding:54px 0 24px;display:flex;flex-direction:column;justify-content:center}.about-copy h1{font-size:clamp(42px,5vw,76px);letter-spacing:-.05em;line-height:1;margin:18px 0}.about-copy .lead{font-size:20px;line-height:1.65;color:var(--ink);max-width:680px}.about-copy .article-body{max-width:720px;color:var(--muted);font-size:15px;line-height:1.9}.about-copy .article-body h2{margin-top:32px;color:var(--ink);font-size:22px}.mag-card img,.event-card img{filter:saturate(.9) contrast(.96) brightness(1.04)}
@media(max-width:900px){.header-inner{display:flex;height:auto;min-height:68px}.cover{padding:0 18px}.cover-frame{min-height:620px}.cover-copy{left:24px;right:24px;max-width:330px}.cover-title{font-size:42px}.home-intro{display:block;padding:36px 18px}.trust-strip.compact{grid-template-columns:1fr;padding:24px 18px}.ecosystem{padding:0 18px}.ecosystem-grid{grid-template-columns:1fr}.home-updates{grid-template-columns:1fr}.about-single{display:block;padding:34px 18px 72px}.about-image img{min-height:340px}.about-copy h1{font-size:42px}.event-card{grid-template-columns:1fr}.event-card img{width:100%}}

/* v4.7 Art-object refined: fewer modules, better hierarchy, no early title breaks */
:root{--bg:#fcfbf8;--bg-2:#f6f3ed;--paper:#eee8dd;--line:#ddd6cb;--ink:#1b1b19;--muted:#6c675f;--max:1340px;--side:clamp(24px,3.2vw,46px)}
body{background:var(--bg)}
.site-header{height:78px;background:rgba(252,251,248,.94);border-bottom:1px solid rgba(29,29,27,.08)}
.header-inner{height:78px;max-width:var(--max);padding:0 var(--side);grid-template-columns:250px 1fr 120px}.brand-main{font-size:13px;letter-spacing:.18em;font-weight:760}.brand-sub{font-size:10px;letter-spacing:.20em;color:#77716a}.nav{gap:34px}.nav a{font-size:13px;font-weight:500}.header-right{font-size:13px}
.cover{max-width:var(--max);padding:0 var(--side);margin:0 auto 42px}.cover-frame{height:min(610px,calc(100vh - 116px));min-height:500px;border-top:0;border-bottom:1px solid var(--line);background:#f8f6f1}.cover-frame.short{height:500px;min-height:420px}.cover-bg{background-position:center right;filter:saturate(.86) contrast(.96) brightness(1.04)}.cover-frame::after{background:linear-gradient(90deg,rgba(252,251,248,.99) 0%,rgba(252,251,248,.92) 30%,rgba(252,251,248,.58) 50%,rgba(252,251,248,.10) 72%,rgba(252,251,248,0) 100%)}.cover-frame::before{display:none}.cover-copy{width:min(520px,48%);padding:0;left:clamp(42px,6vw,86px);position:absolute;top:50%;height:auto;transform:translateY(-50%);display:block}.kicker{font-size:11px;letter-spacing:.22em;color:rgba(29,29,27,.58);line-height:1.45}.cover-title{font-size:clamp(38px,4.6vw,60px);line-height:1.08;letter-spacing:-.048em;font-weight:720;margin:26px 0 0;max-width:560px}.cover-title.en-title{font-size:clamp(46px,5.4vw,74px);line-height:1.02}.cover-sub{font-size:16px;color:var(--muted);margin-top:18px}.cover-text{font-size:15px;line-height:1.85;color:var(--muted);max-width:440px}.rule{margin:24px 0;width:54px}.btn{height:48px;min-width:170px;font-size:14px}.hero-notes{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}.hero-notes span{font-size:12px;color:var(--muted);border:1px solid rgba(29,29,27,.15);background:rgba(252,251,248,.62);padding:7px 10px}.statement{max-width:var(--max);margin:0 auto;padding:18px var(--side) 68px;display:grid;grid-template-columns:minmax(360px,560px) minmax(360px,1fr);gap:clamp(60px,8vw,140px);border-bottom:1px solid var(--line)}.statement h2{font-size:clamp(30px,3.7vw,50px);line-height:1.18;letter-spacing:-.04em;margin:10px 0 0;font-weight:660}.statement p{font-size:16px;line-height:1.92;color:var(--muted);margin:28px 0 0;max-width:660px}.trust-strip,.home-intro{display:none!important}.ecosystem{max-width:var(--max);padding:0 var(--side);margin:0 auto 66px}.ecosystem.refined{padding-top:54px}.section-line{border-top:1px solid var(--line);padding-top:22px}.ecosystem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:transparent;border-top:0}.ecosystem-grid a{background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 24px 30px;min-height:150px}.ecosystem-grid a:first-child{border-left:0}.ecosystem-grid a:last-child{border-right:0}.ecosystem-grid strong{margin-top:24px;font-size:19px;font-weight:640}.ecosystem-grid em{font-size:13px}.home-updates.refined{padding-bottom:88px}.home-note{grid-template-columns:110px 1fr auto}.home-note h2{font-size:24px;font-weight:620}.home-note p{max-width:520px}.product-strip{display:none!important}.section-head h2{font-size:clamp(34px,4.6vw,62px);line-height:1.12;letter-spacing:-.05em;max-width:760px}.section-head p{font-size:16px;line-height:1.9}.product-focus{padding-top:78px;padding-bottom:64px}.product-directory.three .directory-card .body{min-height:220px}.directory-card h2{font-size:clamp(24px,2.4vw,34px);line-height:1.2}.directory-card figure{background:#f2eee6}.directory-card img{filter:saturate(.86) contrast(.96) brightness(1.04)}.cover.short .cover-copy{width:min(620px,54%)}.cover.short .cover-title{font-size:clamp(34px,4.1vw,54px);line-height:1.1;max-width:620px}.cover.short .cover-text{max-width:480px}.about-editorial{max-width:1120px;margin:0 auto;padding:96px var(--side) 120px}.about-hero-text{border-bottom:1px solid var(--line);padding-bottom:44px;margin-bottom:54px}.about-hero-text h1{font-size:clamp(44px,6vw,82px);line-height:1.05;letter-spacing:-.06em;margin:20px 0 24px}.about-hero-text p{font-size:20px;color:var(--muted);line-height:1.65;max-width:760px}.about-body{max-width:820px;margin-left:auto}.about-body p{font-size:17px;line-height:2}.about-body h2{font-size:28px;margin-top:42px}.mag-grid{gap:18px}.mag-card{background:transparent;border-top:1px solid var(--line)}.mag-card img{border:0;filter:saturate(.86) contrast(.96) brightness(1.05)}.event-card img{filter:saturate(.86) contrast(.96) brightness(1.05)}
@media(max-width:920px){.site-header{height:auto}.header-inner{height:auto;min-height:70px;display:flex}.cover{padding:0}.cover-frame{min-height:640px;height:calc(100vh - 70px);border-top:1px solid var(--line)}.cover-frame::after{background:linear-gradient(180deg,rgba(252,251,248,.98) 0%,rgba(252,251,248,.92) 45%,rgba(252,251,248,.18) 100%)}.cover-copy{left:24px;right:24px;top:46px;transform:none;width:auto;max-width:520px}.cover-title{font-size:clamp(40px,11vw,54px)}.statement{display:block;padding:42px 24px 56px}.ecosystem{padding-left:24px;padding-right:24px}.ecosystem-grid{grid-template-columns:1fr}.ecosystem-grid a{border-right:0}.home-note{grid-template-columns:1fr}.cover.short .cover-copy{width:auto}.about-editorial{padding:70px 24px 94px}.about-body{margin-left:0}.hero-notes{display:none}}


/* v4.8 — homepage rebuilt to match editorial reference image */
:root{--v48-bg:#fbfaf7;--v48-soft:#f4f0e8;--v48-paper:#ece5da;--v48-ink:#171715;--v48-muted:#6f6a62;--v48-line:#ddd7cc;--v48-max:1368px;--v48-side:clamp(28px,4vw,56px);--font-cn:"Source Han Sans SC","Noto Sans SC","PingFang SC",sans-serif;--font-en:"Inter",Arial,Helvetica,sans-serif;}
body{background:var(--v48-bg);color:var(--v48-ink)}
.site-header{height:74px;background:rgba(251,250,247,.96);border-bottom:1px solid rgba(23,23,21,.10);backdrop-filter:blur(12px)}
.header-inner{height:74px;max-width:var(--v48-max);padding:0 var(--v48-side);grid-template-columns:260px 1fr 112px;align-items:center}.brand-main{font-family:var(--font-en);font-size:15px;letter-spacing:.16em;font-weight:800;line-height:1;text-transform:uppercase}.brand-sub{font-size:10px;letter-spacing:.24em;color:var(--v48-muted);margin-top:8px}.nav{gap:34px;align-items:center}.nav a{font-size:13px;font-weight:560;color:rgba(23,23,21,.86)}.nav a.active:after,.nav a:hover:after{bottom:-14px;height:1px}.header-right{font-family:var(--font-en);font-size:13px;gap:14px}.header-right .divider{height:18px;background:rgba(23,23,21,.22)}
.v48-home{background:var(--v48-bg)}
.v48-hero{max-width:var(--v48-max);margin:0 auto;position:relative;min-height:625px;height:calc(100vh - 104px);max-height:740px;border-bottom:1px solid var(--v48-line);overflow:hidden;background:#f9f8f5}.v48-hero-image{position:absolute;inset:0;background-size:cover;background-position:center right;filter:saturate(.9) contrast(.96) brightness(1.04)}.v48-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,250,247,.98) 0%,rgba(251,250,247,.94) 26%,rgba(251,250,247,.66) 45%,rgba(251,250,247,.10) 70%,rgba(251,250,247,0) 100%)}.v48-hero-copy{position:absolute;z-index:2;left:var(--v48-side);top:50%;transform:translateY(-50%);width:min(360px,36vw)}.v48-hero .kicker{font-family:var(--font-en);font-size:11px;line-height:1.42;letter-spacing:.24em;font-weight:800;text-transform:uppercase;color:rgba(23,23,21,.63);margin:0 0 26px}.v48-hero h1{font-size:clamp(40px,4.7vw,62px);line-height:1.06;letter-spacing:-.055em;margin:0 0 20px;font-weight:520}.v48-hero .lead{font-size:15px;line-height:1.9;color:var(--v48-muted);margin:0 0 30px;max-width:300px}.v48-actions{display:flex;flex-direction:column;gap:12px;max-width:190px}.v48-btn{height:46px;padding:0 22px;border:1px solid rgba(23,23,21,.34);display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:650;background:rgba(251,250,247,.72)}.v48-btn.dark{background:var(--v48-ink);color:var(--v48-bg);border-color:var(--v48-ink)}.v48-btn span{font-family:var(--font-en);font-size:18px}
.v48-trust{max-width:var(--v48-max);margin:0 auto;padding:32px var(--v48-side);display:grid;grid-template-columns:repeat(3,1fr);gap:42px;background:linear-gradient(180deg,#f3efe7,#f7f4ee);border-bottom:1px solid var(--v48-line)}.v48-trust>div{display:grid;grid-template-columns:54px 1fr;column-gap:18px;align-items:center}.v48-icon{grid-row:1/3;width:44px;height:44px;border:1px solid rgba(23,23,21,.52);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:23px;color:var(--v48-ink);line-height:1}.v48-trust strong{font-size:15px;font-weight:680;letter-spacing:-.015em}.v48-trust p{margin:4px 0 0;color:var(--v48-muted);font-size:13px;line-height:1.55}
.v48-products{max-width:var(--v48-max);margin:0 auto;padding:74px var(--v48-side) 70px;display:grid;grid-template-columns:260px 1fr;gap:76px}.v48-section-copy .meta,.v48-panel .meta,.v48-about .meta{font-family:var(--font-en);font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--v48-muted)}.v48-section-copy h2{font-size:29px;line-height:1.2;letter-spacing:-.035em;margin:18px 0 12px;font-weight:540}.v48-section-copy p{font-size:14px;line-height:1.86;color:var(--v48-muted);margin:0}.v48-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v48-product-grid a{display:block;background:#f6f2eb;min-width:0}.v48-product-grid img{width:100%;aspect-ratio:1.02;object-fit:cover;filter:saturate(.9) contrast(.96) brightness(1.03)}.v48-product-grid strong{display:block;padding:16px 16px 0;font-size:16px;line-height:1.35;font-weight:660}.v48-product-grid p{padding:6px 16px 0;margin:0;color:var(--v48-muted);font-size:12.5px;line-height:1.55;min-height:47px}.v48-product-grid span{display:block;padding:4px 16px 16px;font-family:var(--font-en);font-size:18px}
.v48-panels{max-width:var(--v48-max);margin:0 auto 62px;padding:0 var(--v48-side);display:grid;grid-template-columns:1fr 1fr 1fr 1fr}.v48-panel{min-height:260px;background:#f5f1ea;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--v48-line);border-bottom:1px solid var(--v48-line)}.v48-panel.text{padding:42px 38px}.v48-panel h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:14px 0 14px;font-weight:540}.v48-panel p{font-size:13.5px;line-height:1.82;color:var(--v48-muted);margin:0 0 26px}.v48-panel strong{font-size:13px;font-weight:700}.v48-panel.image{overflow:hidden}.v48-panel.image img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.95) brightness(1.04)}
.v48-about{max-width:var(--v48-max);margin:0 auto;background-size:cover;background-position:center right;min-height:245px;display:flex;align-items:center;border-top:1px solid var(--v48-line);border-bottom:1px solid var(--v48-line);position:relative;overflow:hidden}.v48-about:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,250,247,.96) 0%,rgba(251,250,247,.82) 45%,rgba(251,250,247,.10) 100%)}.v48-about>div{position:relative;z-index:2;width:min(470px,48%);margin-left:var(--v48-side)}.v48-about h2{font-size:25px;line-height:1.2;letter-spacing:-.03em;margin:14px 0}.v48-about p{font-size:13.5px;line-height:1.82;color:var(--v48-muted);margin:0 0 18px}.v48-about a{font-weight:700;font-size:13px}.footer{max-width:var(--v48-max);margin:0 auto;padding-left:var(--v48-side);padding-right:var(--v48-side);background:var(--v48-bg)}
@media(max-width:980px){.site-header{height:auto}.header-inner{display:flex;min-height:70px}.v48-hero{height:auto;min-height:720px;margin:0}.v48-hero:after{background:linear-gradient(180deg,rgba(251,250,247,.98) 0%,rgba(251,250,247,.92) 40%,rgba(251,250,247,.12) 100%)}.v48-hero-image{background-position:center bottom}.v48-hero-copy{left:24px;right:24px;top:40px;transform:none;width:auto;max-width:410px}.v48-hero h1{font-size:44px}.v48-trust{grid-template-columns:1fr;gap:20px;padding:28px 24px}.v48-products{display:block;padding:54px 24px}.v48-section-copy{margin-bottom:28px}.v48-product-grid{grid-template-columns:repeat(2,1fr)}.v48-panels{grid-template-columns:1fr;padding:0 24px}.v48-about{margin:0 24px}.v48-about>div{width:auto;max-width:390px;margin:40px 24px}.footer{padding-left:24px;padding-right:24px}}
@media(max-width:560px){.v48-hero{min-height:680px}.v48-product-grid{grid-template-columns:1fr}.v48-actions{max-width:210px}.v48-btn{height:48px}.v48-trust>div{grid-template-columns:42px 1fr}.v48-icon{width:36px;height:36px;font-size:19px}.v48-panel.text{padding:32px 24px}.v48-about{min-height:320px}}

/* v5.0 refinement: unified homepage width, product copy, balanced About layout */
:root{--v50-max:1280px;--v50-side:clamp(24px,3.25vw,48px)}
.v48-hero,.v48-trust,.v48-products,.v48-panels,.v48-about,.footer{max-width:var(--v50-max)}
.v48-hero{margin-left:auto;margin-right:auto}
.v48-trust,.v48-products,.v48-panels{padding-left:var(--v50-side);padding-right:var(--v50-side)}
.v48-products{grid-template-columns:minmax(250px,300px) 1fr;gap:clamp(48px,6vw,86px)}
.v48-section-copy h2{font-size:clamp(25px,2.8vw,36px);line-height:1.22;max-width:320px}
.v48-section-copy p{max-width:330px}
.v48-product-grid strong{font-size:15.5px}
.v48-product-grid p{min-height:58px;font-size:12.5px;line-height:1.62}
.v48-about{max-width:var(--v50-max)}
.about-editorial.balanced{max-width:1120px;margin:0 auto;padding:clamp(72px,8vw,110px) var(--v50-side) clamp(96px,10vw,138px)}
.about-editorial.balanced .about-hero-text{border-bottom:1px solid var(--line);padding-bottom:clamp(36px,4vw,54px);margin-bottom:0}
.about-editorial.balanced .about-hero-text h1{font-size:clamp(48px,6vw,88px);line-height:1.05;letter-spacing:-.06em;margin:20px 0 24px}
.about-editorial.balanced .about-hero-text p{font-size:clamp(18px,1.8vw,22px);color:var(--muted);line-height:1.65;max-width:760px}
.about-rows{display:grid;gap:0}
.about-row{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(56px,7vw,96px);border-bottom:1px solid var(--line);padding:clamp(42px,5vw,58px) 0}
.about-row h2{margin:0;font-size:clamp(20px,2vw,28px);line-height:1.35;letter-spacing:-.03em;font-weight:700}
.about-row .article-body{max-width:760px;margin:0}
.about-row .article-body p{font-size:16px;line-height:2;color:var(--muted);margin:0 0 20px}
.about-row .article-body p:last-child{margin-bottom:0}
.about-row .article-body h2{display:none}
@media(max-width:980px){
  .v48-hero,.v48-trust,.v48-products,.v48-panels,.v48-about,.footer{max-width:100%}
  .v48-trust,.v48-products,.v48-panels{padding-left:24px;padding-right:24px}
  .v48-products{display:block}
  .v48-section-copy h2,.v48-section-copy p{max-width:520px}
  .about-row{grid-template-columns:1fr;gap:22px;padding:38px 0}
}
@media(max-width:560px){
  .about-editorial.balanced .about-hero-text h1{font-size:42px}
  .about-row .article-body p{font-size:15px;line-height:1.9}
}


/* v5.1 — simple product-specific Guide sections */
.guide-card{transition:background .2s ease, transform .2s ease, border-color .2s ease;}
.guide-card:hover{background:#fbfaf7;transform:translateY(-2px);border-color:rgba(31,31,29,.28)}
.product-care-section{scroll-margin-top:96px;}
.care-simple-grid{display:grid;grid-template-columns:minmax(320px,42%) 1fr;gap:clamp(28px,5vw,76px);align-items:stretch;border-top:1px solid var(--line);padding-top:34px;}
.care-simple-grid.reverse{grid-template-columns:1fr minmax(320px,42%)}
.care-simple-grid.reverse .care-photo{order:2}
.care-photo{min-height:360px;background-size:cover;background-position:center;background-color:var(--paper);filter:saturate(.88) contrast(.96) brightness(1.04)}
.care-copy{align-self:center;max-width:720px;color:var(--muted);font-size:15px;line-height:1.9}
.care-copy h3{color:var(--ink);font-size:20px;letter-spacing:-.025em;margin:0 0 8px;font-weight:650}
.care-copy p{margin:0 0 24px}.care-copy p:last-child{margin-bottom:0}
@media(max-width:760px){.care-simple-grid,.care-simple-grid.reverse{grid-template-columns:1fr}.care-simple-grid.reverse .care-photo{order:0}.care-photo{min-height:260px}.product-care-section{scroll-margin-top:76px}}

/* v5.2 — clickable market cards and event detail page */
.event-card-link{color:var(--ink);text-decoration:none;transition:background .2s ease, transform .2s ease, border-color .2s ease;}
.event-card-link:hover{background:rgba(246,243,237,.58);transform:translateY(-1px);}
.event-card-link:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;}
.event-card-link .mini-link{display:inline-block;margin-top:18px;color:var(--ink);}
.event-detail .event-note{margin-top:36px;padding:24px 28px;border:1px solid var(--line);background:var(--bg-2);}
.event-detail .event-note strong{display:block;font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;}
.event-detail .event-note p{margin:0;color:var(--muted);line-height:1.8;}
@media(max-width:760px){.event-card-link{display:grid}.event-card-link:hover{transform:none}.event-detail .event-note{padding:20px}}


/* v5.3 — product detail pages and clickable product cards */
.directory-card-link{display:block;color:inherit;text-decoration:none;}
.directory-card-link .directory-card{height:100%;transition:transform .25s ease,border-color .25s ease,background .25s ease;}
.directory-card-link:hover .directory-card{transform:translateY(-3px);border-color:rgba(31,31,29,.28);background:#fbfaf6;}
.directory-card-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px;}
.directory-card .detail-link{margin-top:22px;font-size:14px;font-weight:650;color:var(--ink);}
.directory-card .detail-link::after{content:" →";}
.product-detail{max-width:var(--max);margin:0 auto;padding:72px var(--side) 116px;}
.product-detail-top{display:grid;grid-template-columns:minmax(320px,520px) 1fr;gap:clamp(48px,7vw,120px);align-items:start;border-top:1px solid var(--line);padding-top:58px;}
.product-detail .kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(29,29,27,.58);}
.product-detail h1{font-size:clamp(42px,5.2vw,76px);line-height:1.05;letter-spacing:-.055em;margin:22px 0 20px;font-weight:720;}
.product-detail .lede{font-size:18px;line-height:1.82;color:var(--muted);max-width:680px;}
.product-detail-visual{margin:0;background:#f4f1ea;border:1px solid var(--line);overflow:hidden;}
.product-detail-visual img{width:100%;height:100%;min-height:460px;object-fit:cover;filter:saturate(.88) contrast(.96) brightness(1.04);display:block;}
.product-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:64px;}
.detail-panel{background:var(--bg);padding:34px 34px 38px;min-height:230px;}
.detail-panel .small{display:block;margin-bottom:22px;}
.detail-panel h2{font-size:24px;line-height:1.25;letter-spacing:-.03em;margin:0 0 18px;}
.detail-panel p,.detail-panel li{font-size:15px;line-height:1.85;color:var(--muted);}
.detail-panel ul{margin:0;padding-left:1.1em;}
.product-detail-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:42px;}
.product-note{margin-top:42px;border-top:1px solid var(--line);padding-top:28px;color:var(--muted);font-size:14px;line-height:1.8;max-width:850px;}
@media(max-width:900px){.product-detail-top{grid-template-columns:1fr}.product-detail-visual img{min-height:320px}.product-detail-grid{grid-template-columns:1fr}.detail-panel{min-height:auto}.product-detail{padding-top:48px}}


/* v5.6 — brand copy sync + Matte Provence Table accents */
.kicker,.small,.meta{color:var(--provence-blue);}
.v48-product-grid.three{grid-template-columns:repeat(3,1fr);}
.product-directory.three{grid-template-columns:repeat(3,1fr);}
.guide-directory.three{grid-template-columns:repeat(3,1fr);}
.detail-link,.mini-link,.text-link{color:var(--ink);}
.detail-link::after{content:" →";font-family:var(--font-en);}
@media(max-width:980px){.v48-product-grid.three,.product-directory.three,.guide-directory.three{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.v48-product-grid.three,.product-directory.three,.guide-directory.three{grid-template-columns:1fr;}}

/* v5.7 typography and image refinement */
.v48-hero{
  height:min(640px, calc(100vh - var(--header-h) - 8px));
  min-height:560px;
}
.v48-hero h1{
  font-size:clamp(34px,3.55vw,50px);
  line-height:1.13;
  letter-spacing:-.045em;
  font-weight:620;
  max-width:420px;
}
.v48-hero-copy{
  width:min(395px,34vw);
}
.v48-hero .lead{
  max-width:350px;
  font-size:14.5px;
  line-height:1.86;
}
.v48-hero .kicker{
  margin-bottom:22px;
  letter-spacing:.21em;
}
.v48-product-grid.three{
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.v48-products{
  grid-template-columns:300px 1fr;
  gap:68px;
}
.v48-product-grid img{
  filter:saturate(.88) contrast(.96) brightness(1.045);
}
.cover-title{
  font-size:clamp(34px,3.65vw,50px);
}
.product-detail h1{
  font-size:clamp(38px,4.3vw,62px);
}
@media(max-width:980px){
  .v48-hero{min-height:640px;height:auto;}
  .v48-hero h1{font-size:40px;max-width:360px;}
  .v48-hero-copy{width:auto;max-width:390px;}
  .v48-product-grid.three{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .v48-hero{min-height:620px;}
  .v48-hero h1{font-size:34px;line-height:1.16;}
}

/* v5.8 — Matte Provence Motion: quiet editorial micro-interactions */
:root{
  --motion-duration: 760ms;
  --motion-ease: cubic-bezier(.22,.61,.36,1);
  --motion-blue: var(--provence-blue);
  --motion-lemon: var(--soft-lemon);
}

/* Scroll state: a quieter, denser header after movement */
.site-header{
  transition: height 260ms ease, background-color 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}
.site-header.is-scrolled{
  height: 68px;
  background: rgba(252,251,248,.82);
  border-bottom-color: rgba(31,31,29,.13);
  box-shadow: 0 10px 28px rgba(31,31,29,.035);
}
.site-header.is-scrolled .brand-sub{
  opacity:.58;
}

/* A very fine reading progress line for long-form articles */
.read-progress{
  position: fixed;
  left: 0;
  top: 0;
  height: 2px;
  width: 0;
  z-index: 999;
  background: linear-gradient(90deg, var(--motion-blue), var(--motion-lemon));
  transform-origin: left center;
  pointer-events:none;
}

/* Page entrance */
body.motion-enabled main{
  animation: pageLift 820ms var(--motion-ease) both;
}
@keyframes pageLift{
  from{opacity:0; transform: translateY(10px)}
  to{opacity:1; transform: translateY(0)}
}

/* Hero image: barely-there editorial breathing */
.v48-hero-image,
.cover-bg{
  transform: scale(1.012);
  transform-origin:center;
  animation: heroBreath 12s ease-out both;
  will-change: transform;
}
@keyframes heroBreath{
  from{transform: scale(1.026)}
  to{transform: scale(1.006)}
}

/* Hero copy staged entrance */
.v48-hero .kicker,
.v48-hero h1,
.v48-hero .lead,
.v48-hero .v48-actions,
.cover-copy .kicker,
.cover-title,
.cover-sub,
.cover-text,
.cover-copy .rule,
.cover-copy .btn-row{
  animation: textRise 780ms var(--motion-ease) both;
}
.v48-hero h1,.cover-title{animation-delay:80ms}
.v48-hero .lead,.cover-sub,.cover-text,.cover-copy .rule{animation-delay:180ms}
.v48-hero .v48-actions,.cover-copy .btn-row{animation-delay:300ms}
@keyframes textRise{
  from{opacity:0; transform: translateY(12px)}
  to{opacity:1; transform: translateY(0)}
}

/* Scroll reveal for editorial sections */
.reveal-on-scroll{
  opacity:0;
  transform: translateY(18px);
  transition: opacity var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);
  will-change: opacity, transform;
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform: translateY(0);
}
.reveal-on-scroll.line-reveal{
  position:relative;
}
.reveal-on-scroll.line-reveal::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:0;
  height:1px;
  background:rgba(31,31,29,.18);
  transition:width 850ms var(--motion-ease);
}
.reveal-on-scroll.line-reveal.is-visible::before{width:100%}

/* Image reveal: like natural light settling on paper */
img.motion-image,
figure.motion-image,
.v48-panel.image.motion-image,
.product-card figure.motion-image,
.directory-card figure.motion-image,
.product-detail-visual.motion-image{
  opacity:0;
  filter: blur(9px) saturate(.9) contrast(.96) brightness(1.04);
  transition: opacity 860ms var(--motion-ease), filter 1100ms var(--motion-ease), transform 700ms var(--motion-ease);
}
img.motion-image.is-visible,
figure.motion-image.is-visible,
.v48-panel.image.motion-image.is-visible,
.product-card figure.motion-image.is-visible,
.directory-card figure.motion-image.is-visible,
.product-detail-visual.motion-image.is-visible{
  opacity:1;
  filter: blur(0) saturate(.94) contrast(.98) brightness(1.02);
}

/* Product and content cards: subtle cloth-light hover */
.v48-product-grid a,
.product-card,
.directory-card-link .directory-card,
.guide-card,
.event-card-link,
.journal-item,
.v48-panel,
.home-note{
  transition: transform 300ms var(--motion-ease), border-color 300ms ease, background-color 300ms ease, box-shadow 300ms ease;
}
.v48-product-grid a:hover,
.product-card:hover,
.directory-card-link:hover .directory-card,
.guide-card:hover,
.event-card-link:hover,
.v48-panel:hover,
.home-note:hover{
  transform: translateY(-4px);
  border-color: rgba(31,31,29,.22);
}
.v48-product-grid a img,
.v48-panel.image img,
.product-card img,
.directory-card img,
.product-detail-visual img,
.article-shell .hero{
  transition: transform 900ms var(--motion-ease), filter 500ms ease;
}
.v48-product-grid a:hover img,
.v48-panel.image:hover img,
.product-card:hover img,
.directory-card-link:hover img,
.product-detail-visual:hover img,
.article-shell .hero:hover{
  transform: scale(1.025);
  filter: saturate(.92) contrast(.98) brightness(1.055);
}

/* Buttons and text links: quiet directional cue */
.btn,
.v48-btn,
.text-link,
.mini-link,
.detail-link,
.v48-panel a,
.article-back a{
  transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease, transform 240ms var(--motion-ease);
}
.btn .arrow,
.v48-btn span,
.text-link::after,
.mini-link::after,
.detail-link::after,
.v48-panel a::after{
  transition: transform 260ms var(--motion-ease), color 260ms ease;
}
.btn:hover .arrow,
.v48-btn:hover span,
.text-link:hover::after,
.mini-link:hover::after,
.detail-link:hover::after,
.v48-panel a:hover::after{
  transform: translateX(6px);
}
.nav a:hover,
.header-right a:hover,
.mini-link:hover,
.text-link:hover,
.detail-link:hover{
  color: var(--motion-blue);
}

/* Candle pages: a small warm presence, not a fire animation */
body:has(.product-detail) .product-detail[data-product="candle"]::before,
.product-detail.candle-detail::before{
  content:"";
  position:fixed;
  right:8vw;
  top:28vh;
  width:280px;
  height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(230,200,92,.16), rgba(230,200,92,0) 68%);
  pointer-events:none;
  animation:candleGlow 6.5s ease-in-out infinite;
  z-index:-1;
}
@keyframes candleGlow{
  0%,100%{opacity:.42; transform:scale(.98)}
  50%{opacity:.72; transform:scale(1.04)}
}

/* Article reading refinement */
.article-shell .article-body h2{
  scroll-margin-top: calc(var(--header-h) + 22px);
}
.article-shell blockquote{
  transition:border-color 260ms ease, background-color 260ms ease;
}
.article-shell blockquote:hover{
  border-color: var(--motion-blue);
  background: rgba(79,111,134,.035);
}

/* Reduced motion: respect user and device preferences */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:1ms !important;
    animation-iteration-count:1 !important;
    transition-duration:1ms !important;
    scroll-behavior:auto !important;
  }
  .reveal-on-scroll,
  img.motion-image,
  figure.motion-image,
  .v48-panel.image.motion-image,
  .product-card figure.motion-image,
  .directory-card figure.motion-image,
  .product-detail-visual.motion-image{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* v5.10 — Hero image size alignment + editorial typography scale
   Keep title/body hierarchy close and calm. */
:root{
  --type-page-title: clamp(34px, 3.85vw, 52px);
  --type-article-title: clamp(28px, 3.05vw, 42px);
  --type-section-title: clamp(28px, 3.15vw, 42px);
  --type-body: 16px;
}

/* Hero and major page titles */
.v48-hero h1,
.cover-title{
  font-size: var(--type-page-title);
  line-height: 1.12;
  letter-spacing: -.042em;
  font-weight: 620;
}
.v48-hero .lead,
.cover-text,
.cover-sub{
  font-size: 15px;
  line-height: 1.85;
}
.section-head h2,
.statement h2{
  font-size: var(--type-section-title);
  line-height: 1.18;
  letter-spacing: -.038em;
  font-weight: 620;
}
.product-detail h1{
  font-size: clamp(34px, 3.75vw, 52px);
  line-height: 1.12;
  letter-spacing: -.042em;
  font-weight: 650;
}
.product-detail .lede{
  font-size: 16px;
  line-height: 1.85;
}

/* Article pages: reduce title dominance and keep magazine rhythm. */
.article-shell{
  max-width: 860px;
}
.article-shell h1{
  font-size: var(--type-article-title);
  line-height: 1.18;
  letter-spacing: -.035em;
  font-weight: 650;
  margin: 14px 0 28px;
  max-width: 760px;
}
.article-body{
  font-size: var(--type-body);
  line-height: 1.92;
  color:#3e3b35;
}
.article-body h2{
  font-size: clamp(21px, 1.9vw, 26px);
  line-height: 1.35;
  letter-spacing: -.028em;
  margin: 38px 0 12px;
}
.article-body p{
  margin: 0 0 18px;
}
.article-shell .meta{
  font-size: 11px;
  letter-spacing: .18em;
}

/* About page: avoid headline/body imbalance. */
.about-editorial.balanced .about-hero-text h1,
.about-hero-text h1{
  font-size: clamp(40px, 5.1vw, 68px);
  line-height: 1.08;
  letter-spacing: -.052em;
}
.about-hero-text p{
  font-size: clamp(17px, 1.55vw, 20px);
}
.about-row .article-body p{
  font-size: 16px;
  line-height: 1.95;
}

@media(max-width: 680px){
  .v48-hero h1,
  .cover-title{
    font-size: clamp(32px, 9.5vw, 42px);
    line-height: 1.15;
  }
  .article-shell{
    padding-top: 56px;
  }
  .article-shell h1{
    font-size: 28px;
    line-height: 1.24;
  }
  .article-body{
    font-size: 15.5px;
    line-height: 1.9;
  }
  .product-detail h1{
    font-size: 32px;
    line-height: 1.18;
  }
}


/* v5.11 — image layout adaptation + refined typography hierarchy
   - All major Hero images are true horizontal crops, no blurred sidebars.
   - Heading levels are brought closer to body text for a calmer editorial rhythm. */
:root{
  --type-page-title: clamp(30px, 3.25vw, 46px);
  --type-article-title: clamp(25px, 2.45vw, 34px);
  --type-section-title: clamp(26px, 2.8vw, 38px);
}
.v48-hero h1,
.cover-title{
  font-size: var(--type-page-title) !important;
  line-height: 1.13 !important;
  letter-spacing: -.038em !important;
  font-weight: 640 !important;
  max-width: 520px;
}
.v48-hero-copy{width:min(390px,34vw)}
.v48-hero .lead{max-width:360px;font-size:15px;line-height:1.86;color:rgba(31,31,29,.72)}
.cover-copy{width:min(470px,42%)}
.cover-text{max-width:430px;font-size:15px;line-height:1.86;color:rgba(31,31,29,.72)}
.cover-sub{font-size:15px;color:rgba(31,31,29,.64)}
.cover-bg,.v48-hero-image{background-size:cover;background-position:center right;filter:saturate(.88) contrast(.965) brightness(1.04)}
.cover-frame,.v48-hero{background:#faf9f5;overflow:hidden}
.cover-frame::after{background:linear-gradient(90deg,rgba(252,251,248,.99) 0%,rgba(252,251,248,.94) 28%,rgba(252,251,248,.68) 48%,rgba(252,251,248,.18) 70%,rgba(252,251,248,0) 100%)}
.v48-hero:after{background:linear-gradient(90deg,rgba(252,251,248,.99) 0%,rgba(252,251,248,.94) 28%,rgba(252,251,248,.68) 48%,rgba(252,251,248,.18) 70%,rgba(252,251,248,0) 100%)}
.article-shell{max-width:820px}.article-shell .hero{width:100%;max-height:520px;object-fit:cover}.article-shell h1{font-size:var(--type-article-title)!important;line-height:1.24!important;letter-spacing:-.032em!important;font-weight:620!important;max-width:720px;margin:14px 0 24px!important}.article-shell .lead{font-size:17px;line-height:1.72;color:rgba(31,31,29,.72)}.article-body{font-size:16px;line-height:1.92}.article-body h2{font-size:clamp(20px,1.75vw,25px)!important;line-height:1.34;letter-spacing:-.024em}.mag-card h2{font-size:clamp(19px,1.55vw,24px);line-height:1.32;font-weight:610}.product-detail h1{font-size:clamp(32px,3.35vw,46px)!important;line-height:1.14!important;font-weight:640!important}.section-head h2,.statement h2{font-size:var(--type-section-title)!important}.about-editorial.balanced .about-hero-text h1,.about-hero-text h1{font-size:clamp(38px,4.7vw,62px)!important;line-height:1.1!important}
@media(max-width: 900px){.v48-hero h1,.cover-title{font-size:clamp(30px,8.2vw,40px)!important;line-height:1.16!important}.v48-hero-copy,.cover-copy{width:auto;max-width:380px}.cover-frame::after,.v48-hero:after{background:linear-gradient(180deg,rgba(252,251,248,.98) 0%,rgba(252,251,248,.92) 34%,rgba(252,251,248,.38) 68%,rgba(252,251,248,.08) 100%)}.cover-bg,.v48-hero-image{background-position:center center}.article-shell h1{font-size:28px!important;line-height:1.26!important}.article-shell .lead{font-size:16px}.product-detail h1{font-size:30px!important}}


/* v5.12 — image clarity and content-match refinements
   Goal: matte but crisp; clear subject, varied article imagery, less empty About page. */
.cover-bg,
.v48-hero-image{
  filter: saturate(.94) contrast(1.035) brightness(1.015) !important;
  image-rendering:auto;
}
.motion-image,
.motion-image.is-visible{
  opacity:1 !important;
  filter: saturate(.94) contrast(1.035) brightness(1.015) !important;
  transform:none !important;
}
.mag-card img,
.event-card img,
.article-shell .hero,
.product-detail-visual img,
.product-card img,
.directory-card img,
.care-photo{
  filter: saturate(.95) contrast(1.025) brightness(1.015) !important;
}
.article-shell h1{
  font-size:clamp(30px,3.4vw,48px)!important;
  line-height:1.22!important;
  letter-spacing:-.03em!important;
  max-width:760px!important;
}
.article-shell .lead{font-size:16px!important;line-height:1.74!important;}
.article-body{font-size:16px!important;line-height:1.9!important;}
.mag-grid .mag-card:nth-child(3n+1) img{object-position:center 46%;}
.mag-grid .mag-card:nth-child(3n+2) img{object-position:center 54%;}
.mag-grid .mag-card:nth-child(3n+3) img{object-position:center 50%;}
.about-v512{max-width:1180px!important;padding-top:72px!important;}
.about-v512 .about-hero-grid{display:grid;grid-template-columns:minmax(340px,0.95fr) minmax(360px,1.05fr);gap:clamp(42px,6vw,86px);align-items:end;border-bottom:1px solid var(--line);padding-bottom:clamp(38px,5vw,62px);}
.about-v512 .about-hero-text{border-bottom:0!important;padding-bottom:0!important;}
.about-v512 .about-hero-text h1,.about-editorial.balanced .about-hero-text h1,.about-hero-text h1{font-size:clamp(36px,4vw,58px)!important;line-height:1.12!important;letter-spacing:-.045em!important;margin:18px 0 18px!important;}
.about-v512 .about-hero-text p{font-size:clamp(17px,1.55vw,20px)!important;line-height:1.72!important;max-width:620px!important;}
.about-v512 .about-hero-visual{margin:0;overflow:hidden;background:var(--paper);border:1px solid rgba(31,31,29,.08);}
.about-v512 .about-hero-visual img{width:100%;aspect-ratio:1.35;object-fit:cover;display:block;filter:saturate(.94) contrast(1.03) brightness(1.02)!important;}
.about-v512 .about-rows{margin-top:0!important;}
.about-v512 .about-row{grid-template-columns:210px 1fr!important;gap:clamp(36px,6vw,78px)!important;padding:42px 0!important;}
.about-v512 .about-row h2{font-size:22px!important;line-height:1.38!important;}
.about-v512 .about-row .article-body{max-width:760px!important;}
@media(max-width:900px){.about-v512 .about-hero-grid{grid-template-columns:1fr;gap:28px}.about-v512 .about-hero-visual img{aspect-ratio:1.55}.about-v512 .about-row{grid-template-columns:1fr!important;gap:18px!important}}


/* v5.13 — Visual polish: clearer hero imagery, calmer type hierarchy, refined About page */
:root{
  --type-page-title: clamp(30px, 3.05vw, 44px);
  --type-article-title: clamp(26px, 2.35vw, 34px);
  --type-section-title: clamp(24px, 2.45vw, 34px);
}
/* Reduce over-soft image treatment. Matte, but not blurry. */
.cover-bg,
.v48-hero-image,
.feature-row .image,
.care-photo,
.product-detail-visual img,
.article-shell .hero,
.mag-card img,
.v48-panel img,
.v48-product-grid img,
.product-card img,
.directory-card img,
.about-v512 .about-hero-visual img{
  filter: none !important;
}
.v48-hero-image,
.cover-bg{
  background-size: cover;
  background-position: center right;
}
/* Keep left readability, but avoid washing the whole photograph. */
.v48-hero:after,
.cover-frame::after{
  background: linear-gradient(90deg,
    rgba(252,251,248,.99) 0%,
    rgba(252,251,248,.95) 24%,
    rgba(252,251,248,.76) 43%,
    rgba(252,251,248,.24) 64%,
    rgba(252,251,248,0) 100%) !important;
}
.cover-frame::before{ background: none !important; }
.v48-hero h1,
.cover-title{
  font-size: var(--type-page-title) !important;
  line-height: 1.14 !important;
  letter-spacing: -.04em !important;
  font-weight: 660 !important;
  max-width: 520px;
}
.v48-hero-copy,
.cover-copy{
  width: min(410px, 35vw) !important;
}
.v48-hero .lead,
.cover-text{
  max-width: 390px !important;
  font-size: 14.5px !important;
  line-height: 1.82 !important;
  color: rgba(31,31,29,.72) !important;
}
.cover-sub{ font-size: 14.5px !important; }
.article-shell{
  max-width: 800px !important;
  padding-top: 54px !important;
}
.article-shell .hero{
  width: 100% !important;
  max-height: 460px !important;
  object-fit: cover !important;
  margin-bottom: 34px !important;
}
.article-shell h1{
  font-size: var(--type-article-title) !important;
  line-height: 1.28 !important;
  letter-spacing: -.026em !important;
  font-weight: 620 !important;
  max-width: 700px !important;
  margin: 12px 0 20px !important;
}
.article-shell .lead{
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: rgba(31,31,29,.72) !important;
}
.article-body{
  font-size: 15.8px !important;
  line-height: 1.9 !important;
}
.article-body h2{
  font-size: clamp(20px,1.65vw,24px) !important;
  line-height: 1.36 !important;
  margin-top: 36px !important;
}
.mag-card h2{
  font-size: clamp(18px,1.48vw,22px) !important;
  line-height: 1.34 !important;
  font-weight: 610 !important;
}
.product-detail h1{
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.16 !important;
  font-weight: 640 !important;
}
/* About: more editorial, less empty document-like spacing */
.about-editorial.balanced.about-v512{
  padding: clamp(48px,5vw,72px) var(--side) 92px !important;
}
.about-v512 .about-hero-grid{
  display:grid !important;
  grid-template-columns: minmax(360px,.92fr) minmax(440px,1.08fr) !important;
  gap: clamp(36px,5vw,72px) !important;
  align-items: center !important;
  padding-bottom: clamp(36px,4vw,52px) !important;
  border-bottom: 1px solid var(--line) !important;
}
.about-v512 .about-hero-text h1,
.about-editorial.balanced .about-hero-text h1,
.about-hero-text h1{
  font-size: clamp(34px, 3.6vw, 50px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
  margin: 14px 0 16px !important;
}
.about-v512 .about-hero-text p{
  font-size: clamp(16px,1.35vw,18px) !important;
  line-height: 1.72 !important;
  max-width: 580px !important;
}
.about-v512 .about-hero-visual img{
  aspect-ratio: 1.55 !important;
  object-fit: cover !important;
}
.about-row{
  grid-template-columns: 180px minmax(0,1fr) !important;
  gap: clamp(38px,5vw,76px) !important;
  padding: 34px 0 !important;
}
.about-v512 .about-row h2,
.about-row h2{
  font-size: clamp(19px,1.6vw,23px) !important;
  line-height:1.36 !important;
}
.about-row .article-body p,
.about-v512 .about-row .article-body p{
  font-size: 15.6px !important;
  line-height: 1.92 !important;
  margin-bottom: 16px !important;
}
@media(max-width:900px){
  .v48-hero h1,.cover-title{font-size:clamp(30px,8vw,39px)!important;line-height:1.16!important;}
  .v48-hero-copy,.cover-copy{width:auto!important;max-width:390px!important;}
  .cover-bg,.v48-hero-image{background-position:center center!important;}
  .v48-hero:after,.cover-frame::after{background:linear-gradient(180deg,rgba(252,251,248,.98) 0%,rgba(252,251,248,.92) 36%,rgba(252,251,248,.36) 70%,rgba(252,251,248,.08) 100%)!important;}
  .about-v512 .about-hero-grid{grid-template-columns:1fr!important;gap:24px!important;}
  .about-row{grid-template-columns:1fr!important;gap:16px!important;}
  .article-shell h1{font-size:28px!important;}
}


/* v5.15 — homepage contact / booking / order entry cards */
.home-contact{max-width:var(--v50-max);margin:0 auto;padding:clamp(56px,6vw,86px) var(--v50-side) clamp(72px,7vw,104px);border-top:1px solid var(--line);}
.home-contact-head{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start;margin-bottom:30px;}
.home-contact-head h2{margin:8px 0 0;font-size:clamp(26px,2.7vw,38px);line-height:1.22;letter-spacing:-.04em;font-weight:640;}
.home-contact-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.9;max-width:720px;}
.home-contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.home-contact-card{display:flex;min-height:230px;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:rgba(247,245,239,.72);padding:26px 24px 24px;transition:transform .24s ease,border-color .24s ease,background .24s ease;}
.home-contact-card:hover{transform:translateY(-2px);border-color:rgba(31,31,29,.28);background:#fbfaf7;}
.home-contact-tag{font-family:var(--font-en);font-size:11px;font-weight:760;letter-spacing:.18em;text-transform:uppercase;color:var(--provence-blue);}
.home-contact-card strong{display:block;margin:18px 0 10px;font-size:19px;line-height:1.35;letter-spacing:-.025em;}
.home-contact-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.78;}
.home-contact-card em{display:block;margin-top:22px;font-style:normal;font-size:13px;font-weight:650;color:var(--ink);}
@media(max-width:980px){.home-contact-head{grid-template-columns:1fr;gap:18px}.home-contact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.home-contact{padding-left:24px;padding-right:24px}.home-contact-grid{grid-template-columns:1fr}.home-contact-card{min-height:190px}}

/* v5.16 — structure, use guidance, conversion paths */
.home-module-head{max-width:var(--v50-max);margin:0 auto 28px;display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(30px,5vw,72px);align-items:start}
.home-module-head h2{margin:8px 0 0;font-size:clamp(26px,2.8vw,40px);line-height:1.18;letter-spacing:-.04em;font-weight:640}
.home-module-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.9;max-width:720px}
.home-howto,.home-fit,.home-useways{max-width:var(--v50-max);margin:0 auto;padding:clamp(58px,6vw,88px) var(--v50-side);border-top:1px solid var(--line)}
.home-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.home-step-grid article{background:rgba(247,245,239,.76);padding:28px 24px;min-height:210px;display:flex;flex-direction:column;gap:14px}
.home-step-grid span,.wrap-info-grid span,.guide-step-cards span,.journal-category-grid span,.guide-photo-grid span{font-family:var(--font-en);font-size:11px;font-weight:760;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.home-step-grid strong{font-size:19px;line-height:1.3;letter-spacing:-.02em}
.home-step-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.home-useways .home-step-grid{grid-template-columns:repeat(3,1fr)}
.home-fit{display:grid;grid-template-columns:minmax(270px,360px) 1fr;gap:clamp(42px,6vw,90px);align-items:start}
.home-fit-copy h2{margin:10px 0 16px;font-size:clamp(28px,3vw,42px);line-height:1.18;letter-spacing:-.04em}
.home-fit-copy p{color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 22px}
.home-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-fit-grid article{border:1px solid var(--line);background:rgba(247,245,239,.78);padding:28px;min-height:250px}
.home-fit-grid strong{display:block;font-size:21px;margin-bottom:16px;letter-spacing:-.025em}
.home-fit-grid ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.9;font-size:14px}
.fit-yes{box-shadow:inset 3px 0 0 rgba(92,117,98,.38)}
.fit-no{box-shadow:inset 3px 0 0 rgba(138,113,78,.32)}
.pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pattern-grid a{display:block;border:1px solid var(--line);background:rgba(247,245,239,.72);transition:transform .24s ease,border-color .24s ease,background .24s ease;overflow:hidden}
.pattern-grid a:hover{transform:translateY(-2px);border-color:rgba(31,31,29,.28);background:#fbfaf7}
.pattern-grid img{width:100%;aspect-ratio:1.35;object-fit:cover;display:block;filter:saturate(.9) contrast(.96) brightness(1.04)}
.pattern-grid strong,.pattern-grid p,.pattern-grid em{display:block;margin-left:24px;margin-right:24px}
.pattern-grid strong{font-size:20px;line-height:1.3;margin-top:22px;letter-spacing:-.025em}
.pattern-grid p{color:var(--muted);font-size:14px;line-height:1.75;min-height:50px}
.pattern-grid em{font-style:normal;font-weight:650;font-size:13px;margin-top:18px;margin-bottom:24px}
.home-contact-v516 .home-contact-card,.home-contact-v517 .home-contact-card{background:linear-gradient(180deg,rgba(252,251,248,.82),rgba(242,237,228,.72));min-height:270px}
.contact-placeholder{margin-top:20px;border:1px dashed rgba(31,31,29,.28);background:rgba(252,251,248,.52);min-height:54px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);letter-spacing:.04em}
.guide-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.guide-photo-grid a{display:block;border:1px solid var(--line);background:rgba(247,245,239,.72);overflow:hidden;transition:transform .24s ease,border-color .24s ease,background .24s ease}
.guide-photo-grid a:hover{transform:translateY(-2px);border-color:rgba(31,31,29,.28);background:#fbfaf7}
.guide-photo-grid img{width:100%;aspect-ratio:1.32;object-fit:cover;display:block;filter:saturate(.88) contrast(.96) brightness(1.04)}
.guide-photo-grid span,.guide-photo-grid strong,.guide-photo-grid p{display:block;margin-left:24px;margin-right:24px}
.guide-photo-grid span{margin-top:22px}.guide-photo-grid strong{font-size:22px;margin-top:12px;letter-spacing:-.03em}.guide-photo-grid p{color:var(--muted);font-size:14px;line-height:1.75;margin-bottom:26px}
.guide-feature-section{border-top:1px solid var(--line)}
.guide-step-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.guide-step-cards article{background:rgba(247,245,239,.78);padding:28px 24px;min-height:220px}.guide-step-cards h3{font-size:20px;margin:18px 0 12px;letter-spacing:-.025em}.guide-step-cards p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.guide-fit-block{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.guide-fit-block div{border:1px solid var(--line);background:rgba(252,251,248,.66);padding:26px}.guide-fit-block strong{font-size:20px}.guide-fit-block p{color:var(--muted);font-size:14px;line-height:1.8}
.guide-split-card{max-width:var(--max);margin:0 auto;padding:76px var(--side);display:grid;grid-template-columns:minmax(320px,45%) 1fr;gap:clamp(32px,5vw,74px);align-items:center;border-top:1px solid var(--line)}
.guide-split-card.reverse img{order:2}.guide-split-card img{width:100%;aspect-ratio:1.35;object-fit:cover;filter:saturate(.88) contrast(.96) brightness(1.04)}.guide-split-card h2{font-size:clamp(26px,2.8vw,40px);line-height:1.18;letter-spacing:-.04em;margin:12px 0 16px}.guide-split-card p,.guide-split-card li{color:var(--muted);font-size:15px;line-height:1.9}.guide-split-card ul{padding-left:18px;margin:20px 0 0}
.wrap-buying-guide,.wrap-fit-note,.wrap-cta{border-top:1px solid var(--line);margin-top:54px;padding-top:42px}.wrap-buying-head{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:clamp(28px,4vw,64px);margin-bottom:24px}.wrap-buying-head h2,.wrap-cta h2{font-size:clamp(24px,2.5vw,36px);line-height:1.2;letter-spacing:-.04em;margin:8px 0 0}.wrap-buying-head p,.wrap-cta p{color:var(--muted);line-height:1.9;margin:0;max-width:700px}.wrap-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.wrap-info-grid article{background:rgba(247,245,239,.78);padding:26px 22px;min-height:210px}.wrap-info-grid h3{font-size:19px;margin:18px 0 12px}.wrap-info-grid p{color:var(--muted);font-size:14px;line-height:1.75}.wrap-fit-note{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wrap-fit-note div{border:1px solid var(--line);background:rgba(252,251,248,.66);padding:28px}.wrap-fit-note h2{font-size:22px;margin:0 0 12px}.wrap-fit-note p{color:var(--muted);line-height:1.85}.wrap-cta{background:rgba(247,245,239,.66);padding:34px;border:1px solid var(--line);margin-bottom:30px}
.journal-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.journal-category-grid a{border:1px solid var(--line);background:rgba(247,245,239,.72);padding:28px;display:block;min-height:180px;transition:transform .24s ease,border-color .24s ease,background .24s ease}.journal-category-grid a:hover{transform:translateY(-2px);border-color:rgba(31,31,29,.28);background:#fbfaf7}.journal-category-grid strong{display:block;font-size:21px;line-height:1.32;margin:18px 0 12px;letter-spacing:-.025em}.journal-category-grid p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}
@media(max-width:980px){.home-module-head,.home-fit,.wrap-buying-head{grid-template-columns:1fr}.home-step-grid,.guide-step-cards,.wrap-info-grid{grid-template-columns:repeat(2,1fr)}.pattern-grid,.guide-photo-grid,.journal-category-grid{grid-template-columns:1fr 1fr}.home-fit-grid,.guide-fit-block,.wrap-fit-note{grid-template-columns:1fr}.guide-split-card,.guide-split-card.reverse{grid-template-columns:1fr}.guide-split-card.reverse img{order:0}.home-contact-v516 .home-contact-card,.home-contact-v517 .home-contact-card{min-height:240px}}
@media(max-width:620px){.home-howto,.home-fit,.home-useways{padding-left:24px;padding-right:24px}.home-step-grid,.guide-step-cards,.wrap-info-grid,.pattern-grid,.guide-photo-grid,.journal-category-grid{grid-template-columns:1fr}.home-fit-grid article,.wrap-fit-note div,.wrap-cta{padding:24px}.guide-photo-grid img,.pattern-grid img{aspect-ratio:1.45}.guide-split-card{padding-left:24px;padding-right:24px}.contact-placeholder{min-height:46px}}


/* v5.19 content simplification and interaction polish */
.cover.compact-hero{margin-bottom:22px;}
.cover.compact-hero .cover-frame{height:clamp(240px,30vw,360px)!important;min-height:240px!important;border-bottom:1px solid var(--line);}
.cover.compact-hero .cover-copy{width:min(560px,52%)!important;left:clamp(30px,5vw,72px)!important;}
.cover.compact-hero .cover-title{font-size:clamp(28px,3.2vw,42px)!important;line-height:1.12!important;margin-top:18px!important;}
.cover.compact-hero .cover-title.en-title{font-size:clamp(30px,3.5vw,44px)!important;}
.cover.compact-hero .cover-sub{margin-top:10px!important;font-size:14px!important;}
.cover.compact-hero .rule{margin:16px 0!important;}
.cover.compact-hero .cover-text{font-size:14px!important;line-height:1.75!important;max-width:520px!important;margin-bottom:18px!important;}
.cover.compact-hero .btn{height:42px;min-width:140px;padding:0 18px;}
.cover-frame::after{background:linear-gradient(90deg,rgba(244,240,232,.92) 0%,rgba(244,240,232,.84) 28%,rgba(244,240,232,.52) 50%,rgba(244,240,232,.14) 72%,rgba(244,240,232,0) 100%)!important;}
.v48-hero:after{background:linear-gradient(90deg,rgba(244,240,232,.92) 0%,rgba(244,240,232,.84) 28%,rgba(244,240,232,.52) 50%,rgba(244,240,232,.14) 72%,rgba(244,240,232,0) 100%)!important;}
.v48-hero-copy{background:rgba(252,251,248,.44);backdrop-filter:blur(4px);padding:18px 20px 20px;margin-left:-20px;border:1px solid rgba(31,31,29,.05);}
.product-jump-nav{display:flex;gap:10px;flex-wrap:wrap;margin:-16px 0 32px;position:sticky;top:var(--header-h);z-index:20;background:rgba(252,251,248,.92);backdrop-filter:blur(12px);padding:12px 0;border-bottom:1px solid rgba(31,31,29,.08);}
.product-jump-nav a{border:1px solid var(--line);background:rgba(247,245,239,.72);padding:9px 14px;font-size:13px;font-weight:650;color:var(--ink);}
.product-jump-nav a:hover{background:var(--ink);color:var(--bg);}
.product-anchor-cards .directory-card{min-height:0;}
.product-inline-section{max-width:var(--max);margin:0 auto;padding:clamp(56px,6vw,84px) var(--side);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(280px,42%) minmax(0,1fr);gap:clamp(32px,6vw,78px);align-items:center;scroll-margin-top:calc(var(--header-h) + 28px);}
.product-inline-section.reverse{grid-template-columns:minmax(0,1fr) minmax(280px,42%);}
.product-inline-section.reverse figure{order:2;}
.product-inline-section figure{margin:0;overflow:hidden;background:var(--paper);aspect-ratio:4/3;}
.product-inline-section figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.96) brightness(1.03);}
.product-inline-section h2{margin:10px 0 16px;font-size:clamp(30px,3vw,46px);line-height:1.18;letter-spacing:-.05em;}
.product-inline-section p{color:var(--muted);font-size:16px;line-height:1.9;max-width:680px;}
.product-inline-section ul{margin:18px 0 28px;padding-left:18px;color:var(--muted);line-height:1.9;}
.guide-feature-section .section-head{align-items:start;}
.guide-feature-section .section-head .meta{display:block;margin-bottom:10px;}
.guide-step-cards{grid-template-columns:repeat(3,1fr);}
.guide-fit-block{grid-template-columns:repeat(3,1fr);}
.home-contact-v517 .home-contact-head .meta{color:rgba(31,31,29,.55);}
.home-contact-card{min-height:210px;}
.home-contact-card:hover{transform:none;}
@media(max-width:920px){
  .cover.compact-hero .cover-frame{height:auto!important;min-height:420px!important;}
  .cover.compact-hero .cover-copy{left:24px!important;right:24px!important;top:34px!important;width:auto!important;max-width:460px!important;}
  .cover.compact-hero .cover-frame::after{background:linear-gradient(180deg,rgba(244,240,232,.94) 0%,rgba(244,240,232,.84) 38%,rgba(244,240,232,.30) 70%,rgba(244,240,232,.08) 100%)!important;}
  .v48-hero-copy{margin-left:0;background:rgba(252,251,248,.52);}
  .product-jump-nav{top:70px;margin-bottom:24px;overflow-x:auto;flex-wrap:nowrap;}
  .product-inline-section,.product-inline-section.reverse{display:block;padding:48px 24px;}
  .product-inline-section.reverse figure{order:0;}
  .product-inline-section figure{margin-bottom:26px;}
  .guide-step-cards,.guide-fit-block{grid-template-columns:1fr;}
}

/* v5.20 — clearer hero images, no frosted blocks or left-side fade overlays */
/* Home hero: split text and image so the photo remains clear and readable. */
.v48-hero{
  display:grid!important;
  grid-template-columns:minmax(320px,36%) minmax(0,1fr)!important;
  min-height:520px!important;
  height:min(660px,calc(100vh - 104px))!important;
  max-height:680px!important;
  background:var(--v48-bg)!important;
  overflow:hidden!important;
}
.v48-hero:after{display:none!important;content:none!important;background:none!important;}
.v48-hero-image{
  position:relative!important;
  inset:auto!important;
  grid-column:2!important;
  width:100%!important;
  height:100%!important;
  min-height:520px!important;
  background-size:cover!important;
  background-position:center!important;
  filter:saturate(.92) contrast(.98) brightness(1)!important;
  transform:none!important;
}
.v48-hero-copy{
  position:relative!important;
  z-index:2!important;
  left:auto!important;
  top:auto!important;
  transform:none!important;
  grid-column:1!important;
  align-self:center!important;
  width:auto!important;
  max-width:none!important;
  padding:clamp(42px,5vw,74px) clamp(32px,4.6vw,62px)!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.v48-hero .lead{max-width:360px!important;}

/* Inner-page compact heroes: editorial split layout instead of image overlay. */
.cover.compact-hero{margin-bottom:32px!important;}
.cover.compact-hero .cover-frame{
  display:grid!important;
  grid-template-columns:minmax(320px,38%) minmax(0,1fr)!important;
  height:clamp(280px,30vw,390px)!important;
  min-height:280px!important;
  background:var(--bg)!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  overflow:hidden!important;
}
.cover.compact-hero .cover-frame::after,
.cover.compact-hero .cover-frame::before{display:none!important;content:none!important;background:none!important;}
.cover.compact-hero .cover-bg{
  position:relative!important;
  inset:auto!important;
  grid-column:2!important;
  width:100%!important;
  height:100%!important;
  background-size:cover!important;
  background-position:center!important;
  filter:saturate(.92) contrast(.98) brightness(1)!important;
  transform:none!important;
}
.cover.compact-hero .cover-copy{
  position:relative!important;
  grid-column:1!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  align-self:center!important;
  padding:clamp(30px,4vw,54px)!important;
  background:transparent!important;
  border:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.cover.compact-hero .cover-title{max-width:520px!important;}
.cover.compact-hero .cover-text{max-width:520px!important;}
.cover.compact-hero .btn-row{margin-top:8px;}

/* Any legacy global gradient override should not affect v5.20 heroes. */
.cover-frame::after{pointer-events:none;}

@media(max-width:920px){
  .v48-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .v48-hero-copy{
    grid-column:1!important;
    grid-row:1!important;
    padding:40px 24px 28px!important;
  }
  .v48-hero-image{
    grid-column:1!important;
    grid-row:2!important;
    min-height:360px!important;
    height:48vh!important;
    background-position:center!important;
  }
  .v48-actions{max-width:260px!important;}
  .cover.compact-hero .cover-frame{
    display:grid!important;
    grid-template-columns:1fr!important;
    height:auto!important;
    min-height:0!important;
  }
  .cover.compact-hero .cover-copy{
    grid-column:1!important;
    grid-row:1!important;
    padding:34px 24px 26px!important;
    max-width:640px!important;
  }
  .cover.compact-hero .cover-bg{
    grid-column:1!important;
    grid-row:2!important;
    height:260px!important;
    min-height:260px!important;
  }
}

/* v5.21 — Hero overlay clarity fix
   Return hero text onto the image while keeping the photo clear.
   No frosted/glass blocks, no blur. Only a very light left-side wash for readability. */
.v48-hero{
  display:block!important;
  position:relative!important;
  max-width:var(--v50-max)!important;
  margin:0 auto!important;
  height:min(640px,calc(100vh - var(--header-h) - 10px))!important;
  min-height:540px!important;
  max-height:680px!important;
  overflow:hidden!important;
  border-bottom:1px solid var(--line)!important;
  background:var(--bg-2)!important;
}
.v48-hero-image{
  position:absolute!important;
  inset:0!important;
  grid-column:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background-size:cover!important;
  background-position:center right!important;
  filter:saturate(.94) contrast(.98) brightness(.99)!important;
  transform:none!important;
}
.v48-hero:after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(252,251,248,.54) 0%,
    rgba(252,251,248,.36) 24%,
    rgba(252,251,248,.16) 48%,
    rgba(252,251,248,.04) 68%,
    rgba(252,251,248,0) 100%)!important;
}
.v48-hero-copy{
  position:absolute!important;
  z-index:2!important;
  left:clamp(28px,4.3vw,64px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  grid-column:auto!important;
  width:min(430px,38vw)!important;
  max-width:430px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.v48-hero .kicker{color:rgba(31,31,29,.68)!important;}
.v48-hero h1{color:var(--ink)!important;text-shadow:none!important;}
.v48-hero .lead{max-width:380px!important;color:rgba(31,31,29,.74)!important;}
.v48-hero .v48-btn{background:rgba(252,251,248,.82)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.v48-hero .v48-btn.dark{background:var(--ink)!important;color:var(--bg)!important;}

/* Inner-page compact heroes: full-image banner with text over image. */
.cover.compact-hero{
  max-width:var(--v50-max)!important;
  margin:0 auto 34px!important;
  padding:0 var(--side) 0!important;
}
.cover.compact-hero .cover-frame{
  display:block!important;
  position:relative!important;
  height:clamp(300px,31vw,420px)!important;
  min-height:300px!important;
  overflow:hidden!important;
  background:var(--bg-2)!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.cover.compact-hero .cover-bg{
  position:absolute!important;
  inset:0!important;
  grid-column:auto!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  background-size:cover!important;
  background-position:center right!important;
  filter:saturate(.94) contrast(.98) brightness(.99)!important;
  transform:none!important;
}
.cover.compact-hero .cover-frame::before{display:none!important;content:none!important;background:none!important;}
.cover.compact-hero .cover-frame::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(252,251,248,.58) 0%,
    rgba(252,251,248,.40) 28%,
    rgba(252,251,248,.18) 52%,
    rgba(252,251,248,.04) 72%,
    rgba(252,251,248,0) 100%)!important;
}
.cover.compact-hero .cover-copy{
  position:absolute!important;
  z-index:2!important;
  left:clamp(28px,4.3vw,64px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  grid-column:auto!important;
  width:min(520px,44vw)!important;
  max-width:520px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.cover.compact-hero .cover-title{max-width:520px!important;color:var(--ink)!important;}
.cover.compact-hero .cover-sub,
.cover.compact-hero .cover-text{color:rgba(31,31,29,.74)!important;max-width:520px!important;}
.cover.compact-hero .kicker{color:rgba(31,31,29,.68)!important;}
.cover.compact-hero .btn{background:rgba(252,251,248,.82)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.cover.compact-hero .btn.dark{background:var(--ink)!important;color:var(--bg)!important;}

@media(max-width:920px){
  .v48-hero{
    height:620px!important;
    min-height:620px!important;
    max-height:none!important;
    margin:0!important;
    max-width:100%!important;
  }
  .v48-hero-image{background-position:center center!important;}
  .v48-hero:after{
    background:linear-gradient(180deg,
      rgba(252,251,248,.70) 0%,
      rgba(252,251,248,.48) 34%,
      rgba(252,251,248,.16) 68%,
      rgba(252,251,248,.04) 100%)!important;
  }
  .v48-hero-copy{
    left:24px!important;
    right:24px!important;
    top:44px!important;
    transform:none!important;
    width:auto!important;
    max-width:430px!important;
  }
  .cover.compact-hero{padding:0!important;margin-bottom:28px!important;}
  .cover.compact-hero .cover-frame{
    height:500px!important;
    min-height:500px!important;
  }
  .cover.compact-hero .cover-bg{background-position:center center!important;}
  .cover.compact-hero .cover-frame::after{
    background:linear-gradient(180deg,
      rgba(252,251,248,.74) 0%,
      rgba(252,251,248,.50) 34%,
      rgba(252,251,248,.16) 68%,
      rgba(252,251,248,.04) 100%)!important;
  }
  .cover.compact-hero .cover-copy{
    left:24px!important;
    right:24px!important;
    top:38px!important;
    transform:none!important;
    width:auto!important;
    max-width:560px!important;
  }
}
@media(max-width:560px){
  .v48-hero{height:650px!important;min-height:650px!important;}
  .v48-hero-copy{top:34px!important;}
  .cover.compact-hero .cover-frame{height:520px!important;min-height:520px!important;}
  .cover.compact-hero .cover-copy{top:32px!important;}
  .cover.compact-hero .btn-row{gap:10px!important;}
  .cover.compact-hero .btn{min-width:138px!important;}
}


/* v5.22 — Clean hero overlay + consistent page frame
   - Text remains on top of the hero image.
   - Remove all left-side readability gradients / washes / frosted effects.
   - Hero image frame uses the same inner content width as page sections.
   - Lines are reduced to very fine separators and removed from hero bottoms. */
:root{
  --line: rgba(31,31,29,.105);
  --line-soft: rgba(31,31,29,.075);
}

/* Home hero: clear image, no wash, same visual frame width as content. */
.v48-hero{
  max-width: calc(var(--max) - var(--side) - var(--side)) !important;
  width: calc(100% - var(--side) - var(--side)) !important;
  margin: 0 auto 34px !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: var(--bg-2) !important;
}
.v48-hero:after,
.v48-hero:before{
  display:none !important;
  content:none !important;
  background:none !important;
}
.v48-hero-image{
  filter:none !important;
  opacity:1 !important;
  background-position:center right !important;
}
.v48-hero-copy{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.v48-hero h1,
.v48-hero .lead,
.v48-hero .kicker{
  text-shadow:none !important;
}
.v48-hero .v48-btn{
  background:rgba(252,251,248,.84) !important;
  border-color:rgba(31,31,29,.28) !important;
}
.v48-hero .v48-btn.dark{
  background:var(--ink) !important;
  color:var(--bg) !important;
}

/* Inner page heroes: same content frame, text over image, no gradient wash. */
.cover.compact-hero{
  max-width:var(--max) !important;
  padding:0 var(--side) !important;
  margin:0 auto 34px !important;
}
.cover.compact-hero .cover-frame{
  border-top:0 !important;
  border-bottom:0 !important;
  background:var(--bg-2) !important;
}
.cover.compact-hero .cover-frame::after,
.cover.compact-hero .cover-frame::before{
  display:none !important;
  content:none !important;
  background:none !important;
}
.cover.compact-hero .cover-bg{
  filter:none !important;
  opacity:1 !important;
  background-position:center right !important;
}
.cover.compact-hero .cover-copy{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.cover.compact-hero .cover-title,
.cover.compact-hero .cover-sub,
.cover.compact-hero .cover-text,
.cover.compact-hero .kicker{
  text-shadow:none !important;
}
.cover.compact-hero .btn{
  background:rgba(252,251,248,.84) !important;
  border-color:rgba(31,31,29,.28) !important;
}
.cover.compact-hero .btn.dark{
  background:var(--ink) !important;
  color:var(--bg) !important;
}

/* Finer lines site-wide. Keep structure, avoid heavy dividers. */
.site-header{border-bottom-color:var(--line-soft) !important;}
.section,
.editorial,
.home-howto,
.home-fit,
.home-useways,
.home-contact,
.guide-feature-section,
.guide-split-card,
.product-inline-section,
.wrap-buying-guide,
.wrap-fit-note,
.wrap-cta,
.product-detail-top,
.product-note,
.about-v512 .about-hero-grid,
.about-editorial.balanced .about-hero-text,
.about-row,
.v48-panel,
.v48-about,
.home-note,
.journal-list,
.journal-item{
  border-color:var(--line-soft) !important;
}
.product-jump-nav{
  border-bottom-color:var(--line-soft) !important;
}
.home-step-grid,
.guide-step-cards,
.wrap-info-grid,
.product-detail-grid{
  background:var(--line-soft) !important;
  border-color:var(--line-soft) !important;
}
.directory-card,
.guide-card,
.home-contact-card,
.edge-box,
.mag-card,
.event-card-link,
.guide-fit-block div,
.wrap-fit-note div,
.product-detail-visual{
  border-color:var(--line-soft) !important;
}

@media(max-width:920px){
  .v48-hero{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 28px !important;
  }
  .v48-hero-image{background-position:center center !important;}
  .cover.compact-hero{
    max-width:100% !important;
    padding:0 !important;
  }
  .cover.compact-hero .cover-bg{background-position:center center !important;}
}


/* v5.24 — Brand uppercase normalization; v5.23 — Content cleanup + unified frame width
   - Header subtitle updated to the three current lines.
   - Internal explanatory notes are removed from overview sections.
   - About hero uses the same compact hero style as Guide.
   - Main frames use one consistent width across pages. */
:root{--frame-max:calc(var(--max) - var(--side) - var(--side));}
.brand-sub{letter-spacing:.10em!important;white-space:nowrap;}
.section-head.single{grid-template-columns:1fr!important;margin-bottom:32px!important;}
.home-module-head.single,.home-contact-head.single{display:block!important;}
.home-module-head.single h2,.home-contact-head.single h2{margin-top:8px;}

/* One consistent visual/content frame. */
.v48-hero,
.v48-trust,
.v48-products,
.v48-panels,
.v48-about,
.home-howto,
.home-fit,
.home-useways,
.home-contact,
.editorial,
.section,
.about-editorial,
.footer{
  max-width:var(--frame-max)!important;
  width:calc(100% - var(--side) - var(--side))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.cover.compact-hero{
  max-width:100%!important;
  width:100%!important;
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
.cover.compact-hero .cover-frame{
  max-width:var(--frame-max)!important;
  width:calc(100% - var(--side) - var(--side))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cover.compact-hero .cover-frame,
.v48-hero{border-bottom:0!important;}

/* Keep image clear; text relies on image negative space, not overlay panels. */
.v48-hero:after,.v48-hero:before,
.cover.compact-hero .cover-frame::after,
.cover.compact-hero .cover-frame::before{display:none!important;content:none!important;background:none!important;}
.v48-hero-copy,.cover.compact-hero .cover-copy{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* Footer simplified after deleting explanatory copy. */
.footer-top span{color:var(--muted);font-size:13px;letter-spacing:.06em;}

@media(max-width:920px){
  .v48-hero,
  .v48-trust,
  .v48-products,
  .v48-panels,
  .v48-about,
  .home-howto,
  .home-fit,
  .home-useways,
  .home-contact,
  .editorial,
  .section,
  .about-editorial,
  .footer,
  .cover.compact-hero .cover-frame{
    width:calc(100% - 48px)!important;
    max-width:calc(100% - 48px)!important;
  }
  .cover.compact-hero{width:100%!important;max-width:100%!important;}
}
@media(max-width:560px){
  .brand-sub{white-space:normal;letter-spacing:.06em!important;}
  .v48-hero,
  .v48-trust,
  .v48-products,
  .v48-panels,
  .v48-about,
  .home-howto,
  .home-fit,
  .home-useways,
  .home-contact,
  .editorial,
  .section,
  .about-editorial,
  .footer,
  .cover.compact-hero .cover-frame{
    width:calc(100% - 32px)!important;
    max-width:calc(100% - 32px)!important;
  }
}


/* v5.25 — layout/content refinement
   - Home About image keeps clear photo with no gradient or glass layer.
   - Home how-to is more compact with a supporting image.
   - Guide wrap steps are image + text cards.
   - Events and Journal remove redundant explanatory blocks.
   - About page becomes editorial image/text layout. */
.v48-about:before{display:none!important;content:none!important;background:none!important;}
.v48-about>div{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.v48-about{background-position:center right!important;}

.home-howto.home-howto-v525{display:grid!important;grid-template-columns:minmax(320px,38%) minmax(0,1fr)!important;gap:clamp(28px,4vw,56px)!important;align-items:stretch!important;}
.home-howto-v525 .home-howto-image{margin:0!important;overflow:hidden;background:var(--paper);min-height:100%;}
.home-howto-v525 .home-howto-image img{width:100%;height:100%;min-height:360px;object-fit:cover;filter:saturate(.9) contrast(.96) brightness(1.02);}
.home-howto-v525 .home-howto-content{display:flex;flex-direction:column;justify-content:center;min-width:0;}
.home-howto-v525 .home-module-head{display:block!important;margin:0 0 24px!important;max-width:none!important;}
.home-howto-v525 .home-module-head p{max-width:680px!important;margin-top:12px!important;}
.home-howto-v525 .home-step-grid{grid-template-columns:repeat(2,1fr)!important;}
.home-howto-v525 .home-step-grid article{min-height:170px!important;padding:24px 22px!important;}

.guide-step-cards.with-images{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;background:transparent!important;border:0!important;}
.guide-step-cards.with-images article{border:1px solid var(--line-soft, var(--line))!important;background:rgba(247,245,239,.72)!important;padding:0!important;min-height:0!important;overflow:hidden;}
.guide-step-cards.with-images figure{margin:0;background:var(--paper);}
.guide-step-cards.with-images img{width:100%;aspect-ratio:1.28;object-fit:cover;filter:saturate(.9) contrast(.96) brightness(1.03);}
.guide-step-cards.with-images span,.guide-step-cards.with-images h3,.guide-step-cards.with-images p{display:block;margin-left:22px;margin-right:22px;}
.guide-step-cards.with-images span{margin-top:20px;}
.guide-step-cards.with-images h3{margin-top:12px;}
.guide-step-cards.with-images p{margin-bottom:24px;}

.event-simple{padding-top:54px!important;padding-bottom:70px!important;}
.event-simple-card{max-width:720px;border:1px solid var(--line-soft, var(--line));background:rgba(247,245,239,.56);padding:32px;}
.event-simple-card h2{margin:12px 0 8px;font-size:clamp(26px,2.8vw,38px);letter-spacing:-.04em;line-height:1.18;}
.event-simple-card p{margin:0;color:var(--muted);line-height:1.85;}

.about-v525{padding-top:72px!important;padding-bottom:100px!important;}
.about-intro-grid{display:grid;grid-template-columns:minmax(320px,46%) minmax(0,1fr);gap:clamp(34px,6vw,86px);align-items:center;margin-bottom:56px;}
.about-intro-grid figure{margin:0;overflow:hidden;background:var(--paper);}
.about-intro-grid img{width:100%;aspect-ratio:1.32;object-fit:cover;filter:saturate(.9) contrast(.96) brightness(1.03);}
.about-intro-grid h2{margin:12px 0 18px;font-size:clamp(32px,3.8vw,54px);line-height:1.12;letter-spacing:-.05em;}
.about-intro-grid p{color:var(--muted);font-size:16px;line-height:1.9;max-width:680px;}
.about-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.about-feature-grid article{background:rgba(247,245,239,.62);border:1px solid var(--line-soft, var(--line));}
.about-feature-grid img{width:100%;aspect-ratio:1.15;object-fit:cover;filter:saturate(.9) contrast(.96) brightness(1.03);}
.about-feature-grid .meta,.about-feature-grid h3,.about-feature-grid p{display:block;margin-left:24px;margin-right:24px;}
.about-feature-grid .meta{margin-top:24px;}
.about-feature-grid h3{font-size:23px;line-height:1.25;margin-top:12px;margin-bottom:10px;letter-spacing:-.035em;}
.about-feature-grid p{color:var(--muted);font-size:14px;line-height:1.82;margin-bottom:26px;}

@media(max-width:980px){
  .home-howto.home-howto-v525,.about-intro-grid{grid-template-columns:1fr!important;}
  .home-howto-v525 .home-howto-image img{min-height:280px;aspect-ratio:1.35;}
  .guide-step-cards.with-images,.about-feature-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:620px){
  .guide-step-cards.with-images,.about-feature-grid{grid-template-columns:1fr!important;}
  .event-simple-card{padding:26px 22px;}
}


/* v5.26 — restore Events and About structure with clear maintenance. */
.event-card.event-card-no-date{grid-template-columns:minmax(0,1fr) 280px!important;}
.event-card.event-card-no-date .article-body{margin-top:12px;}
.event-card.event-card-no-date .mini-link{font-size:13px;}
.about-visual-supplement{padding-top:0!important;}
.about-visual-supplement .about-intro-grid{border-top:1px solid var(--line-soft, var(--line));padding-top:56px;}
@media(max-width:1100px){.event-card.event-card-no-date{grid-template-columns:1fr!important;}.event-card.event-card-no-date img{max-width:520px;width:100%;}}

/* v5.27｜市集与关于页二次复核
   - 市集卡片保留 v5.24 的内容、图片与详情页入口，只取消 TBA 日期列
   - 首页关于模块文字颜色与 Hero 保持一致
*/
.v48-about:before{display:none!important;content:none!important;background:none!important;}
.v48-about>div{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.v48-about .meta{color:rgba(29,29,27,.58)!important;}
.v48-about h2{color:var(--ink)!important;}
.v48-about p{color:var(--muted)!important;}
.v48-about a{color:var(--ink)!important;}
.event-card.event-card-no-date{grid-template-columns:minmax(0,1fr) 280px!important;}
.event-card.event-card-no-date .article-body{margin-top:12px;}
.event-card.event-card-no-date .mini-link{font-size:13px;}
@media(max-width:1100px){.event-card.event-card-no-date{grid-template-columns:1fr!important;}.event-card.event-card-no-date img{max-width:520px;width:100%;}}

/* v5.28｜首页轮播与市集日期恢复
   - Home Hero supports multi-image loop without text panels.
   - Hero trust strip is removed from HTML.
   - Event cards restore date column (TBA). */
.v48-hero.v48-hero-carousel{isolation:isolate;}
.v48-hero.v48-hero-carousel .hero-slide{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  transition:opacity 1.25s ease!important;
  z-index:0!important;
  background-size:cover!important;
  background-position:center right!important;
}
.v48-hero.v48-hero-carousel .hero-slide.is-active{opacity:1!important;}
.v48-hero.v48-hero-carousel .v48-hero-copy{z-index:3!important;}
.hero-carousel-dots{
  position:absolute;
  right:clamp(22px,4vw,56px);
  bottom:clamp(18px,2.4vw,34px);
  z-index:4;
  display:flex;
  gap:8px;
}
.hero-carousel-dots span{
  width:6px;height:6px;border-radius:999px;
  background:rgba(31,31,29,.34);
  transition:width .35s ease, background .35s ease;
}
.hero-carousel-dots span.is-active{width:22px;background:rgba(31,31,29,.74);}
.event-card{grid-template-columns:140px minmax(0,1fr) 280px!important;}
.event-card .date{display:block!important;color:var(--ink);}
.event-card .article-body{margin-top:12px;}
.v48-about .meta,.v48-hero .kicker{color:rgba(31,31,29,.68)!important;}
.v48-about h2,.v48-hero h1{color:var(--ink)!important;}
.v48-about p,.v48-hero .lead{color:rgba(31,31,29,.74)!important;}
.v48-about a{color:var(--ink)!important;}
@media(max-width:1100px){.event-card{grid-template-columns:1fr!important;}.event-card .date{font-size:15px;margin-bottom:4px}.event-card img{max-width:520px;width:100%;}}

/* v5.29 — compact refinements
   - Home how-to image matches the text/card block height on desktop.
   - Fit / Not Fit separators are reduced to a single fine line.
   - Everyday Uses buttons get more breathing room.
   - About visual supplement is simplified to one editorial row. */
.home-howto.home-howto-v525{
  align-items:stretch!important;
}
.home-howto-v525 .home-howto-image{
  align-self:stretch!important;
  height:auto!important;
  min-height:0!important;
}
.home-howto-v525 .home-howto-image img{
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.home-howto-v525 .home-howto-content{
  align-self:stretch!important;
}
.home-fit-grid{
  gap:0!important;
  border:1px solid var(--line-soft, var(--line))!important;
  background:var(--line-soft, var(--line))!important;
}
.home-fit-grid article{
  border:0!important;
  background:rgba(247,245,239,.78)!important;
}
.home-fit-grid article + article{
  border-left:1px solid var(--line-soft, var(--line))!important;
}
.fit-yes{box-shadow:inset 1px 0 0 rgba(92,117,98,.34)!important;}
.fit-no{box-shadow:inset 1px 0 0 rgba(138,113,78,.28)!important;}
.home-useways .btn-row{
  margin-top:clamp(34px,4.2vw,56px)!important;
}
.about-v529-simple{
  padding-top:0!important;
  padding-bottom:clamp(78px,8vw,116px)!important;
}
.about-v529-simple .about-intro-grid{
  margin-bottom:0!important;
  border-top:1px solid var(--line-soft, var(--line));
  padding-top:clamp(44px,5vw,62px);
}
.about-v529-simple .about-intro-grid p{
  max-width:620px;
}
@media(max-width:980px){
  .home-howto-v525 .home-howto-image img{
    height:auto!important;
    min-height:280px!important;
    aspect-ratio:1.35!important;
  }
  .home-fit-grid article + article{border-left:0!important;border-top:1px solid var(--line-soft, var(--line))!important;}
}

/* v5.30 — launch-prep cleanup: reduce repeated homepage guidance, neutral contact placeholders, legacy detail note */
.home-contact-card{cursor:default;}
.home-contact-card:hover{transform:none!important;border-color:var(--line)!important;background:rgba(247,245,239,.72)!important;}
.home-contact-card em{color:var(--muted);font-weight:560;}
.product-detail-note.v530{margin:0 0 26px;padding:14px 18px;border-left:1px solid var(--line-dark);color:var(--muted);font-size:13px;line-height:1.75;background:rgba(247,245,239,.54);max-width:560px;}
.home-howto-v525{border-bottom:0!important;}
.home-useways{border-top:1px solid var(--line-soft, var(--line))!important;}
@media(max-width:620px){.product-detail-note.v530{font-size:12.5px;padding:12px 14px}.home-contact-card{min-height:180px}}

/* v5.31 — technical compatibility baseline
   Keep this block limited to compatibility, accessibility and safe defaults. */
.site-header{
  -webkit-backdrop-filter: blur(12px);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .site-header{background:rgba(252,251,248,.98)!important;}
}
html,body{max-width:100%;overflow-x:hidden;}
img{height:auto;}
button,a{touch-action:manipulation;}
a,button,.btn,.v48-btn,.mini-link{min-height:44px;}
@media (hover:none){
  .btn:hover,.v48-btn:hover,.product-card:hover,.mag-card:hover{transform:none;}
}
@media(max-width:620px){
  .nav.open a{padding:8px 0;}
  .header-right a{padding:8px 4px;}
  .article-body{overflow-wrap:anywhere;}
}


/* v5.32｜轻量动效与自然节奏收口
   方向：像自然光、布料和烛火一样轻微存在；不使用粒子、蜂群、3D 翻转或强视差。
   此块用于覆盖旧版本中较明显的模糊、跳动和线条动效。 */
:root{
  --motion-ease-soft:cubic-bezier(.22,.61,.36,1);
  --motion-ease-calm:cubic-bezier(.33,1,.68,1);
  --motion-enter:720ms;
  --motion-hover:260ms;
}

/* Header scroll state: only density, hairline and paper warmth; no glass blur. */
.site-header{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:height 260ms var(--motion-ease-soft), background-color 260ms ease, border-color 260ms ease, box-shadow 260ms ease!important;
}
.site-header.is-scrolled{
  height:68px!important;
  background:rgba(252,251,248,.965)!important;
  border-bottom-color:rgba(31,31,29,.12)!important;
  box-shadow:0 8px 18px rgba(31,31,29,.018)!important;
}
.site-header.is-scrolled .brand-sub{opacity:.62!important;}

/* Article reading progress: a quiet paper-line instead of a bright effect. */
.read-progress{
  height:1px!important;
  background:rgba(31,31,29,.42)!important;
  transition:width 80ms linear!important;
}

/* Page and hero entrance: small rise, no theatrical movement. */
body.motion-enabled main{animation:pageLiftSoft 700ms var(--motion-ease-calm) both!important;}
@keyframes pageLiftSoft{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}

/* Hero breathing: very slow scale only; image remains clear and text still depends on photo whitespace. */
.v48-hero-image,
.cover-bg,
.v48-hero-carousel .hero-slide{
  transform:scale(1.008)!important;
  transform-origin:center!important;
  animation:heroBreathSoft 18s ease-in-out infinite alternate!important;
  will-change:transform;
}
@keyframes heroBreathSoft{
  from{transform:scale(1.006)}
  to{transform:scale(1.016)}
}
.v48-hero-carousel .hero-slide{transition:opacity 1.1s ease!important;}

/* Text layering: staggered but restrained. */
.v48-hero .kicker,
.v48-hero h1,
.v48-hero .lead,
.v48-hero .v48-actions,
.cover-copy .kicker,
.cover-title,
.cover-sub,
.cover-text,
.cover-copy .rule,
.cover-copy .btn-row{
  animation:textLayerSoft 700ms var(--motion-ease-calm) both!important;
}
.v48-hero h1,.cover-title{animation-delay:70ms!important;}
.v48-hero .lead,.cover-sub,.cover-text,.cover-copy .rule{animation-delay:150ms!important;}
.v48-hero .v48-actions,.cover-copy .btn-row{animation-delay:240ms!important;}
@keyframes textLayerSoft{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}

/* Scroll reveal: clear image first, then quiet fade; no blur/fog. */
.reveal-on-scroll{
  opacity:0!important;
  transform:translateY(12px)!important;
  transition:opacity 680ms var(--motion-ease-calm), transform 680ms var(--motion-ease-calm)!important;
}
.reveal-on-scroll.is-visible{opacity:1!important;transform:translateY(0)!important;}
.reveal-on-scroll.line-reveal::before{display:none!important;content:none!important;}
img.motion-image,
figure.motion-image,
.v48-panel.image.motion-image,
.product-card figure.motion-image,
.directory-card figure.motion-image,
.product-detail-visual.motion-image{
  opacity:.01!important;
  transform:translateY(6px)!important;
  filter:saturate(.92) contrast(.98) brightness(1.02)!important;
  transition:opacity 720ms var(--motion-ease-calm), transform 720ms var(--motion-ease-calm), filter 520ms ease!important;
}
img.motion-image.is-visible,
figure.motion-image.is-visible,
.v48-panel.image.motion-image.is-visible,
.product-card figure.motion-image.is-visible,
.directory-card figure.motion-image.is-visible,
.product-detail-visual.motion-image.is-visible{
  opacity:1!important;
  transform:translateY(0)!important;
  filter:saturate(.94) contrast(.98) brightness(1.02)!important;
}

/* Cards and products: a cloth-like lift, not a bounce. */
.v48-product-grid a,
.product-card,
.directory-card-link .directory-card,
.guide-card,
.event-card-link,
.journal-item,
.mag-card,
.v48-panel,
.home-note,
.home-contact-card{
  transition:transform var(--motion-hover) var(--motion-ease-soft), border-color var(--motion-hover) ease, background-color var(--motion-hover) ease, box-shadow var(--motion-hover) ease!important;
}
.v48-product-grid a:hover,
.product-card:hover,
.directory-card-link:hover .directory-card,
.guide-card:hover,
.event-card-link:hover,
.journal-item:hover,
.mag-card:hover,
.v48-panel:hover,
.home-note:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(31,31,29,.18)!important;
  box-shadow:0 12px 30px rgba(31,31,29,.025)!important;
}
.v48-product-grid a img,
.v48-panel.image img,
.product-card img,
.directory-card img,
.product-detail-visual img,
.article-shell .hero,
.mag-card img{
  transition:transform 760ms var(--motion-ease-soft), filter 420ms ease!important;
}
.v48-product-grid a:hover img,
.v48-panel.image:hover img,
.product-card:hover img,
.directory-card-link:hover img,
.product-detail-visual:hover img,
.article-shell .hero:hover,
.mag-card:hover img{
  transform:scale(1.012)!important;
  filter:saturate(.94) contrast(.98) brightness(1.035)!important;
}
.btn:hover .arrow,
.v48-btn:hover span,
.text-link:hover::after,
.mini-link:hover::after,
.detail-link:hover::after,
.v48-panel a:hover::after{transform:translateX(3px)!important;}

/* Candle glow, when present, is barely visible. */
body:has(.product-detail) .product-detail[data-product="candle"]::before,
.product-detail.candle-detail::before{
  opacity:.18!important;
  animation:candleGlowSoft 9s ease-in-out infinite!important;
}
@keyframes candleGlowSoft{
  0%,100%{opacity:.10;transform:scale(.99)}
  50%{opacity:.20;transform:scale(1.025)}
}

/* Respect reduced motion across all decorative motion, carousel and progress. */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
  .v48-hero-image,.cover-bg,.v48-hero-carousel .hero-slide,
  .reveal-on-scroll,
  img.motion-image,figure.motion-image,
  .v48-panel.image.motion-image,.product-card figure.motion-image,.directory-card figure.motion-image,.product-detail-visual.motion-image{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .read-progress{display:none!important;}
}
@media (hover:none){
  .v48-product-grid a:hover,.product-card:hover,.directory-card-link:hover .directory-card,.guide-card:hover,.event-card-link:hover,.journal-item:hover,.mag-card:hover,.v48-panel:hover,.home-note:hover{transform:none!important;box-shadow:none!important;}
  .v48-product-grid a:hover img,.v48-panel.image:hover img,.product-card:hover img,.directory-card-link:hover img,.product-detail-visual:hover img,.article-shell .hero:hover,.mag-card:hover img{transform:none!important;}
}

/* v5.33｜导航条桌面端对齐修复
   目标：品牌、主导航和语言切换在同一条水平视觉轴上；活动下划线贴近 Header 底边，避免错位。 */
@media (min-width:1101px){
  :root{--header-h:82px;}
  .site-header{
    height:var(--header-h)!important;
    min-height:var(--header-h)!important;
  }
  .site-header.is-scrolled{
    height:70px!important;
    min-height:70px!important;
  }
  .site-header .header-inner{
    height:100%!important;
    min-height:0!important;
    max-width:var(--frame-max, var(--max))!important;
    width:calc(100% - var(--side) - var(--side))!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(270px, 340px) minmax(0, 1fr) minmax(108px, 150px)!important;
    align-items:stretch!important;
    gap:clamp(18px, 2.2vw, 34px)!important;
  }
  .site-header .brand{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:8px!important;
    padding:0!important;
    line-height:1!important;
  }
  .site-header .brand-main{
    display:block!important;
    line-height:1!important;
    margin:0!important;
  }
  .site-header .brand-sub{
    display:block!important;
    line-height:1.1!important;
    margin:0!important;
  }
  .site-header .menu-toggle{display:none!important;}
  .site-header .nav{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:clamp(18px, 2vw, 32px)!important;
    padding:0!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  .site-header .nav a{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
  }
  .site-header .nav a.active:after,
  .site-header .nav a:hover:after{
    bottom:0!important;
    height:1px!important;
  }
  .site-header .header-right{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
  }
  .site-header .header-right a,
  .site-header .language-current{
    display:inline-flex!important;
    align-items:center!important;
    height:100%!important;
    min-height:0!important;
    line-height:1!important;
  }
}
@media (min-width:1101px) and (max-width:1280px){
  .site-header .header-inner{
    grid-template-columns:minmax(245px, 300px) minmax(0, 1fr) minmax(96px, 130px)!important;
    gap:clamp(12px, 1.4vw, 22px)!important;
  }
  .site-header .nav{gap:clamp(14px, 1.5vw, 22px)!important;}
  .site-header .nav a{font-size:12.5px!important;}
  .site-header .brand-main{font-size:13px!important;letter-spacing:.15em!important;}
  .site-header .brand-sub{font-size:9.5px!important;letter-spacing:.08em!important;}
}

/* v5.36 — launch polish: mobile navigation, stable media, and calmer conversion surfaces */
.v48-product-grid a,
.mag-card,
.event-card-link,
.directory-card,
.home-contact-card,
.guide-step-cards.with-images article{
  border-radius:2px;
}
.v48-product-grid img,
.mag-card img,
.event-card img,
.directory-card img,
.guide-step-cards.with-images img,
.home-howto-v525 .home-howto-image img,
.article-shell .hero{
  background:var(--paper);
}
.v48-btn:focus-visible,
.btn:focus-visible,
.nav a:focus-visible,
.header-right a:focus-visible,
.menu-toggle:focus-visible,
.directory-card-link:focus-visible,
.mag-card:focus-visible,
.event-card-link:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:4px;
}
.v48-actions{
  width:min(100%, 230px)!important;
}
.v48-btn{
  width:100%;
}
.contact-placeholder{
  text-align:center;
  overflow-wrap:anywhere;
  line-height:1.45;
  padding:10px 12px;
}
.home-contact-card{
  min-width:0;
}
.home-contact-card strong,
.home-step-grid strong,
.v48-product-grid strong{
  overflow-wrap:break-word;
}
@media(max-width:1100px){
  .site-header{
    position:sticky!important;
  }
  .header-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px 18px!important;
    align-items:center!important;
  }
  .site-header .brand{
    min-width:0!important;
  }
  .site-header .brand-main,
  .site-header .brand-sub{
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .menu-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:56px!important;
    min-height:44px!important;
    border:1px solid var(--line-soft, var(--line))!important;
    background:rgba(252,251,248,.72)!important;
    font-size:13px!important;
  }
  .nav{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    padding:0!important;
    border-top:0!important;
    transition:max-height 260ms ease, opacity 200ms ease, padding 220ms ease, border-color 220ms ease!important;
  }
  .nav.open{
    max-height:360px!important;
    opacity:1!important;
    padding-top:12px!important;
    border-top:1px solid var(--line-soft, var(--line))!important;
  }
  .nav a{
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 10px!important;
    border-bottom:1px solid var(--line-soft, var(--line))!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
  .nav a.active:after,
  .nav a:hover:after{
    display:none!important;
  }
  .header-right{
    grid-column:1 / -1!important;
    justify-self:start!important;
    min-height:28px!important;
  }
}
@media(max-width:760px){
  .v48-hero{
    height:auto!important;
    min-height:0!important;
  }
  .v48-hero-copy{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    padding:30px 0 24px!important;
  }
  .v48-hero-image{
    position:relative!important;
    display:block!important;
    height:360px!important;
    min-height:360px!important;
    background-position:center!important;
  }
  .v48-hero.v48-hero-carousel .hero-slide{
    position:absolute!important;
    inset:0!important;
  }
  .v48-hero.v48-hero-carousel .v48-hero-copy{
    z-index:3!important;
  }
  .v48-hero h1{
    max-width:12em!important;
  }
  .v48-hero .lead{
    max-width:32em!important;
  }
  .v48-actions{
    max-width:none!important;
    width:100%!important;
  }
  .hero-carousel-dots{
    right:18px;
    bottom:18px;
  }
  .home-howto.home-howto-v525,
  .home-useways,
  .home-contact,
  .v48-products,
  .v48-panels{
    padding-top:44px!important;
    padding-bottom:50px!important;
  }
  .home-step-grid article{
    min-height:auto!important;
  }
  .home-contact-grid{
    gap:12px!important;
  }
  .footer{
    padding-top:34px!important;
    padding-bottom:46px!important;
  }
}
@media(max-width:480px){
  .nav{
    grid-template-columns:1fr!important;
  }
  .site-header .brand-main{
    font-size:12.5px!important;
    letter-spacing:.12em!important;
  }
  .site-header .brand-sub{
    font-size:9px!important;
  }
  .v48-hero-image{
    height:320px!important;
    min-height:320px!important;
  }
  .v48-btn,
  .btn{
    min-width:0!important;
  }
}

/* v5.37 — Home hero carousel should fade only, without image drift */
.v48-hero.v48-hero-carousel .hero-slide{
  animation:none!important;
  transform:none!important;
  will-change:opacity!important;
  transition:opacity 1.1s ease!important;
}
.v48-hero.v48-hero-carousel .hero-slide.is-active{
  transform:none!important;
}

/* v5.38 — Mobile menu becomes a compact header panel */
@media(max-width:1100px){
  .site-header{
    overflow:visible!important;
    background:rgba(252,251,248,.985)!important;
  }
  .site-header.is-menu-open{
    box-shadow:0 18px 36px rgba(31,31,29,.08)!important;
  }
  .site-header .header-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:0 14px!important;
    align-items:center!important;
    min-height:74px!important;
    padding:10px 24px 12px!important;
    background:rgba(252,251,248,.985)!important;
  }
  .site-header .brand{
    min-width:0!important;
    gap:5px!important;
  }
  .site-header .brand-main{
    font-size:clamp(18px,5.8vw,28px)!important;
    letter-spacing:.12em!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .site-header .brand-sub{
    font-size:11px!important;
    letter-spacing:.08em!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .site-header .menu-toggle{
    display:inline-flex!important;
    width:58px!important;
    min-width:58px!important;
    height:46px!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid var(--line-soft, var(--line))!important;
    background:rgba(252,251,248,.86)!important;
    font-size:14px!important;
    line-height:1!important;
  }
  .site-header .menu-toggle[aria-expanded="true"]{
    background:var(--ink)!important;
    border-color:var(--ink)!important;
    color:var(--bg)!important;
  }
  .site-header .nav{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    border-top:0!important;
    transition:max-height 260ms ease, opacity 180ms ease, padding 220ms ease, margin 220ms ease!important;
  }
  .site-header .nav.open{
    max-height:420px!important;
    opacity:1!important;
    margin-top:14px!important;
    padding-top:14px!important;
    border-top:1px solid var(--line-soft, var(--line))!important;
  }
  .site-header .nav a{
    min-height:44px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0 14px!important;
    border:1px solid var(--line-soft, var(--line))!important;
    background:rgba(247,245,239,.72)!important;
    font-size:15px!important;
    font-weight:650!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .site-header .nav a.active{
    background:var(--ink)!important;
    border-color:var(--ink)!important;
    color:var(--bg)!important;
  }
  .site-header .nav a.active:after,
  .site-header .nav a:hover:after{
    display:none!important;
  }
  .site-header .header-right{
    grid-column:1 / -1!important;
    display:none!important;
    position:static!important;
    transform:none!important;
    justify-self:stretch!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    min-height:0!important;
    margin:10px 0 0!important;
    padding:10px 0 0!important;
    border-top:1px solid var(--line-soft, var(--line))!important;
    color:var(--muted)!important;
  }
  .site-header.is-menu-open .header-right{
    display:flex!important;
  }
  .site-header .header-right a,
  .site-header .language-current{
    height:auto!important;
    min-height:34px!important;
    display:inline-flex!important;
    align-items:center!important;
    font-size:13px!important;
  }
}
@media(max-width:520px){
  .site-header .header-inner{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .site-header .brand-main{
    font-size:clamp(17px,6.4vw,25px)!important;
    letter-spacing:.10em!important;
  }
  .site-header .brand-sub{
    font-size:10px!important;
  }
  .site-header .nav{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .site-header .nav.open{
    max-height:520px!important;
  }
  .site-header .nav a{
    min-height:42px!important;
    font-size:14px!important;
  }
}

/* v5.39 — Stable mobile dropdown with language switch inside the menu */
.mobile-language-switch{
  display:none;
}
@media(max-width:1100px){
  .site-header{
    z-index:1000!important;
  }
  .site-header .header-inner{
    position:relative!important;
    overflow:visible!important;
  }
  .site-header .nav{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 8px)!important;
    z-index:1200!important;
    width:auto!important;
    grid-column:auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    max-height:0!important;
    opacity:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid transparent!important;
    background:rgba(252,251,248,.98)!important;
    box-shadow:none!important;
    transition:max-height 240ms ease, opacity 160ms ease, padding 200ms ease, border-color 200ms ease, box-shadow 200ms ease!important;
  }
  .site-header .nav.open{
    max-height:520px!important;
    opacity:1!important;
    pointer-events:auto!important;
    padding:12px!important;
    border-color:var(--line-soft, var(--line))!important;
    box-shadow:0 18px 34px rgba(31,31,29,.10)!important;
  }
  .site-header .nav a{
    min-height:44px!important;
    border:1px solid var(--line-soft, var(--line))!important;
    background:rgba(247,245,239,.78)!important;
  }
  .site-header .nav a.active{
    background:var(--ink)!important;
    border-color:var(--ink)!important;
    color:var(--bg)!important;
  }
  .site-header > .header-inner > .header-right{
    display:none!important;
  }
  .site-header .mobile-language-switch{
    grid-column:1 / -1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    min-height:42px!important;
    padding:10px 2px 0!important;
    margin-top:2px!important;
    border-top:1px solid var(--line-soft, var(--line))!important;
    color:var(--muted)!important;
    font-family:var(--font-en)!important;
    font-size:13px!important;
  }
  .site-header .mobile-language-switch a,
  .site-header .mobile-language-switch .language-current{
    display:inline-flex!important;
    align-items:center!important;
    min-height:32px!important;
  }
  .site-header .mobile-language-switch .divider{
    width:1px!important;
    height:18px!important;
    background:rgba(31,31,29,.22)!important;
  }
}
@media(max-width:520px){
  .site-header .nav{
    grid-template-columns:1fr!important;
    left:0!important;
    right:0!important;
  }
}

/* v5.40 — Apple-style full-screen mobile navigation */
body.menu-open{
  overflow:hidden!important;
}
@media(max-width:1100px){
  .site-header.is-menu-open{
    box-shadow:none!important;
  }
  .site-header.is-menu-open .header-inner{
    background:transparent!important;
  }
  .site-header .menu-toggle{
    position:relative!important;
    z-index:2300!important;
    transition:background-color 180ms ease, border-color 180ms ease, color 180ms ease!important;
  }
  .site-header .menu-toggle[aria-expanded="true"]{
    position:fixed!important;
    top:18px!important;
    right:22px!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:transparent!important;
  }
  .site-header .menu-toggle[aria-expanded="true"]::before,
  .site-header .menu-toggle[aria-expanded="true"]::after{
    content:""!important;
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    top:21px!important;
    height:2px!important;
    background:var(--ink)!important;
    transform-origin:center!important;
  }
  .site-header .menu-toggle[aria-expanded="true"]::before{
    transform:rotate(45deg)!important;
  }
  .site-header .menu-toggle[aria-expanded="true"]::after{
    transform:rotate(-45deg)!important;
  }
  .site-header .nav{
    position:fixed!important;
    inset:0!important;
    z-index:2200!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:86px clamp(34px,8vw,76px) 38px!important;
    border:0!important;
    background:var(--bg)!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-10px)!important;
    transition:opacity 220ms ease, transform 260ms var(--motion-ease-soft), visibility 0s linear 260ms!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .site-header .nav.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    padding:86px clamp(34px,8vw,76px) 38px!important;
    border:0!important;
    box-shadow:none!important;
    transition:opacity 220ms ease, transform 260ms var(--motion-ease-soft), visibility 0s!important;
  }
  .site-header .nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:0!important;
    height:auto!important;
    padding:10px 0!important;
    border:0!important;
    background:transparent!important;
    color:rgba(31,31,29,.88)!important;
    font-family:var(--font-cn)!important;
    font-size:clamp(34px,7.4vw,50px)!important;
    font-weight:720!important;
    line-height:1.12!important;
    letter-spacing:0!important;
  }
  .site-header .nav a.active{
    background:transparent!important;
    border:0!important;
    color:var(--ink)!important;
    font-weight:820!important;
  }
  .site-header .nav a.active::after,
  .site-header .nav a:hover::after{
    display:none!important;
  }
  .site-header .nav a:first-child{
    margin-top:0!important;
  }
  .site-header .nav a[href*="products"]::after{
    content:"›"!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    background:none!important;
    font-family:var(--font-en)!important;
    font-size:.78em!important;
    font-weight:400!important;
    color:rgba(31,31,29,.72)!important;
  }
  .site-header .mobile-language-switch{
    margin-top:auto!important;
    padding-top:28px!important;
    border-top:0!important;
    display:flex!important;
    gap:16px!important;
    font-size:16px!important;
    color:var(--muted)!important;
  }
  .site-header .mobile-language-switch a,
  .site-header .mobile-language-switch .language-current{
    min-height:36px!important;
    font-size:16px!important;
  }
}
@media(max-width:520px){
  .site-header .nav,
  .site-header .nav.open{
    padding:76px 34px 32px!important;
  }
  .site-header .nav a{
    font-size:clamp(30px,9vw,42px)!important;
    padding:9px 0!important;
  }
}

/* v5.41 — Full-screen menu detail pass for mobile previews */
@media(max-width:1280px){
  body.menu-open{
    overflow:hidden!important;
    height:100vh!important;
  }
  body.menu-open .site-header{
    position:fixed!important;
    inset:0 auto auto 0!important;
    width:100%!important;
    height:0!important;
    min-height:0!important;
    border:0!important;
    background:transparent!important;
  }
  body.menu-open .site-header .header-inner{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:0!important;
    padding:0!important;
    background:transparent!important;
  }
  body.menu-open .site-header .brand,
  body.menu-open .site-header > .header-inner > .header-right{
    display:none!important;
  }
  body.menu-open .site-header .menu-toggle[aria-expanded="true"]{
    position:fixed!important;
    top:18px!important;
    right:22px!important;
    z-index:2600!important;
  }
  body.menu-open .site-header .nav.open{
    position:fixed!important;
    inset:0!important;
    z-index:2500!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:clamp(86px,10vh,116px) clamp(34px,8vw,82px) 34px!important;
    background:var(--bg)!important;
    overflow-y:auto!important;
  }
  body.menu-open .site-header .nav.open > a{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:8px 0!important;
    border:0!important;
    background:transparent!important;
    color:rgba(31,31,29,.9)!important;
    font-size:clamp(31px,7.2vw,46px)!important;
    line-height:1.14!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
  }
  body.menu-open .site-header .nav.open > a[href*="about"]{
    font-size:clamp(26px,6.1vw,38px)!important;
  }
  body.menu-open .site-header .nav.open > a[href*="journal"]{
    font-size:clamp(29px,6.7vw,42px)!important;
  }
  body.menu-open .site-header .nav.open > a[href*="products"]::after{
    margin-left:16px!important;
  }
  body.menu-open .site-header .mobile-language-switch{
    margin-top:auto!important;
    padding-top:28px!important;
    padding-bottom:2px!important;
  }
}
@media(max-width:520px){
  body.menu-open .site-header .nav.open{
    padding:78px 34px 30px!important;
  }
  body.menu-open .site-header .nav.open > a{
    font-size:clamp(29px,8.3vw,39px)!important;
    padding:8px 0!important;
  }
  body.menu-open .site-header .nav.open > a[href*="about"]{
    font-size:clamp(23px,6.7vw,31px)!important;
  }
}

/* v5.42 — Apple-style menu detail: consistent type, hover-only arrow, fixed language */
@media(max-width:1280px){
  body.menu-open main,
  body.menu-open footer{
    visibility:hidden!important;
  }
  body.menu-open .site-header .nav.open{
    padding:clamp(86px,10vh,112px) clamp(34px,8vw,82px) 104px!important;
  }
  body.menu-open .site-header .nav.open > a,
  body.menu-open .site-header .nav.open > a[href*="about"],
  body.menu-open .site-header .nav.open > a[href*="journal"]{
    font-size:clamp(32px,7.2vw,46px)!important;
    line-height:1.16!important;
    font-weight:760!important;
    letter-spacing:0!important;
    max-width:100%!important;
  }
  body.menu-open .site-header .nav.open > a[href*="about"]{
    white-space:nowrap!important;
    font-size:clamp(27px,5.9vw,40px)!important;
  }
  body.menu-open .site-header .nav.open > a::after{
    content:"›"!important;
    display:block!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin-left:18px!important;
    background:none!important;
    font-family:var(--font-en)!important;
    font-size:.76em!important;
    font-weight:400!important;
    color:rgba(31,31,29,.68)!important;
    opacity:0!important;
    transform:translateX(-8px)!important;
    transition:opacity 180ms ease, transform 180ms ease!important;
  }
  body.menu-open .site-header .nav.open > a:hover::after,
  body.menu-open .site-header .nav.open > a:focus-visible::after{
    opacity:1!important;
    transform:translateX(0)!important;
  }
  body.menu-open .site-header .mobile-language-switch{
    position:fixed!important;
    left:clamp(34px,8vw,82px)!important;
    right:auto!important;
    bottom:calc(28px + env(safe-area-inset-bottom, 0px))!important;
    z-index:2550!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:14px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    color:var(--muted)!important;
    font-family:var(--font-en)!important;
    font-size:15px!important;
    line-height:1!important;
  }
  body.menu-open .site-header .mobile-language-switch a,
  body.menu-open .site-header .mobile-language-switch .language-current{
    min-height:32px!important;
    height:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    color:inherit!important;
    font-size:15px!important;
    line-height:1!important;
  }
  body.menu-open .site-header .mobile-language-switch a::after{
    content:""!important;
    display:none!important;
  }
  body.menu-open .site-header .mobile-language-switch .divider{
    display:block!important;
    width:1px!important;
    height:18px!important;
    background:rgba(31,31,29,.24)!important;
  }
}
@media(max-width:520px){
  body.menu-open .site-header .nav.open{
    padding:78px 34px 96px!important;
  }
  body.menu-open .site-header .nav.open > a,
  body.menu-open .site-header .nav.open > a[href*="journal"]{
    font-size:clamp(30px,8.3vw,39px)!important;
    line-height:1.17!important;
  }
  body.menu-open .site-header .nav.open > a[href*="about"]{
    font-size:clamp(24px,6.6vw,31px)!important;
  }
  body.menu-open .site-header .mobile-language-switch{
    left:34px!important;
    bottom:calc(26px + env(safe-area-inset-bottom, 0px))!important;
  }
}
@media(hover:none){
  body.menu-open .site-header .nav.open > a::after{
    opacity:0!important;
  }
}

/* v5.43 — Keep all mobile menu labels aligned and inside the viewport */
@media(max-width:1280px){
  body.menu-open .site-header .nav.open > a,
  body.menu-open .site-header .nav.open > a[href*="about"],
  body.menu-open .site-header .nav.open > a[href*="journal"]{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
    gap:18px!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
    font-size:clamp(32px,7.2vw,46px)!important;
  }
  body.menu-open .site-header .nav.open > a::after{
    margin-left:0!important;
  }
}
@media(max-width:520px){
  body.menu-open .site-header .nav.open > a,
  body.menu-open .site-header .nav.open > a[href*="about"],
  body.menu-open .site-header .nav.open > a[href*="journal"]{
    font-size:clamp(30px,8.3vw,39px)!important;
  }
}

/* v5.44 — Final mobile menu lock: single column and calmer type scale */
@media(max-width:1280px){
  body.menu-open .site-header #site-navigation.nav.open{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:0!important;
    padding:clamp(84px,10vh,108px) clamp(34px,8vw,76px) 96px!important;
  }
  body.menu-open .site-header #site-navigation.nav.open > a,
  body.menu-open .site-header #site-navigation.nav.open > a[href*="about"],
  body.menu-open .site-header #site-navigation.nav.open > a[href*="journal"]{
    position:relative!important;
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:7px 0!important;
    margin:0!important;
    font-size:clamp(28px,6.3vw,38px)!important;
    line-height:1.18!important;
    font-weight:760!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    transform:none!important;
  }
  body.menu-open .site-header #site-navigation.nav.open > a::after{
    position:absolute!important;
    left:calc(100% + 16px)!important;
    right:auto!important;
    top:50%!important;
    margin:0!important;
    transform:translate(-8px,-50%)!important;
  }
  body.menu-open .site-header #site-navigation.nav.open > a:hover::after,
  body.menu-open .site-header #site-navigation.nav.open > a:focus-visible::after{
    transform:translate(0,-50%)!important;
  }
  body.menu-open .site-header #site-navigation.nav.open > .mobile-language-switch{
    position:fixed!important;
    left:clamp(34px,8vw,76px)!important;
    bottom:calc(28px + env(safe-area-inset-bottom, 0px))!important;
  }
}
@media(max-width:520px){
  body.menu-open .site-header #site-navigation.nav.open{
    padding:76px 34px 88px!important;
  }
  body.menu-open .site-header #site-navigation.nav.open > a,
  body.menu-open .site-header #site-navigation.nav.open > a[href*="about"],
  body.menu-open .site-header #site-navigation.nav.open > a[href*="journal"]{
    font-size:clamp(26px,7.2vw,34px)!important;
    padding:7px 0!important;
  }
  body.menu-open .site-header #site-navigation.nav.open > .mobile-language-switch{
    left:34px!important;
    bottom:calc(25px + env(safe-area-inset-bottom, 0px))!important;
  }
}

/* v5.45 — Mobile homepage first-screen polish */
@media(max-width:760px){
  body:not(.menu-open) .site-header{
    background:rgba(252,251,248,.98)!important;
    border-bottom:1px solid var(--line-soft, var(--line))!important;
    box-shadow:none!important;
  }
  body:not(.menu-open) .site-header .header-inner{
    width:100%!important;
    max-width:none!important;
    min-height:68px!important;
    padding:10px 22px!important;
    grid-template-columns:minmax(0,1fr) 64px!important;
    gap:14px!important;
  }
  body:not(.menu-open) .site-header .brand-main{
    font-size:clamp(24px,7.4vw,34px)!important;
    letter-spacing:.12em!important;
    line-height:1!important;
  }
  body:not(.menu-open) .site-header .brand-sub{
    margin-top:8px!important;
    font-size:12px!important;
    letter-spacing:.08em!important;
    line-height:1.2!important;
  }
  body:not(.menu-open) .site-header .menu-toggle{
    width:64px!important;
    min-width:64px!important;
    height:52px!important;
    min-height:52px!important;
    font-size:15px!important;
    background:rgba(252,251,248,.72)!important;
  }
  .v48-hero.v48-hero-carousel{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    height:clamp(610px,76vh,700px)!important;
    min-height:610px!important;
    margin:0 auto 74px!important;
    background:#f4f1ea!important;
    overflow:hidden!important;
  }
  .v48-hero.v48-hero-carousel::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,
      rgba(252,251,248,.88) 0%,
      rgba(252,251,248,.70) 33%,
      rgba(252,251,248,.30) 58%,
      rgba(252,251,248,.06) 100%)!important;
  }
  .v48-hero.v48-hero-carousel .hero-slide{
    position:absolute!important;
    inset:0!important;
    height:100%!important;
    min-height:0!important;
    background-position:center bottom!important;
  }
  .v48-hero-copy{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    z-index:3!important;
    width:auto!important;
    max-width:none!important;
    padding:32px 24px 0!important;
    transform:none!important;
  }
  .v48-hero .kicker{
    margin:0 0 18px!important;
    font-size:11px!important;
    line-height:1.42!important;
    letter-spacing:.20em!important;
    color:rgba(31,31,29,.64)!important;
  }
  .v48-hero h1{
    max-width:9.8em!important;
    margin:0 0 16px!important;
    font-size:clamp(34px,9.4vw,44px)!important;
    line-height:1.12!important;
    letter-spacing:-.035em!important;
  }
  .v48-hero .lead{
    max-width:22em!important;
    margin:0 0 22px!important;
    font-size:15.5px!important;
    line-height:1.78!important;
    color:rgba(31,31,29,.72)!important;
  }
  .v48-actions{
    width:100%!important;
    max-width:none!important;
    gap:8px!important;
  }
  .v48-btn{
    height:48px!important;
    width:100%!important;
    padding:0 18px!important;
    font-size:15px!important;
    background:rgba(252,251,248,.78)!important;
    border-color:rgba(31,31,29,.22)!important;
  }
  .v48-btn.dark{
    background:var(--ink)!important;
    border-color:var(--ink)!important;
  }
  .hero-carousel-dots{
    right:20px!important;
    bottom:18px!important;
  }
  .v48-products{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    padding-top:0!important;
    padding-bottom:54px!important;
  }
  .v48-section-copy .meta{
    display:block!important;
    margin-bottom:20px!important;
  }
  .v48-section-copy h2{
    max-width:11em!important;
    margin:0 0 18px!important;
    font-size:clamp(28px,7.8vw,36px)!important;
    line-height:1.2!important;
  }
  .v48-section-copy p{
    font-size:15.5px!important;
    line-height:1.85!important;
  }
}
@media(max-width:420px){
  body:not(.menu-open) .site-header .brand-main{
    font-size:clamp(22px,7vw,29px)!important;
    letter-spacing:.10em!important;
  }
  body:not(.menu-open) .site-header .brand-sub{
    font-size:11px!important;
  }
  .v48-hero.v48-hero-carousel{
    height:650px!important;
    min-height:650px!important;
  }
  .v48-hero h1{
    font-size:clamp(32px,9vw,38px)!important;
  }
}

/* v5.46 — Mobile hero CTA buttons use compact consistent width */
@media(max-width:760px){
  .v48-hero .v48-actions{
    width:auto!important;
    max-width:none!important;
    align-items:flex-start!important;
  }
  .v48-hero .v48-btn{
    width:clamp(220px,64vw,300px)!important;
    max-width:100%!important;
    min-width:0!important;
    height:48px!important;
    justify-content:space-between!important;
  }
}
@media(max-width:420px){
  .v48-hero .v48-btn{
    width:clamp(200px,66vw,270px)!important;
  }
}

/* v5.47 — Editorial contact section, lighter than card grid */
.home-contact.home-contact-v517{
  padding-top:clamp(64px,7vw,96px)!important;
  padding-bottom:clamp(72px,8vw,112px)!important;
}
.home-contact-v517 .home-contact-head{
  margin-bottom:clamp(34px,4vw,52px)!important;
}
.home-contact-v517 .home-contact-head .meta{
  color:var(--muted)!important;
  font-size:13px!important;
  letter-spacing:.06em!important;
  text-transform:none!important;
  font-weight:520!important;
}
.home-contact-v517 .home-contact-head h2{
  max-width:760px!important;
  font-size:clamp(30px,3.2vw,48px)!important;
  line-height:1.18!important;
  letter-spacing:-.04em!important;
}
.home-contact-v517 .home-contact-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--line-soft, var(--line))!important;
  border-bottom:1px solid var(--line-soft, var(--line))!important;
}
.home-contact-v517 .home-contact-card{
  position:relative!important;
  min-height:280px!important;
  padding:30px 28px 28px!important;
  border:0!important;
  border-right:1px solid var(--line-soft, var(--line))!important;
  background:transparent!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:0!important;
}
.home-contact-v517 .home-contact-card:last-child{
  border-right:0!important;
}
.home-contact-v517 .home-contact-card:hover{
  background:rgba(247,245,239,.36)!important;
  border-color:var(--line-soft, var(--line))!important;
  transform:none!important;
  box-shadow:none!important;
}
.home-contact-v517 .home-contact-tag{
  color:var(--provence-blue)!important;
  font-size:11px!important;
  letter-spacing:.22em!important;
  font-weight:800!important;
}
.home-contact-v517 .home-contact-card strong{
  margin:26px 0 12px!important;
  font-size:clamp(20px,1.65vw,26px)!important;
  line-height:1.28!important;
  letter-spacing:-.035em!important;
}
.home-contact-v517 .home-contact-card p{
  min-height:5.3em!important;
  margin:0!important;
  color:var(--muted)!important;
  font-size:15px!important;
  line-height:1.82!important;
}
.home-contact-v517 .contact-placeholder{
  min-height:0!important;
  margin:24px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:block!important;
  text-align:left!important;
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1.65!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
}
.home-contact-v517 .contact-placeholder::before{
  content:""!important;
  display:block!important;
  width:36px!important;
  height:1px!important;
  margin:0 0 16px!important;
  background:rgba(31,31,29,.28)!important;
}
.home-contact-v517 .home-contact-card em{
  margin-top:auto!important;
  padding-top:26px!important;
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:650!important;
}
@media(max-width:980px){
  .home-contact-v517 .home-contact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .home-contact-v517 .home-contact-card{
    border-bottom:1px solid var(--line-soft, var(--line))!important;
  }
  .home-contact-v517 .home-contact-card:nth-child(2n){
    border-right:0!important;
  }
  .home-contact-v517 .home-contact-card:nth-last-child(-n+2){
    border-bottom:0!important;
  }
}
@media(max-width:620px){
  .home-contact.home-contact-v517{
    width:calc(100% - 36px)!important;
    max-width:calc(100% - 36px)!important;
    padding-top:54px!important;
    padding-bottom:74px!important;
  }
  .home-contact-v517 .home-contact-head h2{
    font-size:clamp(28px,8vw,36px)!important;
  }
  .home-contact-v517 .home-contact-grid{
    grid-template-columns:1fr!important;
  }
  .home-contact-v517 .home-contact-card,
  .home-contact-v517 .home-contact-card:nth-child(2n),
  .home-contact-v517 .home-contact-card:nth-last-child(-n+2){
    min-height:0!important;
    padding:28px 0!important;
    border-right:0!important;
    border-bottom:1px solid var(--line-soft, var(--line))!important;
  }
  .home-contact-v517 .home-contact-card:last-child{
    border-bottom:0!important;
  }
  .home-contact-v517 .home-contact-card p{
    min-height:0!important;
  }
  .home-contact-v517 .contact-placeholder{
    margin-top:18px!important;
  }
  .home-contact-v517 .home-contact-card em{
    margin-top:0!important;
    padding-top:18px!important;
  }
}
