/*
 * The public site (phase-2-plan WP2): the public site design project's tokens
 * (design system "Active for Animals": everglade, olive green, ecru white;
 * Fraunces for display, Hind for text); the header and footer are the
 * homepage design's (decision 0779). Logical properties only (plan §2.5, `pnpm lint:css`).
 */
:root{
--everglade:#143731;--greyish-green:#77AC6E;--olive-green:#A1C55F;--white-rock:#E5E5E5;--ecru-white:#F6F3E7;--white:#FFFFFF;
--text-body:var(--everglade);--text-muted:rgb(20 55 49 / .8);--text-on-dark:var(--ecru-white);
--surface-page:var(--ecru-white);--surface-card:var(--white);--surface-sunken:var(--white-rock);--surface-dark:var(--everglade);
--border-subtle:rgb(20 55 49 / .14);--danger:#B4533B;
--font-display:'Fraunces',Georgia,serif;--font-body:'Hind','Helvetica Neue',Arial,sans-serif;
--fs-display-xl:64px;--fs-display-lg:48px;--fs-display-md:36px;--fs-heading-lg:28px;--fs-heading-md:22px;--fs-body-lg:19px;--fs-body-md:16px;--fs-body-sm:14px;
--lh-display:1.08;--lh-heading:1.2;--lh-body:1.55;
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;
--shadow-md:0 4px 16px rgb(20 55 49 / .10);--shadow-lg:0 12px 32px rgb(20 55 49 / .14);
--gutter:clamp(20px,5vw,48px);--page-width:1200px;
--gutter-wide:clamp(16px,4vw,56px);--page-wide:1328px;--on-wall-soft:#d3dccf;--wall-divider:#2e5a52;--wall-hover:#1f4a42;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img,svg,picture{max-inline-size:100%;block-size:auto}
a{color:var(--everglade);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--everglade);outline-offset:3px;box-shadow:0 0 0 6px var(--olive-green);border-radius:6px}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:var(--lh-heading);text-wrap:balance}
h1{font-size:clamp(36px,6vw,64px);line-height:var(--lh-display);letter-spacing:-.01em}
h2{font-size:clamp(28px,3.4vw,44px)}
h3{font-size:var(--fs-heading-md)}
.visually-hidden{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.container{max-inline-size:var(--page-width);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(40px,7vw,96px)}
.lead{font-size:clamp(17px,1.6vw,20px);max-inline-size:60ch;text-wrap:pretty}

/* Buttons (design system Button) */
.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-block-size:44px;padding:10px 22px;border-radius:var(--radius-pill);border:2px solid var(--everglade);background:var(--everglade);color:var(--ecru-white);font:600 16px/1.2 var(--font-body);text-decoration:none;cursor:pointer}
.button:hover{background:#0d2622;color:var(--ecru-white)}
.button.secondary{background:transparent;color:var(--everglade)}
.button.secondary:hover{background:var(--olive-green);color:var(--everglade)}
.button.on-dark{background:var(--olive-green);border-color:var(--olive-green);color:var(--everglade)}
.button.on-dark:hover{background:var(--ecru-white);border-color:var(--ecru-white)}
.link-button{background:none;border:0;padding:10px 0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none}
.link-button:hover{text-decoration:underline}

/* Skip link */
.skip{position:absolute;inset-inline-start:16px;inset-block-start:-200px;z-index:50;background:var(--everglade);color:var(--ecru-white);padding:12px 18px;border-radius:var(--radius-pill);font-weight:600}
.skip:focus{inset-block-start:12px}

/* Language suggestion (plan §2.5): one line, never a redirect */
.lang-suggest{background:rgb(161 197 95 / .35);border-block-end:1px solid var(--border-subtle)}
.lang-suggest[hidden]{display:none}
.lang-suggest .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2);font-size:15px}
.lang-suggest p{margin:0}
.lang-suggest a{font-weight:600}
.icon-button{display:inline-grid;place-items:center;inline-size:36px;block-size:36px;border:0;border-radius:var(--radius-pill);background:transparent;color:inherit;cursor:pointer;flex:none}
.icon-button:hover{background:rgb(20 55 49 / .08)}
.icon{display:inline-block;inline-size:20px;block-size:20px;flex:none}

