/*
Theme Name: Sec LINE Salon
Theme URI: https://sec-hair-design.com/
Author: Sec. hair design
Description: 大人女性向け・完全貸し切りプライベートサロンのためのクワイエット・ラグジュアリーなテーマ。LINE予約・相談への導線、Before/After、ブログ、Googleアドセンス、MEO、AIO対応。文章と画像はすべて「外観 > カスタマイズ」から編集できます。
Version: 2.0.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: sec-line
*/

:root{
  --bg:#F9F8F6;--bg2:#F1EDE8;--bg3:#E8E2DA;
  --ink:#3B3835;--muted:#7B736C;--hair:#DDD6CD;--white:#fff;
  --gold:#B39B6E;--gold-d:#8F7A4F;
  --line:#2FA562;--line-d:#268C52;
  --en:"Cormorant Garamond","Times New Roman",Georgia,serif;
  --ja-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
  --sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --w:1080px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--bg);line-height:2.05;font-size:16px;letter-spacing:.06em;overflow-wrap:anywhere;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-d);text-underline-offset:.25em}
h1,h2,h3,h4{font-family:var(--ja-serif);font-weight:400;line-height:1.75;letter-spacing:.12em;margin:0 0 .7em;text-wrap:balance}
p{margin:0 0 1.4em}
ul,ol{margin:0 0 1.4em;padding-left:1.3em}
strong{font-weight:500}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:999}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.sec{padding:96px 0}
.sec--soft{background:var(--bg2)}
.sec--white{background:var(--white)}
@media(max-width:700px){.sec{padding:72px 0}}
.sec__head{text-align:center;margin-bottom:52px}
.sec__en{font-family:var(--en);font-size:15px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-d);margin:0 0 14px;line-height:1.4}
.sec__title{font-size:clamp(20px,5vw,28px);margin:0}
.sec__lead{color:var(--muted);margin:22px auto 0;max-width:600px;font-size:15px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:15px 36px;border-radius:4px;font-family:var(--sans);font-weight:400;letter-spacing:.1em;text-decoration:none;font-size:16px;line-height:1.4;border:1px solid transparent;transition:background .35s,color .35s,transform .35s,border-color .35s;text-align:center;cursor:pointer}
.btn--line{background:var(--line);color:#fff;box-shadow:0 10px 26px rgba(47,165,98,.24)}
.btn--line:hover,.btn--line:focus-visible{background:var(--line-d);transform:translateY(-2px)}
.btn--ghost{background:transparent;border-color:var(--gold);color:var(--gold-d)}
.btn--ghost:hover{background:var(--gold);color:#fff}
.btn--lg{min-height:64px;padding:18px 44px;font-size:17px}
.btn--block{display:flex;width:100%}
.cta-note{font-size:13px;color:var(--muted);margin:14px 0 0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(249,248,246,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{font-family:var(--en);font-size:22px;font-weight:500;letter-spacing:.14em;color:var(--ink);text-decoration:none;line-height:1.2}
.brand small{display:block;font-family:var(--sans);font-size:10px;font-weight:300;color:var(--muted);letter-spacing:.2em;margin-top:2px}
.brand img{max-height:40px;width:auto}
.gnav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.gnav a{color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.12em;display:block;padding:12px 0}
.gnav a:hover{color:var(--gold-d)}
.header-cta{min-height:44px;padding:8px 22px;font-size:13px}
.nav-toggle{display:none;background:none;border:0;width:48px;height:48px;padding:12px;cursor:pointer;margin-right:-8px}
.nav-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:transform .3s}
@media(max-width:900px){
  .nav-toggle{display:block}
  .gnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--hair);padding:8px 24px 20px;box-shadow:0 20px 30px rgba(59,56,53,.06)}
  .gnav.is-open{display:block}
  .gnav ul{flex-direction:column;gap:0}
  .gnav a{padding:17px 0;border-bottom:1px solid var(--hair);font-size:15px}
  .header-cta{display:none}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100svh - 68px);min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;text-align:center;padding:80px 0;overflow:hidden}
