:root{
  --ink:#151b34;--ink2:#1f2850;--kraft:#efe3c8;--kraft2:#e2d0a6;--card:#fbf6e8;--line:#c9ac74;
  --coral:#e5533d;--coral-text:#a82e18;--amber:#f4b73a;--mint:#6cc9b8;--soft:#d8ccb0;
  --head:"Cooper Black","Bookman Old Style",Georgia,"Times New Roman",serif;
  --body:"Gill Sans","Gill Sans MT",Calibri,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --hex:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--body);font-size:1.0625rem;line-height:1.62;color:var(--ink);background:var(--kraft);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:var(--coral-text);text-decoration-thickness:2px;text-underline-offset:3px}
h1,h2,h3{font-family:var(--head);font-weight:700;font-synthesis-weight:none;line-height:1.08;letter-spacing:-.01em;margin:0}
p{margin:0 0 1rem}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;box-shadow:0 0 0 2px var(--ink)}
.wrap{width:min(1180px,calc(100% - 2.5rem));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:var(--ink);padding:.7rem 1rem;z-index:100;font-weight:700}
.skip:focus{left:.5rem;top:.5rem}
main:focus{outline:none}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:var(--ink);color:var(--kraft);border-bottom:3px solid var(--coral)}
.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;padding:.65rem 0}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--kraft);text-decoration:none;font-family:var(--head);font-weight:700;font-synthesis-weight:none;font-size:1.2rem}
.brand:hover{color:var(--amber)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;align-items:center}
.nav a{color:var(--kraft);text-decoration:none;font-weight:600;padding:.4rem 0;display:inline-block;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--amber)}
.nav a.btn{color:var(--ink);padding:.5rem 1.1rem;min-height:2.6rem;border:2px solid var(--ink)}
.menu-btn{display:none;align-items:center;gap:.6rem;min-height:2.75rem;padding:.4rem .9rem;background:transparent;color:var(--kraft);border:2px solid var(--kraft);border-radius:8px;font:inherit;font-weight:700;cursor:pointer}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:18px;height:2px;background:currentColor;position:relative;content:""}
.menu-icon::before{position:absolute;top:-6px}
.menu-icon::after{position:absolute;top:6px}
@media (max-width:979px){
  .js .menu-btn{display:inline-flex}
  .js .nav{display:none}
  .js .nav.open{display:block}
  .nav{width:100%}
  .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:.4rem 0 .8rem}
  .nav li{border-top:1px solid rgba(239,227,200,.18)}
  .nav a{display:block;padding:.8rem 0}
  .nav li:last-child{padding-top:.7rem}
  .nav a.btn{text-align:center}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.7rem 1.5rem;border:2px solid var(--ink);border-radius:10px;background:var(--coral);color:var(--ink);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
.btn.ghost:hover{background:rgba(239,227,200,.12);transform:none}
.hero .btn:not(.ghost),.cta-band .btn{box-shadow:4px 4px 0 var(--amber)}
.actions{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;margin-top:1.7rem}

/* type */
.label{font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}
h1+p,h2+p{font-size:1.2rem;line-height:1.5;max-width:40rem;margin:.9rem 0 1.3rem}
main{counter-reset:sec}
main > :where(.wp-block-post-content) >section{position:relative;padding:clamp(3.5rem,8vw,7rem) 0;counter-increment:sec}
main > :where(.wp-block-post-content) >section:not(.hero) h2::before{content:counter(sec,decimal-leading-zero);display:grid;place-items:center;width:3.5rem;height:4rem;margin-bottom:1rem;background:var(--coral);color:var(--ink);clip-path:var(--hex);font-family:var(--body);font-size:1rem;font-weight:800}

/* hero */
.hero{background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M28 0V16.17L56 32.33V64.67L28 80.83V97M28 80.83L0 64.67V32.33L28 16.17' fill='none' stroke='%23efe3c8' stroke-opacity='.13' stroke-width='1.5'/%3E%3C/svg%3E");color:var(--kraft);overflow:hidden;isolation:isolate;padding-top:clamp(2.5rem,6vw,5rem)}
.hero.has-canvas{background-image:none}
.hex-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero-grid{display:grid;gap:2.6rem;align-items:center}
.hero h1{font-size:clamp(2.45rem,7vw,5.2rem)}
.hero .label{color:var(--amber)}
.hero-note{max-width:34rem;color:var(--soft)}
.hero-photo{margin:0}
.hero-photo img{border:5px solid var(--kraft);border-radius:6px;box-shadow:10px 10px 0 var(--coral);transform:rotate(1.4deg);background:var(--ink2)}
@media (min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr}}