/* The homepage design's shared pieces (decision 0779): the wall, the page width, the display face, the buttons */
.wall,.site-header,.site-footer{background:var(--everglade);color:var(--ecru-white)}
.wall a:not(.btn),.site-header a:not(.btn){color:inherit}
.wrap{inline-size:min(100% - 2 * var(--gutter-wide),var(--page-wide));margin-inline:auto}
.display{font-family:var(--font-display);font-weight:500;font-variation-settings:"opsz" 144;letter-spacing:0;line-height:1.04;text-wrap:balance;overflow-wrap:break-word}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-block-size:48px;padding:.7em 1.3em;border:2px solid transparent;border-radius:var(--radius-pill);font:700 1.0625rem/1.1 var(--font-body);letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background-color 160ms ease,transform 120ms cubic-bezier(.23,1,.32,1)}
.btn:active{transform:scale(.97)}
.btn-olive{background:var(--olive-green);color:var(--everglade)}
.btn-ink{background:var(--everglade);color:var(--ecru-white)}
.btn-line{border-color:currentColor;color:inherit;background:transparent}
.btn-small{min-block-size:44px;font-size:1rem;padding:.55em 1em}
@media (hover:hover) and (pointer:fine){
  .btn-olive:hover{background:var(--greyish-green)}
  .btn-ink:hover{background:var(--wall-hover)}
  .btn-line:hover{background:var(--white-rock)}
  .wall .btn-line:hover,.site-header .btn-line:hover{background:var(--wall-hover)}
  .wall .face .btn-line:hover{background:var(--white-rock)}
}
.wall :focus-visible,.site-header :focus-visible,.site-footer :focus-visible{outline-color:var(--olive-green);box-shadow:none}

/* Header (the homepage design's SiteHeader): on the wall; "Book a demo" stays beside the menu button on phones */
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:16px}
.site-header .brand,.site-footer .brand{display:inline-flex;align-items:center;min-block-size:44px;flex:none}
.site-header .brand img{block-size:48px;inline-size:auto;display:block}
.site-header .brand img,.site-footer .brand img{filter:brightness(0) invert(.96) sepia(.12)}
.header-actions{display:contents}
.header-actions .btn{display:none}
.menu-toggle{display:none;align-items:center;justify-content:center;inline-size:48px;block-size:48px;padding:0;border-radius:var(--radius-pill);background:transparent;color:inherit;border:2px solid currentColor;cursor:pointer;touch-action:manipulation}
.menu-toggle .icon{inline-size:22px;block-size:22px}
.menu-toggle[aria-expanded=true] .icon-open,.menu-toggle[aria-expanded=false] .icon-close{display:none}
.site-nav{display:flex;align-items:center;gap:4px}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.site-nav li>a,.site-nav .link-button{display:inline-flex;align-items:center;min-block-size:44px;padding-inline:14px;text-decoration:none;font-weight:700;font-size:1.0625rem;color:inherit}
@media (hover:hover) and (pointer:fine){.site-nav li>a:hover,.site-nav .link-button:hover{text-decoration:underline}}
.site-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.site-nav form{margin:0}
.site-nav>.btn{margin-inline-start:12px}
@media (max-width:900px){
  .site-header .bar{flex-wrap:wrap}
  .js .header-actions{display:flex;gap:8px;align-items:center}
  .js .header-actions .btn{display:inline-flex}
  .js .menu-toggle{display:inline-flex}
  .js .site-nav{display:none;order:3;inline-size:100%;flex-direction:column;align-items:stretch;padding-block-end:8px}
  .js .site-header[data-open] .site-nav{display:flex}
  .js .site-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .js .site-nav li>a,.js .site-nav .link-button{display:flex;inline-size:100%;text-align:start;border-block-start:1px solid var(--wall-divider);padding-inline:4px;min-block-size:48px}
  .js .site-nav>.btn{display:none}
  .no-js .site-nav{flex-wrap:wrap}
}
@media (max-width:480px){.site-header .brand img{block-size:40px}.header-actions .btn{padding-inline:.85em}.menu-toggle{inline-size:44px;block-size:44px}}

/* Call-to-action band above the footer (WEB-CAP-014) */
.cta-band{background:var(--olive-green);color:var(--everglade)}
.cta-band .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5);padding-block:clamp(40px,6vw,72px)}
.cta-band h2{margin:0;max-inline-size:22ch}