@supports(height:100svh){.hero{min-height:calc(100svh - 68px)}}
.hero--noimg{background:linear-gradient(180deg,var(--bg2),var(--bg) 85%)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,32,29,.38),rgba(35,32,29,.56))}
.hero__in{position:relative;z-index:1;max-width:760px}
.hero__eyebrow{font-family:var(--en);font-size:15px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-d);margin:0 0 26px;line-height:1.4}
.hero__title{font-size:clamp(24px,6.6vw,40px);line-height:1.9;letter-spacing:.14em;margin:0 0 26px}
.hero__lead{color:var(--muted);max-width:560px;margin:0 auto 30px;font-size:15px}
.hero__badges{list-style:none;padding:0;margin:0 0 38px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center}
.hero__badges li{font-size:13px;letter-spacing:.14em;color:var(--ink);position:relative;padding-left:16px}
.hero__badges li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:1px;background:var(--gold)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.hero--img .hero__eyebrow{color:#e9dcc0}
.hero--img .hero__title,.hero--img .hero__lead,.hero--img .hero__badges li{color:#fff}
.hero--img .hero__lead{color:rgba(255,255,255,.9)}
.hero--img .btn--ghost{border-color:rgba(255,255,255,.8);color:#fff}
.hero--img .btn--ghost:hover{background:#fff;color:var(--ink)}
.hero--img .cta-note{color:rgba(255,255,255,.8)}
.hero__scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-family:var(--en);font-size:12px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.hero__scroll::after{content:"";width:1px;height:38px;background:currentColor;animation:sl-scroll 2.4s var(--ease) infinite;transform-origin:top}
.hero--img .hero__scroll{color:rgba(255,255,255,.8)}
@keyframes sl-scroll{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@media(max-width:700px){.hero__scroll{display:none}}

/* ---------- introduction ---------- */
.worry-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center;max-width:960px;margin:0 auto}
.worry-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.worry{max-width:720px;margin:0 auto;list-style:none;padding:0}
.worry-wrap .worry{max-width:none;margin:0}
.worry li{position:relative;padding:20px 0 20px 40px;border-bottom:1px solid var(--hair);font-size:15px}
.worry li:first-child{border-top:1px solid var(--hair)}
.worry li::before{content:"";position:absolute;left:6px;top:2.05em;width:14px;height:1px;background:var(--gold)}
.worry-after{text-align:center;margin:44px auto 26px;font-family:var(--ja-serif);font-size:clamp(16px,4vw,19px);line-height:2.1;max-width:640px}
@media(max-width:860px){.worry-wrap{grid-template-columns:1fr;gap:28px}.worry-img img{aspect-ratio:16/10}}

/* ---------- features ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:var(--white);border:1px solid var(--hair);padding:0 28px 38px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(59,56,53,.04)}
.card__img{margin:0 -28px 30px;overflow:hidden}
.card__img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card__no{font-family:var(--en);font-size:40px;color:var(--gold);line-height:1;margin:38px 0 14px;letter-spacing:.06em}
.card__img + .card__no{margin-top:0}
.card h3{font-size:17px;margin-bottom:.9em}
.card p{margin:0;color:var(--muted);font-size:14.5px}
@media(max-width:860px){.grid3{grid-template-columns:1fr}}

/* ---------- before / after ---------- */
.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 28px;max-width:900px;margin:0 auto}
.ba{margin:0}
.ba__stage{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg3);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__img--after{clip-path:inset(0 0 0 var(--p,50%))}
.ba__tag{position:absolute;top:14px;font-family:var(--en);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#fff;background:rgba(59,56,53,.55);padding:3px 12px;pointer-events:none;line-height:1.7}
.ba__tag--b{left:14px}.ba__tag--a{right:14px}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--p,50%);width:1px;background:#fff;pointer-events:none;box-shadow:0 0 0 1px rgba(59,56,53,.12)}
.ba__handle::after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;color:var(--gold-d);font-size:11px;letter-spacing:0;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(59,56,53,.22)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.ba figcaption{padding-top:16px;font-size:14px}
.ba figcaption strong{display:block;font-family:var(--ja-serif);font-size:16px;font-weight:400;letter-spacing:.12em;margin-bottom:2px}
.ba figcaption span{color:var(--muted);font-size:13.5px}
.ba-note{text-align:center;color:var(--muted);font-size:12.5px;margin:36px 0 0}
@media(max-width:700px){.ba-grid{grid-template-columns:1fr;gap:44px}}

/* ---------- menu ---------- */
.menu-banner{max-width:780px;margin:0 auto 44px}
.menu-banner img{width:100%;aspect-ratio:12/5;object-fit:cover}
.menu-group{max-width:780px;margin:0 auto 46px}
.menu-group h3{font-family:var(--en);font-size:19px;letter-spacing:.2em;color:var(--gold-d);border-bottom:1px solid var(--gold);padding-bottom:10px;margin-bottom:6px}
.menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid var(--hair)}
.menu-item__name{font-family:var(--ja-serif);font-size:16px;margin:0;letter-spacing:.1em;line-height:1.8}
.menu-item__desc{font-size:13px;color:var(--muted);margin:4px 0 0;line-height:1.9}
.menu-item__price{font-family:var(--en);font-size:22px;white-space:nowrap;letter-spacing:.08em;font-weight:500}
.menu-note{max-width:780px;margin:0 auto;font-size:12.5px;color:var(--muted)}

/* ---------- owner ---------- */
.owner{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;max-width:940px;margin:0 auto}
.owner__img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.owner__role{font-family:var(--en);font-size:14px;letter-spacing:.2em;color:var(--gold-d);margin:0 0 6px}
.owner__name{font-size:26px;letter-spacing:.2em;margin-bottom:1em}
.owner__msg{font-family:var(--ja-serif);font-size:clamp(16px,4vw,19px);line-height:2.2;border-left:1px solid var(--gold);padding-left:22px;margin:0 0 28px}
.owner p{font-size:14.5px;color:var(--muted)}
.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:0}
.tags li{border:1px solid var(--hair);padding:2px 16px;font-size:12.5px;letter-spacing:.1em;background:var(--white)}
@media(max-width:800px){.owner{grid-template-columns:1fr;gap:32px}.owner__img{max-width:360px}}

/* ---------- flow ---------- */
.flow{max-width:700px;margin:0 auto;list-style:none;padding:0;counter-reset:f}
.flow li{position:relative;padding:0 0 34px 76px;counter-increment:f}
.flow li::before{content:"0" counter(f);position:absolute;left:0;top:-4px;font-family:var(--en);font-size:32px;color:var(--gold);letter-spacing:.06em}
.flow li::after{content:"";position:absolute;left:14px;top:44px;bottom:6px;width:1px;background:var(--hair)}
.flow li:last-child::after{display:none}
.flow h3{font-size:16px;margin:0 0 4px}
.flow p{margin:0;color:var(--muted);font-size:14.5px}

/* ---------- facts (AIO) ---------- */
.facts{max-width:820px;margin:0 auto;background:var(--white);border:1px solid var(--hair);padding:36px 34px}
.facts__sum{margin:0 0 24px;font-size:14.5px}
.facts dl{display:grid;grid-template-columns:140px 1fr;margin:0;font-size:14px}
.facts dt,.facts dd{padding:14px 0;border-top:1px solid var(--hair);margin:0}
.facts dt{color:var(--muted)}
@media(max-width:560px){.facts{padding:28px 22px}.facts dl{grid-template-columns:1fr}.facts dt{padding-bottom:0}.facts dd{border:0;padding-top:2px}}

/* ---------- faq ---------- */
.faq{max-width:780px;margin:0 auto}
.faq details{border-bottom:1px solid var(--hair)}
.faq details:first-child{border-top:1px solid var(--hair)}
.faq summary{cursor:pointer;padding:22px 44px 22px 34px;font-family:var(--ja-serif);font-size:15.5px;letter-spacing:.08em;list-style:none;position:relative;min-height:56px;line-height:1.9}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:0;top:19px;color:var(--gold);font-family:var(--en);font-size:20px}
.faq summary::after{content:"+";position:absolute;right:6px;top:15px;font-size:24px;font-weight:300;color:var(--gold)}
.faq details[open] summary::after{content:"−"}
.faq .a{padding:0 6px 26px 34px;color:var(--muted);font-size:14.5px}