/* story */
.story-grid{display:grid;gap:2.5rem;align-items:center}
.story-photo{margin:0}
.story-photo img{border:3px solid var(--ink);border-radius:18px 4px 18px 4px;box-shadow:9px 9px 0 var(--line)}
.story-text p:not(:first-of-type){max-width:36rem}
@media (min-width:900px){.story-grid{grid-template-columns:.95fr 1.05fr;gap:4rem}}

/* offers */
.offers{background:var(--kraft2);border-block:3px solid var(--ink)}
.offer-grid{display:grid;gap:1.6rem;margin-top:2rem}
.card{background:var(--card);border:2px solid var(--ink);border-radius:18px 4px 18px 4px;padding:1.6rem 1.5rem 1.4rem;box-shadow:6px 6px 0 var(--ink);display:flex;flex-direction:column;transition:transform .2s}
.card:hover{transform:translateY(-4px)}
.card h3{font-size:1.45rem;margin-bottom:.8rem}
.card p{flex:1}
.card-link{align-self:flex-start;font-weight:800;color:var(--ink);text-decoration:none;border-bottom:3px solid var(--coral);padding:.3rem 0 .1rem}
.card-link::after{content:" →"}
.card-link:hover{border-bottom-color:var(--ink)}
.cta-band{margin-top:2.6rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem;padding:1.5rem 1.6rem;background:var(--ink);color:var(--kraft);border-radius:4px 18px 4px 18px}
.cta-band p{margin:0;max-width:34rem;font-size:1.1rem}
@media (min-width:760px){.offer-grid{grid-template-columns:repeat(2,1fr)}}

/* picks */
.picks{background:var(--ink);color:var(--kraft)}
.picks a,.atmosphere a{color:var(--amber);font-weight:700}
.pick-grid{display:grid;gap:1.4rem;margin-top:2.2rem}
.tile{color:var(--ink);padding:1.7rem 1.4rem 1.5rem;border-radius:4px 22px 4px 22px;border:2px solid var(--kraft);transition:transform .2s}
.tile:hover{transform:translateY(-6px) rotate(-.6deg)}
.tile h3{font-size:1.35rem;margin-bottom:.7rem}
.tile p{margin:0}
.t-amber{background:var(--amber)}.t-mint{background:var(--mint)}.t-coral{background:#f0705a}.t-kraft{background:var(--kraft)}
.more{margin-top:2rem;font-size:1.1rem}
@media (min-width:640px){.pick-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1060px){.pick-grid{grid-template-columns:repeat(4,1fr)}.tile:nth-child(even){margin-top:2rem}}

/* detail */
.detail-grid{display:grid;gap:3rem;align-items:start}
.detail-text p:not(:first-of-type){max-width:36rem}
.detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}
.detail-photos figure{margin:0}
.detail-photos img{border:3px solid var(--ink);border-radius:6px;background:var(--kraft2)}
.ph-a img{box-shadow:7px 7px 0 var(--coral)}
.ph-b{margin-top:2.6rem!important}
.ph-b img{box-shadow:7px 7px 0 var(--amber)}
figcaption{font-size:.9rem;margin-top:.7rem;font-weight:600}
@media (min-width:900px){.detail-grid{grid-template-columns:1fr 1.05fr;gap:4rem}}

/* process */
.process{background:var(--kraft2);border-block:3px solid var(--ink)}
.process-grid{display:grid;gap:2.6rem;align-items:start}
.process ol{list-style:none;margin:1.6rem 0 2rem;padding:0;counter-reset:step}
.process li{counter-increment:step;display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start;margin-bottom:1.2rem;padding-top:.2rem}
.process li::before{content:counter(step);display:grid;place-items:center;width:2.9rem;height:3.3rem;background:var(--ink);color:var(--amber);clip-path:var(--hex);font-weight:800;font-size:1.1rem}
.process-photo{margin:0}
.process-photo img{border:3px solid var(--ink);border-radius:4px 18px 4px 18px;box-shadow:-9px 9px 0 var(--ink)}
.process-photo figcaption{max-width:30rem}
@media (min-width:900px){.process-grid{grid-template-columns:1.05fr .95fr;gap:4rem}}

