/* ポレポレ トップページ（wordpress/build_wp.py が polepole-v2.html から生成） */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%}
[hidden]{display:none!important}
/* Layout: 白と黄色だけの明るい1テーマ。写真は元の縦横比のまま角丸で見せ、依頼の入口（電話・ケアマネ向け）を最上部と画面下に常に置く。初回だけロゴが現れるオープニング */
:root{
  color-scheme:light;
  --bg:#ffffff;--soft:#fffae6;--yellow:#ffd84d;--yellow-deep:#f5c400;--yellow-pale:#fff3bf;
  --text:#3b3f45;--muted:#6b7078;--line:#eee6c8;
  --round:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;
  --sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --en:"Quicksand","Zen Maru Gothic",sans-serif;
  --r-lg:32px;--r-md:20px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16.5px;line-height:1.9;letter-spacing:.03em;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
a{color:inherit}
:focus-visible{outline:3px solid var(--yellow-deep);outline-offset:3px;border-radius:8px}
h1,h2,h3,h4{font-family:var(--round);font-weight:700;text-wrap:balance;word-break:auto-phrase;overflow-wrap:break-word;line-height:1.45;margin:0;color:var(--text)}
p{margin:0}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
.w{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.mark{background:linear-gradient(transparent 62%,var(--yellow) 62%)}
.pic img{width:100%;border-radius:var(--r-lg)}
.tbd{display:inline-block;vertical-align:middle;margin-left:6px;font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:.04em;color:var(--muted);border:1.5px dashed var(--yellow-deep);border-radius:999px;padding:1px 10px;background:var(--bg)}

/* opening: shown once per tab, only when motion is welcome */
.opening{display:none}
html.intro .opening{display:grid;place-items:center;position:fixed;inset:0;z-index:100;background:var(--bg);pointer-events:none;animation:opOut .45s cubic-bezier(.4,0,.2,1) 1.15s forwards}
.op-in{display:grid;justify-items:center;text-align:center;padding:0 24px}
.op-mark{position:relative;width:128px;height:128px}
.op-mark::before{content:"";position:absolute;inset:-36px;border-radius:50%;background:var(--yellow-pale);opacity:0;transform:scale(.4);animation:opSun .75s var(--ease) .05s forwards}
.op-mark img{position:relative;width:128px;height:128px;border-radius:30px;background:#fff;object-fit:contain;opacity:0;transform:translateY(10px) scale(.94);animation:opUp .6s var(--ease) .15s forwards}
.op-name{font-family:var(--round);font-weight:700;font-size:clamp(19px,4.8vw,24px);letter-spacing:.06em;margin-top:44px;opacity:0;transform:translateY(10px);animation:opUp .55s var(--ease) .45s forwards}
.op-sub{font-size:13px;color:var(--muted);letter-spacing:.12em;margin-top:4px;opacity:0;transform:translateY(8px);animation:opUp .5s var(--ease) .6s forwards}
html.intro .hero-copy{opacity:0;transform:translateY(16px);animation:opUp .7s var(--ease) 1.3s forwards}
html.intro .hero-photo{opacity:0;transform:translateY(18px) scale(.98);animation:opUp .8s var(--ease) 1.4s forwards}
@keyframes opSun{to{opacity:1;transform:scale(1)}}
@keyframes opUp{to{opacity:1;transform:none}}
@keyframes opOut{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  html.intro .opening{display:none}
  html.intro .hero-copy,html.intro .hero-photo{animation:none;opacity:1;transform:none}
  *{transition:none!important}
}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
header .w{display:flex;align-items:center;gap:16px;min-height:72px;max-width:1320px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--round);font-weight:700;font-size:17px;line-height:1.3;margin-right:auto;min-width:0;white-space:nowrap}
.logo img{width:46px;height:46px;object-fit:contain;flex:none}
.logo small{display:block;font-family:var(--sans);font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.06em}
.gnav{display:flex;gap:2px}
.gnav a{text-decoration:none;font-size:14px;font-weight:500;padding:8px 11px;border-radius:999px;white-space:nowrap}
.gnav a:hover{background:var(--soft)}
.htel{display:grid;line-height:1.2;text-align:right;text-decoration:none;flex:none}
.htel b{font-family:var(--en);font-size:21px;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.htel span{font-size:11px;color:var(--muted)}
.hcta{min-height:44px!important;padding:0 20px!important;font-size:14px!important;flex:none}
.pp-menu{position:relative;display:none;flex:none}
.pp-menu summary{list-style:none;cursor:pointer;width:46px;height:46px;border-radius:50%;background:var(--soft);display:grid;place-items:center}
.pp-menu summary::-webkit-details-marker{display:none}
.pp-menu summary span,.pp-menu summary span::before,.pp-menu summary span::after{display:block;width:18px;height:2px;border-radius:2px;background:var(--text);position:relative;transition:transform .2s,background .2s}
.pp-menu summary span::before,.pp-menu summary span::after{content:"";position:absolute;left:0}
.pp-menu summary span::before{top:-6px}.pp-menu summary span::after{top:6px}
.pp-menu[open] summary span{background:transparent}
.pp-menu[open] summary span::before{transform:translateY(6px) rotate(45deg)}
.pp-menu[open] summary span::after{transform:translateY(-6px) rotate(-45deg)}
.mnav{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 32px));background:var(--bg);border-radius:var(--r-md);box-shadow:0 16px 40px rgba(120,100,20,.18);padding:10px;display:grid}
.mnav a{text-decoration:none;padding:12px 14px;border-radius:12px;font-weight:500}
.mnav a:hover{background:var(--soft)}
.mnav .btn{margin-top:6px}
@media (max-width:1239px){.gnav{display:none}.pp-menu{display:block}}
@media (min-width:1240px) and (max-width:1439px){.htel{display:none}}
@media (max-width:700px){.htel,.hcta{display:none!important}.logo{font-size:15px}.logo small{display:none}.logo img{width:40px;height:40px}header .w{min-height:64px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;background:var(--yellow);color:var(--text);transition:background .2s,transform .2s;text-align:center;line-height:1.4}
.btn:hover{background:var(--yellow-deep);transform:translateY(-1px)}
.btn.line{background:var(--bg);border:2px solid var(--yellow-deep)}
.btn.line:hover{background:var(--soft)}
.btn svg{width:20px;height:20px;flex:none}
.row{display:flex;gap:12px;flex-wrap:wrap}

/* section heading */
section{padding-block:96px}
.soft{background:var(--soft)}
.head{display:grid;gap:12px;margin-bottom:44px;max-width:44em}
.head.center{margin-inline:auto;text-align:center;justify-items:center}
.en{font-family:var(--en);font-weight:700;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--yellow-deep);display:inline-flex;align-items:center;gap:10px}
.en::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--yellow)}
.head h2{font-size:clamp(26px,3.6vw,38px)}
.head p{color:var(--muted)}
.sub-h{font-size:clamp(20px,2.4vw,24px);margin-bottom:16px}
@media (max-width:700px){section{padding-block:68px}.head{margin-bottom:32px}}