/* ---------- LINE box / access ---------- */
.line-box{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;background:var(--white);border:1px solid var(--gold);padding:54px 48px;max-width:940px;margin:0 auto}
.line-box h2{font-size:clamp(19px,4.6vw,25px)}
.benefits{list-style:none;padding:0;margin:0 0 30px}
.benefits li{padding:5px 0 5px 26px;position:relative;font-size:14.5px}
.benefits li::before{content:"";position:absolute;left:0;top:1.2em;width:12px;height:1px;background:var(--gold)}
.line-box__qr{text-align:center}
.line-box__qr img{max-width:180px;margin:0 auto 10px}
.line-box__qr p{font-size:12.5px;color:var(--muted);margin:0}
@media(max-width:800px){.line-box{grid-template-columns:1fr;padding:38px 24px;gap:28px}}
.access{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.access-img{margin-bottom:22px}
.access-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.access table{width:100%;border-collapse:collapse;font-size:14.5px;margin-bottom:22px}
.access th,.access td{text-align:left;padding:14px 0;border-bottom:1px solid var(--hair);vertical-align:top;line-height:1.9}
.access th{width:96px;color:var(--muted);font-weight:300}
.access__btns{display:flex;flex-wrap:wrap;gap:12px}
.access__btns .btn{min-height:52px;padding:12px 26px;font-size:14.5px}
.map{position:relative;padding-top:88%;overflow:hidden;background:var(--bg3)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.96)}
.area-txt{font-size:13px;color:var(--muted)}
.admin-hint{background:#fff8e1;border:1px dashed #d4a72c;padding:10px 14px;font-size:13px;margin:0}
@media(max-width:860px){.access{grid-template-columns:1fr;gap:32px}}

/* ---------- blog cards ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pcard{background:var(--white);border:1px solid var(--hair);display:flex;flex-direction:column}
.pcard a{color:inherit;text-decoration:none;display:flex;flex-direction:column;height:100%}
.pcard__img{aspect-ratio:16/10;background:var(--bg3);object-fit:cover;width:100%;transition:opacity .4s}
.pcard a:hover .pcard__img{opacity:.88}
.pcard__body{padding:18px 20px 24px}
.pcard__date{font-family:var(--en);font-size:14px;letter-spacing:.14em;color:var(--muted)}
.pcard__title{font-size:15px;margin:4px 0 0;font-family:var(--ja-serif);line-height:1.9}
@media(max-width:860px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.posts{grid-template-columns:1fr}}
.more{text-align:center;margin-top:40px}
.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:44px}
.pagination .page-numbers{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;background:var(--white);border:1px solid var(--hair);text-decoration:none;color:var(--ink)}
.pagination .current{background:var(--gold);color:#fff;border-color:var(--gold)}

/* ---------- article / page ---------- */
.page-head{padding:36px 0 0}
.crumbs{font-size:12px;color:var(--muted);margin-bottom:18px;letter-spacing:.08em}
.crumbs a{color:var(--muted)}
.article{max-width:760px;margin:0 auto;padding:0 24px 40px}
.article__title{font-size:clamp(22px,5.4vw,32px);line-height:1.8}
.article__meta{font-size:13px;color:var(--muted);margin-bottom:26px}
.article__thumb{margin-bottom:34px;width:100%}
.entry{font-size:16px;line-height:2.15}
.entry h2{font-size:21px;margin:2.6em 0 1em;padding:0 0 12px;border-bottom:1px solid var(--gold)}
.entry h3{font-size:18px;margin:2em 0 .8em;padding-left:14px;border-left:2px solid var(--gold)}
.entry img{margin:1.6em auto}
.entry table{border-collapse:collapse;width:100%;margin-bottom:1.6em;font-size:15px}
.entry th,.entry td{border:1px solid var(--hair);padding:12px}
.entry th{background:var(--bg2);font-weight:400}
.entry blockquote{margin:1.6em 0;padding:16px 22px;background:var(--white);border-left:2px solid var(--gold);color:var(--muted)}
.toc{background:var(--white);border:1px solid var(--hair);padding:22px 26px;margin:0 0 2.4em}
.toc__t{font-family:var(--en);font-size:16px;letter-spacing:.24em;margin:0 0 10px;color:var(--gold-d)}
.toc ol{margin:0;padding-left:1.3em;font-size:14.5px}
.toc ol ol{margin-top:2px}
.toc a{text-decoration:none;color:var(--ink);display:inline-block;padding:3px 0}
.post-cta{background:var(--white);border:1px solid var(--gold);padding:38px 28px;margin:52px 0;text-align:center}
.post-cta h3{font-size:18px}
.author{display:flex;gap:20px;background:var(--bg2);padding:24px;margin:36px 0;align-items:center}
.author img{width:76px;height:76px;border-radius:50%;object-fit:cover;flex:none}
.author p{margin:0;font-size:13.5px;line-height:1.9}
.author strong{font-family:var(--ja-serif);font-size:16px;font-weight:400}
.related{margin-top:56px}
.related h2{font-size:20px}
.ad{margin:2.2em 0;text-align:center;min-height:100px}
.ad__label{display:block;font-size:11px;color:#9a8f85;margin-bottom:4px}

/* ---------- footer ---------- */
.site-footer{background:#2E2B29;color:#cfc7bd;padding:64px 0 40px;font-size:13.5px}
.site-footer a{color:#cfc7bd}
.site-footer__grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:34px}
.site-footer h2{font-family:var(--en);font-size:22px;letter-spacing:.14em;color:#fff;margin-bottom:12px}
.fnav{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 24px}
.fnav a{display:block;padding:10px 0}
.copy{border-top:1px solid #47423e;padding-top:22px;font-size:12px;color:#9a9086;font-family:var(--en);letter-spacing:.12em}

/* ---------- sticky LINE button（常時固定） ---------- */
.fixbar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(249,248,246,0),rgba(249,248,246,.92) 34%)}
.fixbar .btn{width:100%;min-height:60px;font-size:16.5px;box-shadow:0 12px 30px rgba(47,165,98,.34)}
@media(min-width:901px){
  .fixbar{left:50%;right:auto;transform:translateX(-50%);width:min(480px,92vw);background:none;padding-bottom:22px}
  body{padding-bottom:96px}
}

.nf{text-align:center;padding:110px 0}
.searchform,.search-form{display:flex;gap:8px;max-width:440px;margin:24px auto}
.search-form label{flex:1}
.search-field,.searchform input[type=search]{width:100%;padding:14px;border:1px solid var(--hair);background:#fff;font-size:16px;min-height:52px}
.search-submit,.searchform button{padding:0 22px;border:0;background:var(--gold);color:#fff;cursor:pointer;min-height:52px}
.screen-reader-text{position:absolute;left:-9999px}
.wp-block-image img{height:auto}
.alignwide{max-width:100%}

/* ---------- scroll animation（ふわっと浮き出る） ---------- */
.js-ready .reveal:not(.is-in){opacity:0;transform:translateY(28px);filter:blur(3px)}
.reveal{transition:opacity 1.3s var(--ease),transform 1.3s var(--ease),filter 1.3s var(--ease);transition-delay:var(--d,0s)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js-ready .reveal:not(.is-in){opacity:1;transform:none;filter:none}
  .reveal{transition:none}
  .hero__scroll::after{animation:none}
}

/* hero entrance */
@keyframes sl-rise{from{opacity:0;transform:translateY(22px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.hero__in>*{animation:sl-rise 1.5s var(--ease) both;animation-delay:calc(.16s * var(--i,0))}
@media(prefers-reduced-motion:reduce){.hero__in>*{animation:none}}
