/* =========================================================
   行政書士LP v2 — 相続の心理から起こした新しい間取り（完成版）
   視覚言語：案B（生成り×深緑×やわ金 / Zen Old Mincho + Zen Maru Gothic）
   ========================================================= */

:root{
  --bg:#F3EEE4; --bg-alt:#ECE5D5; --card:#FBF8F1;
  --ink:#3A3A32; --ink-soft:#57574C;
  --green:#5B6E54; --green-deep:#404D39; --green-soft:#7C8E72;
  --gold:#C9A063; --brown:#8A6B3F;
  --mute:#6E6E62; --faint:#9B9A8C; --line:#DCD3C0; --line-soft:#E7DFCD;
  --container:1120px; --space:140px;
  --serif:"Zen Old Mincho","游明朝",serif;
  --round:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;
  --sans:"Noto Sans JP","Hiragino Sans",sans-serif;
  --ease:cubic-bezier(0.22,0.61,0.36,1);
  --leaf:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235B6E54'%3E%3Cpath d='M12 3C7 6 5 12 7 18c.7 2 2.5 3 5 3s4.3-1 5-3c2-6 0-12-5-15z'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);line-height:2;letter-spacing:.05em;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;
  background-color:var(--bg);
  background-image:linear-gradient(rgba(244,240,232,.60),rgba(244,240,232,.60)),url("assets/hero-bg.png");
  background-repeat:no-repeat;background-position:center top;background-size:cover;background-attachment:fixed}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 32px}
section{padding:var(--space) 0}

.label{font-family:var(--round);font-weight:500;font-size:13.5px;letter-spacing:.14em;color:var(--green);display:inline-flex;align-items:center;gap:9px;background:#E6E0D0;padding:8px 18px 8px 16px;border-radius:40px;margin-bottom:24px}
.label::before{content:"";width:15px;height:15px;flex:none;background:var(--leaf) center/contain no-repeat}
.section-title{font-family:var(--serif);font-weight:600;font-size:clamp(27px,3.6vw,42px);line-height:1.7;letter-spacing:.06em;color:#34342B;text-wrap:pretty}
.section-title em{font-style:normal;color:var(--green)}

.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#F6F2E9;font-family:var(--round);font-weight:500;font-size:15.5px;letter-spacing:.06em;padding:16px 32px;border:none;border-radius:40px;cursor:pointer;box-shadow:0 12px 26px rgba(91,110,84,.24);transition:background .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
.btn-primary .arrow{transition:transform .4s var(--ease)}
.btn-primary:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 16px 32px rgba(64,77,57,.3)}
.btn-primary:hover .arrow{transform:translateX(4px)}
.btn-light{background:var(--gold);color:#423314}
.btn-light:hover{background:#d6b178}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;font-family:var(--round);font-size:14.5px;color:var(--brown);border-bottom:1px solid #D8C9A8;padding-bottom:3px;transition:color .3s var(--ease),border-color .3s var(--ease)}
.btn-secondary:hover{color:var(--green);border-color:var(--green)}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:100;padding:18px 0;transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease)}
.nav.scrolled{background:rgba(243,238,228,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line-soft);padding:12px 0}
.nav .container{display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.1em}
.nav-logo span{color:var(--green)}
.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{font-family:var(--round);font-size:14px;letter-spacing:.05em;position:relative;transition:color .3s var(--ease)}
.nav-links a:hover{color:var(--green)}
.nav-cta{font-size:14px;padding:12px 24px}

/* =========================================================
   1. ヒーロー（H-02 静かな宣言型）
   ========================================================= */
.hero2{position:relative;min-height:84vh;display:flex;align-items:center;text-align:center;overflow:hidden;padding:80px 0}
.hero2 .container{position:relative;z-index:2;max-width:820px}
.hero2 h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,5.2vw,62px);line-height:1.55;letter-spacing:.07em;color:#33332B;margin-bottom:34px}
.hero2 h1 em{font-style:normal;color:var(--green)}
.hero2-lead{font-family:var(--round);font-size:clamp(15px,1.7vw,18px);line-height:2.1;color:var(--ink-soft);max-width:30em;margin:0 auto 44px}
.hero2-actions{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:40px}
.hero2-note{font-family:var(--round);font-size:13px;letter-spacing:.08em;color:var(--mute)}
.hero2-note span{color:var(--green);margin:0 6px}
.hero2-bg{display:none}
/* 情緒画像：assets/hero-bg.png をしっかり表示。文字の可読性は中央のソフトな光で確保 */
.hero2-photo{position:absolute;inset:0;background:var(--hero-img,none) center/cover no-repeat;opacity:1}
.hero2-wash{position:absolute;inset:0;background:radial-gradient(72% 62% at 50% 50%,rgba(247,244,236,.66),rgba(247,244,236,.30) 60%,rgba(247,244,236,0) 100%)}
/* 実写真があるため装飾アーチ・葉は非表示 */
.hero2-arch,.hero2-leaf{display:none}