/* hero */
.hero{padding-block:40px 72px;overflow-x:clip}
.hero .w{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:center}
@media (max-width:880px){.hero .w{grid-template-columns:1fr;gap:36px}}
.hero h1{font-size:clamp(28px,3.9vw,48px);margin:16px 0 22px;letter-spacing:.02em}
@media (max-width:880px){.hero h1{font-size:clamp(28px,7.4vw,44px)}}
.nb{display:inline-block;white-space:nowrap}
.hero .lead{color:var(--muted);max-width:28em;margin-bottom:30px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;padding:0;list-style:none}
.chips li{background:var(--soft);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:500}
.hero-photo{position:relative}
.hero-photo img{width:100%;border-radius:var(--r-lg)}
.hero-photo::after{content:"";position:absolute;width:42%;aspect-ratio:1;border-radius:50%;background:var(--yellow-pale);right:-6%;top:-8%;z-index:-1}
.badge{position:absolute;left:-18px;bottom:24px;background:var(--bg);border-radius:var(--r-md);padding:14px 20px;box-shadow:0 12px 32px rgba(120,100,20,.14);display:grid;gap:2px;max-width:260px}
.badge b{font-family:var(--round);font-size:16px}
.badge span{font-size:13px;color:var(--muted)}
@media (max-width:880px){.badge{position:static;margin:-28px 16px 0;max-width:none;position:relative}.hero-photo::after{display:none}}

