/*
Theme Name: Wayfinder Labs
Theme URI: https://wayfinderlabs.example/
Author: Wayfinder Labs
Description: Block theme for Wayfinder Labs — an AI lab that researches what works and builds AI-powered apps. Navy leads, green moves, one Flightcut per surface.
Version: 1.0.0
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wayfinder-labs
*/

/* ---------- tokens (mapped to theme.json presets) ---------- */
:root{
  --navy:var(--wp--preset--color--navy,#061d52);
  --green:var(--wp--preset--color--green,#16a34a);
  --blue:var(--wp--preset--color--blue,#2349a1);
  --peri:var(--wp--preset--color--periwinkle,#84a1eb);
  --mint:var(--wp--preset--color--mint,#7df090);
  --ice:var(--wp--preset--color--ice,#d9e4ff);
  --white:var(--wp--preset--color--white,#ffffff);
  --mist:var(--wp--preset--color--mist,#f5f5f5);
  --line:var(--wp--preset--color--line,#e3e3e3);
  --dim:var(--wp--preset--color--dim,#525252);
  --on-navy-line:rgba(255,255,255,.18);
  --on-navy-soft:rgba(255,255,255,.08);
  --display:var(--wp--preset--font-family--display);
  --text:var(--wp--preset--font-family--text);
  --mono:var(--wp--preset--font-family--mono);
  --gutter:var(--wp--preset--spacing--gutter,clamp(1.1rem,5vw,5rem));
  --section:var(--wp--preset--spacing--section,clamp(4.5rem,8vw,7.5rem));
  --tap:2.75rem;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;min-width:20rem;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
h1,h2,h3,p,figure,blockquote,dl,dd{margin-top:0}
h1,h2,h3{font-family:var(--display);text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.on-navy :focus-visible{outline-color:var(--mint)}
.wp-site-blocks{overflow-x:clip}

h1{margin-bottom:1.4rem;color:var(--navy)}
h2{margin-bottom:0;color:var(--navy)}
.on-navy h2,.on-navy h3{color:var(--white)}

/* inline highlights — rich-text <mark> so editors keep them */
mark.band{background:linear-gradient(transparent 56%,var(--mint) 56%);color:inherit;padding:0 .06em}
mark.accent{background:transparent;color:var(--blue)}
.on-navy mark.accent{color:var(--mint)}

/* labels: Arimo 700 caps, tracked, led by a short green rule */
.eyebrow,.is-style-eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1.2rem;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--navy)}
.eyebrow::before,.is-style-eyebrow::before{content:"";width:22px;height:2px;background:var(--green);flex:none}
.on-navy .eyebrow,.on-navy .is-style-eyebrow{color:var(--ice)}

/* ---------- buttons & links — 4px radius, one green per view ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.4rem;border:2px solid var(--navy);border-radius:4px;background:var(--navy);color:var(--white);font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.06em;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.wp-block-button .wp-block-button__link:hover{background:var(--blue);border-color:var(--blue);color:var(--white);text-decoration:none}
.wp-block-button.is-style-go .wp-block-button__link{background:var(--green);color:var(--navy);border-color:var(--green)}
.wp-block-button.is-style-go .wp-block-button__link:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.on-navy .wp-block-button.is-style-go .wp-block-button__link:hover{background:var(--mint);color:var(--navy);border-color:var(--mint)}
.wp-block-button.is-style-quiet .wp-block-button__link{background:transparent;color:var(--navy);border-color:var(--navy)}
.wp-block-button.is-style-quiet .wp-block-button__link:hover{background:var(--navy);color:var(--white)}

.text-link,.is-style-text-link{margin:0}
.text-link a,.is-style-text-link a{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--tap);font-weight:600;font-size:16px;color:var(--blue);text-decoration:none}
.text-link a::after,.is-style-text-link a::after{content:"\2197";content:"\2197" / "";display:inline-block;transition:transform .2s}
.text-link a:hover,.is-style-text-link a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.text-link a:hover::after,.is-style-text-link a:hover::after{transform:translate(3px,-3px)}
.on-navy .text-link a,.on-navy .is-style-text-link a{color:var(--mint)}

/* ---------- the Flightcut + drafting grid (decoration, drawn in CSS) ---------- */
.draft-panel::after,.request::after,.has-flightcut::after{content:"";position:absolute;top:0;right:0;width:23px;height:40px;z-index:4;pointer-events:none;
  background:
    linear-gradient(to bottom left,var(--green) 50%,transparent 50%) top right/8px 14px no-repeat,
    linear-gradient(to bottom left,var(--blue) 50%,transparent 50%) top right/15px 26px no-repeat,
    linear-gradient(to bottom left,var(--peri) 50%,transparent 50%) top right/23px 40px no-repeat}
.draft-panel::before,.request::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(to right,var(--on-navy-soft) 0 1px,transparent 1px 44px),repeating-linear-gradient(to bottom,var(--on-navy-soft) 0 1px,transparent 1px 44px)}

/* ---------- header ---------- */
.wp-site-blocks > header.wp-block-template-part{position:sticky;top:0;z-index:40}
body.admin-bar .wp-site-blocks > header.wp-block-template-part{top:32px}
.site-header{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2.5rem;min-height:84px;padding:0 var(--gutter);background:var(--white);border-bottom:1px solid var(--line)}
.site-header .brand{width:172px;margin:0}
.brand a{display:block}
.brand img{display:block;width:100%;height:auto}
.site-nav-wrap{display:flex;justify-content:flex-end;align-items:center;gap:clamp(.4rem,1.6vw,1.6rem)}
.site-nav .wp-block-navigation__container{gap:clamp(.4rem,1.6vw,1.6rem)}
.site-nav .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 .25rem;font-family:var(--display);font-size:15px;font-weight:600;text-decoration:none;color:var(--navy)}
.site-nav .wp-block-navigation-item__content:hover{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.site-nav .wp-block-navigation__responsive-container-open,.site-nav .wp-block-navigation__responsive-container-close{color:var(--navy)}
.site-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--white);color:var(--navy);padding:1.5rem var(--gutter)}
.header-cta{margin-left:.6rem}
.header-cta .wp-block-button__link{min-height:46px;padding:.7rem 1.2rem}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:1fr .95fr;min-height:720px;background:var(--white)}
.hero.page-hero{min-height:560px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3.5rem,7vw,6.5rem) var(--gutter) clamp(3rem,5vw,5rem)}
.hero h1{margin-bottom:1.4rem;font-size:clamp(2.6rem,5.4vw,4.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.03}
.intro{max-width:34rem;margin-bottom:0;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.65;color:var(--dim)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:2.2rem}
.open-note{display:flex;align-items:center;gap:1rem;margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid var(--line);align-self:stretch}
.open-note::before,.tri-dot{content:"";width:0;height:0;border-left:12px solid var(--green);border-top:7px solid transparent;border-bottom:7px solid transparent;flex:none}
.open-note p{margin:0;font-size:15px;line-height:1.55;color:var(--dim)}
.open-note strong{color:var(--navy)}

.draft-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem;margin:2.2vw 2.2vw 2.2vw 0;padding:clamp(1.4rem,2.6vw,2.4rem);overflow:hidden;background:var(--navy);color:var(--white)}
.facet-art{position:relative;z-index:1;display:block;width:min(100%,460px);height:auto;margin:auto}
.hero-media{position:relative;margin:2.2vw 2.2vw 2.2vw 0;overflow:hidden;background:var(--navy);min-height:420px}
.hero-media .wp-block-image,.hero-media figure{position:absolute;inset:0;margin:0}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block}

.title-block{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--on-navy-line);font-family:var(--mono);font-size:14px;color:var(--white);background:rgba(6,29,82,.9)}
.title-block > .wp-block-group{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .85rem;border-top:1px solid var(--on-navy-line)}
.title-block > .wp-block-group:nth-child(-n+2){border-top:0}
.title-block > .wp-block-group:nth-child(odd){border-right:1px solid var(--on-navy-line)}
.title-block p{margin:0}
.title-block .tb-label{font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--peri)}
.title-block .tb-value.go{color:var(--mint)}

/* ---------- promise strip ---------- */
.promise-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2.2vw;min-height:78px;padding:1.1rem var(--gutter);background:var(--navy)}
.promise-strip p{display:inline-flex;align-items:center;gap:2.2vw;margin:0;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.promise-strip p + p::before{content:"";width:9px;height:10px;flex:none;background:var(--green);clip-path:polygon(0 0,100% 50%,0 100%)}

/* ---------- sections ---------- */
.section-space{padding:var(--section) var(--gutter)}
.section-intro{display:grid;grid-template-columns:1fr .7fr;gap:6vw;align-items:end;margin-bottom:3.2rem}
.section-intro > p{max-width:30rem;margin-bottom:.4rem;color:var(--dim)}
.section-space h2,.philosophy h2,.review h2{font-size:clamp(2.1rem,4vw,3.25rem);font-weight:600;letter-spacing:-.025em;line-height:1.08}

/* apps / feature cards */
.app-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.app-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.app-card{display:flex;flex-direction:column;padding:clamp(1.5rem,2.6vw,2.4rem);border:1px solid var(--line);border-radius:4px;background:var(--white);transition:border-color .2s}
.app-card:hover{border-color:var(--navy)}
.app-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.sheet-index{margin:0;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.tool-icon{display:grid;width:52px;height:52px;place-items:center;border:2px solid var(--navy);flex:none}
.tool-icon svg{width:26px;height:26px}
.app-card h3{margin:0 0 .4rem;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:700;letter-spacing:-.015em;line-height:1.1}
.app-card .tagline{margin-bottom:1rem;font-family:var(--display);font-size:17px;font-weight:600;color:var(--blue)}
.app-card > p:not(.tagline):not(.text-link){color:var(--dim)}
.app-visual{margin:.6rem 0 1.4rem;background:var(--ice);padding:1.2rem}
.app-visual svg{display:block;width:100%;height:auto}
.tri-list{margin:0 0 1.2rem;padding:0;list-style:none}
.tri-list li{position:relative;padding:.6rem 0 .6rem 1.6rem;border-top:1px solid var(--line);font-size:15px;line-height:1.55}
.tri-list li::before{content:"";position:absolute;left:0;top:1.05rem;border-left:10px solid var(--green);border-top:6px solid transparent;border-bottom:6px solid transparent}
.app-card .text-link{margin-top:auto}

/* approach (navy split) */
.philosophy{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--navy);color:var(--white)}
.philosophy-panel{position:relative;min-height:640px;overflow:hidden}
.philosophy-panel .wp-block-image{margin:0}
.philosophy-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.philosophy-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,29,82,.92) 0,rgba(6,29,82,.25) 45%,rgba(6,29,82,0) 70%)}
.panel-note{position:absolute;z-index:2;left:2rem;right:2rem;bottom:2rem;margin:0;max-width:22rem}
.panel-note p{margin:0;font-family:var(--display);font-size:1.25rem;font-weight:700;line-height:1.3;color:var(--white)}
.panel-note p.panel-note-sub{margin-top:.5rem;font-family:var(--text);font-size:15px;font-weight:500;color:var(--ice)}
.philosophy-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.large-copy{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.6;color:var(--ice);margin:1.4rem 0 0}
.principles{margin-top:2.2rem;border-top:1px solid var(--on-navy-line);align-self:stretch}
.principles > .wp-block-group{display:grid;grid-template-columns:52px 1fr 1.4fr;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--on-navy-line)}
.principles .num{margin:0;font-family:var(--display);font-size:15px;font-weight:700;color:var(--mint)}
.principles h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--white)}
.principles p:not(.num){margin:0;font-size:15px;line-height:1.6;color:var(--ice)}