/* Footer (the homepage design's footer); every link visible at every width (WEB-RULE-064) */
.site-footer{padding-block:48px 24px;font-size:1rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 2fr;gap:32px;align-items:start}
.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer .brand img{block-size:48px;inline-size:auto;display:block}
.site-footer li a,.site-footer .link-button{display:inline-flex;align-items:center;min-block-size:44px;color:var(--ecru-white);text-decoration:none}
.site-footer li a:hover,.site-footer .link-button:hover{text-decoration:underline}
.site-footer .small{color:var(--on-wall-soft);margin:12px 0 0;max-inline-size:46ch}
.site-footer form{margin:0}
.site-footer .meta{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;justify-content:space-between;padding-block-start:24px;margin-block-start:24px;border-block-start:1px solid var(--wall-divider);font-size:15px}
.site-footer .icon{filter:invert(.96) sepia(.12)}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}
.lang-menu summary{cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 0;list-style:none}
.lang-menu summary::-webkit-details-marker{display:none}
.lang-menu ul{list-style:none;margin:var(--space-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 var(--space-4)}
.lang-menu a[aria-current=true]{font-weight:600;text-decoration:underline}

/* Cookie notice (WEB-RULE-027): bottom of the viewport, never blocking */
.cookie-notice{position:fixed;inset-block-end:16px;inset-inline:16px;z-index:40;max-inline-size:560px;margin-inline:auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--white);color:var(--everglade);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:15px}
.cookie-notice p{margin:0;flex:1 1 240px}
.js .cookie-notice{display:none}
.js .cookie-notice[data-show]{display:flex}

/* Long-form content (blog, legal; WP3) */
.prose{max-inline-size:72ch}
.prose h2{font-size:var(--fs-heading-lg);margin-block:2em .5em}
.prose h3{margin-block:1.6em .4em}
.prose p,.prose li{font-size:17px}
.prose a{font-weight:500}
.prose table{border-collapse:collapse;inline-size:100%;margin-block:1em;font-size:15px}
.prose th,.prose td{border:1px solid var(--border-subtle);padding:8px 10px;text-align:start;vertical-align:top}
.prose blockquote{margin-inline:0;padding-inline-start:var(--space-4);border-inline-start:4px solid var(--olive-green)}
.translation-notice,.notice{margin-block:var(--space-5);padding:var(--space-4) var(--space-5);background:var(--white);border:1px solid var(--border-subtle);border-inline-start:4px solid var(--olive-green);border-radius:var(--radius-md);font-size:15px}
.translation-notice p,.notice p{margin:0}
.translation-notice p+p{margin-block-start:var(--space-2)}

/* Error pages (WEB-RULE-013) */
.error-page{padding-block:clamp(48px,9vw,120px)}
.error-page p{max-inline-size:56ch}
.error-page .actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-block-start:var(--space-6)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---- Marketing pages (phase-2-plan WP4; decision 0041): the hub's and tool pages' visual language ---- */
.eyebrow{margin:0 0 12px;font-size:15px;font-weight:600}
.section-title{margin:0;font-size:clamp(30px,3.6vw,44px);line-height:1.1}
.band-white{background:var(--white);border-block:1px solid var(--border-subtle)}
.band-grey{background:var(--white-rock)}
.band-dark{background:var(--everglade);color:var(--ecru-white)}
.band-dark h2,.band-dark h3{color:var(--ecru-white)}
.band-dark a{color:var(--ecru-white)}
.wide{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(56px,8vw,96px) var(--gutter)}
.plain-list{list-style:none;margin:0;padding:0}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);font:700 12px/1 var(--font-body);white-space:nowrap;background:var(--white-rock);color:var(--everglade)}
.badge.accent{background:var(--olive-green)}
.badge .dot{inline-size:6px;block-size:6px;border-radius:var(--radius-pill);background:var(--everglade)}
.card-link{color:var(--everglade);text-decoration:none}

