:root{
  --deep:#1E2D4F;--deeper:#16213B;--accent:#8E3D58;--accent-on-dark:#F2B8C9;
  --tint:#E3DEEC;--ground:#F6F3F7;--card:#FFFFFF;
  --text:#23283A;--soft:#3A4160;--muted:#474D62;--on-navy:#E6E8F0;--line:rgba(30,45,79,.16);
  --light:#F6F3F7;--on-dark:rgba(246,243,247,.86);--line-dark:rgba(246,243,247,.22);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --pad:clamp(20px,5vw,48px);--gap:clamp(56px,8vw,104px);--r:20px;--head:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 12px)}
body{margin:0;background:var(--ground);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p,h1,h2,h3,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.dark :focus-visible,.format :focus-visible{outline-color:var(--accent-on-dark)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:40;background:var(--card);padding:12px 16px;border-radius:8px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:var(--pad)}
.narrow{max-width:760px}
.sec{padding-top:var(--gap)}
.it{font-style:italic;font-weight:500}
.h2,.final h2{font-family:var(--serif);font-size:clamp(36px,4.8vw,58px);line-height:1.05;font-weight:600;color:var(--deep);text-wrap:balance}
.eyebrow{display:block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);line-height:1.5}
.muted{color:var(--muted)}
.lead{max-width:680px;font-size:18px;line-height:1.6;font-weight:500;color:var(--soft)}
@media (max-width:719px){.lead{font-size:17px}}
.stack{display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}
.head{display:flex;flex-direction:column;gap:10px}

/* section bands: light, white, lavender, dark */
.band{padding-block:var(--gap)}
.band.white{background:var(--card)}
.band.tint{background:var(--tint)}
.band.dark{background:var(--deep);color:var(--light)}
.band.darker{background:var(--deeper);color:var(--light)}
.tile{background:var(--card);border-radius:var(--r);padding:clamp(22px,3vw,32px)}
.white .tile{background:var(--ground)}

/* buttons and links */
.btn{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 30px;border-radius:14px;font-size:16px;font-weight:600;line-height:1.25;text-decoration:none;text-align:center;background:var(--deep);color:var(--light);transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}
.btn:hover{background:#2B3E69}
.btn:active{transform:scale(.98)}
.btn.light{background:var(--light);color:var(--deep)}
.btn.light:hover{background:#FFFFFF;box-shadow:0 0 0 3px rgba(246,243,247,.35)}
.btn.sm{min-height:44px;padding:0 18px;border-radius:12px;font-size:15px}
.btn .ico{flex:0 0 auto;width:20px;height:20px;fill:currentColor}
.tlink{min-height:48px;display:inline-flex;align-items:center;font-size:16px;font-weight:600;color:var(--deep);text-underline-offset:5px}
.tlink:hover,.alink:hover,.mail:hover,.foot a:hover,.steps h3 a:hover{text-decoration-thickness:2px}
.alink{color:var(--accent);font-weight:600;text-underline-offset:4px}
.alt{font-size:15px;color:var(--muted)}
.mail{display:inline-flex;align-items:center;min-height:44px;color:var(--deep);font-weight:600;text-underline-offset:4px;overflow-wrap:anywhere}

/* header: sticky, anchor menu, booking button */
.top{position:sticky;top:0;z-index:30;background:rgba(246,243,247,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease}
.top.scrolled{border-bottom-color:var(--line)}
.top-in{min-height:var(--head);display:flex;align-items:center;gap:12px}
.brand{margin-right:auto;min-height:44px;display:flex;align-items:center;font-family:var(--serif);font-size:24px;line-height:1.1;font-weight:600;color:var(--deep);text-decoration:none;white-space:nowrap}
.menu{display:flex;align-items:center}
.menu a{min-height:44px;display:flex;align-items:center;padding:0 10px;border-radius:10px;font-size:15px;font-weight:600;color:var(--soft);text-decoration:none;white-space:nowrap}
.menu a:hover{color:var(--deep);background:var(--tint)}
.lang{display:flex;align-items:center;font-size:14px;font-weight:600;letter-spacing:.08em}
.lang a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--muted);text-decoration:none}
.lang a:hover{color:var(--deep);background:var(--tint)}
.lang a[aria-current]{color:var(--deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.menu-btn{display:none;width:44px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;padding:0;border:0;border-radius:12px;background:var(--tint);color:var(--deep);cursor:pointer}
.menu-btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.menu-btn .x,.menu-btn[aria-expanded="true"] .bars{display:none}
.menu-btn[aria-expanded="true"] .x{display:block}
@media (max-width:1179px){
  .menu-btn{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;padding:8px var(--pad) 20px;background:var(--ground);border-bottom:1px solid var(--line);box-shadow:0 18px 30px -24px rgba(30,45,79,.5)}
  .menu.open{display:flex}
  .menu a{min-height:52px;padding:0 4px;border-radius:0;border-top:1px solid var(--line);font-size:17px}
  .menu a:first-child{border-top:0}
}
@media (max-width:719px){
  :root{--head:60px}
  .brand{font-size:21px}
  .top .btn.sm{display:none}
  .top-in{gap:4px}
}

/* hero */
.hero{display:flex;flex-wrap:wrap-reverse;align-items:center;gap:clamp(28px,6vw,80px);padding-top:clamp(12px,3vw,40px)}
.hero-text{flex:1.2 1 380px;min-width:0;display:flex;flex-direction:column;gap:20px}
.hero-title{font-family:var(--serif);font-size:clamp(48px,8vw,96px);line-height:.98;font-weight:600;letter-spacing:-.01em;color:var(--deep);overflow-wrap:anywhere}
.hero-title .eyebrow{margin-bottom:20px}
.hero-p{max-width:500px;font-size:clamp(17px,1.7vw,20px);color:var(--soft)}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;margin-top:4px}
.hero-cta .btn{flex:1 1 260px;max-width:360px}
.hero-photo{position:relative;flex:1 1 260px;min-width:0;max-width:380px;margin:0 auto;padding:0 16px 16px 0}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px;box-shadow:16px 16px 0 0 var(--tint)}
.badge{position:absolute;left:14px;bottom:30px;display:inline-flex;align-items:center;min-height:34px;padding:6px 14px;border-radius:999px;background:var(--deep);color:var(--light);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}

/* hero stats as cards */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;padding-top:clamp(36px,5vw,64px)}
.facts li{padding:16px 20px;border-radius:16px;background:var(--card);display:flex;flex-direction:column;gap:4px}
.facts b{font-family:var(--serif);font-size:clamp(26px,2.5vw,32px);line-height:1.1;font-weight:600;font-variant-numeric:lining-nums;color:var(--deep);white-space:nowrap}
.facts .loc b{font-size:clamp(22px,2vw,26px);line-height:1.35}
.facts span{font-size:17px;line-height:1.4;color:var(--soft)}
@media (max-width:899px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:479px){
  .facts li{padding:14px 14px}
  .facts b{font-size:24px}
  .facts .loc b{font-size:18px;line-height:1.75}
  .facts span{font-size:16px}
}

/* about: dark band, portrait left, text right */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,88px);align-items:center}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:24px}
.about-text{display:flex;flex-direction:column;gap:1.1em;font-size:18px}
.about-text .h2{color:var(--light)}
.about-text p{font-size:18px;line-height:1.6;font-weight:400;color:var(--on-navy)}
@media (max-width:719px){.about-text,.about-text p{font-size:16px}}
.about-text .key{margin-block:6px;padding-left:20px;border-left:2px solid var(--accent-on-dark);font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.6vw,30px);line-height:1.3;font-weight:500;color:var(--accent-on-dark)}
.pills{display:flex;flex-wrap:wrap;gap:12px}
.pills li{display:inline-flex;align-items:baseline;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.10);font-family:var(--sans);font-size:17px;line-height:1.35;font-weight:400;color:var(--on-navy)}
.pills b{font-family:var(--sans);font-weight:700;font-variant-numeric:lining-nums;color:#FFFFFF}
@media (max-width:719px){.pills li{font-size:16px;padding:11px 18px}}
@media (max-width:799px){
  .about{grid-template-columns:1fr}
  .about-photo{max-width:320px}
}

/* quote band */
.band.quote-band{padding-block:clamp(40px,6vw,72px)}
.quote{max-width:900px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.quote::before{content:"\201C";height:.5em;margin-bottom:6px;font-family:var(--serif);font-size:120px;line-height:.9;font-weight:600;color:rgba(255,255,255,.25)}
.quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(28px,4vw,44px);line-height:1.2;font-weight:500;color:var(--light)}
.quote figcaption{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark)}