/* leadership */
.leaders{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:start}
.leaders-copy{display:flex;flex-direction:column;align-items:flex-start}
.leaders blockquote{margin:1.6rem 0 1.2rem;padding:.3rem 0 .3rem 1.2rem;border-left:3px solid var(--green);font-family:var(--display);font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:700;line-height:1.35}
.leaders blockquote p{margin:0}
.leaders-copy > p:not(.eyebrow){color:var(--dim);max-width:34rem}
.leader-cards{display:grid;gap:1rem}
.leader{position:relative;display:grid;grid-template-columns:64px 1fr;gap:1.2rem;align-items:center;padding:1.5rem;border:1px solid var(--line);border-radius:4px;background:var(--mist)}
.leader svg{display:block;width:64px;height:64px}
.leader h3{margin:0;font-size:1.35rem;font-weight:700}
.leader p{margin:.15rem 0 0;font-size:15px;color:var(--dim)}
.leader-block{margin-top:.4rem}

/* how we work / steps */
.first-visit{background:var(--ice)}
.first-visit > header{display:grid;grid-template-columns:.4fr 1fr .85fr;gap:3vw;align-items:start}
.first-visit > header .eyebrow{align-self:start}
.first-visit header > p:last-child{max-width:34rem;margin:0;color:var(--navy)}
.visit-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.6rem;counter-reset:step}
.visit-flow > .wp-block-group{padding-top:1.4rem;border-top:2px solid var(--green);counter-increment:step}
.visit-flow .step{display:block;margin:0 0 2rem;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.1em;color:var(--blue)}
.visit-flow.counted > .wp-block-group::before{content:"STEP " counter(step,decimal-leading-zero);display:block;margin-bottom:2rem;font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.1em;color:var(--blue)}
.visit-flow h3{margin-bottom:.5rem;font-size:1.35rem;font-weight:700}
.visit-flow p:not(.step){margin:0;color:var(--navy)}
.plan-panel{display:grid;grid-template-columns:1.25fr .75fr;max-width:1180px;margin:3.6rem auto 0;overflow:hidden;background:var(--navy)}
.plan-visual{position:relative;min-height:340px;margin:0}
.plan-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.plan-caption{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.6rem,3vw,2.6rem)}
.plan-caption p{margin:0;font-family:var(--display);font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:700;line-height:1.35;color:var(--white)}
.plan-caption p.plan-caption-sub{margin-top:.9rem;font-family:var(--text);font-size:15px;font-weight:400;line-height:1.6;color:var(--ice)}
.new-note{display:flex;max-width:820px;align-items:center;gap:1.2rem;margin:3rem auto 0;padding:1.3rem 1.6rem;border:1px solid var(--navy);border-radius:4px;background:var(--white)}
.new-note svg{display:block;width:32px;height:32px;flex:none}
.new-note p{margin:0;line-height:1.6;color:var(--navy)}