/* =========================================================
   2. 状況セレクタ（X-01）
   ========================================================= */
.situations{background:transparent}
.situations .head{text-align:center;margin-bottom:60px}
.situations .head .label{justify-content:center}
.situations .head p{font-family:var(--round);color:var(--mute);font-size:15px;margin-top:14px}
.situation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.situation-card{background:var(--card);border-radius:20px;padding:40px 34px 34px;text-align:center;border:1px solid transparent;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);cursor:pointer;display:flex;flex-direction:column;align-items:center}
.situation-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px rgba(58,58,50,.12);border-color:#E2D9C2}
.situation-icon{width:64px;height:64px;border-radius:50%;background:#E8E6D6;display:grid;place-items:center;margin-bottom:22px}
.situation-icon svg{width:30px;height:30px;stroke:var(--green);fill:none;stroke-width:1.6}
.situation-card h3{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.05em;margin-bottom:14px}
.situation-card p{font-size:14px;color:var(--mute);line-height:1.95;margin-bottom:22px;flex:1}
.situation-link{font-family:var(--round);font-size:14px;color:var(--green);display:inline-flex;align-items:center;gap:6px;transition:gap .3s var(--ease)}
.situation-card:hover .situation-link{gap:11px}

/* =========================================================
   3. やること混沌可視化（W-01）＋ 漂うアニメ
   ========================================================= */
.tasks .tasks-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.tasks-cloud{position:relative;background:linear-gradient(160deg,#EFE9DC,#E7DFCC);border-radius:24px;padding:44px 30px;min-height:420px;display:flex;flex-wrap:wrap;gap:14px;align-content:center;justify-content:center}
.chip{font-family:var(--round);font-size:14px;letter-spacing:.03em;color:var(--ink-soft);background:var(--card);border:1px solid #E4DAC4;border-radius:30px;padding:10px 18px;box-shadow:0 6px 14px rgba(58,58,50,.06);white-space:nowrap;opacity:0;transform:translateY(10px) rotate(var(--rot,0deg))}
.tasks-cloud.in-view .chip{opacity:1;animation:chip-in .6s var(--ease) both,drift var(--dur,6s) ease-in-out var(--ddelay,.8s) infinite}
@keyframes chip-in{from{opacity:0;transform:translateY(10px) rotate(var(--rot,0deg))}to{opacity:1;transform:translateY(0) rotate(var(--rot,0deg))}}
@keyframes drift{0%,100%{transform:translate(0,0) rotate(var(--rot,0deg))}25%{transform:translate(var(--dx,3px),var(--dy,-4px)) rotate(calc(var(--rot,0deg) + var(--dr,2deg)))}50%{transform:translate(calc(var(--dx,3px)*-0.6),calc(var(--dy,-4px)*-0.8)) rotate(calc(var(--rot,0deg) - var(--dr,2deg)))}75%{transform:translate(calc(var(--dx,3px)*0.4),var(--dy,-4px)) rotate(var(--rot,0deg))}}
.chip:nth-child(1){--rot:-5deg;--dx:4px;--dy:-5px;--dr:2.5deg;--dur:6.2s;--ddelay:.7s}
.chip:nth-child(2){--rot:3deg;--dx:-5px;--dy:4px;--dr:-2deg;--dur:7.1s;--ddelay:.9s}
.chip:nth-child(3){--rot:-2deg;--dx:3px;--dy:5px;--dr:2deg;--dur:5.6s;--ddelay:1.1s}
.chip:nth-child(4){--rot:4deg;--dx:-4px;--dy:-3px;--dr:-2.5deg;--dur:6.8s;--ddelay:.8s}
.chip:nth-child(5){--rot:-4deg;--dx:5px;--dy:3px;--dr:2deg;--dur:7.4s;--ddelay:1s}
.chip:nth-child(6){--rot:2deg;--dx:-3px;--dy:-5px;--dr:-2deg;--dur:6s;--ddelay:1.2s}
.chip:nth-child(7){--rot:-3deg;--dx:4px;--dy:4px;--dr:2.5deg;--dur:6.6s;--ddelay:.85s}
.chip:nth-child(8){--rot:5deg;--dx:-5px;--dy:-3px;--dr:-2deg;--dur:7.2s;--ddelay:1.05s}
.chip:nth-child(9){--rot:-2deg;--dx:3px;--dy:5px;--dr:2deg;--dur:5.8s;--ddelay:1.15s}
.chip:nth-child(10){--rot:3deg;--dx:-4px;--dy:-4px;--dr:-2.5deg;--dur:6.9s;--ddelay:.95s}
.tasks-stamp{position:absolute;right:-18px;bottom:-18px;width:120px;height:120px;border-radius:50%;background:var(--green);color:#F6F2E9;display:grid;place-items:center;text-align:center;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.35;letter-spacing:.06em;box-shadow:0 16px 34px rgba(64,77,57,.3);transform:rotate(-8deg) scale(.6);opacity:0;transition:transform .6s var(--ease) 1.1s,opacity .6s var(--ease) 1.1s;z-index:3}
.tasks-cloud.in-view .tasks-stamp{transform:rotate(-8deg) scale(1);opacity:1}
.tasks-msg .label{margin-bottom:22px}
.tasks-msg h2{font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.4vw,40px);line-height:1.65;letter-spacing:.05em;color:#34342B;margin-bottom:22px}
.tasks-msg h2 em{font-style:normal;color:var(--green)}
.tasks-msg p{color:var(--ink-soft);margin-bottom:34px;font-size:15.5px}

/* =========================================================
   4. 期限のリアル（T-axis：放置リスクの横軸）
   ========================================================= */
.deadlines{background:rgba(58,69,49,.90);color:#EDEAE0}
.deadlines .head{text-align:center;margin-bottom:64px}
.deadlines .head .label{justify-content:center;background:rgba(255,255,255,.1);color:#DCE3D2}
.deadlines .head .label::before{filter:brightness(2.2)}
.deadlines .head .section-title{color:#F4F1E8}
.deadlines .head p{font-family:var(--round);color:rgba(237,234,224,.72);font-size:15px;margin-top:14px}
.deadline-axis{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.deadline-track{position:absolute;top:8px;left:8px;right:8px;height:2px;background:rgba(255,255,255,.16)}
.deadline-fill{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease)}
.deadline-axis.in-view .deadline-fill{transform:scaleX(1)}
.deadline-node{position:relative;padding-top:40px}
.deadline-node::before{content:"";position:absolute;top:1px;left:0;width:16px;height:16px;border-radius:50%;background:var(--green-deep);border:2px solid rgba(255,255,255,.3);transition:background .5s var(--ease),border-color .5s var(--ease)}
.deadline-axis.in-view .deadline-node::before{background:var(--gold);border-color:var(--gold)}
.deadline-node:nth-child(2)::before{transition-delay:.3s}
.deadline-node:nth-child(3)::before{transition-delay:.6s}
.deadline-node:nth-child(4)::before{transition-delay:.9s}
.deadline-node:nth-child(5)::before{transition-delay:1.2s}
.deadline-term{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--gold);letter-spacing:.04em;display:block;margin-bottom:10px}
.deadline-node h3{font-family:var(--round);font-weight:500;font-size:16px;color:#F4F1E8;margin-bottom:8px}
.deadline-node p{font-size:13.5px;color:rgba(237,234,224,.66);line-height:1.9}

/* =========================================================
   5. あなたは相談だけ（before/after 対比）
   ========================================================= */
.relief .head{text-align:center;margin-bottom:60px}
.relief .head .label{justify-content:center}
.relief-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.relief-col{border-radius:22px;padding:42px 40px}
.relief-col.self{background:var(--bg-alt)}
.relief-col.us{background:var(--green);color:#F1EFE6;position:relative;overflow:hidden}
.relief-col.us::after{content:"";position:absolute;right:-50px;bottom:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(201,160,99,.3),transparent 70%)}
.relief-col h3{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:.05em;margin-bottom:24px;position:relative;z-index:2}
.relief-col.self h3{color:var(--mute)}
.relief-list{list-style:none;position:relative;z-index:2}
.relief-list li{font-size:14.5px;line-height:1.8;padding:11px 0 11px 30px;position:relative;border-bottom:1px dashed rgba(0,0,0,.07)}
.relief-col.us .relief-list li{border-bottom-color:rgba(255,255,255,.16)}
.relief-list li::before{position:absolute;left:0;top:11px;font-family:var(--round);font-size:15px}
.relief-col.self .relief-list li{color:var(--mute)}
.relief-col.self .relief-list li::before{content:"・";color:var(--faint)}
.relief-col.us .relief-list li::before{content:"✓";color:#DCEACB}
.relief-punch{font-family:var(--serif);font-weight:600;font-size:30px;letter-spacing:.06em;margin-top:24px;position:relative;z-index:2}

/* =========================================================
   6. ごあいさつ（T-02 手紙型・丸ポートレート）
   ========================================================= */
.greeting{background:transparent}
.greeting-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:56px;align-items:center}
.greeting-photo{width:210px;height:210px;border-radius:50%;flex:none;background:var(--akari-img,none) center/cover no-repeat,radial-gradient(100% 90% at 50% 30%,#E9E2CF,#D6C9AE);position:relative}
.greeting-photo::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px solid var(--gold);opacity:.6}
.greeting-body .label{margin-bottom:20px}
.greeting-body h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,3vw,34px);line-height:1.6;letter-spacing:.05em;margin-bottom:22px}
.greeting-body p{color:var(--ink-soft);font-size:15.5px;margin-bottom:24px}
.greeting-sign{font-family:var(--serif);font-size:15px;color:var(--mute)}
.greeting-sign strong{font-size:22px;color:var(--ink);margin-left:10px;letter-spacing:.08em}

/* =========================================================
   7. 料金（P-02 ケース別目安）
   ========================================================= */
.price2 .head{text-align:center;margin-bottom:56px}
.price2 .head .label{justify-content:center}
.case-list{max-width:840px;margin:0 auto}
.case-row{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:30px 4px;border-bottom:1px solid var(--line)}
.case-row:first-child{border-top:1px solid var(--line)}
.case-desc h3{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.04em;margin-bottom:6px}
.case-desc p{font-size:13.5px;color:var(--mute)}
.case-price{font-family:var(--serif);font-weight:600;font-size:34px;color:var(--green);white-space:nowrap}
.case-price .yen{font-family:var(--round);font-size:18px}
.case-price .from{font-family:var(--round);font-size:14px;color:var(--mute)}
.price2-foot{text-align:center;margin-top:44px}
.price2-note{font-family:var(--round);font-size:13px;color:var(--faint);margin-bottom:24px}

/* =========================================================
   8. お客様の声（Q-02 大きな引用・非カード）
   ========================================================= */
.voices2 .head{text-align:center;margin-bottom:64px}
.voices2 .head .label{justify-content:center}
.voices2-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:980px;margin:0 auto}
.voice2{position:relative;padding-left:30px;border-left:2px solid var(--line)}
.voice2 blockquote{font-family:var(--serif);font-weight:500;font-size:clamp(18px,1.9vw,21px);line-height:1.95;letter-spacing:.04em;color:var(--ink);margin-bottom:18px}
.voice2 .who{font-family:var(--round);font-size:13px;color:var(--faint)}

/* =========================================================
   9. FAQ
   ========================================================= */
.faq2 .head{text-align:center;margin-bottom:52px}
.faq2 .head .label{justify-content:center}
.faq2-list{max-width:800px;margin:0 auto}
.faq2-item{background:var(--card);border-radius:14px;margin-bottom:14px;overflow:hidden}
.faq2-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:flex-start;gap:16px;padding:24px 28px;font-family:var(--round);font-weight:500;font-size:16px;color:var(--ink);line-height:1.7}
.faq2-q .qmark{font-family:var(--serif);color:var(--green);font-size:18px;flex:none}
.faq2-q .toggle{margin-left:auto;flex:none;position:relative;width:16px;height:16px;margin-top:4px}
.faq2-q .toggle::before,.faq2-q .toggle::after{content:"";position:absolute;background:var(--green);transition:transform .4s var(--ease),opacity .4s var(--ease)}
.faq2-q .toggle::before{left:0;top:50%;width:16px;height:2px;border-radius:2px;transform:translateY(-50%)}
.faq2-q .toggle::after{top:0;left:50%;width:2px;height:16px;border-radius:2px;transform:translateX(-50%)}
.faq2-item.open .toggle::after{transform:translateX(-50%) scaleY(0);opacity:0}
.faq2-a{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.faq2-a-inner{padding:0 28px 26px 62px;font-size:14.5px;color:var(--mute);line-height:2}
.faq2-item.open .faq2-a{max-height:320px}

/* =========================================================
   10. 最終CTA
   ========================================================= */
.cta2{position:relative;background:rgba(58,69,49,.90);color:#F2EFE6;overflow:hidden}
.cta2::before{content:"";position:absolute;inset:-20% 0 auto 0;height:140%;background:radial-gradient(60% 50% at 78% 0%,rgba(201,160,99,.2),transparent 62%)}
.cta2::after{content:"";position:absolute;left:-80px;bottom:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(124,142,114,.3),transparent 70%)}
.cta2 .inner{position:relative;z-index:2;max-width:640px;margin:0 auto;text-align:center}
.cta2 .label{justify-content:center;background:rgba(255,255,255,.1);color:#DCE3D2}
.cta2 .label::before{filter:brightness(2.2)}
.cta2 h2{font-family:var(--serif);font-weight:600;font-size:clamp(27px,3.8vw,40px);line-height:1.6;letter-spacing:.06em;margin-bottom:22px;color:#F4F1E8}
.cta2-lead{font-family:var(--round);color:rgba(242,239,230,.82);margin-bottom:46px;font-size:16px}
.cta2-form{display:grid;gap:18px;text-align:left}
.cta2-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cta2-form label{font-family:var(--round);display:block;font-size:12.5px;letter-spacing:.08em;color:rgba(242,239,230,.62);margin-bottom:8px}
.cta2-form input,.cta2-form textarea{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:14px 16px;color:#fff;font-family:var(--sans);font-size:15px;transition:border-color .3s var(--ease),background .3s var(--ease)}
.cta2-form input::placeholder,.cta2-form textarea::placeholder{color:rgba(255,255,255,.4)}
.cta2-form input:focus,.cta2-form textarea:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.11)}
.cta2-form textarea{resize:vertical;min-height:92px}
.cta2-submit{margin-top:8px;background:var(--gold);color:#423314;border:none;cursor:pointer;padding:17px;font-family:var(--round);font-weight:500;font-size:16px;letter-spacing:.08em;border-radius:40px;transition:background .4s var(--ease),transform .4s var(--ease)}
.cta2-submit:hover{background:#d6b178;transform:translateY(-2px)}
.cta2-sub{text-align:center;margin-top:26px}
.cta2-sub a{font-family:var(--round);font-size:14px;color:rgba(242,239,230,.72);border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:3px}
.cta2-sub a:hover{color:var(--gold);border-color:var(--gold)}

/* ---------- Footer ---------- */
.footer{background:#38432F;color:rgba(242,239,230,.72);padding:64px 0 32px}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-logo{font-family:var(--serif);font-weight:600;font-size:20px;color:#F2EFE6;letter-spacing:.1em;margin-bottom:14px}
.footer-logo span{color:var(--gold)}
.footer-tag{font-family:var(--round);font-size:14px;line-height:2}
.footer h4{font-family:var(--round);font-size:12px;letter-spacing:.16em;color:var(--gold);margin-bottom:16px;font-weight:500}
.footer ul li{list-style:none;font-size:14px;line-height:2.2}
.footer-bottom{display:flex;justify-content:space-between;padding-top:26px;font-family:var(--round);font-size:12.5px;color:rgba(242,239,230,.5)}
.footer-bottom a:hover{color:var(--gold)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in-view{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.12s}.reveal[data-delay="2"]{transition-delay:.24s}.reveal[data-delay="3"]{transition-delay:.36s}
.hero2 .label,.hero2 h1,.hero2-lead,.hero2-actions,.hero2-note{opacity:0;transform:translateY(20px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.hero2.in-view .label{opacity:1;transform:none;transition-delay:.05s}
.hero2.in-view h1{opacity:1;transform:none;transition-delay:.2s}
.hero2.in-view .hero2-lead{opacity:1;transform:none;transition-delay:.45s}
.hero2.in-view .hero2-actions{opacity:1;transform:none;transition-delay:.6s}
.hero2.in-view .hero2-note{opacity:1;transform:none;transition-delay:.75s}

/* ---------- responsive ---------- */
@media(max-width:960px){
  :root{--space:84px}
  body{line-height:1.95;background-attachment:scroll}
  .container{padding:0 24px}
  .nav-links{display:none}
  .nav{padding:12px 0}
  .nav-logo{font-size:16px;white-space:nowrap}
  .nav-cta{font-size:13px;padding:10px 18px}
  .hero2{min-height:auto;padding:56px 0 68px}
  .hero2-actions{flex-direction:column;align-items:stretch}
  .hero2-actions .btn-primary{justify-content:center}
  .situation-grid{grid-template-columns:1fr;gap:16px}
  .tasks .tasks-inner{grid-template-columns:1fr;gap:40px}
  .tasks-cloud{min-height:auto;padding:34px 22px}
  .tasks-stamp{width:96px;height:96px;font-size:16px;right:-8px;bottom:-12px}
  .deadline-axis{grid-template-columns:1fr;gap:0}
  .deadline-track{display:none}
  .deadline-node{padding:0 0 28px 30px;border-left:2px solid rgba(255,255,255,.16)}
  .deadline-node::before{left:-9px;top:4px}
  .deadline-node:last-child{padding-bottom:0}
  .relief-grid{grid-template-columns:1fr;gap:18px}
  .greeting-inner{grid-template-columns:1fr;gap:34px;justify-items:center;text-align:center}
  .greeting-body .label{margin-left:auto;margin-right:auto}
  .case-row{grid-template-columns:1fr;gap:8px;text-align:left}
  .voices2-grid{grid-template-columns:1fr;gap:32px}
  .cta2-form .row{grid-template-columns:1fr}
  .footer .top{grid-template-columns:1fr;gap:34px}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.hero2 .label,.hero2 h1,.hero2-lead,.hero2-actions,.hero2-note{opacity:1!important;transform:none!important;transition:none!important}
  .tasks-cloud.in-view .chip{animation:none!important;opacity:1!important;transform:rotate(var(--rot,0deg))!important}
  .tasks-stamp{transform:rotate(-8deg)!important;opacity:1!important;transition:none!important}
  .deadline-fill{transform:scaleX(1)!important;transition:none!important}
}
