/* フクシルベ 共通スタイル。
   方針: 公的情報の信頼感と、現場で迷わない親しみやすさを両立する。
        ライトモード固定。スマホ幅で横スクロールを出さない。 */
:root{
  color-scheme:light;
  --ink:#17324d; --ink-2:#4b6175; --ink-3:#708296;
  --line:#dce7e8; --bg:#f5faf9; --card:#fff;
  --accent:#178f83; --accent-dark:#0d7068; --accent-weak:#e8f6f3;
  --coral:#f27c68; --gold:#f3b84b; --navy:#17324d;
  --warn:#8a5a00; --warn-bg:#fdf6e6;
  --shadow-sm:0 8px 24px rgba(23,50,77,.07);
  --shadow-md:0 18px 50px rgba(23,50,77,.11);
  --measure:1040px;
}
*{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--ink);
  background:
    radial-gradient(circle at 8% 4%,rgba(23,143,131,.08),transparent 26rem),
    radial-gradient(circle at 92% 22%,rgba(242,124,104,.07),transparent 24rem),
    var(--bg);
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;
  line-height:1.82; font-feature-settings:"palt" 1;
}
img{max-width:100%; height:auto}
.wrap{max-width:var(--measure); margin:0 auto; padding:0 20px}
a{color:var(--accent-dark); text-underline-offset:.16em}
:focus-visible{outline:3px solid rgba(242,124,104,.72); outline-offset:3px}