/* Tools overview (design: Our Tools Hub) */
.hub-hero{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(32px,5vw,64px) var(--gutter) clamp(32px,4vw,48px)}
.hub-hero h1{margin:0;max-inline-size:16ch;font-size:clamp(40px,6.4vw,72px);line-height:1.04}
.hub-hero .lead{margin:24px 0 0}
.picker{margin-block-start:clamp(36px,5vw,56px)}
.picker>h2{margin:0 0 16px;font:600 16px/1.3 var(--font-body)}
.picker>ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.group-card{position:relative;display:flex;flex-direction:column;gap:20px;min-block-size:140px;padding:22px 24px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--white);transition:border-color 160ms ease,transform 160ms ease,box-shadow 160ms ease}
.group-card:hover{border-color:var(--everglade);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.group-card h3{margin:0;font-weight:400;font-size:24px;line-height:1.2}
.group-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.group-card li+li{border-block-start:1px solid var(--border-subtle)}
.group-card a{display:block;font-size:15px;font-weight:600;color:var(--everglade);text-decoration:none}
.group-card .primary{padding-block:8px}
.group-card .primary::after{content:'';position:absolute;inset:0;border-radius:var(--radius-lg)}
.group-card .secondary{position:relative;z-index:1;padding-block:10px 2px}
.group-card .secondary:hover{text-decoration:underline}
.item-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.item-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.dashed-card{block-size:100%;display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-block-size:140px;padding:22px 24px;border-radius:var(--radius-lg);border:1px dashed var(--everglade);color:var(--everglade);text-decoration:none;transition:background 160ms ease,transform 160ms ease}
.dashed-card:hover{background:var(--olive-green);transform:translateY(-2px)}
.dashed-card .big{font-family:var(--font-display);font-size:24px;line-height:1.2}
.dashed-card .row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px;font-weight:600}
.trust h2{margin:0;max-inline-size:20ch;font-size:clamp(30px,3.6vw,44px);line-height:1.1}
.trust ul{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px}
.trust li{border-block-start:2px solid var(--olive-green);padding-block-start:24px}
.trust .medal{display:grid;place-items:center;inline-size:52px;block-size:52px;border-radius:var(--radius-pill);background:var(--olive-green);margin:0 auto 16px}
.trust .medal img{inline-size:26px;block-size:26px}
.trust h3{margin:0;font-size:22px;text-align:center}
.trust p{margin:10px 0 0;font-size:16px}
.explore p.lead{margin-block-start:16px}
.paused{margin-block-start:36px;background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-inline-size:820px;padding:clamp(24px,3.5vw,44px);display:flex;flex-direction:column;gap:14px}
.paused .badges{display:flex;gap:6px;flex-wrap:wrap}
.paused h3{margin:0;font-size:30px;line-height:1.1}
.paused p{margin:0}
.paused .pitch{font-size:17px;font-weight:600}
.paused .actions{margin-block-start:8px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;font-weight:600}

/* Tool pages (design: Tool Page - *) */
.tool-hero{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(28px,4vw,40px) var(--gutter) 0}
.breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-size:15px}
.breadcrumb li{padding-block:6px}
.breadcrumb [aria-current]{font-weight:600}
.tool-hero .grid{margin-block-start:clamp(32px,5vw,56px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:40px 64px;align-items:end}
.tool-hero h1{margin:0;font-size:clamp(36px,5.2vw,60px);line-height:1.06}
.tool-hero .side{display:flex;flex-direction:column;gap:24px;padding-block-end:6px}
.tool-hero .side p{margin:0}
.tool-hero .intro{font-size:clamp(17px,1.5vw,19px)}
.tool-hero .best{font-size:15px;line-height:1.45}
.tool-hero .best strong{font-weight:600}
.tool-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.tool-hero .actions>a:not(.button){font-weight:600;padding-block:12px}
.tool-hero .rule{margin-block-start:clamp(40px,5vw,64px);block-size:1px;background:var(--border-subtle)}
.button.lg{min-block-size:52px;padding:14px 28px;font-size:17px}
.proof{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(40px,5vw,56px) var(--gutter);display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;border-block-end:1px solid var(--border-subtle)}
.proof p{margin:0}
.proof .figure{font-family:var(--font-display);font-weight:500;font-size:clamp(44px,5vw,64px);line-height:1}
.proof .label{font-size:18px;line-height:1.4;max-inline-size:34ch}
.problem{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(56px,8vw,96px) var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px 64px}
.problem .body{font-size:18px;line-height:1.6;max-inline-size:60ch}
.problem .body p{margin:0}
.problem .body p+p{margin-block-start:16px}
.features h2{max-inline-size:22ch}
.features ul{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px}
.features li{border-block-start:2px solid var(--everglade);padding-block-start:20px}
.features h3{margin:0;font-size:22px;line-height:1.2}
.features p{margin:10px 0 0;font-size:16px}
.chips{margin-block-start:40px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.chips .label{font-size:15px;font-weight:600;margin-inline-end:6px}
.chips ul{display:contents}
.chips li{display:inline-flex;align-items:center;min-block-size:36px;padding:0 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--ecru-white);font-size:15px;font-weight:500}
.quote{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(56px,8vw,96px) var(--gutter) 0}
.quote figure{margin:0;max-inline-size:880px}
.quote blockquote{margin:0;font-family:var(--font-display);font-size:clamp(18px,1.8vw,21px);line-height:1.45;max-inline-size:60ch}
.quote figcaption{margin-block-start:20px;font-size:16px}
.quote figcaption strong{font-weight:600}
.steps h2{margin:0}
.steps .note{margin:16px 0 0;max-inline-size:60ch;font-size:17px}
.steps ol{list-style:none;margin:clamp(28px,4vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}
.steps li{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:14px}
.steps .n{inline-size:44px;block-size:44px;border-radius:var(--radius-pill);background:var(--olive-green);display:grid;place-items:center;font-family:var(--font-display);font-size:22px}
.steps h3{margin:0;font-size:22px;line-height:1.2}
.steps h3 a{text-decoration-thickness:2px}
.steps p{margin:0;font-size:16px}
.more .head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px}
.more h2{margin:0;font-size:clamp(28px,3.2vw,38px);line-height:1.1}
.more .head a{font-weight:600;padding-block:10px}
.more ul{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}
.more li a{block-size:100%;background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;color:var(--everglade);text-decoration:none;transition:box-shadow 200ms ease,transform 200ms ease,border-color 200ms ease}
.more li a:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--everglade)}
.more .name{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--font-display);font-size:22px;line-height:1.2;font-weight:500}
.more p{margin:0;font-size:16px;line-height:1.5}
.tool-cta{background:var(--olive-green)}
.tool-cta .inner{max-inline-size:var(--page-width);margin-inline:auto;padding:clamp(48px,7vw,80px) var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px}
.tool-cta .text{max-inline-size:42ch}
.tool-cta h2{margin:0;font-size:clamp(28px,3.4vw,40px);line-height:1.1}
.tool-cta p{margin:12px 0 0;font-size:18px}