/* approach cards */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cols article{display:flex;flex-direction:column}
.cols .eyebrow{margin-bottom:12px}
.cols p+p{margin-top:1em}
@media (max-width:899px){.cols{grid-template-columns:1fr}}

/* requests */
.panel{border-radius:24px;padding:clamp(28px,5vw,64px) clamp(20px,5vw,64px);display:flex;flex-direction:column;gap:clamp(20px,3vw,32px)}
.panel.card{background:var(--card)}
.panel.tint{background:var(--tint)}
.reqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,56px);border-top:1px solid var(--line)}
.reqs li{padding:15px 0;border-bottom:1px solid var(--line);line-height:1.35}
@media (max-width:719px){.reqs{grid-template-columns:1fr}}
.contact{display:flex;flex-direction:column;gap:2px}

/* what therapy gives */
.gives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.gives article{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:16px;align-items:start}
.num{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--tint);color:var(--deep);font-family:var(--sans);font-style:normal;font-size:20px;line-height:1;font-weight:700;font-variant-numeric:lining-nums tabular-nums}
.gives h3,.steps h3{font-size:22px;line-height:1.3;font-weight:700;color:var(--deep)}
.gives h3{padding-top:7px}
.gives p{font-size:17px;line-height:1.6;color:var(--soft);margin-top:6px}
.motto{max-width:720px;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.8vw,32px);line-height:1.3;font-weight:500;color:var(--deep)}
@media (max-width:719px){.gives{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(24px,4vw,56px)}
.steps li{display:flex;flex-direction:column;gap:10px}
.steps .num{background:var(--card)}
.steps p{font-size:17px;line-height:1.6;color:var(--soft)}
.steps p a{color:var(--deep);font-weight:600;text-underline-offset:4px}
.steps p a:hover{text-decoration-thickness:2px}
#first .lead{font-size:clamp(18px,1.6vw,20px)}
/* every step's description starts on the same line, whatever its title wraps to */
@media (min-width:800px){
  .steps{grid-template-rows:auto auto auto;row-gap:10px}
  .steps li{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:10px;align-content:start}
}
@media (max-width:799px){.steps{grid-template-columns:1fr}}

/* education + format */
.duo{display:flex;flex-wrap:wrap;gap:clamp(40px,5vw,72px)}
.edu{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:18px}
.rows li{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.rows li:last-child{border-bottom:1px solid var(--line)}
.rows .eyebrow{margin-bottom:2px}
.rows b{font-weight:600;line-height:1.4;color:var(--deep)}
.rows span{font-size:15px;line-height:1.5;color:var(--muted)}
.rows small{margin-top:2px;font-size:14px;line-height:1.45;font-style:italic;color:var(--muted)}
.price-col{flex:1.2 1 400px;min-width:0;display:flex;flex-direction:column;gap:16px}
.format{background:var(--deep);color:var(--light);border-radius:24px;padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:22px}
.format .h2{color:var(--light)}
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px}
.price b{font-family:var(--serif);font-size:clamp(56px,7vw,80px);line-height:.95;font-weight:600}
.price span{color:var(--on-dark)}
.format dl{font-size:16px;border-bottom:1px solid var(--line-dark)}
.format dl div{display:flex;flex-wrap:wrap;gap:2px 16px;padding:14px 0;border-top:1px solid var(--line-dark)}
.format dt{flex:0 0 150px;color:var(--on-dark)}
.format dd{flex:1 1 180px;font-weight:600}
.format .note{font-size:15px;line-height:1.55;color:var(--on-dark)}
.format .note b{font-weight:600;color:var(--light)}

/* faq */
.split{display:flex;flex-wrap:wrap;gap:20px clamp(32px,6vw,96px)}
.split>.h2{flex:0 1 260px}
.split>.col{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.faq-wrap{display:flex;flex-direction:column;align-items:center;gap:clamp(24px,3vw,40px)}
.faq-wrap>.h2{text-align:center}
.faq{width:100%;max-width:800px;display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--card);border-radius:var(--r)}
.faq summary{min-height:64px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:18px;line-height:1.35;font-weight:600;color:var(--deep);border-radius:var(--r)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:rgba(227,222,236,.45)}
.faq summary::after{content:"";flex:0 0 32px;height:32px;border-radius:50%;background:var(--tint) no-repeat center/14px 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 1v12M1 7h12' stroke='%231E2D4F' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.faq details[open] summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M1 7h12' stroke='%231E2D4F' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.faq details p{padding:0 22px 22px;max-width:720px;color:var(--soft)}

/* social cards with cover */
.social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.social a{position:relative;padding:12px 12px 24px;border-radius:var(--r);background:var(--ground);display:flex;flex-direction:column;gap:8px;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}
.social a:hover{background:var(--tint)}
.social img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;border-radius:var(--r);margin-bottom:10px}
.social b,.social span,.social i{margin-inline:12px}
.social b{font-family:var(--serif);font-size:30px;line-height:1.1;font-weight:600;color:var(--deep)}
.social span{font-size:16px;line-height:1.5;color:var(--muted)}
.social i{font-style:normal;margin-top:8px;font-size:15px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.social a:hover i{text-decoration-thickness:2px}
@media (max-width:719px){.social{grid-template-columns:1fr}}

/* articles list */
.alist article{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) 240px;gap:10px 40px;align-items:start;padding:26px 16px;margin-inline:-16px;border-top:1px solid var(--line);border-radius:4px;transition:background-color .15s ease}
.alist article:last-child{border-bottom:1px solid var(--line)}
.alist article:hover{background:var(--card)}
.alist article:focus-within{outline:3px solid var(--accent);outline-offset:-3px}
.alist .eyebrow{padding-top:8px}
.alist .body{display:flex;flex-direction:column;gap:8px}
.alist h3{font-family:var(--serif);font-size:clamp(26px,3vw,34px);line-height:1.15;font-weight:600;color:var(--deep)}
.alist h3 a{text-decoration:none}
.alist h3 a:focus-visible{outline:none}
.alist h3 a::after{content:"";position:absolute;inset:0}
.alist article:hover h3 a{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.alist p{max-width:620px;font-size:16px;line-height:1.55;color:var(--muted)}
.meta{font-size:14px!important;color:var(--muted)}
.alist .more{align-self:flex-start;min-height:32px;display:flex;align-items:center;font-size:15px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.thumb{position:relative;border-radius:var(--r);overflow:hidden;background:var(--tint)}
.thumb img{width:100%;aspect-ratio:3/2;object-fit:cover}
.thumb::after{content:"";position:absolute;inset:0;background:var(--deep);mix-blend-mode:soft-light;opacity:.35;pointer-events:none}
@media (max-width:899px){
  .alist article{grid-template-columns:minmax(0,1fr);gap:12px;margin-inline:0;padding-inline:0}
  .alist .thumb{order:-1}
  .alist .eyebrow{padding-top:0}
  .alist article:hover{background:transparent}
}

/* final */
.final{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.final p{max-width:480px;color:var(--soft)}
.final .btn{width:100%;max-width:380px}
.final .alt{margin-top:-6px}
.foot .in{padding-block:28px 36px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;font-size:14px;color:var(--muted)}
.foot nav{display:flex;flex-wrap:wrap;gap:0 24px}
.foot a{min-height:44px;display:flex;align-items:center;color:var(--soft);font-weight:600;text-underline-offset:4px}
main.final{padding-block:var(--gap)}
main>.next{padding-bottom:var(--gap)}

/* article page */
.post{display:flex;flex-direction:column;gap:18px;padding-top:clamp(16px,4vw,48px)}
.post .back{align-self:flex-start;min-height:44px;display:flex;align-items:center;font-size:15px;font-weight:600;color:var(--muted);text-underline-offset:4px}
.post .back:hover{color:var(--deep)}
.post h1{font-family:var(--serif);font-size:clamp(40px,6vw,68px);line-height:1.02;font-weight:600;letter-spacing:-.01em;color:var(--deep)}
.post .intro{padding-bottom:22px;border-bottom:1px solid var(--line);font-size:clamp(19px,2.1vw,22px);line-height:1.5;color:var(--soft)}
.post h2{margin-top:16px;font-family:var(--sans);font-size:clamp(22px,2.4vw,26px);line-height:1.3;font-weight:700;font-variant-numeric:lining-nums;color:var(--deep)}
.post>.eyebrow,.next .eyebrow{font-size:14px}
.post .tag{align-self:flex-start;margin-top:16px;padding:6px 12px;border-radius:6px;background:rgba(58,65,96,.08);font-size:15px;line-height:1.4;font-weight:700;color:var(--soft)}
.post .tag+h2{margin-top:-8px}
.post ul{padding-left:22px;list-style:disc;display:flex;flex-direction:column;gap:8px}
.post .em{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,28px);line-height:1.3;color:var(--deep)}
.post blockquote{margin-top:8px;padding:4px 0 4px 22px;border-left:2px solid var(--accent);font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.2vw,36px);line-height:1.22;font-weight:500;color:var(--deep)}
.post .voices{display:flex;flex-direction:column;gap:6px;font-family:var(--serif);font-style:italic;font-size:clamp(24px,3vw,32px);line-height:1.25;color:var(--deep)}
.post .ps{padding-top:18px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.author{background:var(--tint);border-radius:24px;padding:clamp(24px,4vw,40px);display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.author img{flex:0 0 auto;width:112px;height:112px;object-fit:cover;object-position:center 25%;border-radius:18px;border:2px solid #FFFFFF;box-shadow:0 6px 18px -8px rgba(30,45,79,.35)}
@media (max-width:719px){
  .author{column-gap:16px}
  .author img{width:80px;height:80px;border-radius:14px}
  .author b{font-size:24px}
}
.author .who{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:6px}
.author b{font-family:var(--serif);font-size:28px;line-height:1.1;font-weight:600;color:var(--deep)}
.author p{font-size:16px;line-height:1.5;color:var(--soft)}
.author .btn{flex:1 1 100%}
.next{display:flex;flex-direction:column;gap:4px}
.next .eyebrow{color:var(--muted)}
.next a{padding:18px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:26px;line-height:1.15;font-weight:600;color:var(--deep);text-decoration:none}
.next a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* sticky booking bar, phones only (the header carries it from 720px) */
.sticky{display:none}
@media (max-width:719px){
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(246,243,247,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--line);transition:transform .2s ease}
  .sticky.off{transform:translateY(110%)}
  .sticky .btn{min-height:56px;width:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.sticky,.alist article,.social a{transition:none}}