/* atmosphere */
.atmosphere{background:var(--ink);color:var(--kraft)}
.atmo-photo{margin:0}
.atmo-photo img{width:100%;border:3px solid var(--kraft);border-radius:6px}
.panel{position:relative;margin:-2.5rem 0 0 auto;max-width:46rem;padding:2rem 1.5rem;background:var(--ink2);border:2px solid var(--amber);border-radius:4px 22px 4px 22px}
.panel p:last-child{margin-bottom:0}
@media (min-width:900px){.panel{margin-top:-6rem;margin-right:2rem;padding:2.4rem 2.6rem}}

/* faq */
.faq-grid{display:grid;gap:2.4rem;align-items:start}
.faq-list details{background:var(--card);border:2px solid var(--ink);border-radius:10px;margin-bottom:.9rem;box-shadow:4px 4px 0 var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:1rem 3.2rem 1rem 1.2rem;font-weight:700;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:1.8rem;height:2rem;display:grid;place-items:center;background:var(--coral);clip-path:var(--hex);font-weight:800}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{padding:0 1.2rem 1.1rem;margin:0}
@media (min-width:900px){.faq-grid{grid-template-columns:.85fr 1.15fr;gap:4rem}.faq-head{position:sticky;top:6rem}}

/* contact */
.contact{background:var(--ink2);color:var(--kraft)}
.contact-grid{display:grid;gap:2.5rem;align-items:start}
.contact-text p:not(:first-of-type){max-width:34rem;color:var(--soft)}
.form{background:var(--kraft);color:var(--ink);padding:1.6rem 1.4rem;border-radius:4px 22px 4px 22px;border:3px solid var(--amber);box-shadow:8px 8px 0 var(--ink)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-weight:700;margin-bottom:.35rem}
.field input,.field textarea{width:100%;font:inherit;color:var(--ink);background:#fffaf0;border:2px solid var(--ink);border-radius:8px;padding:.7rem .85rem}
.field textarea{resize:vertical;min-height:8rem}
.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--coral);outline-offset:2px;box-shadow:none}
.form .btn{width:100%}
@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:4.5rem}.form{padding:2rem}.form .btn{width:auto}}