/* About */
.about-intro blockquote{margin:24px 0 0;max-inline-size:60ch;font-family:var(--font-display);font-size:clamp(20px,2.2vw,26px);line-height:1.4;padding-inline-start:var(--space-5);border-inline-start:4px solid var(--olive-green)}
.media-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:32px 64px;align-items:center}
.media-split p{font-size:18px;line-height:1.6;max-inline-size:60ch}
.media-split picture img{border-radius:var(--radius-lg)}
.team ul{list-style:none;margin:clamp(28px,4vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.team li{background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px}
.team picture img{border-radius:var(--radius-md);inline-size:160px;block-size:auto}
.team h3{margin:0}
.team .role{margin:0;font-weight:600}
.team p{margin:0}

/* Blog (WEB-CAP-003, 004) */
.blog-head h1{margin:0}
.blog-head .lead{margin-block-start:16px}
.blog-cards{list-style:none;margin:clamp(28px,4vw,40px) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:24px}
.blog-card{display:flex;flex-direction:column;gap:12px;block-size:100%;padding:0 0 24px;background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;color:var(--everglade);text-decoration:none;transition:box-shadow 200ms ease,transform 200ms ease}
.blog-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.tile{display:flex;flex-direction:column;justify-content:center;gap:4px;min-block-size:160px;padding:24px;background:var(--everglade);color:var(--ecru-white);font-family:var(--font-display)}
.tile .brand-line{font-size:16px}
.tile .month-line{font-size:28px;line-height:1.15}
.blog-card .meta,.post-meta{margin:0;padding-inline:24px;font-size:14px;font-weight:600}
.blog-card .title{margin:0;padding-inline:24px;font-family:var(--font-display);font-size:22px;line-height:1.2}
.post-head{padding-block-end:0}
.post-head .tile{border-radius:var(--radius-lg);max-inline-size:520px;margin-block-end:16px}
.post-meta{padding:0}
.post-head h1{margin:12px 0 0}
.back{margin-block-start:var(--space-7);font-weight:600}

/* Booking pages (WEB-RULE-012) */
.booking .lead{margin-block-end:var(--space-5)}
.booking-embed{min-block-size:560px;background:var(--white);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;margin-block:var(--space-5)}
.booking-embed iframe{display:block;inline-size:100%;min-block-size:700px;border:0}
.booking-fallback{font-weight:600}

/* Legal pages (WEB-RULE-024, 025) */
.legal .effective{margin:8px 0 0;font-size:15px}
.register-table{overflow-x:auto}

/* Engagement Tracker documentation (phase 4 WP13; decision 0321) */
.docs .breadcrumb{margin-block-end:24px}
.docs-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px 40px;margin-block-start:40px}
.docs-group h2{font-size:var(--fs-heading-md);margin-block:0 8px}
.docs-group ul{margin:0;padding-inline-start:20px}
.docs-group li{padding-block:4px;font-size:17px}