/* navi: answer a few questions, get the right contact */
.navi-sec{padding-block:24px 96px}
.navi{max-width:880px;margin-inline:auto;background:var(--bg);border:3px solid var(--yellow);border-radius:40px;padding:clamp(22px,4vw,44px);box-shadow:0 18px 40px rgba(120,100,20,.08)}
.nv-top{display:flex;align-items:center;gap:14px;margin-bottom:20px;min-height:36px}
.nv-count{font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.nv-bar{flex:1;height:6px;border-radius:3px;background:var(--yellow-pale);overflow:hidden}
.nv-bar i{display:block;height:100%;background:var(--yellow-deep);border-radius:3px;transition:width .3s var(--ease)}
.nv-back,.nv-restart,.nv-copy{font:inherit;cursor:pointer;color:var(--text);background:none;border:0}
.nv-back{font-size:14px;font-weight:700;color:var(--muted);padding:6px 12px;border-radius:999px;white-space:nowrap;margin-left:auto}
.nv-back:hover{background:var(--soft);color:var(--text)}
.nv-q{font-family:var(--round);font-weight:700;font-size:clamp(20px,2.6vw,26px);line-height:1.5;margin-bottom:20px;outline:none}
.nv-choices{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.nv-choices.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.nv-choice{font:inherit;text-align:left;cursor:pointer;background:var(--soft);border:2px solid transparent;border-radius:20px;padding:18px 20px;display:grid;gap:4px;align-content:start;color:var(--text);transition:border-color .15s,background .15s,transform .15s}
.nv-choice:hover{border-color:var(--yellow-deep);background:var(--yellow-pale);transform:translateY(-1px)}
a.nv-choice{text-decoration:none}
.nv-choice b{font-family:var(--round);font-size:17px;line-height:1.5}
.nv-choice span{font-size:13.5px;color:var(--muted);line-height:1.6}
.nv-choices.two .nv-choice{padding:24px;background:var(--yellow-pale)}
.nv-choices.two .nv-choice b{font-size:19px}
.nv-anim{animation:nvIn .35s var(--ease)}
@keyframes nvIn{from{opacity:0;transform:translateY(8px)}}
.nv-res{display:grid;gap:20px}
.nv-res h3{font-size:clamp(21px,2.8vw,28px);outline:none}
.nv-lead{color:var(--muted)}
.nv-box{background:var(--soft);border-radius:20px;padding:18px 22px;display:grid;gap:12px}
.nv-box>b{font-family:var(--round)}
.nv-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.nv-facts li{border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:14px}
.nv-area{background:var(--soft);border-radius:16px;padding:12px 18px;font-size:15px;display:grid;gap:2px}
.nv-area b{font-size:13px;color:var(--muted)}
.nv-qa{display:grid;gap:10px}
.nv-qa div{border:1px solid var(--line);border-radius:16px;padding:14px 18px;display:grid;gap:4px}
.nv-qa b{font-size:15.5px;line-height:1.6}
.nv-qa p{color:var(--muted);font-size:15px;line-height:1.75}
.nv-contact{background:var(--yellow);border-radius:24px;padding:22px 24px;display:grid;gap:6px;justify-items:start}
.nv-clabel{font-weight:700;font-size:15px}
.nv-num{font-family:var(--en);font-weight:700;font-size:clamp(28px,4.4vw,38px);letter-spacing:.04em;line-height:1.25;font-variant-numeric:tabular-nums}
.nv-hours,.nv-mail{font-size:13.5px}
.nv-mail{overflow-wrap:anywhere}
.nv-actions{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 2px}
.nv-actions .btn{background:var(--bg)}
.nv-actions .btn:hover{background:var(--soft)}
.nv-sum{border-top:1px dashed var(--line);padding-top:16px;display:grid;gap:8px;font-size:14px;color:var(--muted)}
.nv-sum>b{color:var(--text);font-size:14px}
.nv-sum ul{margin:0;padding-left:1.1em}
.nv-sum-act{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.nv-copy{font-size:14px;font-weight:700;border:2px solid var(--line);border-radius:999px;padding:6px 16px}
.nv-copy:hover{border-color:var(--yellow-deep)}
.nv-ta{width:100%;min-height:120px;font:inherit;font-size:14px;border:1px solid var(--line);border-radius:12px;padding:10px}
.nv-restart{justify-self:start;font-size:14.5px;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:4px 0}
@media (max-width:520px){.navi{border-radius:28px}.nv-contact{padding:20px}.nv-actions{width:100%;flex-direction:column}.nv-actions .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.nv-anim{animation:none}}

/* request */
.req{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.card{background:var(--bg);border-radius:var(--r-lg);padding:36px;display:grid;gap:18px;align-content:start;min-width:0;box-shadow:0 2px 0 var(--line)}
@media (max-width:520px){.card{padding:26px 22px}}
.who{justify-self:start;background:var(--yellow);font-weight:700;font-size:13px;padding:4px 16px;border-radius:999px}
.card h3{font-size:24px}
.card>p{color:var(--muted)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.7}
.checks li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--yellow-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233b3f45' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.contact{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline;background:var(--soft);border-radius:var(--r-md);padding:18px 22px;margin:0}
.contact dt{font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.1em;color:var(--muted)}
.contact dd{margin:0;min-width:0;overflow-wrap:anywhere}
.contact .num{font-family:var(--en);font-weight:700;font-size:clamp(24px,3.4vw,30px);letter-spacing:.04em;font-variant-numeric:tabular-nums;line-height:1.3}
.contact .hours{grid-column:1/-1;font-size:13px;color:var(--muted)}
.contact a{font-weight:500}

/* about */
.about{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center}
@media (max-width:880px){.about{grid-template-columns:1fr;gap:40px}}
.prose{display:grid;gap:18px;color:var(--muted)}
.quote{font-family:var(--round);font-weight:700;font-size:clamp(22px,2.6vw,28px);color:var(--text);line-height:1.6}
.media{display:flex;gap:12px;align-items:center;font-size:14px;border:1px solid var(--line);border-radius:999px;padding:8px 18px 8px 8px}
.media b{background:var(--yellow);border-radius:999px;padding:2px 12px;font-size:12px;white-space:nowrap;color:var(--text)}
@media (max-width:520px){.media{border-radius:18px;align-items:flex-start}}

/* strengths bento */
.bento{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.bento article{background:var(--bg);border-radius:var(--r-lg);padding:30px;display:grid;gap:10px;align-content:start;min-width:0}
.bento .big{grid-column:span 2;grid-row:span 2;background:var(--yellow);grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:28px;align-items:center;align-content:stretch}
.bento .big .txt{display:grid;gap:14px}
.bento .big h3{font-size:clamp(23px,2.8vw,30px)}
.bento .big p{font-size:16px;color:var(--text)}
.bento .big img{width:100%;border-radius:24px}
.bento .ic{width:52px;height:52px;border-radius:16px;background:var(--yellow-pale);display:grid;place-items:center}
.bento .big .ic{background:var(--bg)}
.bento .ic svg{width:28px;height:28px;fill:none;stroke:var(--text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bento h3{font-size:19px}
.bento p{color:var(--muted);font-size:15px;line-height:1.8}
@media (max-width:880px){.bento{grid-template-columns:1fr 1fr}.bento .big{grid-column:1/-1;grid-row:auto}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.bento .big{grid-template-columns:1fr}.bento .big img{max-width:340px;justify-self:center}}

/* services */
.svc{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.svc article{border:1px solid var(--line);border-radius:var(--r-md);padding:24px 26px;display:grid;gap:8px;align-content:start}
.svc h3{font-size:18px;display:flex;align-items:center;gap:10px}
.svc h3::before{content:"";width:8px;height:22px;border-radius:4px;background:var(--yellow)}
.svc ul{margin:0;padding-left:1.1em;color:var(--muted);font-size:15px;line-height:1.85}
.note{font-size:14px;color:var(--muted);margin-top:24px}
.note a{font-weight:700}
.scenes{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}
.scenes figure{display:grid;gap:8px}
.scenes img{width:100%;border-radius:var(--r-md)}
.scenes figcaption{font-size:13.5px;color:var(--muted);line-height:1.6}
@media (max-width:880px){.scenes{grid-template-columns:1fr 1fr}}

/* staff */
.staff{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
@media (max-width:880px){.staff{grid-template-columns:1fr;gap:36px}.staff .pic{max-width:420px}}
.profile{display:grid;gap:18px}
.name{font-family:var(--round);font-weight:700;font-size:26px;letter-spacing:.08em}
.creds{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.creds li{background:var(--yellow);border-radius:999px;padding:6px 16px;font-size:14.5px;font-weight:700}
.profile>p{color:var(--muted)}
.paper{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;background:var(--bg);border-radius:var(--r-md);padding:22px}
.paper img{width:100%;border-radius:12px;border:1px solid var(--line)}
.paper b{font-family:var(--round);font-size:17px}
.paper p{color:var(--muted);font-size:15px}
.paper .title{font-size:13.5px;line-height:1.7}

/* flow: a real sequence */
.flow{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:f}
.flow li{counter-increment:f;background:var(--soft);border-radius:var(--r-md);padding:24px 20px;display:grid;gap:8px;align-content:start}
.flow li::before{content:"STEP " counter(f);font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.12em;color:var(--text);background:var(--yellow);justify-self:start;padding:2px 12px;border-radius:999px}
.flow b{font-family:var(--round);font-size:18px}
.flow span{color:var(--muted);font-size:14.5px;line-height:1.75}
@media (max-width:980px){.flow{grid-template-columns:1fr}.flow li{grid-template-columns:auto 1fr;column-gap:16px}.flow li::before{grid-row:span 2;align-self:start}}

/* community */
.blk{margin-top:72px}
.c-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
@media (max-width:880px){.c-intro{grid-template-columns:1fr;gap:32px}}
.voice{margin:22px 0 0;background:var(--bg);border-radius:var(--r-md);padding:20px 24px;font-family:var(--round);font-weight:700;font-size:clamp(17px,2vw,20px);line-height:1.7;position:relative}
.voice::before{content:"“";font-family:var(--en);font-size:56px;line-height:1;color:var(--yellow-deep);position:absolute;left:14px;top:-18px}
.voice small{display:block;font-family:var(--sans);font-weight:500;font-size:12.5px;color:var(--muted);margin-top:6px}
.hk{background:var(--bg);border-radius:40px;padding:clamp(24px,4vw,48px)}
.hk-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:start;margin-bottom:32px}
@media (max-width:880px){.hk-head{grid-template-columns:1fr;gap:16px}}
.hk-head h3{font-size:clamp(24px,3vw,32px)}
.hk-head p{color:var(--muted)}
.sched{background:var(--soft);border-radius:var(--r-md);padding:16px 20px;font-size:15px;color:var(--text)!important}
.sched b{display:block;font-family:var(--round)}
.acts{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.acts{grid-template-columns:1fr}}
.act{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:grid;align-content:start;min-width:0}
.act img{width:100%}
.act .body{padding:22px 24px 26px;display:grid;gap:12px}
.act .kicker{font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.08em}
.act h4{font-size:20px}
.act p{color:var(--muted);font-size:15px;line-height:1.8}
.dl{margin:0;display:grid;gap:8px}
.dl div{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:baseline;font-size:15px;line-height:1.7}
.dl dt{font-weight:700;background:var(--yellow-pale);border-radius:8px;padding:0 8px;white-space:nowrap}
.dl dd{margin:0;color:var(--muted);min-width:0}
@media (max-width:420px){.dl div{grid-template-columns:1fr}.dl dt{justify-self:start}}
.tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.tags li{border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:14px;background:var(--bg)}
.foot{font-size:14px!important;color:var(--text)!important;font-weight:500;border-top:1px dashed var(--line);padding-top:10px}
.strip{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
.strip figure{display:grid;gap:6px}
.strip img{width:100%;border-radius:var(--r-md)}
.strip figcaption{font-size:13px;color:var(--muted)}
@media (max-width:760px){.strip{grid-template-columns:1fr 1fr}}
.consult{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
@media (max-width:880px){.consult{grid-template-columns:1fr}}
.consult>div{background:var(--bg);border-radius:var(--r-lg);padding:clamp(24px,3.4vw,36px);display:grid;gap:18px;align-content:start;min-width:0}
.consult h3{font-size:clamp(20px,2.4vw,24px)}
.consult p{color:var(--muted);font-size:15.5px}
.bubbles{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bubbles li{background:var(--yellow-pale);border-radius:20px 20px 20px 6px;padding:12px 18px;font-weight:500;justify-self:start;max-width:100%}
.bubbles li:nth-child(2){justify-self:center}
.bubbles li:nth-child(3){justify-self:end;border-radius:20px 20px 6px 20px}
@media (max-width:520px){.bubbles li,.bubbles li:nth-child(2),.bubbles li:nth-child(3){justify-self:stretch}}
.consult .pic img{border-radius:var(--r-md)}
.ex{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:e}
.ex li{counter-increment:e;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:start;padding-bottom:16px;position:relative;font-size:15.5px;line-height:1.7}
.ex li::before{content:counter(e);width:36px;height:36px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-family:var(--en);font-weight:700}
.ex li::after{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:2px;background:var(--yellow-pale)}
.ex li:last-child::after{display:none}
.ex li span{padding-top:5px}
.punch{background:var(--yellow);border-radius:var(--r-md);padding:14px 20px;font-family:var(--round);font-weight:700;color:var(--text)!important;font-size:16.5px!important}
.connect{background:var(--bg);border-radius:40px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
@media (max-width:880px){.connect{grid-template-columns:1fr;gap:24px}}
.connect h3{font-size:clamp(22px,2.8vw,30px)}
.connect>div>p{color:var(--muted);margin-top:12px}
.tiers{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tiers li{display:grid;grid-template-columns:minmax(0,.9fr) 28px minmax(0,1.3fr);align-items:center;gap:8px}
.tiers .st{border-radius:16px;padding:12px 14px;font-weight:700;font-size:15px;text-align:center;line-height:1.5}
.tiers li:nth-child(1) .st{background:var(--soft)}
.tiers li:nth-child(2) .st{background:var(--yellow-pale)}
.tiers li:nth-child(3) .st{background:#ffe789}
.tiers li:nth-child(4) .st{background:var(--yellow)}
.tiers .ar{height:2px;background:var(--yellow-deep);position:relative}
.tiers .ar::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--yellow-deep);border-right:0}
.tiers .do{font-size:15px;line-height:1.6;border:1px solid var(--line);border-radius:16px;padding:12px 14px}
@media (max-width:520px){.tiers li{grid-template-columns:1fr;gap:0}.tiers .ar{width:2px;height:16px;justify-self:center}.tiers .ar::after{right:-4px;top:auto;bottom:-6px;border:5px solid transparent;border-top:7px solid var(--yellow-deep);border-bottom:0}.tiers .st{border-radius:16px 16px 6px 6px}.tiers .do{border-radius:6px 6px 16px 16px;text-align:center}}
.connect .ccl{grid-column:1/-1;text-align:center;font-family:var(--round);font-weight:700;font-size:clamp(17px,2vw,20px)}
.vf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
@media (max-width:880px){.vf{grid-template-columns:1fr}}
.vf>div{background:var(--bg);border-radius:var(--r-lg);padding:clamp(24px,3.4vw,36px);display:grid;gap:18px;align-content:start}
.vf h3{font-size:clamp(20px,2.4vw,24px)}
.wanted{background:var(--yellow);border-radius:var(--r-md);padding:20px 22px;display:grid;gap:10px;justify-items:start}
.wanted b{font-family:var(--round);font-size:18px}
.wanted p{font-size:15px}
.wanted .btn{background:var(--bg);min-height:46px;padding:0 22px;font-size:15px}
.wanted .btn:hover{background:var(--soft)}

/* pokapoka */
.poka{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:center}
@media (max-width:880px){.poka{grid-template-columns:1fr;gap:32px}}
.logo-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;max-width:400px;justify-self:center}
.poka .tags{margin-top:24px}
.poka .tags li{padding:8px 18px;font-size:15px}
.price{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));margin-top:40px}
.price div{background:var(--soft);border-radius:var(--r-md);padding:22px 26px;display:grid;gap:2px}
.price b{font-family:var(--en);font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.price b small{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:500}
.price span{color:var(--muted);font-size:15px}

/* days gallery: each photo keeps its own shape */
.masonry{columns:3 260px;column-gap:16px}
.masonry figure{break-inside:avoid;margin:0 0 16px;position:relative}
.masonry img{width:100%;border-radius:var(--r-md)}
.masonry figcaption{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:500;max-width:calc(100% - 20px)}
@media (max-width:560px){.masonry{columns:2;column-gap:12px}.masonry figure{margin-bottom:12px}.masonry figcaption{position:static;background:none;padding:6px 2px 0;font-size:12px;color:var(--muted)}}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px;margin-inline:auto}
.faq details{background:var(--bg);border-radius:var(--r-md);padding:0 24px}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:center;padding:20px 0;font-weight:700;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--en);flex:none;width:32px;height:32px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-size:15px}
.faq summary::after{content:"";margin-left:auto;flex:none;width:12px;height:12px;border-right:2.5px solid var(--text);border-bottom:2.5px solid var(--text);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details p{padding:0 0 22px 46px;color:var(--muted);font-size:15.5px}
@media (max-width:520px){.faq details{padding:0 18px}.faq details p{padding-left:0}}

/* news: latest posts, newest first */
.news-wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:40px;align-items:start}
@media (max-width:880px){.news-wrap{grid-template-columns:1fr;gap:24px}}
.news{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.news li{border-bottom:1px solid var(--line)}
.news a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 4px;text-decoration:none}
.news a::after{content:"";width:8px;height:8px;border-top:2px solid var(--text);border-right:2px solid var(--text);transform:rotate(45deg);margin-right:6px}
.news a:hover span{text-decoration:underline;text-decoration-color:var(--yellow-deep);text-decoration-thickness:2px;text-underline-offset:5px}
.news time{font-family:var(--en);font-weight:700;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.news span{overflow-wrap:anywhere;line-height:1.7}
@media (max-width:560px){.news a{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:16px 2px}.news a::after{grid-column:2;grid-row:1/3}}
.news-more summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;margin-top:20px;font-weight:700;font-size:15px;padding:8px 20px;border:2px solid var(--yellow-deep);border-radius:999px}
.news-more summary::-webkit-details-marker{display:none}
.news-more summary:hover{background:var(--soft)}
.news-more[open] summary{display:none}
.news-more .news{border-top:0}
.news-all{display:inline-block;margin-top:20px;font-weight:700;font-size:15px;text-underline-offset:4px}

/* access */
.access{max-width:860px}
.info{margin:0;display:grid}
.info div{display:grid;grid-template-columns:7.5em 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.info div:first-child{border-top:1px solid var(--line)}
.info dt{font-weight:700;font-size:15px}
.info dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--muted)}
.info a{color:var(--text);font-weight:700;text-underline-offset:3px}
@media (max-width:560px){.info div{grid-template-columns:1fr;gap:2px}}

/* closing CTA */
.cta{background:var(--yellow);border-radius:40px;padding:56px clamp(24px,5vw,64px);display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center}
.cta img{width:120px;height:120px;border-radius:50%;background:var(--bg);object-fit:cover}
.cta h2{font-size:clamp(22px,3vw,30px)}
.cta p{margin-top:6px}
.cta .num{font-family:var(--en);font-weight:700;font-size:clamp(28px,4vw,40px);letter-spacing:.04em;line-height:1.2;font-variant-numeric:tabular-nums}
.cta .side{display:grid;gap:12px;justify-items:start}
.cta .btn{background:var(--bg)}
.cta .btn:hover{background:var(--soft)}
@media (max-width:880px){.cta{grid-template-columns:1fr}.cta img{width:96px;height:96px}}

footer{padding-block:40px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}
footer .w{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
footer .fl{display:flex;align-items:center;gap:10px;font-family:var(--round);font-weight:700;color:var(--text);font-size:15px}
footer .fl img{width:36px;height:36px}

/* phone call bar */
.callbar{display:none}
@media (max-width:700px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .callbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:6;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);
    padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .callbar .btn{flex:1;min-height:50px;padding:0 12px;font-size:15px}
}

/* WordPress admin bar */
.admin-bar header{top:calc(32px + env(safe-area-inset-top,0px))}
@media screen and (max-width:782px){.admin-bar header{top:46px}}
@media screen and (max-width:600px){.admin-bar header{top:env(safe-area-inset-top,0px)}}