/* ── ヘッダ / フッタ ───────────────────────────── */
.site-head{position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(220,231,232,.82); background:rgba(255,255,255,.9); backdrop-filter:blur(16px); box-shadow:0 3px 18px rgba(23,50,77,.035)}
.site-head .wrap{display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; padding-top:10px; padding-bottom:10px}
.brand{margin:0}
.brand a{display:flex; align-items:center; gap:10px; color:var(--ink); text-decoration:none}
.brand img{flex:none; filter:drop-shadow(0 4px 8px rgba(23,50,77,.12))}
.brand-copy{display:block}
.brand-name{display:block; font-size:1.2rem; line-height:1.1; font-weight:800; letter-spacing:.07em}
.brand .sub{display:block; font-size:.68rem; line-height:1.3; font-weight:500; color:var(--ink-3); letter-spacing:.025em; margin-top:4px}
.site-nav{margin-left:auto; min-width:0; max-width:100%; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px 16px; font-size:.86rem}
.site-nav a{color:var(--ink-2); text-decoration:none; font-weight:650; padding:7px 10px; border-radius:999px; transition:background .2s,color .2s}
.site-nav a:hover, .site-nav a[aria-current]{color:var(--accent-dark); background:var(--accent-weak)}
.site-foot{margin-top:88px; border-top:0; background:var(--navy); color:#fff}
.site-foot .wrap{padding-top:34px; padding-bottom:46px; font-size:.8rem; color:#b8c6d1}
.site-foot a{color:#dce8ee}
.site-foot .cols{display:flex; gap:32px; flex-wrap:wrap; margin-bottom:16px}
.site-foot h3{font-size:.78rem; color:#fff; margin:0 0 6px}
.site-foot ul{list-style:none; margin:0; padding:0}
.foot-brand{display:flex; align-items:center; gap:10px; margin:0 0 24px}
.foot-brand img{filter:drop-shadow(0 5px 12px rgba(0,0,0,.18))}
.foot-brand strong,.foot-brand small{display:block}
.foot-brand strong{color:#fff; font-size:1.05rem; letter-spacing:.06em}
.foot-brand small{color:#9fb3c1; margin-top:2px}

main{padding-top:38px}
h1{font-size:clamp(1.8rem,4vw,2.55rem); line-height:1.38; letter-spacing:-.025em; margin:0 0 10px}
h2{position:relative; font-size:1.28rem; margin:50px 0 14px; padding:0 0 0 17px; border:0; line-height:1.45}
h2::before{content:""; position:absolute; left:0; top:.24em; width:6px; height:1.05em; border-radius:999px; background:linear-gradient(var(--coral),var(--gold))}
h3{font-size:1rem; margin:24px 0 8px}
.lede{color:var(--ink-2); margin:0 0 8px}
.crumbs{font-size:.78rem; color:var(--ink-3); margin:0 0 20px}
.crumbs a{color:var(--ink-3)}
.updated{font-size:.78rem; color:var(--ink-3)}

/* ── 文書リスト（手続きページの本体） ─────────────── */
ol.docs{list-style:none; margin:0; padding:0}
ol.docs li{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:17px 19px; margin-bottom:12px; box-shadow:var(--shadow-sm); transition:transform .2s,border-color .2s,box-shadow .2s}
ol.docs li:hover{transform:translateY(-2px); border-color:#b9d8d3; box-shadow:var(--shadow-md)}
.doc-title{font-weight:700; line-height:1.6}
.doc-title a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--accent)}
.doc-title a:hover{color:var(--accent)}
.doc-note{font-size:.88rem; color:var(--ink-2); margin-top:6px}
.meta{color:var(--ink-3); font-size:.78rem; margin-top:6px; display:flex; flex-wrap:wrap; gap:10px}
.tag{display:inline-block; font-size:.72rem; padding:2px 8px; border-radius:999px; background:var(--accent-weak); color:var(--accent); white-space:nowrap}
.tag.old{background:var(--warn-bg); color:var(--warn)}
.attr{color:var(--ink-3); font-size:.74rem; margin-top:6px}

/* 出典（引用）のカード。docs と同じ見た目に揃える。 */
ol.cites{list-style:none; margin:0; padding:0}
ol.cites li{background:var(--card); border:1px solid var(--line); border-radius:16px;
     padding:17px 19px; margin-bottom:12px; box-shadow:var(--shadow-sm)}
.cite-title{font-weight:700; line-height:1.6}
.cite-title a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--accent)}
.cite-title a:hover{color:var(--accent)}
.lede-sm{color:var(--ink-2); font-size:.84rem; margin:0 0 10px}

/* 回答後のアクション。様式か説明資料かを文言で区別する。 */
.cites li.is-form{border-color:var(--accent)}
a.result-action{display:inline-block; margin-top:10px; padding:8px 14px; border-radius:8px;
     background:var(--accent); color:#fff; font-size:.84rem; font-weight:700;
     text-decoration:none; border:0}
a.result-action:hover{filter:brightness(1.08)}
a.result-action:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.cites li:not(.is-form) a.result-action{background:transparent; color:var(--accent);
     border:1px solid var(--accent); font-weight:600}
.next-role{font-size:.78rem; color:var(--accent); font-weight:700; margin-bottom:4px}

/* ── カード一覧（手続き一覧 / コラム一覧） ────────── */
.cards{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.cards li{background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-sm); transition:transform .2s,border-color .2s,box-shadow .2s}
.cards li:hover{transform:translateY(-3px); border-color:#b9d8d3; box-shadow:var(--shadow-md)}
.cards a{display:block; padding:17px 19px; color:var(--ink); text-decoration:none}
.cards .t{font-weight:700}
.cards .d{font-size:.82rem; color:var(--ink-3); margin-top:6px; line-height:1.65}
.home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-cards li,.home-cards a{min-width:0}
.home-cards .t,.home-cards .d{display:block; overflow-wrap:anywhere}
.home-task-action{display:block; margin-top:9px; color:var(--accent-dark); font-size:.76rem; font-weight:850}
.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px}
.guide-card{overflow:hidden}
.guide-card a{height:100%; padding:0}
.guide-card-body{display:block; padding:17px 19px 19px}
.guide-card .t,.guide-card .d{display:block; overflow-wrap:anywhere}
.guide-pattern{display:inline-flex; width:max-content; max-width:100%; align-items:center; margin:0 0 9px; padding:3px 9px; border-radius:999px; color:var(--pattern-ink,var(--accent-dark)); background:var(--pattern-bg,var(--accent-weak)); font-size:.7rem; font-weight:800; line-height:1.5; letter-spacing:.04em}
.guide-pattern--headline{margin:0 0 8px}
.visual-pattern--report-response{--pattern-ink:#9a4437;--pattern-bg:#fff0ed;--pattern-accent:#e77b67}
.visual-pattern--team-review{--pattern-ink:#386b66;--pattern-bg:#e7f5f2;--pattern-accent:#55a89e}
.visual-pattern--document-handoff{--pattern-ink:#76551a;--pattern-bg:#fff5db;--pattern-accent:#e4ae3e}
.visual-pattern--relationship-map{--pattern-ink:#475c82;--pattern-bg:#eef2fb;--pattern-accent:#7892bd}
.visual-pattern--deadline-submission{--pattern-ink:#844c74;--pattern-bg:#faedf6;--pattern-accent:#bd76a6}
.visual-pattern--requirement-decision{--pattern-ink:#4b5c8d;--pattern-bg:#edf0fb;--pattern-accent:#788bc4}
.guide-thumb{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; background:var(--accent-weak); transition:transform .35s}
.guide-card:hover .guide-thumb{transform:scale(1.025)}
.home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px}
.home-guide-card{min-width:0}
.home-guide-card>a{display:grid; width:100%; min-width:0; height:100%; padding:0}
.home-guide-card .guide-card-body{min-width:0; align-self:center}
.home-guide-card .guide-thumb{width:100%; height:100%; min-height:0; aspect-ratio:auto}
.home-guide-card--featured{grid-column:1/-1}
.home-guide-card--featured>a{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); min-height:260px}
.home-guide-card--featured .t{font-size:1.15rem; line-height:1.6}
.home-guide-card--compact>a{grid-template-columns:140px minmax(0,1fr); min-height:158px}
.home-guide-card--compact .guide-card-body{padding:14px 15px}
.home-guide-card--compact .guide-pattern{margin-bottom:6px}
.home-guide-card--compact .d{display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2}
.home-updates{margin:48px 0 42px; padding:clamp(22px,4vw,34px); border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:24px; background:linear-gradient(145deg,#fff,var(--accent-weak)); box-shadow:var(--shadow-sm)}
.section-heading-row{display:flex; align-items:end; justify-content:space-between; gap:18px}
.section-heading-row h2{margin:0}
.section-heading-row>a{white-space:nowrap; font-size:.84rem; font-weight:800}
.section-kicker{margin:0 0 3px; color:var(--accent-dark); font-size:.72rem; font-weight:850; letter-spacing:.1em}
.update-list{display:grid; gap:13px; margin:18px 0 0; padding:0; list-style:none}
.update-card{margin:0}
.update-card>a{display:block; padding:18px 20px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fff; text-decoration:none; box-shadow:0 3px 12px rgba(18,56,72,.05); transition:transform .18s,border-color .18s,box-shadow .18s}
.update-card>a:hover{transform:translateY(-1px); border-color:var(--accent); box-shadow:0 8px 20px rgba(18,56,72,.1)}
.update-card .t,.update-card .d,.update-audience{display:block}
.update-card .t{margin:9px 0 5px; font-size:1rem; font-weight:800; line-height:1.55}
.update-card .d{color:var(--muted); font-size:.83rem; line-height:1.7}
.update-card-meta{display:flex; flex-wrap:wrap; align-items:center; gap:7px 12px; color:var(--ink-3); font-size:.73rem}
.update-audience{margin-top:8px; color:var(--accent-dark); font-size:.76rem; font-weight:700}
.update-deadline{color:#9b3f25; font-weight:800}
.home-update-list{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.home-update-card{min-width:0}
.home-update-card>a{height:100%; min-width:0}
.home-update-card--featured{grid-column:1/-1}
.home-update-card--featured>a{padding:23px 24px; border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); background:linear-gradient(140deg,#fff,var(--accent-weak))}
.home-update-card--featured .t{font-size:1.12rem}
.home-update-card--compact .t{margin-bottom:0; font-size:.92rem; line-height:1.6}
.impact-badge{display:inline-flex; align-items:center; justify-content:center; min-width:28px; padding:3px 8px; border-radius:999px; font-size:.68rem; font-weight:900; line-height:1.5}
.impact-badge--a{color:#8d271d; background:#fee7df}
.impact-badge--b{color:#855a00; background:#fff1c7}
.impact-badge--c{color:#315f53; background:#def3ec}
.impact-legend{display:flex; flex-wrap:wrap; gap:9px 18px; margin:20px 0 24px; padding:14px 16px; border:1px solid var(--line); border-radius:14px; background:var(--card); color:var(--muted); font-size:.78rem}
.impact-legend span{display:flex; align-items:center; gap:6px}
.update-facts{max-width:820px; margin:0 0 30px; padding:20px 22px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:18px; background:linear-gradient(145deg,#fff,var(--accent-weak))}
.update-facts-head{display:flex; align-items:center; gap:10px; margin-bottom:14px}
.update-facts-head h2{margin:0; padding:0; font-size:1.05rem}
.update-facts-head h2::before{display:none}
.update-facts dl{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--line)}
.update-facts dl div{display:grid; grid-template-columns:92px 1fr; gap:10px; padding:11px 13px; background:#fff}
.update-facts dt{color:var(--ink-3); font-size:.74rem; font-weight:700}
.update-facts dd{margin:0; font-size:.82rem; font-weight:750; overflow-wrap:anywhere}
.practical-guide{max-width:920px}
.article-identity{display:flex; flex-wrap:wrap; gap:8px 22px; max-width:820px; margin:18px 0 30px; padding:13px 16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.72); font-size:.8rem}
.article-identity div{display:flex; gap:7px}
.article-identity dt{color:var(--ink-3); font-weight:650}
.article-identity dd{margin:0; color:var(--ink); font-weight:750}
.practical-flow{max-width:920px; margin:28px 0 36px; padding:25px clamp(18px,4vw,30px) 28px; overflow:hidden; border:1px solid color-mix(in srgb,var(--pattern-accent,var(--accent)) 32%,var(--line)); border-radius:22px; background:linear-gradient(145deg,#fff,var(--pattern-bg,var(--accent-weak))); box-shadow:var(--shadow-md)}
.practical-flow-kicker{margin:0 0 2px; color:var(--pattern-ink,var(--accent-dark)); font-size:.72rem; font-weight:850; letter-spacing:.12em}
.practical-flow h2{margin:0 0 20px; padding:0; font-size:1.24rem}
.practical-flow h2::before{display:none}
.practical-flow ol{counter-reset:flow; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; margin:0; padding:0; list-style:none}
.practical-flow li{counter-increment:flow; position:relative; min-width:0}
.practical-flow li::before{content:counter(flow); display:grid; width:34px; height:34px; place-items:center; margin:0 0 10px; border-radius:50%; color:#fff; background:var(--pattern-accent,var(--accent)); font-weight:850; box-shadow:0 6px 15px color-mix(in srgb,var(--pattern-accent,var(--accent)) 28%,transparent)}
.practical-flow li:not(:last-child)::after{content:""; position:absolute; top:16px; left:44px; width:calc(100% + 14px); border-top:2px dashed color-mix(in srgb,var(--pattern-accent,var(--accent)) 45%,transparent)}
.practical-flow li span{position:relative; z-index:1; display:block; color:var(--ink); font-size:.86rem; font-weight:750; line-height:1.65; overflow-wrap:anywhere}
.article-resources{max-width:820px; margin:42px 0 0; padding:24px clamp(18px,4vw,28px) 28px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:20px; background:linear-gradient(145deg,#fff,var(--accent-weak)); box-shadow:var(--shadow-sm)}
.article-resources-kicker{margin:0 0 3px; color:var(--accent-dark); font-size:.72rem; font-weight:850; letter-spacing:.1em}
.article-resources h2{margin:0 0 8px; padding:0; font-size:1.22rem}
.article-resources h2::before{display:none}
.article-resources>p:not(.article-resources-kicker){margin:0 0 17px; color:var(--muted); font-size:.84rem; line-height:1.75}
.article-resource-actions{display:grid; gap:10px}
.article-resource-actions a{display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; min-height:58px; padding:11px 13px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:#fff; text-decoration:none; box-shadow:0 3px 10px rgba(18,56,72,.06); transition:transform .18s,border-color .18s,box-shadow .18s}
.article-resource-actions a:hover{transform:translateY(-1px); border-color:var(--accent); box-shadow:0 7px 18px rgba(18,56,72,.11)}
.article-resource-kind{display:inline-flex; align-items:center; justify-content:center; min-width:58px; min-height:28px; padding:4px 8px; border-radius:999px; color:var(--accent-dark); background:var(--accent-weak); font-size:.7rem; font-weight:850}
.article-resource-label{min-width:0; font-size:.86rem; font-weight:750; line-height:1.5; overflow-wrap:anywhere}
.article-resource-open{white-space:nowrap; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); border-radius:10px; padding:9px 12px; font-size:.76rem; font-weight:800}
.article-hero{max-width:820px; margin:22px 0 34px}
.article-hero img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border:1px solid var(--line); border-radius:20px; background:var(--accent-weak); box-shadow:var(--shadow-md)}
.article-hero figcaption{margin:7px 4px 0; color:var(--ink-3); font-size:.72rem}
.article-share{max-width:820px; margin:38px 0 0; padding:20px 22px; border:1px solid var(--line); border-radius:16px; background:var(--card)}
.article-share h2{margin:0 0 12px; padding:0; font-size:1rem}
.article-share h2::before{display:none}
.article-share-actions{display:flex; flex-wrap:wrap; gap:9px}
.article-share-actions a{display:inline-flex; align-items:center; min-height:40px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; color:var(--accent-dark); background:#fff; font-size:.82rem; font-weight:750; text-decoration:none}
.article-share-actions a:hover{border-color:var(--accent); background:var(--accent-weak)}
.task-guide .practical-flow{margin-bottom:30px}
.task-guide>h1{font-size:clamp(1.8rem,3.8vw,2.4rem)}
.task-guide .prose{max-width:820px}
.task-guide .prose>h2:first-child{margin-top:0}
.task-resources{max-width:920px; margin:48px 0 0; padding:28px clamp(18px,4vw,32px) 32px; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:22px; background:linear-gradient(145deg,#fff,var(--accent-weak)); box-shadow:var(--shadow-md)}
.task-resources-kicker{margin:0 0 3px; color:var(--accent-dark); font-size:.72rem; font-weight:850; letter-spacing:.11em}
.task-resources h2{margin:0 0 9px; padding:0; font-size:1.32rem}
.task-resources h2::before{display:none}
.task-resources>p:not(.task-resources-kicker){max-width:760px; margin:0 0 24px; color:var(--muted); font-size:.86rem; line-height:1.8}
.task-resources h3{margin:27px 0 11px; color:var(--ink); font-size:1rem}
.task-resource-list{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px}
.task-resource-list>a{display:flex; min-width:0; min-height:150px; flex-direction:column; align-items:flex-start; padding:15px; border:1px solid var(--line); border-radius:15px; color:var(--ink); background:#fff; text-decoration:none; box-shadow:0 4px 12px rgba(18,56,72,.06); transition:transform .18s,border-color .18s,box-shadow .18s}
.task-resource-list>a:hover{transform:translateY(-2px); border-color:var(--accent); box-shadow:0 8px 20px rgba(18,56,72,.11)}
.task-resource-meta{color:var(--ink-3); font-size:.7rem; font-weight:700}
.task-resource-list strong{display:block; margin:6px 0 14px; font-size:.88rem; line-height:1.55; overflow-wrap:anywhere}
.task-resource-action{display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:39px; margin-top:auto; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); font-size:.76rem; font-weight:850}
.task-procedure-links{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:0; padding:0; list-style:none}
.task-procedure-links a{display:flex; min-width:0; justify-content:space-between; gap:10px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:rgba(255,255,255,.8); font-size:.8rem; font-weight:750; text-decoration:none; overflow-wrap:anywhere}
.task-procedure-links a span{flex:none; color:var(--ink-3); font-size:.7rem; font-weight:650}
.related-guides{max-width:820px; margin:46px 0 10px; padding-top:28px; border-top:1px solid var(--line)}
.related-guides h2{margin-top:0}
.fte-calculator{max-width:820px; margin:36px 0; padding:24px; border:1px solid #8cc8c0; border-radius:20px; background:linear-gradient(145deg,#fff,#edf8f6); box-shadow:var(--shadow-md)}
.fte-calculator h2{margin:0 0 18px; padding:0}
.fte-calculator h2::before{display:none}
.fte-calculator-kicker{margin:0 0 5px; color:var(--accent-dark); font-size:.74rem; font-weight:850; letter-spacing:.06em}
.fte-calculator form{display:grid; gap:18px}
.fte-calculator input{width:108px; min-height:43px; padding:8px 10px; color:var(--ink); background:#fff; border:1px solid #b7cecf; border-radius:9px; font:inherit; font-variant-numeric:tabular-nums}
.fte-calculator input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent}
.fte-standard,.fte-hours-grid label{display:flex; align-items:center; gap:7px; color:var(--ink-2); font-size:.86rem; font-weight:700}
.fte-standard input{margin-left:auto}
.fte-calculator fieldset{margin:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.72)}
.fte-calculator legend{padding:0 7px; color:var(--ink); font-weight:800}
.fte-hours-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px}
.fte-hours-grid label input{margin-left:auto}
.fte-result{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.fte-result span{display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:14px 16px; border-radius:13px; color:var(--ink-2); background:#fff; border:1px solid var(--line)}
.fte-result strong{color:var(--accent-dark); font-size:1.65rem; font-variant-numeric:tabular-nums}
.fte-status{min-height:1.6em; margin:0; color:var(--ink-2); font-size:.84rem}
.fte-actions{display:flex; flex-wrap:wrap; gap:9px}
.fte-actions button{min-height:42px; padding:8px 15px; border-radius:10px; font:inherit; font-weight:800; cursor:pointer}
.fte-caution{margin:18px 0 0; color:var(--ink-3); font-size:.76rem; line-height:1.7}
.staffing-checker{max-width:820px; margin:38px 0; padding:25px; border:1px solid #e2b56f; border-radius:22px; background:linear-gradient(145deg,#fffdf8,#fff4df); box-shadow:var(--shadow-md)}
.staffing-checker h2{margin:0 0 18px; padding:0}
.staffing-checker h2::before{display:none}
.staffing-checker-kicker{margin:0 0 5px; color:#8a541b; font-size:.74rem; font-weight:850; letter-spacing:.06em}
.staffing-time-diagram{display:grid; grid-template-columns:1fr 1.45fr 1fr; gap:7px; margin:0 0 22px}
.staffing-time-diagram div{position:relative; display:grid; gap:3px; min-height:100px; padding:15px 13px; border:1px solid #ead9bb; border-radius:14px; background:#fff}
.staffing-time-diagram div:not(:last-child)::after{content:""; position:absolute; z-index:2; top:50%; right:-10px; width:13px; border-top:3px solid #d5a65f}
.staffing-time-diagram .is-service{color:#fff; border-color:#287e76; background:linear-gradient(140deg,#358f86,#226e68)}
.staffing-time-diagram span{font-size:.7rem; font-weight:850; letter-spacing:.05em}
.staffing-time-diagram strong{align-self:center; font-size:.86rem; line-height:1.4}
.staffing-time-diagram small{align-self:end; color:var(--ink-3); font-size:.68rem; line-height:1.4}
.staffing-time-diagram .is-service small{color:#def6f2}
.staffing-checker form{display:grid; gap:18px}
.staffing-checker input[type="number"]{width:88px; min-height:43px; padding:8px 10px; color:var(--ink); background:#fff; border:1px solid #cbbd9f; border-radius:9px; font:inherit; font-variant-numeric:tabular-nums}
.staffing-checker input:focus{outline:2px solid var(--accent); outline-offset:1px}
.staffing-type{display:flex; align-items:flex-start; gap:9px; color:var(--ink-2); font-size:.85rem; font-weight:750; line-height:1.55}
.staffing-type input,.staffing-check-grid input{flex:0 0 auto; width:19px; height:19px; margin-top:1px; accent-color:var(--accent-dark)}
.staffing-number-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px}
.staffing-number-grid label{display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:7px; min-height:76px; padding:12px; border:1px solid var(--line); border-radius:13px; color:var(--ink-2); background:rgba(255,255,255,.8); font-size:.78rem; font-weight:750; line-height:1.45}
.staffing-number-grid label input{grid-row:2; grid-column:1/3; justify-self:end}
.staffing-number-grid label span{grid-row:2; grid-column:3}
.staffing-checker fieldset{margin:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.75)}
.staffing-checker legend{padding:0 7px; color:var(--ink); font-weight:800}
.staffing-check-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px}
.staffing-check-grid label{display:flex; align-items:flex-start; gap:8px; color:var(--ink-2); font-size:.8rem; line-height:1.5}
.staffing-result{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:16px; border:2px solid #dfa851; border-radius:15px; background:#fff}
.staffing-result[data-status="ok"]{border-color:#57a394; background:#f3fbf9}
.staffing-result>div{display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:12px; border-radius:11px; background:var(--accent-weak); color:var(--ink-2); font-size:.78rem}
.staffing-result>div strong{white-space:nowrap; color:var(--accent-dark)}
.staffing-result>div b{font-size:1.55rem; font-variant-numeric:tabular-nums}
.staffing-result ul{grid-column:1/-1; display:grid; gap:6px; margin:0; padding:0; list-style:none}
.staffing-result li{display:grid; grid-template-columns:62px 1fr; gap:8px; align-items:start; margin:0; padding:8px 10px; border-radius:9px; color:var(--ink-2); background:#fff7e7; font-size:.77rem; line-height:1.45}
.staffing-result li.is-ok{background:#eaf7f4}
.staffing-result li strong{color:#9a5b12}
.staffing-result li.is-ok strong{color:#17685f}
.staffing-result>p{grid-column:1/-1; margin:2px 0 0; color:var(--ink-2); font-size:.82rem; line-height:1.65}
.staffing-actions{display:flex; flex-wrap:wrap; gap:9px}
.staffing-actions button{min-height:42px; padding:8px 15px; border-radius:10px; font:inherit; font-size:.82rem; font-weight:800; cursor:pointer}
.staffing-caution{margin:18px 0 0; color:var(--ink-3); font-size:.76rem; line-height:1.7}
@media print{
  .staffing-checker{break-inside:avoid; box-shadow:none; background:#fff}
  .staffing-actions{display:none}
  .staffing-time-diagram .is-service{color:#111; border-color:#555; background:#eee}
  .staffing-time-diagram .is-service small{color:#333}
}
.author-profile{max-width:780px}
.profile-facts{display:grid; gap:1px; margin:26px 0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line)}
.profile-facts div{display:grid; grid-template-columns:130px 1fr; gap:16px; padding:14px 16px; background:#fff}
.profile-facts dt{color:var(--ink-3); font-size:.8rem; font-weight:750}
.profile-facts dd{margin:0}
.section-label{font-size:.76rem; letter-spacing:.08em; color:var(--ink-3); margin:28px 0 8px; font-weight:700}

/* ── 注意 / 免責 ──────────────────────────────── */
.notice{background:var(--warn-bg); color:var(--warn); border:1px solid #f1dfb4; border-radius:14px; padding:14px 17px; font-size:.86rem}
.disclaimer{margin-top:42px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; color:var(--ink-3); font-size:.8rem; background:rgba(255,255,255,.76)}

/* ── 本文（コラム） ───────────────────────────── */
.prose{max-width:820px; font-size:1.01rem}
.prose p{margin:1em 0}
.prose ul,.prose ol{padding-left:1.4em}
.prose li{margin:.3em 0}
.prose a{color:var(--accent)}
.prose code{background:var(--accent-weak); padding:.1em .4em; border-radius:4px; font-size:.9em}
.prose blockquote{margin:1.4em 0; padding:12px 16px; border-left:4px solid var(--coral); border-radius:0 12px 12px 0; color:var(--ink-2); background:#fff6f3}
.prose hr{border:0; border-top:1px solid var(--line); margin:2em 0}
.table-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:14px; box-shadow:var(--shadow-sm)}
table{border-collapse:collapse; width:100%; font-size:.9rem}
th,td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top; background:#fff}
th{background:var(--accent-weak); color:var(--ink); font-weight:700; white-space:nowrap}

/* ── 検索フォーム（トップ） ───────────────────── */
.home-hero{position:relative; isolation:isolate; overflow:hidden; margin:-10px 0 18px; padding:clamp(28px,5vw,54px); border:1px solid rgba(23,143,131,.16); border-radius:28px; background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(232,246,243,.93)); box-shadow:var(--shadow-md)}
.home-hero::before,.home-hero::after{content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none}
.home-hero::before{width:240px; height:240px; right:-90px; top:-100px; background:rgba(242,124,104,.12)}
.home-hero::after{width:150px; height:150px; left:-70px; bottom:-85px; background:rgba(243,184,75,.16)}
.hero-eyebrow{margin:0 0 12px; color:var(--accent-dark); font-size:.78rem; font-weight:800; letter-spacing:.08em}
.home-hero h1{max-width:760px; font-size:clamp(2rem,5.2vw,3.45rem); line-height:1.25}
.home-hero h1 span{color:var(--accent-dark)}
.home-hero>.lede{max-width:780px; font-size:1.02rem; line-height:1.9}
form.search{margin:26px 0 0; padding:20px; border:1px solid rgba(220,231,232,.92); border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 12px 34px rgba(23,50,77,.08)}
form.search textarea{
  width:100%; min-height:96px; resize:vertical; padding:16px 17px;
  font:inherit; line-height:1.6; color:var(--ink); background:var(--card);
  border:1px solid #cddcdd; border-radius:14px; box-shadow:inset 0 1px 3px rgba(23,50,77,.035);
}
form.search textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent}
.row{display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-top:10px}
button.primary{font:inherit; font-weight:750; color:#fff; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); border:0; border-radius:12px; padding:12px 25px; cursor:pointer; box-shadow:0 8px 18px rgba(23,143,131,.2); transition:transform .2s,box-shadow .2s}
button.primary:hover{transform:translateY(-1px); box-shadow:0 11px 24px rgba(23,143,131,.26)}
button.primary:disabled{opacity:.5; cursor:progress}
.hint{color:var(--ink-3); font-size:.82rem}
.examples{margin:14px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px}
.examples button{background:var(--accent-weak); color:var(--accent-dark); border:1px solid transparent; font:inherit; font-size:.82rem; padding:7px 12px; border-radius:999px; cursor:pointer; transition:background .2s,border-color .2s}
.examples button:hover{background:#fff; border-color:#a9d3cd}
.result-area{margin-top:28px}
.result-heading{font-size:1.25rem; margin:0 0 12px; padding:0 0 7px; border-bottom:1px solid var(--line)}
.result-heading:focus{outline:2px solid var(--accent); outline-offset:4px}
.status-panel{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:20px 22px; box-shadow:var(--shadow-sm)}
.status-panel>p:first-child{margin-top:0}
.status-panel>p:last-child{margin-bottom:0}
.status-urgent{margin:14px 0 0; padding:10px 12px; border-left:3px solid var(--warn); background:var(--warn-bg); color:var(--warn); font-size:.86rem}
.question-hints{padding-left:1.4em; margin:10px 0}
.question-hints li{margin:5px 0}
.result-actions{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:16px}
.result-actions a{color:var(--accent); font-weight:600}
button.secondary{font:inherit; font-weight:700; color:var(--accent-dark); background:var(--card); border:1px solid #87c2ba; border-radius:11px; padding:9px 15px; cursor:pointer; transition:background .2s,transform .2s}
button.secondary:hover{background:var(--accent-weak); transform:translateY(-1px)}
button.secondary:disabled{opacity:.55; cursor:progress}
.answer-disclaimer{margin:14px 0 0; padding:12px 14px; border-left:3px solid var(--warn); background:var(--warn-bg); color:var(--warn); font-size:.84rem}
.answer{background:var(--card); border:1px solid var(--line); border-left:5px solid var(--accent); border-radius:16px; padding:22px 24px; white-space:pre-wrap; line-height:1.95; letter-spacing:.01em; box-shadow:var(--shadow-sm)}
.answer-follow-up,.answer-feedback{margin-top:18px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px 20px; box-shadow:var(--shadow-sm)}
.answer-follow-up details summary{color:var(--accent); font-size:.95rem; font-weight:700}
.follow-up-form{margin-top:14px}
.follow-up-alternative p{margin:0 0 12px; line-height:1.7}
.follow-up-form label,.feedback-comment>label{display:block; font-size:.88rem; font-weight:700; margin-bottom:6px}
.follow-up-form textarea,.feedback-comment textarea{
  display:block; width:100%; resize:vertical; min-height:82px; padding:10px 12px;
  font:inherit; line-height:1.6; color:var(--ink); background:var(--bg);
  border:1px solid var(--line); border-radius:8px;
}
.follow-up-form textarea:focus,.feedback-comment textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent}
.field-help{margin:5px 0 10px; color:var(--ink-3); font-size:.78rem}
.form-status{min-height:1.8em; margin:8px 0 0; color:var(--ink-2); font-size:.82rem}
.answer-feedback fieldset{margin:0; padding:0; border:0}
.answer-feedback legend{font-weight:700; padding:0; margin-bottom:10px}
.feedback-actions{display:flex; flex-wrap:wrap; gap:10px}
.feedback-reasons{display:grid; gap:7px; margin-top:16px !important; padding-top:16px !important; border-top:1px solid var(--line) !important}
.feedback-reasons legend{font-size:.86rem; margin-bottom:4px}
.feedback-reasons label{display:flex; align-items:flex-start; gap:8px; font-size:.86rem; cursor:pointer}
.feedback-reasons input{margin-top:.48em; accent-color:var(--accent)}
.feedback-comment{margin-top:16px}
.feedback-comment textarea{min-height:74px}
.feedback-comment-footer{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:8px}
.feedback-comment-footer span{color:var(--ink-3); font-size:.76rem; font-variant-numeric:tabular-nums}
.feedback-caution{margin:14px 0 0; color:var(--ink-3); font-size:.76rem; line-height:1.65}
h2.eyebrow,h3.eyebrow{font-size:.78rem; letter-spacing:.1em; color:var(--ink-3); font-weight:700; margin:28px 0 10px; border:0; padding:0}
details summary{cursor:pointer; color:var(--ink-2); font-size:.86rem}
ul.cands{list-style:none; margin:10px 0 0; padding:0; font-size:.88rem}
ul.cands li{padding:7px 0; border-bottom:1px dashed var(--line)}
ul.cands a{color:var(--ink); text-decoration:none}
ul.cands a:hover{color:var(--accent)}
ul.cands .d{color:var(--ink-3); font-variant-numeric:tabular-nums; margin-right:10px; font-size:.8rem}
.index-state{color:var(--ink-3); font-size:.78rem; margin-top:6px}
.empty{color:var(--ink-2)}

/* ── 編集部実務アンケート（招待制・noindex） ── */
.survey-shell{max-width:1180px; margin:0 auto}
.survey-hero{padding:clamp(24px,4vw,44px); border:1px solid rgba(23,143,131,.2); border-radius:24px; background:linear-gradient(135deg,#fff,#edf8f6); box-shadow:var(--shadow-md)}
.survey-hero h1{margin-top:10px; font-size:clamp(1.8rem,4vw,2.8rem)}
.survey-intro-list{margin:18px 0 0; padding-left:1.35em; color:var(--ink-2); line-height:1.85}
.survey-intro-list li+li{margin-top:5px}
.survey-app{margin-top:24px}
.survey-progress-card{position:sticky; z-index:20; top:8px; margin-bottom:18px; padding:14px 18px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.96); box-shadow:var(--shadow-sm); backdrop-filter:blur(8px)}
.survey-progress-card>div{display:flex; justify-content:space-between; gap:12px; font-size:.88rem}
.survey-progress-card progress{display:block; width:100%; height:10px; margin:9px 0 5px; accent-color:var(--accent)}
.survey-progress-card p{min-height:1.3em; margin:0; color:var(--ink-3); font-size:.76rem}
.survey-profile-card,.survey-question-card{padding:clamp(20px,3vw,30px); border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:var(--shadow-sm)}
.survey-profile-card h2,.survey-question-card h2{margin-top:0}
.survey-profile-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:18px 0}
.survey-profile-grid label>span{display:block; margin-bottom:6px; font-size:.84rem; font-weight:700}
.survey-profile-grid b{color:var(--coral); font-size:.7rem}
.survey-profile-grid select,.survey-profile-grid input{width:100%; min-height:44px; padding:9px 11px; color:var(--ink); background:#fff; border:1px solid #cddcdd; border-radius:9px; font:inherit}
.survey-profile-grid select:focus,.survey-profile-grid input:focus,.survey-question textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent}
.survey-profile-wide{grid-column:1/-1}
.survey-consent-group{margin:18px 0 0; padding:15px; border:1px solid var(--line); border-radius:12px}
.survey-consent-group legend{padding:0 6px; font-weight:750}
.survey-consent-group label,.survey-required-consents label{display:flex; align-items:flex-start; gap:9px; margin:8px 0; color:var(--ink-2); font-size:.86rem; line-height:1.65; cursor:pointer}
.survey-consent-group input,.survey-required-consents input{flex:0 0 auto; margin-top:.42em; accent-color:var(--accent)}
.survey-required-consents{margin-top:18px; padding:14px 16px; border-left:4px solid var(--warn); border-radius:0 10px 10px 0; background:var(--warn-bg)}
.survey-layout{display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:18px; margin-top:18px}
.survey-section-nav{position:sticky; top:102px; display:grid; gap:6px}
.survey-section-nav button{display:flex; justify-content:space-between; gap:8px; width:100%; padding:10px 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink-2); background:#fff; font:inherit; font-size:.78rem; text-align:left; cursor:pointer}
.survey-section-nav button:hover,.survey-section-nav button.is-current{color:var(--accent-dark); border-color:#87c2ba; background:var(--accent-weak)}
.survey-section-nav button span{flex:0 0 auto; color:var(--ink-3); font-variant-numeric:tabular-nums}
.survey-question-card>header{padding-bottom:16px; border-bottom:1px solid var(--line)}
.survey-question-card>header p{margin:6px 0 0; color:var(--ink-2)}
.survey-question{margin:0; padding:24px 0; border:0; border-bottom:1px solid var(--line)}
.survey-question legend{display:flex; align-items:flex-start; gap:10px; width:100%; color:var(--ink); font-weight:750; line-height:1.7}
.survey-question-number{flex:0 0 auto; margin-top:2px; padding:2px 7px; border-radius:999px; color:var(--accent-dark); background:var(--accent-weak); font-size:.7rem; font-variant-numeric:tabular-nums}
.survey-optional{flex:0 0 auto; margin-left:auto; color:var(--ink-3); font-size:.7rem; font-weight:500}
.survey-help{margin:7px 0; color:var(--ink-3); font-size:.78rem}
.survey-question textarea{display:block; width:100%; min-height:110px; margin-top:12px; padding:12px 14px; resize:vertical; color:var(--ink); background:#fbfdfd; border:1px solid #cddcdd; border-radius:10px; font:inherit; line-height:1.7}
.survey-choices{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:13px}
.survey-choices label{display:flex; align-items:flex-start; gap:8px; min-height:44px; padding:10px 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink-2); background:#fff; font-size:.84rem; line-height:1.5; cursor:pointer}
.survey-choices label:hover{border-color:#87c2ba; background:var(--accent-weak)}
.survey-choices input{flex:0 0 auto; margin-top:.3em; accent-color:var(--accent)}
.survey-scale{grid-template-columns:repeat(5,minmax(0,1fr))}
.survey-scale label{justify-content:center; text-align:center}
.survey-controls{display:flex; justify-content:space-between; gap:12px; margin-top:24px}
.survey-controls .survey-submit{margin-left:auto}
.survey-thanks{margin-top:24px; border-left:5px solid var(--accent)}
[hidden]{display:none !important}
.spin{display:inline-block; width:.9em; height:.9em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:s .7s linear infinite; vertical-align:-.1em}
@keyframes s{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important; transition:none !important; animation-duration:.01ms !important; animation-iteration-count:1 !important}
}
@media (max-width:520px){
  .wrap{padding-left:16px; padding-right:16px}
  .site-head{position:relative}
  .site-head .wrap{align-items:center; gap:9px; padding-top:10px; padding-bottom:10px}
  .brand img{width:44px; height:44px}
  .brand-name{font-size:1.08rem}
  .brand .sub{font-size:.61rem}
  .site-nav{width:100%; margin-left:0; justify-content:flex-start; gap:6px; font-size:.76rem; border-top:1px solid var(--line); padding-top:8px}
  .site-nav a{padding:5px 8px; background:#f1f8f7}
  main{padding-top:24px}
  .home-hero{margin:0; padding:24px 18px; border-radius:22px}
  .home-hero h1{font-size:2.05rem}
  .home-hero>.lede{font-size:.94rem}
  form.search{margin-top:20px; padding:14px; border-radius:16px}
  form.search textarea{min-height:104px; padding:13px 14px}
  h2{margin-top:42px}
  .home-cards,.guide-grid,.home-guide-grid{grid-template-columns:1fr}
  .home-guide-card--featured{grid-column:auto}
  .home-guide-card--featured>a,.home-guide-card--compact>a{grid-template-columns:1fr; min-height:0}
  .home-guide-card .guide-thumb{width:100%; height:auto; aspect-ratio:16/9; object-fit:cover}
  .home-guide-card--featured .guide-card-body{padding:15px}
  .home-guide-card--featured .t{font-size:1rem}
  .home-guide-card--featured .d{display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3}
  .home-guide-card--compact .guide-card-body{padding:14px}
  .section-heading-row{align-items:flex-start; flex-direction:column; gap:7px}
  .home-updates{margin-top:34px; padding:20px 16px}
  .home-update-list{grid-template-columns:1fr}
  .home-update-card--featured{grid-column:auto}
  .update-card>a{padding:16px}
  .home-update-card--featured>a{padding:18px 16px}
  .update-facts{padding:17px 15px}
  .update-facts dl{grid-template-columns:1fr}
  .update-facts dl div{grid-template-columns:84px 1fr}
  .article-hero img{border-radius:16px}
  .article-identity{display:grid; gap:7px; margin-bottom:22px}
  .practical-flow{margin:22px 0 28px; padding:20px 17px}
  .practical-flow ol{grid-template-columns:1fr; gap:16px}
  .practical-flow li{display:grid; grid-template-columns:34px 1fr; align-items:start; gap:11px}
  .practical-flow li::before{margin:0}
  .practical-flow li:not(:last-child)::after{top:38px; left:16px; width:0; height:calc(100% - 22px); border-top:0; border-left:2px dashed color-mix(in srgb,var(--pattern-accent,var(--accent)) 45%,transparent)}
  .practical-flow li span{padding-top:4px}
  .article-resources{margin-top:34px; padding:20px 16px}
  .article-resource-actions a{grid-template-columns:auto minmax(0,1fr); gap:9px}
  .article-resource-open{grid-column:1/-1; text-align:center}
  .task-resources{margin-top:36px; padding:21px 16px 24px}
  .task-resource-list,.task-procedure-links{grid-template-columns:1fr}
  .task-resource-list>a{min-height:0}
  .task-procedure-links a{display:grid}
  .fte-calculator{padding:19px 15px}
  .fte-hours-grid,.fte-result{grid-template-columns:1fr}
  .staffing-checker{padding:19px 15px}
  .staffing-time-diagram,.staffing-number-grid,.staffing-check-grid,.staffing-result{grid-template-columns:1fr}
  .staffing-time-diagram div:not(:last-child)::after{top:auto; right:50%; bottom:-10px; width:0; height:13px; border-top:0; border-right:3px solid #d5a65f}
  .staffing-result ul,.staffing-result>p{grid-column:auto}
  .profile-facts div{grid-template-columns:1fr; gap:2px}
  .answer{padding:17px 16px; line-height:1.9}
  .answer-follow-up,.answer-feedback{padding:14px}
  .feedback-comment-footer{align-items:flex-start; flex-direction:column}
  .survey-hero{padding:22px 17px; border-radius:18px}
  .survey-progress-card{top:4px; padding:12px}
  .survey-progress-card>div{align-items:flex-start; flex-direction:column; gap:3px}
  .survey-profile-card,.survey-question-card{padding:18px 14px}
  .survey-profile-grid{grid-template-columns:1fr}
  .survey-profile-wide{grid-column:auto}
  .survey-layout{grid-template-columns:1fr}
  .survey-section-nav{position:static; grid-template-columns:repeat(2,minmax(0,1fr))}
  .survey-section-nav button{font-size:.7rem; padding:8px}
  .survey-choices,.survey-scale{grid-template-columns:1fr}
  .survey-scale label{justify-content:flex-start; text-align:left}
  .survey-question legend{flex-wrap:wrap; gap:7px}
  .survey-optional{margin-left:0}
  .survey-controls{align-items:stretch; flex-direction:column-reverse}
  .survey-controls button{width:100%}
}
