[hidden]{display:none!important}
/* 富源科技防漏｜照原型 A「清透」。
   顏色只有一套（SPEC 第四節），不跟深淺色模式變。
   圓角規則：照片與大卡 28px（手機 22px）；下拉面板、小卡、表格外框 22px；按鈕膠囊 980px。
   不加陰影、不做 hover 浮起。鎖捲動鎖 html。 */
:root{
  --ink:#1D1D1F;--sub:#6E6E73;--band:#F5F5F7;--line:#D2D2D7;--link:#0066CC;--green:#06C755;
  --sys:-apple-system,"SF Pro TC","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;
  --gl:max(20px,env(safe-area-inset-left,0px));--gr:max(20px,env(safe-area-inset-right,0px));
  --r:28px;--r2:22px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:76px}
body{margin:0;background:#FFFFFF;color:var(--ink);font-family:var(--sys);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#FFFFFF}
img{max-width:100%;height:auto;display:block}
p,li,dd{text-wrap:pretty}
a{color:inherit}
h1,h2,h3{font-weight:600;letter-spacing:0}
:focus-visible{outline:2px solid #0A84FF;outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.nw{white-space:nowrap}
.ph{display:inline-block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.w{max-width:1120px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}

/* 按鈕 */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--green);color:#FFFFFF;text-decoration:none;font-weight:600;border-radius:980px;padding:10px 22px;font-size:16px;line-height:1.4;white-space:nowrap}
.pill:active{transform:scale(.98)}
.more{color:var(--link);text-decoration:none;font-size:16px}
.more:hover{text-decoration:underline}

/* 頁首 */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.hd>.bar{display:flex;align-items:center;gap:16px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-width:0}
.brand img{width:34px;height:auto}
.brand b{display:block;font-size:16px;line-height:1.25;font-weight:600}
.brand small{display:block;font-size:12px;color:var(--sub);line-height:1.3}
.dnav{display:flex;align-items:center;gap:24px;font-size:14px}
.dnav>a,.dd>summary{text-decoration:none;color:var(--ink);cursor:pointer;white-space:nowrap}
.dnav>a:hover,.dd>summary:hover{color:var(--link)}
.dnav .pill{padding:7px 16px;font-size:14px;color:#FFFFFF;transition:opacity .2s ease,visibility .2s}
/* 同一畫面只留一顆 LINE：內容裡的 LINE 鈕看得到時，頁首那顆和手機底部條藏起來（site.js 切 off） */
.dnav .pill.off{opacity:0;visibility:hidden;pointer-events:none}
.dd{position:relative}
.dd>summary{list-style:none;display:flex;align-items:center;gap:4px}
.dd>summary::-webkit-details-marker{display:none}
.dd>summary::after{content:"›";display:inline-block;transform:rotate(90deg);color:var(--sub);font-size:15px;line-height:1}
.dd[open]>summary::after{transform:rotate(-90deg)}
.dd .panel{position:absolute;top:calc(100% + 18px);left:-18px;min-width:200px;background:#FFFFFF;border:1px solid var(--line);border-radius:var(--r2);padding:10px 0}
.dd .panel a{display:block;padding:9px 20px;text-decoration:none;font-size:15px;white-space:nowrap}
.dd .panel a:hover{color:var(--link)}
.hamb{display:none;width:44px;height:44px;border:0;background:none;padding:13px 11px;cursor:pointer;color:var(--ink);margin-right:-11px}
.hamb span{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease}
.hamb span+span{margin-top:7px}
.hamb[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.hamb[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.mnav{max-height:calc(100svh - 61px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;padding-top:6px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
.mnav>a:not(.pill),.mg>summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;text-decoration:none;font-size:17px;font-weight:600;border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.mg>summary::-webkit-details-marker{display:none}
.mg>summary::after{content:"›";transform:rotate(90deg);color:var(--sub);font-weight:400;font-size:20px;line-height:1}
.mg[open]>summary::after{transform:rotate(-90deg)}
.mg .sub{background:var(--band);border-radius:var(--r2);margin:10px 0;padding:6px 0}
.mg .sub a{display:block;padding:11px 18px;text-decoration:none;font-size:16px}
.mnav .pill{display:flex;margin-top:18px;padding:13px 20px}
.hd.open{background:#FFFFFF}
.hd.open .mnav{min-height:calc(100svh - 61px - env(safe-area-inset-top,0px))}
html.mopen .dock{display:none}

.dock{display:none}
.dock.off{transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none}
/* 導覽在 900 以下改漢堡（821～899 之間五個字會被擠成兩行） */
@media (max-width:899px){
  .hamb{display:block}
  .dnav{display:none!important}
  .dock{transition:transform .25s ease,opacity .25s ease,visibility .25s;display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:var(--gl);padding-right:var(--gr);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.08)}
  .dock .pill{flex:1;padding:13px 20px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:900px){.mnav{display:none!important}}

/* 首屏：照片出血，字壓在照片上 */
.hero{position:relative;margin:12px auto 0;max-width:1180px;padding-left:var(--gl);padding-right:var(--gr)}
.hero figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;height:min(76svh,680px);min-height:460px;background:#2a2a2c}
.hero.sm figure{height:min(62svh,540px);min-height:420px}
.hero img{width:100%;height:100%;object-fit:cover}
.hero figcaption{position:absolute;inset:auto 0 0 0;padding:180px clamp(22px,5vw,56px) clamp(26px,5vw,52px);background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.55) 45%,rgba(0,0,0,0));color:#FFFFFF}
.hero h1{margin:0;font-size:clamp(30px,5vw,48px);line-height:1.2;text-wrap:balance;max-width:16em}
.hero p{margin:12px 0 22px;font-size:clamp(16px,1.8vw,19px);max-width:34em;color:rgba(255,255,255,.9)}

/* 麵包屑：放在首屏下面 */
.crumb{font-size:13px;color:var(--sub);padding-top:18px}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}
.crumb li+li::before{content:"›";margin:0 8px;color:#A1A1A6}
.crumb a{text-decoration:none;color:var(--sub)}
.crumb a:hover{color:var(--link)}

/* 段落 */
section{padding-block:clamp(64px,9vw,112px)}
.band{background:var(--band)}
h2{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.2;text-wrap:balance}
.lead{margin:12px 0 0;color:var(--sub);font-size:clamp(16px,1.7vw,19px);max-width:36em}

.price-more{margin:28px 0 0}

/* 抓漏服務：橫向卡片。bleed＝右邊出血到螢幕邊，露出半張表示還能往右滑 */
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:36px;padding-bottom:6px;scrollbar-width:none;overscroll-behavior-x:contain}
.scroller.bleed{grid-auto-columns:340px;margin-right:calc(50% - 50vw);padding-right:calc(50vw - 50%)}
.scroller::-webkit-scrollbar{display:none}
.sv{scroll-snap-align:start;background:#FFFFFF;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
.sv .t{padding:28px 28px 22px}
.sv h3{margin:0;font-size:24px}
.sv p{margin:8px 0 0;color:var(--sub);font-size:15px}
.sv .go{color:var(--link);font-size:15px;display:inline-block;margin-top:10px}
.sv:hover .go{text-decoration:underline}
.sv img{margin-top:auto;width:100%;aspect-ratio:5/4;object-fit:cover;transition:transform .6s ease}
.sv:hover img{transform:scale(1.03)}
.arrows{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.arrows button{width:44px;height:44px;border-radius:50%;border:0;background:#E8E8ED;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;font-family:var(--sys)}
.arrows button:disabled{opacity:.35;cursor:default}

/* 修繕項目：桌機 2×2 大照片、字壓在下緣；手機改縮圖清單（見 640 以下） */
.rp{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:36px}
.rp a{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;color:#FFFFFF;text-decoration:none;background:#2A2A2C}
.rp .th{position:absolute;inset:0}
.rp .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.rp a:hover .th img{transform:scale(1.03)}
.rp .cap{position:absolute;left:0;right:0;bottom:0;display:block;padding:96px 32px 28px;background:linear-gradient(to top,rgba(0,0,0,.74),rgba(0,0,0,.4) 55%,rgba(0,0,0,0))}
.rp b{display:block;font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1.3}
.rp .cap>span{display:block;margin-top:6px;color:rgba(255,255,255,.88);font-size:15px;max-width:30em}
.rp i{display:none;font-style:normal}
/* 五個修繕項目：上排兩張大、下排三張（10-28 加屋頂防水）。項目數變了要改這裡 */
@media (min-width:821px){
  .rp a{grid-column:span 2;aspect-ratio:4/3}
  .rp a:nth-child(-n+2){grid-column:span 3;aspect-ratio:3/2}
  .rp a:nth-child(n+3) .cap{padding:72px 24px 22px}
  .rp a:nth-child(n+3) b{font-size:clamp(20px,2vw,24px)}
  .rp a:nth-child(n+3) .cap>span{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}
/* 抓漏流程 */
.flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center;margin-top:40px}
.flow .ph img{border-radius:var(--r);width:100%;aspect-ratio:4/5;object-fit:cover}
ol.steps{list-style:none;margin:0;padding:0;counter-reset:s}
ol.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line)}
ol.steps li::before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--ink);color:#FFFFFF;display:grid;place-items:center;font-weight:600;font-size:15px}
ol.steps b{display:block;font-size:18px;font-weight:600}
ol.steps span{color:var(--sub)}

/* 關於富源（首頁）：滿版照片在上，下面左一段話、右三列事實 */
.ab{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,48px) clamp(32px,5vw,80px);margin-top:36px;align-items:start}
.ab figure{grid-column:1/-1;margin:0;border-radius:var(--r);overflow:hidden;background:#2A2A2C}
.ab figure img{width:100%;aspect-ratio:21/9;object-fit:cover}
.ab-t p{margin:0;font-size:clamp(19px,2.2vw,24px);line-height:1.65}
.ab-t .more{display:inline-block;margin-top:18px}
.facts{margin:0;display:grid;gap:22px}
.facts dt{font-size:14px;color:var(--sub);line-height:1.4}
.facts dd{margin:4px 0 0;font-size:17px;line-height:1.55}

/* 常見問題 */
.faq{margin-top:28px;max-width:820px}
.faq details{border-top:1px solid var(--line);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--sub);font-weight:400;flex:none}
.faq details[open] summary::after{content:"−"}
.faq p{margin:10px 0 0;color:var(--sub)}

/* 服務地區：三縣市各一塊灰底圓角，區名做成白色膠囊 */
.areas{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr) minmax(0,.85fr);gap:18px;margin-top:36px;align-items:start}
.areas>div{background:var(--band);border-radius:var(--r);padding:28px 26px 26px}
.areas h3{margin:0;font-size:22px;line-height:1.3}
.areas h3 a{text-decoration:none}
.areas h3 a:hover{color:var(--link)}
.areas>div>p{margin:4px 0 16px;color:var(--sub);font-size:14px}
.dl{display:flex;flex-wrap:wrap;gap:8px}
.dl a{display:inline-flex;align-items:center;min-height:38px;padding:4px 14px;border-radius:980px;background:#FFFFFF;color:var(--ink);text-decoration:none;font-size:14.5px;line-height:1.4}
.dl a:hover{color:var(--link)}

/* 結尾大圖 */
.end{text-align:center}
.end figure{margin:0 auto;position:relative;border-radius:var(--r);overflow:hidden;background:#2a2a2c}
.end img{width:100%;height:clamp(340px,46vw,520px);object-fit:cover}
.end figcaption{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;padding:24px;color:#FFFFFF;background:rgba(0,0,0,.56)}
.end h2{color:#FFFFFF;max-width:14em}
.end p{margin:-6px 0 0;color:rgba(255,255,255,.92);max-width:32em}

/* 內頁正文 */
.doc{padding-block:clamp(40px,6vw,72px) clamp(56px,8vw,96px)}
.doc .lede{font-size:clamp(18px,2vw,21px);line-height:1.7;max-width:36em;margin:0 0 8px}
.prose{max-width:720px;min-width:0}
.art{display:grid;grid-template-columns:minmax(0,720px) 240px;justify-content:space-between;gap:48px}
.toc{position:sticky;top:92px;align-self:start;font-size:14px;padding-top:6px}
.toc p{margin:0 0 8px;color:var(--ink);font-weight:600}
.toc a{display:block;padding:6px 0;color:var(--sub);text-decoration:none;line-height:1.5}
.toc a:hover{color:var(--link)}
.prose h2{font-size:clamp(24px,3vw,32px);margin-top:clamp(48px,6vw,72px)}
.prose h2:first-child{margin-top:0}
.prose p{margin:16px 0 0}
.prose a{color:var(--link);text-decoration:none;overflow-wrap:anywhere}
.prose a:hover{text-decoration:underline}
.prose ul{margin:18px 0 0;padding:18px 24px 18px 40px;background:var(--band);border-radius:var(--r2)}
.prose li{margin:6px 0}
.prose figure{margin:clamp(40px,5vw,56px) 0 0}
.prose figure img{border-radius:var(--r);width:100%;aspect-ratio:3/2;object-fit:cover}
.tbl{margin:20px 0 0;overflow-x:auto;border-radius:var(--r2);border:1px solid var(--line)}
.tbl table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
.tbl th{text-align:left;font-weight:600;padding:12px 16px;background:var(--band)}
.tbl td{padding:12px 16px;vertical-align:top}
.tbl tbody tr:nth-child(even){background:#FAFAFC}
.faq-sec{padding-block:clamp(56px,8vw,96px)}

/* 收費（首頁、內頁共用）：近黑面板，左邊 25,000，右邊照付款順序的一張帳 */
.fee{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center;background:#1D1D1F;color:#F5F5F7;border-radius:var(--r);padding:clamp(32px,5.5vw,72px)}
.fee h2{color:#FFFFFF}
.fee .num{font-size:clamp(48px,6.4vw,80px);line-height:1;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums;margin-top:32px;color:#FFFFFF}
.fee .num small{font-size:.28em;color:#A1A1A6;margin-left:8px;font-weight:600}
.fee .fl p{margin:16px 0 0;color:#A1A1A6}
.fee .more{color:#2997FF;display:inline-block;margin-top:18px}
ol.led{list-style:none;margin:0;padding:0}
ol.led li{display:grid;grid-template-columns:6em minmax(0,1fr) auto;gap:2px 18px;align-items:baseline;padding:12px 0}
ol.led b{font-weight:600;color:#FFFFFF}
ol.led span{color:#A1A1A6;font-size:15px}
ol.led em{font-style:normal;font-weight:600;color:#FFFFFF;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
ol.led .sum{margin-top:6px;padding-top:16px;border-top:1px solid rgba(255,255,255,.28)}
ol.led .sum em{font-size:20px}
ol.led .sum+li{margin-top:22px}

/* 內頁連結區：相關漏水、鄰近地區（每頁只出現一次） */
.links{padding-block:clamp(56px,8vw,96px)}
.links h2{font-size:clamp(24px,3vw,32px)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chips a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border-radius:980px;background:var(--band);text-decoration:none;font-size:15px}
.chips a:hover{color:var(--link)}
.band .chips a{background:#FFFFFF}
.svl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;max-width:820px}
.svl a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding:12px 20px 12px 12px;border-radius:var(--r2);background:var(--band);text-decoration:none}
.svl .th{display:block;width:72px;height:72px;border-radius:14px;overflow:hidden;background:#D2D2D7}
.svl .th img{width:100%;height:100%;object-fit:cover}
.svl .tx b{display:block;font-size:17px;font-weight:600}
.svl .tx>span{display:block;color:var(--sub);font-size:14.5px;margin-top:2px;line-height:1.55}
.svl a:hover b{color:var(--link)}
.band .svl a{background:#FFFFFF}
.sub-h{font-size:19px;margin:36px 0 0}

/* 服務地區總覽 */
.county{padding-block:clamp(40px,5vw,64px)}
.doc .county:first-child{padding-top:0}
.county h2 a{text-decoration:none}
.county h2 a:hover{color:var(--link)}
.county p{margin:10px 0 0;color:var(--sub);max-width:40em}
.grid-d{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0 12px;margin-top:24px;padding:14px 18px;border-radius:var(--r2);background:var(--band)}
.grid-d a{padding:10px 4px;text-decoration:none;font-size:16px}
.grid-d a:hover{color:var(--link)}

/* 頁尾 */
footer{background:var(--band);font-size:14px;color:var(--sub);padding-block:48px 40px}
footer .cols{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:28px}
footer .fh{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 8px;line-height:1.4}
footer a{color:var(--sub);text-decoration:none;display:block;padding:5px 0}
footer a:hover{color:var(--link)}
footer .fb b{display:block;color:var(--ink);font-size:15px;font-weight:600}
footer .fb p{margin:6px 0 0}
footer .copy{margin:36px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px}

/* 404、隱私權 */
.plain{padding-block:clamp(48px,7vw,88px)}
.plain h1{margin:0;font-size:clamp(30px,4.6vw,44px);line-height:1.2}
.plain .prose h2{font-size:clamp(21px,2.6vw,26px)}

@media (max-width:1023px){
  .art{grid-template-columns:minmax(0,1fr)}
  .toc{display:none}
}
@media (max-width:640px){
  ol.led li{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}
  ol.led span{grid-column:1/-1;grid-row:2}
  /* 表格在手機改成一列一塊（斑馬底），每格帶欄名，不用左右滑 */
  .tbl{border:0;border-radius:0;overflow:visible}
  .tbl table,.tbl tbody,.tbl tr,.tbl td{display:block;min-width:0;width:auto}
  .tbl thead{display:none}
  .tbl tr{padding:14px 18px;border-radius:var(--r2)}
  .tbl tbody tr:nth-child(odd){background:var(--band)}
  .tbl tbody tr:nth-child(even){background:#FFFFFF}
  .tbl td{padding:3px 0}
  .tbl td:first-child{font-weight:600}
  .tbl td+td[data-label]::before{content:attr(data-label);display:block;font-size:13px;color:var(--sub);margin-top:6px}
}
@media (max-width:820px){
  .hero{padding:0;margin:0}
  /* 首屏時底部 LINE 條是藏著的，照片撐滿到螢幕底 */
  .hero figure,.hero.sm figure{border-radius:0;height:calc(100svh - 61px);min-height:480px;max-height:900px}
  .hero.sm figure{height:calc(88svh - 61px);min-height:440px}
  .flow,.fee,.ab{grid-template-columns:1fr}
  .fee{border-radius:var(--r2);padding:30px 22px 26px}
  .ab figure{border-radius:var(--r2)}
  .ab figure img{aspect-ratio:4/3}
  .scroller{grid-auto-columns:82%}
  .sv{border-radius:var(--r2)}
  .flow .ph img{border-radius:var(--r2);aspect-ratio:4/3}
  .scroller.bleed{grid-auto-columns:82%}
  .rp{grid-template-columns:1fr;gap:10px}
  .rp a{border-radius:var(--r2);display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;align-items:center;aspect-ratio:auto;padding:10px 18px 10px 10px;background:var(--band);color:var(--ink)}
  .rp .th{position:relative;inset:auto;width:88px;height:88px;border-radius:14px;overflow:hidden}
  .rp .cap{position:static;padding:0;background:none}
  .rp b{font-size:18px}
  .rp .cap>span{color:var(--sub);font-size:14.5px;margin-top:2px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .rp i{display:block;color:var(--link);font-size:22px;line-height:1}
  .areas{grid-template-columns:1fr;gap:12px}
  .areas>div{border-radius:var(--r2);padding:22px 18px 20px}
  .end figure{border-radius:var(--r2)}
  .end img{height:clamp(380px,100vw,460px)}
  .prose figure img{border-radius:var(--r2)}
  .svl{grid-template-columns:1fr}
  .grid-d{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 14px}
  footer .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
  footer .fb{grid-column:1/-1}
}