/* footer */
.site-footer{background:#0d1126;color:var(--kraft);padding:3rem 0 5rem;border-top:3px solid var(--coral)}
.footer-grid{display:grid;gap:1.8rem}
.footer-brand{font-family:var(--head);font-weight:700;font-synthesis-weight:none;font-size:1.4rem;margin-bottom:.4rem}
.footer-nav{display:flex;flex-direction:column;gap:.4rem}
.footer-nav a{color:var(--amber);font-weight:600;padding:.2rem 0}
.copy{margin:2rem 0 0;font-size:.9rem;color:var(--soft)}
@media (min-width:760px){.footer-grid{grid-template-columns:1.3fr 1fr;align-items:start}}
@media (min-width:1280px){.site-footer{padding-bottom:3rem}}

/* score trail */
.trail{position:fixed;z-index:55;left:0;right:0;bottom:0;height:36px;background:var(--ink);border-top:2px solid var(--amber);pointer-events:none}
.trail-rail{position:absolute;left:22px;right:22px;top:0;bottom:0}
.trail-line,.trail-fill{position:absolute;left:0;top:50%;height:4px;margin-top:-2px;border-radius:2px}
.trail-line{right:0;background:rgba(239,227,200,.28)}
.trail-fill{width:calc(var(--p,0)*100%);background:var(--amber)}
.trail-node{position:absolute;top:50%;left:calc(var(--t)*100%);width:12px;height:13px;transform:translate(-50%,-50%);background:#6b7089;clip-path:var(--hex)}
.trail-node.on{background:var(--amber)}
.trail-meeple{position:absolute;top:50%;left:calc(var(--p,0)*100%);width:26px;height:26px;transform:translate(-50%,-62%);transition:left .25s ease-out}
.trail-meeple svg{width:100%;height:100%;display:block;fill:var(--coral);stroke:var(--kraft);stroke-width:1.2;stroke-linejoin:round;transform-origin:50% 90%}
@media (min-width:1280px){
  .trail{left:auto;right:14px;top:50%;bottom:auto;width:38px;height:min(62vh,470px);transform:translateY(-50%);border:2px solid var(--amber);border-radius:999px}
  .trail-rail{left:0;right:0;top:20px;bottom:20px}
  .trail-line{left:50%;right:auto;top:0;bottom:0;width:4px;height:auto;margin:0 0 0 -2px}
  .trail-fill{left:50%;top:0;width:4px;height:calc(var(--p,0)*100%);margin:0 0 0 -2px}
  .trail-node{left:50%;top:calc(var(--t)*100%)}
  .trail-meeple{left:50%;top:calc(var(--p,0)*100%);transform:translate(-50%,-50%);transition:top .25s ease-out}
}
@media (prefers-reduced-motion:no-preference){.trail.walk .trail-meeple svg{animation:step .38s ease-in-out infinite}}
@keyframes step{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg) translateY(-2px)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .hero-photo img{transform:none}
  .card:hover,.tile:hover{transform:none}
}
@media (max-width:420px){.btn{width:100%}.brand{font-size:1.05rem}.detail-photos{gap:.8rem}}

/* inner pages */
/* Inner pages: small additions, all prefixed pg- */
main > :where(.wp-block-post-content) >section.pg-hero{padding:clamp(2.2rem,5vw,4rem) 0}
.hero.pg-hero h1{font-size:clamp(2.1rem,5.5vw,3.8rem)}
.pg-hero-inner{max-width:50rem}
.pg-hero-inner p{max-width:40rem}

.pg-end-inner{max-width:48rem}
.pg-end-inner p{max-width:38rem;color:var(--kraft)}
.pg-end .btn{margin-top:.4rem}

.pg-alt{background:var(--kraft2);border-block:3px solid var(--ink)}

@media (min-width:760px){
  .pg-span{grid-column:1/-1}
}

.wpf-legal { padding: clamp(3rem, 8vw, 7rem) clamp(1.25rem, 4vw, 2rem); }
.wpf-legal .wpf-legal__inner { max-width: 72ch; margin: 0 auto; }
.wpf-legal .wpf-legal__inner h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.1; margin: .2em 0 .8em; }
.wpf-legal .wpf-legal__inner h2 { font-size: clamp(1.2rem, 2.2vw, 1.5rem); line-height: 1.25; margin: 2.2em 0 .6em; }
.wpf-legal .wpf-legal__inner p, .wpf-legal .wpf-legal__inner li { line-height: 1.75; max-width: none; }
.wpf-legal .wpf-legal__inner ul { padding-left: 1.2em; margin: 0 0 1em; }
.wpf-legal .wpf-legal__inner li { margin: .35em 0; list-style: disc; }
.wpf-legal .wpf-legal__inner a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.wpf-legal .wpf-legal__meta { font-size: .875rem; opacity: .7; margin: 0; }
.wpf-legal .wpf-legal__table { overflow-x: auto; margin: 1em 0 1.5em; }
.wpf-legal table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.wpf-legal th, .wpf-legal td { text-align: left; vertical-align: top; padding: .7em .8em; border-bottom: 1px solid rgba(127,127,127,.3); }
.wpf-legal code { font-size: .85em; word-break: break-word; }
.wpf-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.4rem; grid-column: 1 / -1;
  width: 100%; box-sizing: border-box; padding: 1.1rem clamp(1.25rem, 4vw, 2rem) 0; font-size: .875rem; }
.wpf-legal-links a { color: inherit; opacity: .85; text-decoration: underline; text-underline-offset: .15em; }
.wpf-legal-links a:hover, .wpf-legal-links a:focus-visible { opacity: 1; }

.wpf-consent { position: fixed; z-index: 99998; left: 16px; right: 16px; bottom: 16px; max-width: 27rem; box-sizing: border-box;
  padding: 20px 22px; border-radius: 14px; border: 1px solid rgba(127,127,127,.28); box-shadow: 0 14px 44px rgba(0,0,0,.24);
  font-size: 15px; line-height: 1.55; text-align: left; }
.wpf-consent[hidden] { display: none; }
.wpf-consent .wpf-consent__title { margin: 0 0 6px; font-weight: 700; font-size: 1.05em; }
.wpf-consent .wpf-consent__text { margin: 0 0 16px; max-width: none; }
.wpf-consent .wpf-consent__text a { color: inherit; text-decoration: underline; }
.wpf-consent .wpf-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wpf-consent .wpf-consent__actions button { cursor: pointer; margin: 0; width: auto; }
.wpf-consent .wpf-consent__primary, .wpf-consent .wpf-consent__secondary { font: inherit; font-weight: 600; padding: 10px 18px; border-radius: 8px; }
.wpf-consent .wpf-consent__primary { background: #1c1b19; color: #fff; border: 1px solid #1c1b19; }
.wpf-consent .wpf-consent__secondary { background: transparent; color: inherit; border: 1px solid currentColor; }
.wpf-consent button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
