:root{
  --font-display:'Boska',Georgia,serif;
  --font-body:'Satoshi',Arial,sans-serif;
  --text-xs:clamp(.75rem,.71rem + .18vw,.875rem);
  --text-sm:clamp(.875rem,.84rem + .16vw,1rem);
  --text-base:clamp(1rem,.96rem + .18vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .45vw,1.375rem);
  --text-xl:clamp(2rem,1.4rem + 1.6vw,3.5rem);
  --text-hero:clamp(3rem,1.55rem + 3.65vw,5.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --color-bg:oklch(.984 .006 85);
  --color-surface:oklch(.961 .012 86);
  --color-surface-offset:oklch(.925 .014 96);
  --color-text:oklch(.266 .029 162);
  --color-text-muted:oklch(.445 .016 154);
  --color-primary:oklch(.33 .039 166);
  --color-primary-hover:oklch(.24 .032 166);
  --color-inverse:oklch(.975 .008 90);
  --color-inverse-muted:oklch(.83 .013 150);
  --color-divider:oklch(.26 .03 162 / .16);
  --color-border:oklch(.26 .03 162 / .24);
  --radius-sm:.25rem;--radius-md:.5rem;--radius-full:9999px;
  --transition-interactive:180ms ease;
}
body{background:var(--color-bg);color:var(--color-text);font-size:var(--text-base);line-height:1.65}
::selection{background:var(--color-primary);color:var(--color-inverse)}
.wrap{width:min(1280px,calc(100% - var(--space-24)));margin-inline:auto}
.site-header{border-bottom:1px solid var(--color-divider);background:var(--color-bg)}
.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.wordmark{font-family:var(--font-display);font-size:clamp(1.65rem,1.4rem + .4vw,2rem);line-height:1.1;font-weight:500;letter-spacing:-.04em;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.wordmark-dot{color:var(--color-primary)}
nav{display:flex;align-items:center;gap:var(--space-8)}
nav>a{font-size:var(--text-sm);font-weight:500;min-height:44px;display:inline-flex;align-items:center}
nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-6);background:var(--color-primary);color:var(--color-inverse);font-size:var(--text-sm);font-weight:500;padding:var(--space-4) var(--space-6);border:1px solid var(--color-primary);min-height:56px;transition:background var(--transition-interactive)}
.button:hover{background:var(--color-primary-hover)}
.button:active{background:var(--color-primary-hover)}
.button>span{font-size:var(--text-lg);line-height:1}
.button-small{padding:var(--space-3) var(--space-5);min-height:48px}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin-inline:auto;min-height:670px}
.hero-copy{padding:var(--space-20) var(--space-12) var(--space-16) max(var(--space-12),calc((100vw - 1280px)/2));display:flex;align-items:flex-start;flex-direction:column}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:var(--text-xs);line-height:1.6}
.hero .eyebrow{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}
.small-line{height:1px;width:32px;background:currentColor}
h1,h2,.play h3,.steps h3,.case-study h3{font-family:var(--font-display);font-weight:400;letter-spacing:-.035em}
h1{font-size:clamp(3rem,1.4rem + 3.4vw,5.1rem);line-height:.99;max-width:13ch}
.hero-description{max-width:41ch;margin-block:var(--space-6) var(--space-8);font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7}
.hero .button{gap:var(--space-8)}
.booking-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-3)}
.text-link{font-size:var(--text-sm);font-weight:700;display:inline-flex;gap:var(--space-6);align-items:center;min-height:44px;border-bottom:1px solid var(--color-border);line-height:1.5}
.text-link:hover{border-color:currentColor}
.text-link span{font-size:var(--text-lg)}
.hero-link{margin-top:var(--space-5);font-weight:500;border:0;color:var(--color-text-muted)}
.hero-visual{position:relative;overflow:hidden;margin:0;background:var(--color-surface-offset)}
.hero-visual>img{height:100%;width:100%;object-fit:cover;object-position:70% center}
.image-note{position:absolute;bottom:var(--space-8);left:var(--space-8);right:var(--space-8);background:var(--color-primary);color:var(--color-inverse);padding:var(--space-6) var(--space-8);max-width:400px}
.image-note .eyebrow{font-size:var(--text-xs);color:var(--color-inverse-muted);margin:0 0 var(--space-3)}
.image-note p:last-child{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.08;letter-spacing:-.025em}
.section{padding-block:var(--space-24)}
.manifesto{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-20);padding-block:var(--space-24) var(--space-20)}
.section-intro>.eyebrow,.section-heading .eyebrow,.about-copy>.eyebrow{margin-bottom:var(--space-6)}
h2{font-size:var(--text-xl);line-height:1.12}
.manifesto-copy{max-width:56ch;padding-top:var(--space-1)}
.manifesto-copy p+p{margin-top:var(--space-5)}
.manifesto-copy .text-link{margin-top:var(--space-5)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--space-8);margin-bottom:var(--space-12)}
.section-heading>p{font-size:var(--text-sm);color:var(--color-text-muted)}
/* Stats band */
.stats-band{background:var(--color-primary);color:var(--color-inverse)}
.stats-inner{display:grid;grid-template-columns:1.3fr repeat(4,1fr);align-items:center;min-height:150px;gap:var(--space-8);padding-block:var(--space-8)}
.stats-label{font-size:var(--text-sm);line-height:1.6;color:var(--color-inverse-muted)}
.stats-label strong{font-weight:500;color:var(--color-inverse)}
.stat{border-left:1px solid oklch(.97 .01 90 / .25);padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}
.stat-value{font-family:var(--font-display);font-size:clamp(2rem,1.5rem + 1.3vw,2.9rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat-caption{font-size:var(--text-xs);color:var(--color-inverse-muted);line-height:1.5;max-width:22ch}
/* Playbook */
.playbook-section{background:var(--color-surface);padding-block:var(--space-20)}
.playbook-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-divider);border:1px solid var(--color-divider)}
.play{background:var(--color-bg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4);min-height:300px;transition:background var(--transition-interactive)}
.play:hover{background:var(--color-surface-offset)}
.play-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);color:var(--color-text-muted)}
.play-number{font-variant-numeric:tabular-nums}
.play-tag{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.7rem;color:var(--color-primary);border:1px solid var(--color-border);padding:.2rem .55rem;border-radius:var(--radius-full)}
.play h3{font-size:clamp(1.5rem,1.3rem + .6vw,1.95rem);line-height:1.12;margin-top:var(--space-2)}
.play>p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.65}
.play .qualification{font-size:var(--text-xs);margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--color-divider)}
/* Steps */
.how-section{padding-block:var(--space-24) var(--space-20)}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-10)}
.steps li{border-top:1px solid var(--color-text);padding-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.step-number{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;letter-spacing:.1em}
.steps h3{font-size:clamp(1.35rem,1.2rem + .5vw,1.75rem);line-height:1.15}
.steps p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.65}
/* Results */
.results-section{background:var(--color-surface);padding-block:var(--space-20)}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.quote{background:var(--color-bg);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-5);margin:0;border:1px solid var(--color-divider)}
.quote blockquote{margin:0}
.quote blockquote p{font-size:var(--text-base);line-height:1.6;color:var(--color-text)}
.quote-headline{font-family:var(--font-display);font-size:clamp(1.6rem,1.3rem + .8vw,2.2rem);line-height:1.12;letter-spacing:-.025em}
.quote-headline+blockquote p{font-size:var(--text-sm);color:var(--color-text-muted)}
.quote figcaption{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--color-divider);font-size:var(--text-sm);display:flex;flex-direction:column;gap:2px}
.quote figcaption span{font-size:var(--text-xs);color:var(--color-text-muted)}
.quote-featured{background:var(--color-primary);color:var(--color-inverse);border-color:var(--color-primary)}
.quote-featured blockquote p,.quote-featured .quote-headline{color:var(--color-inverse)}
.quote-featured .quote-headline+blockquote p,.quote-featured figcaption span{color:var(--color-inverse-muted)}
.quote-featured figcaption{border-color:oklch(.97 .01 90 / .25)}
.case-study{grid-column:1/3;background:var(--color-bg);border:1px solid var(--color-divider);padding:var(--space-10) var(--space-12);display:flex;flex-direction:column;gap:var(--space-4);align-items:start}
.case-study .eyebrow{color:var(--color-text-muted)}
.case-study h3{font-size:var(--text-xl);line-height:1.1}
.case-study>p:not(.eyebrow){color:var(--color-text-muted);max-width:60ch;font-size:var(--text-base)}
.case-study .text-link{margin-top:var(--space-2)}
/* FAQ */
.faq-section{background:var(--color-surface);padding-block:var(--space-20)}
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-20);align-items:start}
.faq-note{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-6);max-width:30ch}
.faq-note a{text-decoration:underline;text-underline-offset:4px;color:var(--color-text)}
.faq-list{border-top:1px solid var(--color-text)}
.faq-item{border-bottom:1px solid var(--color-divider)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-5) 0;font-family:var(--font-display);font-size:clamp(1.35rem,1.2rem + .5vw,1.75rem);letter-spacing:-.02em;line-height:1.2;min-height:44px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--color-primary)}
.faq-icon{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-primary);transition:transform var(--transition-interactive);flex-shrink:0}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-item>p{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.65;max-width:62ch;padding-bottom:var(--space-6)}
.about-section{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-24);align-items:center;padding-block:var(--space-24)}
.portrait-frame{background:var(--color-surface)}
.portrait-frame img{width:100%;height:420px;object-fit:cover;object-position:center 12%;filter:saturate(.7)}
.portrait-frame figcaption{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm);padding:var(--space-5) var(--space-6);border-top:1px solid var(--color-divider)}
.portrait-frame figcaption span{font-size:var(--text-xs);color:var(--color-text-muted);align-self:center}
.about-copy h2{margin-bottom:var(--space-6)}
.about-copy p:not(.eyebrow){max-width:55ch;margin-bottom:var(--space-5);color:var(--color-text-muted)}
.about-copy .text-link{margin-top:var(--space-2)}
.contact-section{background:var(--color-primary);color:var(--color-inverse);padding-block:var(--space-20)}
.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-24);align-items:center}
.contact-layout .eyebrow{color:var(--color-inverse-muted);margin-bottom:var(--space-6)}
.contact-layout h2{font-size:clamp(2.75rem,1.8rem + 2.4vw,4.5rem)}
.contact-copy>p:first-child{max-width:43ch;color:var(--color-inverse-muted);margin-bottom:var(--space-6)}
.button-light{background:var(--color-inverse);color:var(--color-primary);border-color:var(--color-inverse);min-width:220px}
.button-light:hover{background:var(--color-surface-offset)}
.email-address{display:block;font-size:var(--text-sm);width:max-content;max-width:100%;margin-top:var(--space-4);padding-block:var(--space-2);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-note{font-size:var(--text-xs);color:var(--color-inverse-muted);margin-top:var(--space-2)}
.contact-section a:focus-visible{outline-color:var(--color-inverse)}
.site-footer{padding-block:var(--space-12) var(--space-8)}
.footer-top{display:flex;justify-content:space-between;gap:var(--space-8);align-items:start;padding-bottom:var(--space-10)}
.footer-top>p{font-size:var(--text-sm);color:var(--color-text-muted)}
.footer-top .text-link{border:0;font-weight:500}
.footer-bottom{display:flex;gap:var(--space-6);justify-content:space-between;border-top:1px solid var(--color-divider);padding-top:var(--space-5);align-items:center;font-size:var(--text-xs);color:var(--color-text-muted)}
.privacy-trigger{background:transparent;border:0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:var(--text-xs)}
.service-disclaimer{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.7;max-width:110ch;margin-top:var(--space-4)}
dialog{max-width:min(600px,calc(100% - var(--space-8)));margin:auto;padding:var(--space-8);background:var(--color-bg);border:1px solid var(--color-divider);color:var(--color-text);box-shadow:0 20px 60px oklch(.2 .03 166 / .22)}
dialog::backdrop{background:oklch(.18 .02 165 / .6)}
.dialog-heading{display:flex;gap:var(--space-6);align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}
.dialog-heading h2{font-size:var(--text-xl)}
.dialog-heading button{background:transparent;border:0;min-width:44px;min-height:44px;font-size:var(--text-lg)}
dialog p{font-size:var(--text-sm);margin-bottom:var(--space-5)}
.img-fallback{display:flex;align-items:center;justify-content:center;min-height:250px;color:var(--color-text-muted);background:var(--color-surface-offset);padding:var(--space-8);font-size:var(--text-base)}
@media(min-width:1600px){.hero-copy{padding-left:var(--space-20)}}
@media(max-width:1100px){
  .wrap{width:calc(100% - var(--space-16))}
  .header-inner{min-height:88px}
  nav{gap:var(--space-5)}
  .hero{min-height:620px}
  .hero-copy{padding:var(--space-16) var(--space-8)}
  h1{font-size:clamp(3rem,1.8rem + 3vw,4.5rem)}
  .hero .button{gap:var(--space-4);padding-inline:var(--space-5)}
          .about-section,.contact-layout{gap:var(--space-12)}
  .faq-layout{grid-template-columns:1fr;gap:var(--space-8)}
  .stats-inner{grid-template-columns:1fr 1fr;gap:var(--space-6)}
  .stats-label{grid-column:1/-1}
  .playbook-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:var(--space-8)}
  .results-grid{grid-template-columns:1fr 1fr}
  .quote-featured{grid-column:1/-1}
  .case-study{grid-column:1/-1;padding:var(--space-8)}
}
@media(max-width:760px){
  html{scroll-padding-top:var(--space-6)}
  .wrap{width:calc(100% - var(--space-12))}
  .header-inner{min-height:80px;position:relative}
  .wordmark{font-size:clamp(1.7rem,5vw,2rem)}
  .menu-toggle{display:flex;align-items:center;gap:var(--space-3);background:transparent;border:0;min-height:44px;font-size:var(--text-sm)}
  .menu-toggle span{font-size:var(--text-lg)}
  nav{display:none;position:absolute;top:100%;left:calc(-1 * var(--space-6));right:calc(-1 * var(--space-6));background:var(--color-bg);z-index:10;padding:var(--space-5) var(--space-6) var(--space-6);border-bottom:1px solid var(--color-divider);box-shadow:0 8px 12px oklch(.2 .02 160 / .06);flex-direction:column;gap:var(--space-2);align-items:stretch}
  nav.is-open{display:flex}
  nav>.button{margin-top:var(--space-3)}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:var(--space-12) var(--space-6) var(--space-10)}
  .hero .eyebrow{margin-bottom:var(--space-6)}
  h1{font-size:clamp(2.9rem,7.4vw,4.4rem);max-width:12ch}
  .hero-description{margin-block:var(--space-5) var(--space-6);max-width:45ch}
  .hero-visual{height:390px}
  .hero-visual>img{object-position:65% 50%}
  .image-note{bottom:var(--space-6);left:var(--space-6);right:auto;max-width:270px;padding:var(--space-5) var(--space-6)}
  .image-note p:last-child{font-size:var(--text-xl)}
  .image-note .eyebrow{margin-bottom:var(--space-2)}
        .section{padding-block:var(--space-16)}
  .manifesto,.about-section{grid-template-columns:1fr;gap:var(--space-8)}
  .section-intro>.eyebrow,.section-heading .eyebrow,.about-copy>.eyebrow{margin-bottom:var(--space-4)}
  h2{font-size:clamp(2.15rem,5vw,3rem)}
  .manifesto-copy{padding-top:0}
  .section-heading{display:block;margin-bottom:var(--space-8)}
  .section-heading>p{margin-top:var(--space-5)}
            .stats-inner{grid-template-columns:1fr 1fr;gap:var(--space-5);padding-block:var(--space-8)}
  .stat{padding-left:var(--space-4)}
  .playbook-section,.results-section{padding-block:var(--space-16)}
  .playbook-grid{grid-template-columns:1fr}
  .play{min-height:0;padding:var(--space-6)}
  .how-section{padding-block:var(--space-16)}
  .steps{grid-template-columns:1fr;gap:var(--space-6)}
  .results-grid{grid-template-columns:1fr;gap:var(--space-4)}
  .quote{padding:var(--space-6)}
  .case-study{padding:var(--space-6)}
  .faq-section{padding-block:var(--space-16)}
  .faq-item summary{font-size:var(--text-lg)}
  .portrait-frame img{height:365px}
  .portrait-frame figcaption{flex-direction:column;gap:var(--space-1)}
  .portrait-frame figcaption span{align-self:flex-start}
  .contact-section{padding-block:var(--space-16)}
  .contact-layout{grid-template-columns:1fr;gap:var(--space-8)}
  .contact-layout h2{font-size:clamp(2.75rem,8vw,3.75rem)}
  .contact-layout .eyebrow{margin-bottom:var(--space-4)}
  .footer-top{flex-wrap:wrap;gap:var(--space-5);padding-bottom:var(--space-8)}
  .footer-top .wordmark{width:100%}
  .footer-top>p{flex:1}
  .footer-bottom{align-items:start;flex-direction:column;gap:var(--space-3)}
  .site-footer{padding-top:var(--space-10)}
  .privacy-trigger{min-height:44px}
  dialog{padding:var(--space-6)}
  .dialog-heading h2{font-size:var(--text-lg);font-family:var(--font-body)}
}
@media(min-width:761px){nav.is-open{display:flex}}
.market-hero{padding-block:var(--space-16) var(--space-20)}
.breadcrumb{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-10);display:flex;gap:var(--space-2);flex-wrap:wrap}
.breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.market-hero .eyebrow{margin-bottom:var(--space-6);color:var(--color-primary)}
.market-hero h1{max-width:16ch}
.market-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-12);margin-top:var(--space-10);max-width:1100px}
.market-intro p{color:var(--color-text-muted);line-height:1.7;max-width:56ch}
.market-intro p+p{font-size:var(--text-sm)}
.market-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);margin-top:var(--space-10)}
.market-local{max-width:52ch;font-size:var(--text-sm)}
.market-grid{grid-template-columns:repeat(4,1fr)}
.market-grid .play{min-height:260px}
.market-areas{margin-top:var(--space-8);font-size:var(--text-sm);color:var(--color-text-muted);max-width:80ch}
.market-areas strong{color:var(--color-text);font-weight:700}
.market-proof{padding-block:var(--space-20)}
.market-case{grid-column:auto}
.case-title{font-size:var(--text-xl);line-height:1.1}
.markets-section{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--space-20);align-items:start}
.markets-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--color-text)}
.markets-list li{border-bottom:1px solid var(--color-divider)}
.markets-list a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-6);padding:var(--space-5) 0;min-height:44px;transition:color var(--transition-interactive)}
.markets-list a:hover{color:var(--color-primary)}
.market-name{font-family:var(--font-display);font-size:clamp(1.5rem,1.3rem + .6vw,2rem);letter-spacing:-.025em;line-height:1.15}
.market-state{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted)}
.market-arrow{font-size:var(--text-lg);color:var(--color-primary)}
.footer-markets{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}
.footer-markets a{min-height:32px;display:inline-flex;align-items:center;color:var(--color-text-muted)}
.footer-markets a:hover{color:var(--color-text);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.market-grid{grid-template-columns:repeat(2,1fr)}.markets-section{grid-template-columns:1fr;gap:var(--space-8)}.market-intro{grid-template-columns:1fr;gap:var(--space-5)}}
@media(max-width:760px){.market-grid{grid-template-columns:1fr}.market-hero{padding-block:var(--space-10) var(--space-12)}.market-actions{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.footer-top{flex-direction:column}.market-proof{padding-block:var(--space-12)}}
nav.breadcrumb,nav.footer-markets{position:static;left:auto;right:auto;background:none;box-shadow:none;border:0;padding:0;z-index:auto}
nav.breadcrumb{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}
nav.footer-markets{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}
nav.footer-markets>a,nav.breadcrumb>a{font-weight:400;min-height:32px}
