/* ZOKRI Planning Facilitation section. Extends the site system; does not restyle header or footer. */
.pf{--ink:#0D0F12;--g:#0E9F6E;--gd:#08693F;--gl:#16C088;--bg:#F5F6F6;--line:#E4E6E7;--line2:#D3D6D8;--mute:#565B61;--err:#B42318;--wrap:1180px}
:where(.pf) a{color:inherit}
.pf [hidden]{display:none !important}
.pf :focus-visible,.pf-quiz :focus-visible,.zk-pf :focus-visible{outline:3px solid var(--ink,#0D0F12);outline-offset:2px;border-radius:6px}
.pf .pf-dark :focus-visible{outline-color:#16C088}
.pf-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.pf-sec{padding:clamp(28px,3.6vw,48px) 0}
.pf-research.pf-sec,.pf-close.pf-sec{padding:clamp(52px,7vw,96px) 0;margin:clamp(24px,3vw,40px) 0}
.pf-close.pf-sec{margin-bottom:0}
.pf-ruled{border-top:1px solid var(--line2);padding-top:clamp(24px,3vw,36px)}
.pf-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:18px clamp(32px,5vw,80px);border-top:1px solid var(--line2);padding-top:clamp(24px,3vw,36px)}
.pf-row .pf-h2{font-size:clamp(1.5rem,2.5vw,2.1rem);max-width:14ch;margin-bottom:10px}
.pf-row .pf-intro{font-size:1rem;margin:0;max-width:40ch}
.pf-row-body{min-width:0}
.pf-row-body .pf-list>li{grid-template-columns:minmax(0,200px) minmax(0,1fr)}
.pf-row-body .pf-faq{max-width:none}
@media (max-width:860px){.pf-row{grid-template-columns:minmax(0,1fr)}.pf-row .pf-h2{max-width:none}}
.pf-h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.06;letter-spacing:-0.028em;font-weight:600;margin:0 0 14px;max-width:30ch;text-wrap:balance}
.pf-h3{font-size:clamp(1.08rem,1.6vw,1.22rem);font-weight:600;letter-spacing:-0.012em;margin:0;line-height:1.3}
.pf-intro{color:var(--mute);font-size:1.05rem;line-height:1.6;max-width:60ch;margin:0 0 clamp(24px,3vw,36px);text-wrap:pretty}
.pf-p{font-size:1.02rem;line-height:1.6;color:#33383D;max-width:64ch;margin:0;text-wrap:pretty}
.pf-mono{font-family:'JetBrains Mono',monospace}
.pf-link{color:var(--gd);font-weight:600;border-bottom:1px solid #A8D5C2}
.pf-link:hover{border-bottom-color:var(--gd)}

/* breadcrumbs */
.pf-crumbs{font-family:'JetBrains Mono',monospace;font-size:0.76rem;color:#5F656B;padding-top:18px}
.pf-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 8px}
.pf-crumbs li{display:flex;gap:8px;align-items:center}
.pf-crumbs li+li::before{content:"/";color:#9BA1A7}
.pf-crumbs a{padding:6px 0;display:inline-block}
.pf-crumbs a:hover{color:var(--gd)}
.pf-crumbs [aria-current]{color:var(--ink)}

/* buttons */
.pf-btns{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 24px;border-radius:11px;font:600 1rem/1.2 'General Sans',system-ui,sans-serif;border:1px solid transparent;cursor:pointer;text-align:center;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.pf-btn--main{background:var(--gd);color:#fff}
.pf-btn--main:hover{background:var(--ink)}
.pf-btn--main:active{transform:translateY(1px)}
.pf-btn--sec{background:transparent;color:var(--ink);border-color:var(--line2)}
.pf-btn--sec:hover{border-color:var(--ink)}
.pf-btn--quiet{background:#fff;color:var(--ink);border-color:var(--line)}
.pf-btn--quiet:hover{border-color:var(--ink)}
.pf-btn[disabled],.pf-btn[aria-disabled="true"]{background:#E4E6E7;color:#5F656B;border-color:#E4E6E7;cursor:not-allowed;transform:none}
.pf-dark .pf-btn--main{background:#16C088;color:#0D0F12}
.pf-dark .pf-btn--main:hover{background:#fff}
.pf-dark .pf-btn--sec{color:#fff;border-color:#4B5259}
.pf-dark .pf-btn--sec:hover{border-color:#fff}
@media (max-width:520px){.pf-hero .pf-btn,.pf-close .pf-btn{width:100%;white-space:normal}}

/* hero */
.pf-hero{padding:clamp(14px,3vw,36px) 0 clamp(36px,5vw,64px)}
.pf-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.pf-hero-grid>.pf-table{margin-top:6px}
@media (max-width:1080px){.pf-hero-grid{grid-template-columns:minmax(0,1fr)}.pf-hero-grid>.pf-table{margin-top:4px}}
.pf-h1{font-size:clamp(1.95rem,5.2vw,3.5rem);line-height:1.03;letter-spacing:-0.034em;font-weight:600;margin:0;text-wrap:balance}
.pf-answer{font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.45;font-weight:500;color:var(--ink);margin:14px 0 0;max-width:56ch;text-wrap:pretty}
.pf-lead{font-size:1rem;line-height:1.55;color:var(--mute);margin:12px 0 0;max-width:60ch;text-wrap:pretty}
.pf-also{font-size:0.9rem;line-height:1.5;color:#33383D;margin:14px 0 0;max-width:62ch;padding:2px 0 2px 12px;border-left:2px solid var(--g)}
.pf-hero .pf-btns{margin-top:20px}
.pf-note{font-size:0.86rem;color:#5F656B;margin:12px 0 0}
@media (max-width:520px){.pf-h1{font-size:1.85rem}.pf-answer{font-size:1rem;margin-top:10px}.pf-lead{font-size:0.95rem;margin-top:8px}.pf-also{font-size:0.86rem}.pf-hero .pf-btns{margin-top:16px}}

/* the planning table, Exhibit A: the one decorative element, and the one motion */
.pf-table{margin:0}
.pf-table picture{display:block;border-radius:20px;overflow:hidden;background:#E4E6E7;aspect-ratio:2752/1536}
.pf-table img{display:block;width:100%;height:100%;object-fit:cover;animation:pf-settle .7s cubic-bezier(.2,.8,.3,1) both}
.pf-table figcaption{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:#5F656B}
@keyframes pf-settle{from{transform:scale(1.04) translateY(-8px)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.pf-table img{animation:none}}
@media (max-width:1080px){.pf-table{max-width:820px}}

/* own section lists */
.pf-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pf-list>li{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:6px clamp(20px,3vw,44px);padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pf-list>li.pf-list-1{grid-template-columns:minmax(0,1fr)}
@media (max-width:700px){.pf-list>li{grid-template-columns:minmax(0,1fr)}}
.pf-ticks{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:66ch}
.pf-ticks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;font-size:1.04rem;line-height:1.55}
.pf-ticks li::before{content:"";width:12px;height:12px;margin-top:7px;border-radius:3px;background:var(--g)}
.pf-time{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pf-time li{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:4px 24px;padding:15px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pf-time .pf-t{font-family:'JetBrains Mono',monospace;font-size:0.86rem;color:var(--gd);font-weight:500}
@media (max-width:560px){.pf-time li{grid-template-columns:minmax(0,1fr)}}
.pf-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(28px,4vw,56px)}
.pf-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,32px)}

/* how a planning day works: 40/30/30 */
.pf-split{display:grid;grid-template-columns:4fr 3fr 3fr;gap:4px;border-radius:12px;overflow:hidden;margin-bottom:22px}
.pf-split span{height:14px;background:var(--g)}
.pf-split span:nth-child(2){background:var(--gd)}
.pf-split span:nth-child(3){background:#0D0F12}
.pf-steps{display:grid;grid-template-columns:4fr 3fr 3fr;gap:clamp(18px,2.6vw,32px);list-style:none;margin:0;padding:0;counter-reset:s}
.pf-steps li{display:flex;flex-direction:column;gap:8px}
.pf-steps .pf-pc{font-family:'JetBrains Mono',monospace;font-size:0.82rem;color:var(--gd)}
@media (max-width:760px){.pf-split{display:none}.pf-steps{grid-template-columns:minmax(0,1fr)}.pf-steps li{padding-left:18px;border-left:3px solid var(--g)}.pf-steps li:nth-child(2){border-color:var(--gd)}.pf-steps li:nth-child(3){border-color:#0D0F12}}

/* four ways */
.pf-ways{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:stretch}
@media (max-width:860px){.pf-ways{grid-template-columns:minmax(0,1fr)}}
.pf-feature{background:#0D0F12;color:#E8EAEB;border-radius:20px;padding:clamp(26px,3.6vw,44px);display:flex;flex-direction:column;gap:14px}
.pf-feature .pf-tag{color:#16C088}
.pf-feature h3{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.05;letter-spacing:-0.03em;font-weight:600;margin:0;color:#fff}
.pf-feature p{color:#C9CDD1;font-size:1.02rem;line-height:1.6;margin:0;max-width:52ch}
.pf-tag{font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:var(--gd)}
.pf-ways-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pf-ways-list li:first-child{padding-top:0}
.pf-ways-list li{padding:clamp(16px,2vw,22px) 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:6px}
.pf-ways-list li:last-child{border-bottom:0;padding-bottom:0}

/* research */
.pf-research{background:#EBF1EE}
.pf-find{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #CFDDD5}
.pf-research .pf-intro{margin-bottom:clamp(28px,3.6vw,44px)}
.pf-find>div{padding:clamp(22px,3vw,34px) clamp(0px,2vw,28px) clamp(22px,3vw,34px) 0;border-bottom:1px solid #CFDDD5;display:flex;flex-direction:column;gap:10px}
.pf-find>div:nth-child(odd){border-right:1px solid #CFDDD5}
.pf-find>div:nth-child(even){padding-left:clamp(20px,3vw,36px)}
@media (max-width:760px){.pf-find{grid-template-columns:minmax(0,1fr)}.pf-find>div:nth-child(odd){border-right:0}.pf-find>div:nth-child(even){padding-left:0}}
.pf-num{font-size:clamp(2.6rem,6vw,4.2rem);line-height:0.95;letter-spacing:-0.045em;font-weight:600;color:#08693F}
.pf-src{font-family:'JetBrains Mono',monospace;font-size:0.78rem;line-height:1.45;color:#3F4A44}
.pf-src a{color:#08693F;border-bottom:1px solid #A8D5C2}
.pf-src a:hover{border-bottom-color:#08693F}

/* people */
.pf-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.pf-person{padding-top:20px;border-top:3px solid var(--ink)}
@media (max-width:860px){.pf-people{grid-template-columns:minmax(0,1fr)}}
.pf-person{display:flex;flex-direction:column;gap:12px}
.pf-person img,.pf-initials{width:96px;height:96px;border-radius:16px;object-fit:cover;background:#E4E6E7}
.pf-initials{display:grid;place-items:center;font-weight:600;font-size:1.6rem;color:#33383D}
.pf-person h3 a{border-bottom:1px solid #A8D5C2}
.pf-person h3 a:hover{color:var(--gd)}
.pf-role{color:var(--mute);font-size:0.94rem;margin:-6px 0 0}
.pf-person ul{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:8px;font-size:0.96rem;line-height:1.5;color:#33383D}
.pf-pq{margin:4px 0 0;font-size:0.95rem;line-height:1.5;padding-left:12px;border-left:2px solid var(--g)}
.pf-pq cite{display:block;font-style:normal;color:var(--mute);font-size:0.86rem;margin-top:4px}
.pf-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;margin-top:clamp(32px,4vw,48px);padding-top:22px;border-top:1px solid var(--line);font-size:0.92rem;line-height:1.4;color:var(--mute)}
.pf-facts b{display:block;color:var(--ink);font-weight:600;font-size:clamp(1.6rem,2.8vw,2.2rem);letter-spacing:-0.03em;line-height:1.05;margin-bottom:4px}
@media (max-width:560px){.pf-facts{grid-template-columns:minmax(0,1fr)}}
.pf-clients{color:var(--mute);font-size:0.98rem;line-height:1.6;max-width:80ch;margin:18px 0 0}

/* quote */
.pf-quote{margin:0;display:block}
.pf-quote p{font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.08;letter-spacing:-0.035em;font-weight:600;margin:0;max-width:24ch;text-wrap:balance}
@media (max-width:860px){.pf-quote{grid-template-columns:minmax(0,1fr)}.pf-quote blockquote,.pf-quote footer{grid-column:1}}
.pf-quote footer{margin-top:20px;font-family:'JetBrains Mono',monospace;font-size:0.84rem;color:#5F656B}

/* faq */
.pf-faq{max-width:820px}
.pf-faq details{border-bottom:1px solid var(--line2)}
.pf-faq details:first-child{border-top:1px solid var(--line2)}
.pf-faq summary{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px;padding:16px 2px;font-size:1.08rem;font-weight:600;letter-spacing:-0.01em;list-style:none;cursor:pointer}
.pf-faq summary::-webkit-details-marker{display:none}
.pf-faq summary:hover{color:var(--gd)}
.pf-faq summary::after{content:"+";color:var(--gd);font-size:1.4rem;line-height:1;flex:none}
.pf-faq details[open] summary::after{content:"\2212"}
.pf-faq .pf-a{color:#33383D;line-height:1.6;font-size:1rem;padding:0 2px 20px;max-width:64ch;margin:0}

/* where we work / related */
.pf-cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px 36px}
.pf-cities h3{font-family:'JetBrains Mono',monospace;font-size:0.8rem;color:var(--gd);font-weight:500;margin:0 0 8px}
.pf-cities ul,.pf-linklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pf-cities a,.pf-linklist a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line);font-weight:500;gap:10px;justify-content:space-between}
.pf-cities a::after,.pf-linklist a::after{content:"\2192";color:var(--gd)}
.pf-cities a:hover,.pf-linklist a:hover{color:var(--gd)}
.pf-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.pf-related a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;min-height:48px;background:#fff;border:1px solid var(--line);border-radius:14px;font-weight:600}
.pf-related a:hover{border-color:var(--g)}
.pf-related a span{font-weight:400;color:var(--mute);font-size:0.94rem;line-height:1.45}
.pf-updated{font-family:'JetBrains Mono',monospace;font-size:0.78rem;color:#5F656B;margin:0}

/* closing cta */
.pf-close{background:#0D0F12;color:#E8EAEB}
.pf-close h2{color:#fff;max-width:16ch;margin:0}
.pf-close p{color:#C9CDD1}
.pf-close-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px clamp(32px,5vw,80px);align-items:start}
.pf-close-grid .pf-intro{margin:0 0 22px}
@media (max-width:1080px){.pf-close-grid{grid-template-columns:minmax(0,1fr)}.pf-close h2{max-width:22ch}}

/* hub service index */
.pf-index{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start}
@media (max-width:860px){.pf-index{grid-template-columns:minmax(0,1fr)}}
.pf-index-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.pf-index-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:16px 0;border-bottom:1px solid var(--line2);min-height:48px}
.pf-index-list a b{font-weight:600}
.pf-index-list a span{grid-column:1;color:var(--mute);font-size:0.95rem}
.pf-index-list a::after{content:"\2192";grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--gd)}
.pf-index-list a:hover b{color:var(--gd)}
.pf-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line2)}
.pf-stages li{padding:18px 18px 22px 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:8px;font-size:1rem;line-height:1.5}
.pf-stages li b{font-family:'JetBrains Mono',monospace;font-size:0.82rem;color:var(--gd);font-weight:500}
@media (max-width:860px){.pf-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.pf-stages{grid-template-columns:minmax(0,1fr)}.pf-stages li{flex-direction:row;gap:14px;padding:14px 0}}

/* pack preview, video */
.pf-pack{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;align-items:end}
.pf-page{aspect-ratio:210/297;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 20px 40px -30px rgba(13,15,18,.5);display:flex;align-items:flex-end;padding:14px;font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:#5F656B}
.pf-page:first-child{background:#0D0F12;color:#C9CDD1}
.pf-video{aspect-ratio:16/9;background:#0D0F12;border-radius:16px;display:grid;place-items:center;color:#C9CDD1;font-family:'JetBrains Mono',monospace;font-size:0.8rem;text-align:center;padding:20px}
.pf-talks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line2)}
.pf-talks li{padding:18px 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:6px}

/* mobile header book link (section pages only) */
.pf-hbook{display:none}
@media (max-width:940px){.pf-hbook{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:10px;background:#08693F;color:#fff !important;font-weight:600;font-size:0.9rem;margin-left:auto;white-space:nowrap}.pf-hbook+.zk-burger{margin-left:8px !important}}

/* ---------- print: A4, black on white ---------- */
@media print{
  @page{size:A4 portrait;margin:18mm}
  html{font-size:10.5pt !important}
  body{background:#fff !important;color:#000 !important}
  header,footer.site,.pf-noprint,.pf-crumbs,.pf-table,#cookieyes,.cky-consent-container,.cky-btn-revisit-wrapper,body>noscript{display:none !important}
  body>div>header,body>div>footer{display:none !important}
  .pf-print-only{display:block !important}
  .pf *{color:#000 !important;background:transparent !important;box-shadow:none !important}
  .pf-wrap{max-width:none;padding:0}
  .pf-sec{padding:0 0 10pt}
  .pf-suggest{border:1.2pt solid #000 !important;border-radius:6pt;break-inside:avoid}
  .pf-forward{border:0.8pt solid #000 !important;break-inside:avoid}
  .pf-res-name{font-size:40pt}
  .pf-p2{break-before:page}
  .pf-report{grid-template-columns:42mm minmax(0,1fr);border-color:#000}
  .pf-report>h3,.pf-report>div{border-color:#999 !important;break-inside:avoid;padding:6pt 0}
  .pf-report>h3{break-after:avoid}
  h1,h2,h3{break-after:avoid}
  .pf-printfoot{position:fixed;bottom:-10mm;left:0;right:0;display:flex !important;justify-content:space-between;font-size:8pt}
  a{border:0 !important;text-decoration:none}
}

/* ---------- Serious planning page ---------- */
.pf-tag{margin:0 0 10px}
.pf-sp-hero{padding:clamp(16px,3vw,36px) 0 clamp(28px,4vw,48px)}
.pf-sp-top{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,32px);margin-bottom:clamp(24px,3vw,40px)}
.pf-sp-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px clamp(32px,5vw,72px);align-items:start}
.pf-sp-side .pf-answer{font-size:clamp(1.1rem,1.7vw,1.3rem)}
@media (max-width:860px){.pf-sp-side{grid-template-columns:minmax(0,1fr)}}
.pf-sp-h1{font-size:clamp(2.6rem,7.4vw,6.2rem);line-height:0.94;letter-spacing:-0.05em;font-weight:600;margin:0;text-wrap:balance}
.pf-sp-h1 span{color:var(--gd);white-space:nowrap}
.pf-sp-side .pf-answer{margin-top:0}
.pf-sp-photo picture{aspect-ratio:1400/700;border-radius:24px}
@media (max-width:700px){.pf-sp-photo picture{aspect-ratio:1400/900}}
.pf-spec{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(18px,2.4vw,28px) 0 0;border-top:2px solid var(--ink)}
.pf-spec div{padding:14px 16px 0 0}
.pf-spec div+div{padding-left:16px;border-left:1px solid var(--line2)}
.pf-spec dt{font-family:'JetBrains Mono',monospace;font-size:0.74rem;color:var(--gd)}
.pf-spec dd{margin:4px 0 0;font-size:clamp(1.05rem,1.8vw,1.4rem);font-weight:600;letter-spacing:-0.02em;line-height:1.2}
@media (max-width:700px){.pf-spec{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-spec div:nth-child(3){padding-left:0;border-left:0}.pf-spec div:nth-child(n+3){border-top:1px solid var(--line2);margin-top:14px}}

.pf-bingo-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:28px clamp(32px,5vw,80px);align-items:center}
@media (max-width:900px){.pf-bingo-wrap{grid-template-columns:minmax(0,1fr)}}
.pf-bingo{background:#0D0F12;border-radius:22px;padding:clamp(16px,2.4vw,24px);box-shadow:0 30px 60px -40px rgba(13,15,18,.6)}
.pf-bingo-head{display:flex;justify-content:space-between;margin:0 0 14px;padding:0 4px;font-family:'JetBrains Mono',monospace;font-size:0.78rem;letter-spacing:0.3em;text-transform:uppercase;color:#16C088}
.pf-bingo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pf-b{position:relative;aspect-ratio:1;background:#F5F6F6;border-radius:14px;padding:clamp(10px,1.6vw,16px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.pf-b-n{font-family:'JetBrains Mono',monospace;font-size:0.72rem;color:#5F656B;position:relative;z-index:1}
.pf-b-t{font-weight:600;font-size:clamp(0.82rem,1.5vw,1.08rem);line-height:1.18;letter-spacing:-0.012em;position:relative;z-index:1;text-wrap:balance}
.pf-b-t s{text-decoration-thickness:2px;color:#5F656B}
.pf-b::after{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;right:-14%;bottom:-14%;background:#16C088;opacity:0;transform:scale(.4);transition:opacity .18s,transform .18s}
.pf-b:hover::after{opacity:.35;transform:none}
.pf-b--free{background:#16C088}
.pf-b--free .pf-b-n{color:#0D0F12}
.pf-b--free .pf-b-t{font-size:clamp(1.1rem,2.2vw,1.6rem)}
.pf-b--free::after{display:none}
@media (prefers-reduced-motion:reduce){.pf-b::after{transition:none}}
@media (max-width:420px){.pf-bingo-grid{gap:5px}.pf-b{border-radius:10px;padding:8px}.pf-b-t{font-size:0.74rem}}

.pf-dayline{list-style:none;margin:clamp(18px,2.4vw,28px) 0 0;padding:0;display:flex;gap:6px}
.pf-dayline li{display:flex;flex-direction:column;gap:6px;padding:16px 16px 18px;border-radius:14px;background:#0D0F12;color:#E8EAEB;min-height:120px;justify-content:flex-end}
.pf-dayline b{font-size:1.1rem;font-weight:600;color:#fff}
.pf-dayline span{font-size:0.92rem;color:#C9CDD1;line-height:1.4}
.pf-dayline .pf-dl-lunch{background:#16C088}
.pf-dayline .pf-dl-lunch b,.pf-dayline .pf-dl-lunch span{color:#0D0F12}
.pf-dayline .pf-dl-opt{background:transparent;border:1.5px dashed var(--line2)}
.pf-dayline .pf-dl-opt b{color:var(--ink)}
.pf-dayline .pf-dl-opt span{color:var(--mute)}
@media (max-width:640px){.pf-dayline{flex-direction:column}.pf-dayline li{min-height:0;flex:none !important}}

.pf-receipt-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px clamp(32px,5vw,80px);align-items:center}
@media (max-width:900px){.pf-receipt-wrap{grid-template-columns:minmax(0,1fr)}}
.pf-receipt{background:#fff;padding:26px 26px 34px;font-family:'JetBrains Mono',monospace;font-size:0.86rem;color:#0D0F12;max-width:440px;justify-self:center;width:100%;transform:rotate(1.2deg);box-shadow:0 24px 50px -34px rgba(13,15,18,.5);-webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 50% 100%/18px 100% repeat-x;mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 50% 100%/18px 100% repeat-x}
.pf-r-head{margin:0 0 14px;padding-bottom:12px;border-bottom:1px dashed #9BA1A7;text-transform:uppercase;letter-spacing:0.14em;font-size:0.74rem;color:#08693F;text-align:center}
.pf-receipt ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pf-receipt li,.pf-r-total{display:flex;gap:10px;align-items:baseline}
.pf-receipt li span,.pf-r-total span{flex:1;display:flex;gap:8px}
.pf-receipt li span::after,.pf-r-total span::after{content:"";flex:1;border-bottom:1px dotted #9BA1A7;transform:translateY(-4px)}
.pf-r-total{margin:16px 0 0;padding-top:12px;border-top:1px dashed #9BA1A7;font-weight:600}

.pf-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);margin-top:clamp(18px,2.4vw,28px)}
@media (max-width:760px){.pf-duo{grid-template-columns:minmax(0,1fr)}}
.pf-duo article{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:20px;align-items:start}
.pf-duo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px;background:#E4E6E7}
.pf-duo .pf-role{margin:2px 0 10px}
.pf-duo h3 a{border-bottom:1px solid #A8D5C2}
.pf-sp-quote{margin-top:clamp(24px,3vw,40px)}
@media print{.pf-bingo,.pf-receipt{transform:none;box-shadow:none}}

/* hub index */
.pf-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);align-items:start;margin-top:clamp(16px,2vw,24px)}
@media (max-width:860px){.pf-work{grid-template-columns:minmax(0,1fr)}}
.pf-work .pf-index-list{border-top:0}
.pf-work .pf-index-list li:first-child a{padding-top:0}
.pf-diy{list-style:none;margin:clamp(16px,2vw,24px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.pf-diy a{display:flex;flex-direction:column;gap:6px;padding-top:16px;border-top:2px solid var(--ink);min-height:48px;height:100%}
.pf-diy .pf-tag{margin:0}
.pf-diy b{font-size:1.15rem;font-weight:600;letter-spacing:-0.012em;line-height:1.25}
.pf-diy span{color:var(--mute);font-size:0.96rem;line-height:1.45}
.pf-diy em{font-style:normal;color:var(--gd);font-weight:600;margin-top:auto;padding-top:8px}
.pf-diy a:hover b{color:var(--gd)}
@media (max-width:760px){.pf-diy{grid-template-columns:minmax(0,1fr)}}

.pf-quote--pic{display:grid !important;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center}
.pf-q-pic img{display:block;width:clamp(96px,12vw,160px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;background:#E4E6E7}
@media (max-width:560px){.pf-quote--pic{grid-template-columns:minmax(0,1fr)}}

.pf-games{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.pf-games li{padding:16px 0;border-bottom:1px solid var(--line2);font-size:clamp(1.05rem,1.6vw,1.25rem);font-weight:600;letter-spacing:-0.012em;line-height:1.3}
.pf-games li s{text-decoration-thickness:2px;color:#5F656B}

.pf-citycards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
@media (max-width:860px){.pf-citycards{grid-template-columns:minmax(0,1fr)}}
.pf-citycards li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px}
.pf-citycards h3{font-size:1.5rem;font-weight:600;letter-spacing:-0.025em;margin:0}
.pf-cc-main{font-weight:600;color:var(--gd);display:inline-flex;align-items:center;gap:6px;min-height:44px}
.pf-cc-main::after{content:"\2192"}
.pf-cc-main:hover{color:var(--ink)}
.pf-citycards p{margin:0;display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.pf-citycards p a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--line2);border-radius:999px;font-size:0.9rem;font-weight:500}
.pf-citycards p a:hover{border-color:var(--ink)}
.pf-wlines{display:flex;flex-direction:column;gap:10px}
.pf-wlines p{margin:0;font-size:1.08rem;line-height:1.7;max-width:62ch}
.pf-wlines a{color:var(--gd);font-weight:600;border-bottom:1px solid #A8D5C2;padding:4px 0}
.pf-wlines a:hover{border-bottom-color:var(--gd)}

.pf-work--list{display:block}
.pf-work--list .pf-index-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,56px)}
.pf-work--list .pf-index-list li:first-child a{padding-top:16px}
@media (max-width:760px){.pf-work--list .pf-index-list{grid-template-columns:minmax(0,1fr)}}

#ways{margin-bottom:clamp(20px,2.6vw,32px)}

.pf-work--list .pf-index-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);border-top:0}
.pf-work--list .pf-index-list a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 0 0 !important;border-bottom:0;border-top:2px solid var(--ink)}
.pf-work--list .pf-index-list a b{font-size:1.15rem;letter-spacing:-0.012em}
.pf-work--list .pf-index-list a::after{content:"Find out more \2192";grid-row:auto;grid-column:auto;align-self:flex-start;margin-top:auto;padding-top:8px;font-weight:600}
@media (max-width:760px){.pf-work--list .pf-index-list{grid-template-columns:minmax(0,1fr)}}

.pf-sp-side .pf-btns{margin-top:24px}

.pf-li{margin:-4px 0 4px}
.pf-li a{display:inline-flex;align-items:center;min-height:40px;font-size:0.92rem;font-weight:600;color:var(--gd);border-bottom:1px solid #A8D5C2}
.pf-li a:hover{border-bottom-color:var(--gd)}
.pf-duo .pf-li{margin:0 0 8px}

.pf-why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px clamp(20px,2.6vw,32px)}
.pf-why li{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:2px solid var(--ink)}
.pf-why .pf-p{font-size:0.96rem}
@media (max-width:1000px){.pf-why{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pf-why{grid-template-columns:minmax(0,1fr)}}