/* principle band / quote */
.review{position:relative;overflow:hidden;padding:clamp(5rem,9vw,8.5rem) 8vw;background:var(--navy);color:var(--white);text-align:center}
.review .eyebrow{justify-content:center}
.review blockquote{position:relative;z-index:1;max-width:920px;margin:1rem auto 1.4rem;padding:0;border:0;font-family:var(--display);font-size:clamp(1.55rem,3vw,2.5rem);font-weight:700;letter-spacing:-.015em;line-height:1.25}
.review blockquote p{margin:0}
.review blockquote em{font-style:normal;color:var(--mint)}
.review blockquote cite{display:block;margin-top:1rem;font-family:var(--text);font-size:15px;font-weight:400;font-style:normal;letter-spacing:0;color:var(--ice)}
.review > p:last-child{position:relative;z-index:1;margin:0;font-size:15px;color:var(--ice)}

/* faq */
.faq{display:grid;grid-template-columns:.6fr 1.4fr;gap:6vw}
.faq-heading{position:sticky;top:7rem;align-self:start}
.faq-heading p:last-child:not(.eyebrow){margin-top:1.2rem;color:var(--dim)}
.faq-list{border-top:1px solid var(--line)}
.faq .wp-block-details{margin:0;border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:var(--tap);padding:1.3rem 0;font-family:var(--display);font-size:1.1rem;font-weight:700;cursor:pointer;list-style:none;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--blue)}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--navy);font-size:18px;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg);border-color:var(--green)}
.faq details p{max-width:42rem;margin:0;padding:0 2.6rem 1.4rem 0;color:var(--dim)}

/* request / call to action */
.request{position:relative;overflow:hidden;background:var(--navy);color:var(--white);text-align:center}
.request > *{position:relative;z-index:1}
.request .eyebrow{justify-content:center}
.request h2{max-width:16ch;margin:0 auto 1.2rem;color:var(--white)}
.request > p:not(.eyebrow){max-width:36rem;margin:0 auto 2.2rem;color:var(--ice)}
.route-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:880px;margin:0 auto 2.4rem;text-align:left}
.route{padding:1.3rem 1.4rem;border:1px solid var(--on-navy-line);border-radius:4px;background:rgba(255,255,255,.04)}
.route .route-label{display:block;margin:0 0 .35rem;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--peri)}
.route p{margin:0 0 .3rem;color:var(--white)}
.request-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.4rem}

/* plain pages: prose */
.prose{max-width:calc(760px + 2 * var(--gutter));margin:0 auto;padding:clamp(3rem,6vw,5rem) var(--gutter)}
.prose > *,.prose .wp-block-post-content > *{margin-top:0;margin-bottom:1.1em}
.prose > h2,.prose .wp-block-post-content > h2{margin-top:2.2rem;margin-bottom:.8rem;font-size:clamp(1.7rem,3vw,2.3rem)}
.prose > h3,.prose .wp-block-post-content > h3{margin-top:1.8rem;margin-bottom:.6rem}
.prose ul:not(.tri-list),.prose ol{padding-left:1.3rem}
.prose a{color:var(--blue)}
.prose a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.page-title-band{padding:clamp(3rem,6vw,5rem) var(--gutter) 0}
.page-title-band h1{max-width:20ch}

/* posts index */
.post-list{padding:var(--section) var(--gutter);max-width:1180px;margin:0 auto}
.post-list .wp-block-post-template{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.post-list .wp-block-post{padding:clamp(1.5rem,2.6vw,2.4rem);border:1px solid var(--line);border-radius:4px}
.post-list .wp-block-post-title{margin:0 0 .6rem;font-size:1.5rem}
.post-list .wp-block-post-title a{color:var(--navy);text-decoration:none}
.post-list .wp-block-post-title a:hover{color:var(--blue)}
.post-list .wp-block-post-date{font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:.6rem}
.post-list .wp-block-post-excerpt{color:var(--dim)}
.wp-block-query-pagination{margin-top:2rem;font-family:var(--display);font-weight:700}

/* ---------- footer ---------- */
.site-footer{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:3rem;padding:3.6rem var(--gutter) 2rem;background:var(--navy);color:var(--ice);border-top:1px solid var(--on-navy-line)}
.footer-mark{display:inline-block;align-self:start;padding:14px 16px;background:var(--white);border-radius:4px}
.footer-mark .brand{width:160px;margin:0}
.footer-tag{margin:1rem 0 0;font-size:15px;color:var(--ice)}
.site-footer > div{font-size:15px;line-height:1.7}
.site-footer p{margin:0}
.site-footer .footer-col a{display:flex;align-items:center;min-height:var(--tap);color:var(--mint);text-decoration:none}
.site-footer .footer-col a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.site-footer .footer-label{margin-bottom:.6rem;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--white)}
.fine-print{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem 2rem;margin:1.6rem 0 0;padding-top:1.4rem;border-top:1px solid var(--on-navy-line);font-size:14px;color:var(--ice)}

.wp-block-buttons.mobile-dock{display:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .site-nav .wp-block-navigation-item__content{padding:0 .1rem;font-size:14px}
  .hero{min-height:620px}
  .first-visit > header{grid-template-columns:.35fr 1fr}
  .first-visit header > p:last-child{grid-column:2}
  .principles > .wp-block-group{grid-template-columns:44px 1fr}
  .principles p:not(.num){grid-column:2}
  .site-footer{grid-template-columns:1fr 1fr}
  .app-grid.cols-3{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .site-header{grid-template-columns:1fr auto;gap:1rem;min-height:72px}
  .site-header .brand{width:140px}
}
@media (max-width:782px){
  body.admin-bar .wp-site-blocks > header.wp-block-template-part{top:46px}
}
@media (max-width:760px){
  .header-cta{display:none}
  .hero,.hero.page-hero{grid-template-columns:1fr;min-height:auto}
  .hero-copy{padding:3rem var(--gutter) 2rem}
  .draft-panel,.hero-media{margin:0 var(--gutter) 2.4rem}
  .hero-actions{flex-direction:column;align-items:stretch;align-self:stretch}
  .hero-actions .wp-block-button,.hero-actions .wp-block-button__link{width:100%}
  .promise-strip{justify-content:flex-start}
  .section-intro,.philosophy,.leaders,.first-visit > header,.faq,.plan-panel,.route-list{grid-template-columns:1fr}
  .section-intro{gap:1rem}
  .first-visit header > p:last-child{grid-column:auto}
  .first-visit > header{gap:1rem}
  .app-grid,.app-grid.cols-3,.visit-flow,.post-list .wp-block-post-template{grid-template-columns:1fr}
  .visit-flow .step,.visit-flow.counted > .wp-block-group::before{margin-bottom:1rem}
  .philosophy-panel{min-height:420px}
  .plan-visual{min-height:240px}
  .new-note{align-items:flex-start}
  .faq-heading{position:static}
  .faq details p{padding-right:0}
  .review{padding:4.5rem var(--gutter)}
  .request-actions{flex-direction:column;align-items:stretch}
  .request-actions .wp-block-buttons,.request-actions .wp-block-button,.request-actions .wp-block-button__link{width:100%}
  .site-footer{grid-template-columns:1fr;gap:2rem}
  .wp-block-buttons.mobile-dock{position:fixed;z-index:60;left:.75rem;right:.75rem;bottom:.75rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:.35rem;margin:0;padding:.35rem;background:var(--white);border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
  .mobile-dock .wp-block-button{width:100%}
  .mobile-dock .wp-block-button .wp-block-button__link{width:100%;min-height:48px;background:transparent;color:var(--navy);border-color:var(--navy)}
  .mobile-dock .wp-block-button:last-child .wp-block-button__link{background:var(--navy);color:var(--white)}
  body{padding-bottom:5.4rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
