/* system */
:root{--color-primary:#18181B;--color-secondary:#27272A;--color-accent:#F8FAFC;--color-neutral-dark:#09090B;--color-neutral-light:#FAFAFA;--font-heading:'Outfit',sans-serif;--font-body:'DM Sans',sans-serif;--space-unit:8px;--section-padding:clamp(5.5rem,10vw,9rem);--section-padding-tight:clamp(3.5rem,6vw,5.5rem);--gap:2.5rem;--container:1140px;--measure:66ch;--step-display:clamp(2.25rem,4.5vw,3.5rem);--step-h2:clamp(1.75rem,3vw,2.4rem);--step-h3:clamp(1.25rem,2vw,1.5rem);--step-body:1.0625rem;--step-small:.875rem;--leading-display:1.08;--leading-body:1.75;--tracking-display:-.025em;--radius-card:20px;--radius-button:999px;--radius-image:18px;--shadow-rest:none;--shadow-hover:0 1px 0 color-mix(in srgb,var(--color-neutral-dark) 14%,transparent);--border-hairline:1px solid color-mix(in srgb,var(--color-neutral-dark) 12%,transparent);--ease:cubic-bezier(.22,1,.36,1);--muted:color-mix(in srgb,var(--color-neutral-dark) 70%,var(--color-neutral-light));--hero-width:880px;--focus:2px;--duration:200ms}
*{box-sizing:border-box}body{margin:0;background:var(--color-neutral-light);color:var(--color-neutral-dark);font-family:var(--font-body);font-size:var(--step-body);line-height:var(--leading-body)}h1,h2,h3{font-family:var(--font-heading);line-height:var(--leading-display);letter-spacing:var(--tracking-display);font-weight:500;margin:0 0 calc(var(--space-unit)*3)}h1{font-size:var(--step-display)}h2{font-size:var(--step-h2)}h3{font-size:var(--step-h3)}p{max-width:var(--measure);margin:0 0 calc(var(--space-unit)*3)}a{color:inherit;text-underline-offset:calc(var(--space-unit)/2);transition:color var(--duration),opacity var(--duration)}a:hover{color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus) solid var(--color-secondary);outline-offset:var(--focus)}button,input,select,textarea{font:inherit}button,a.button{cursor:pointer}img{display:block;width:100%;object-fit:cover;border-radius:var(--radius-image)}.wrap{width:min(var(--container),calc(100% - var(--space-unit)*6));margin-inline:auto}.section{padding-block:var(--section-padding)}.tight{padding-block:var(--section-padding-tight)}.narrow{max-width:var(--measure);margin-inline:auto}.overline{font-size:var(--step-small);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}
/* navigation */
.site-header{border-bottom:var(--border-hairline);background:color-mix(in srgb,var(--color-neutral-light) 92%,transparent);backdrop-filter:blur(16px) saturate(1.4);position:relative;z-index:10}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-unit);padding-block:var(--space-unit)}.home-brand{display:block;flex-shrink:0}.home-brand img{height:72px;width:auto;border-radius:0;aspect-ratio:4/1}.site-nav{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit)*2);padding-block:var(--space-unit)}.site-nav a{text-decoration:none;font-size:var(--step-small)}.site-nav a[aria-current=page]{text-decoration:underline}.site-nav a:hover{background:var(--color-secondary);color:var(--color-accent);border-radius:var(--radius-button)}
/* hero card */
.hero{padding-block:var(--section-padding-tight);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-neutral-light))}.hero-card{max-width:var(--hero-width);margin-inline:auto;padding:calc(var(--space-unit)*4);border:var(--border-hairline);border-radius:var(--radius-card);background:var(--color-neutral-light);box-shadow:var(--shadow-rest)}.hero h1{max-width:20ch}.hero .sub{color:var(--muted);max-width:52ch}.hero-image{aspect-ratio:16/9;margin-top:calc(var(--space-unit)*4)}.button{display:inline-flex;align-items:center;justify-content:center;border:var(--border-hairline);border-radius:var(--radius-button);padding:calc(var(--space-unit)*2) calc(var(--space-unit)*3);text-decoration:none;font-size:var(--step-small);font-weight:500;background:var(--color-primary);color:var(--color-accent);transition:transform var(--duration) var(--ease),opacity var(--duration)}.button:hover{transform:translateY(calc(var(--space-unit)/-2));color:var(--color-accent);opacity:.85}.hero .overline{margin-bottom:calc(var(--space-unit)*2)}
/* content rhythm */
.intro p{color:var(--muted)}.intro h2{max-width:24ch}.image-section{display:grid;gap:var(--gap);align-items:center}.image-section>img{aspect-ratio:16/9}.grid{display:grid;gap:var(--gap)}.cards article{border-top:var(--border-hairline);padding-top:calc(var(--space-unit)*4)}.cards p{color:var(--muted)}.cards h3{max-width:22ch}.services-grid article{padding:calc(var(--space-unit)*4);border:var(--border-hairline);border-radius:var(--radius-card)}.who{border-block:var(--border-hairline)}.who-columns{display:grid;gap:var(--gap)}.who ul{list-style:none;padding:0;margin:0}.who li{display:flex;gap:calc(var(--space-unit)*2);padding-block:calc(var(--space-unit)*2);border-bottom:var(--border-hairline)}.who svg{width:calc(var(--space-unit)*3);height:calc(var(--space-unit)*3);flex-shrink:0;margin-top:var(--space-unit)}.who h3{text-transform:capitalize}.case{display:grid;gap:var(--gap);align-items:start}.case>img{aspect-ratio:3/4}.case dl{border-top:var(--border-hairline);margin-top:calc(var(--space-unit)*4)}dt{font-weight:500;padding-top:calc(var(--space-unit)*2)}dd{margin:0;padding-bottom:calc(var(--space-unit)*2);color:var(--muted);border-bottom:var(--border-hairline)}.quote{border-block:var(--border-hairline)}blockquote{margin:0 auto;max-width:var(--measure)}blockquote p{font-family:var(--font-heading);font-size:var(--step-h3);line-height:var(--leading-body)}cite{font-size:var(--step-small);font-style:normal;color:var(--muted)}.marquee ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap);padding:0;margin:0;font-size:var(--step-small)}.marquee li{border-bottom:var(--border-hairline);padding-bottom:var(--space-unit)}
/* tabs and tables */
.tabs{border-block:var(--border-hairline)}[role=tablist]{display:flex;flex-wrap:wrap;gap:var(--space-unit);margin-bottom:calc(var(--space-unit)*4)}[data-switch]{border:var(--border-hairline);border-radius:var(--radius-button);background:transparent;padding:var(--space-unit) calc(var(--space-unit)*3);color:var(--color-primary)}[data-switch]:hover,[data-switch][aria-selected=true]{background:var(--color-primary);color:var(--color-accent)}[data-section-of]{padding-block:calc(var(--space-unit)*3);max-width:var(--measure)}[data-section-of] p{color:var(--muted)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--step-body)}caption{text-align:left;font-family:var(--font-heading);font-size:var(--step-h2);line-height:var(--leading-display);padding-bottom:calc(var(--space-unit)*4)}th,td{text-align:left;vertical-align:top;padding:calc(var(--space-unit)*2);border-bottom:var(--border-hairline);min-width:18ch}th{font-weight:500}td:nth-child(2){background:color-mix(in srgb,var(--color-primary) 4%,var(--color-neutral-light))}
/* plans */
.pricing-grid{display:grid;gap:var(--gap)}.pkg{position:relative;border:var(--border-hairline);border-radius:var(--radius-card);padding:calc(var(--space-unit)*4);display:flex;flex-direction:column}.pkg:nth-child(2){border-color:var(--color-secondary)}.pkg_tag{align-self:flex-start;border:var(--border-hairline);border-radius:var(--radius-button);padding:var(--space-unit) calc(var(--space-unit)*2);font-size:var(--step-small);margin-bottom:calc(var(--space-unit)*3)}.pkg_price{font-family:var(--font-heading);font-size:var(--step-h2);font-weight:500}.pkg_lede{font-size:var(--step-small);color:var(--muted)}.pkg_features{padding:0;list-style:none;flex:1;margin:0 0 calc(var(--space-unit)*4)}.pkg_features li{padding-block:var(--space-unit);border-bottom:var(--border-hairline);font-size:var(--step-small);display:flex;gap:var(--space-unit)}.fine-print{font-size:var(--step-small);color:var(--muted);margin:calc(var(--space-unit)*4) auto 0;text-align:center}
/* closing band */
.cta-band{background:var(--color-primary);color:var(--color-neutral-light);padding-block:var(--section-padding-tight)}.cta-band .wrap{display:grid;gap:var(--gap);align-items:center}.cta-band h2{max-width:25ch}.cta-band p{color:color-mix(in srgb,var(--color-neutral-light) 80%,var(--color-primary));margin-bottom:0}.cta-band .button{justify-self:start;background:var(--color-accent);color:var(--color-primary)}.cta-band :focus-visible{outline-color:var(--color-accent)}
/* contact */
.form-section{border-block:var(--border-hairline)}form{max-width:var(--measure)}.contact-form{display:grid;gap:calc(var(--space-unit)*3)}.contact-form label{display:grid;gap:var(--space-unit)}input,textarea,select{width:100%;border:var(--border-hairline);border-radius:var(--radius-image);padding:calc(var(--space-unit)*2);background:var(--color-neutral-light);color:var(--color-neutral-dark)}input:hover,textarea:hover,select:hover{border-color:var(--color-secondary)}textarea{min-height:calc(var(--space-unit)*20);resize:vertical}fieldset{border:var(--border-hairline);border-radius:var(--radius-card);padding:calc(var(--space-unit)*2);margin:0}fieldset label{display:inline-flex!important;align-items:center;margin-right:calc(var(--space-unit)*2)}input[type=radio],input[type=checkbox]{width:auto;accent-color:var(--color-primary)}.contact-form .form-agree{display:flex;align-items:baseline;gap:calc(var(--space-unit)*2);font-size:var(--step-small)}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form button{justify-self:start}
/* footer and consent */
.site-footer{padding-top:var(--section-padding-tight);border-top:var(--border-hairline)}.footer-grid{display:grid;gap:var(--gap)}.footer-brand{font-family:var(--font-heading);font-size:var(--step-h3)}.site-footer p,.site-footer address,.site-footer nav{font-size:var(--step-small);font-style:normal}.site-footer nav{display:grid;align-content:start;gap:var(--space-unit)}.site-footer address a{display:block}.legal{display:flex;flex-wrap:wrap;gap:calc(var(--space-unit)*2);margin-top:calc(var(--space-unit)*3);font-size:var(--step-small)}.copyright{margin-top:calc(var(--space-unit)*5);border-top:var(--border-hairline);padding-block:calc(var(--space-unit)*3)}.cc-panel{position:fixed;left:1rem;right:1rem;bottom:1rem;display:none;z-index:9999;background:var(--color-neutral-dark);color:var(--color-neutral-light);border-radius:var(--radius-card);padding:calc(var(--space-unit)*3);border:var(--border-hairline)}.cc-panel.is-in6{display:block}.cc-panel p{font-size:var(--step-small)}.cc-panel_actions{display:flex;flex-wrap:wrap;gap:var(--space-unit)}.cc-panel button{border:var(--border-hairline);border-radius:var(--radius-button);padding:var(--space-unit) calc(var(--space-unit)*2);background:var(--color-neutral-light);color:var(--color-neutral-dark);font-size:var(--step-small)}.cc-panel button:hover{opacity:.8}.cc-panel :focus-visible{outline-color:var(--color-accent)}.cc-panel_settings{margin-top:calc(var(--space-unit)*2)}.cc-panel_settings label{display:block;font-size:var(--step-small)}[hidden]{display:none!important}
/* wide layouts */
@media(min-width:768px){.home-brand img{height:96px;width:auto}.hero-card{padding:calc(var(--space-unit)*8)}.hero-image{max-height:calc(var(--space-unit)*34)}.cards{grid-template-columns:repeat(3,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.who-columns{grid-template-columns:1fr 1fr}.case{grid-template-columns:.8fr 1.2fr}.case>img{position:sticky;top:calc(var(--space-unit)*4)}.image-section{grid-template-columns:1fr 1fr}.image-section>img{aspect-ratio:1/1}.pricing-grid{grid-template-columns:repeat(3,1fr)}.cta-band .wrap{grid-template-columns:1fr auto}.footer-grid{grid-template-columns:1fr .65fr 1.2fr}.intro.split-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--gap)}.intro.split-intro p{margin-bottom:0}.site-header{position:sticky;top:0}.header-inner{flex-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.legal { max-width: 72ch; margin: 0 auto; padding: clamp(2rem, 6vw, 4.5rem) 1.25rem; }
.legal h1 { margin: 0 0 0.75rem; }
.legal h2 { margin: 2.25rem 0 0.75rem; }
.legal p, .legal li { line-height: 1.7; }
.legal ul { padding-left: 1.25rem; }
.legal-meta { opacity: 0.7; font-size: 0.9em; }
.legal-back { margin-top: 2.5rem; }
.legal-risk { margin: 1rem 0; padding: 1rem 1.25rem; border-left: 4px solid #D97706; border-radius: 0.375rem; background: #FFF7E6; color: #3B2A06; }
.legal-risk p { margin: 0; }

/* motion */
.anim-on [data-animate]:not(.rested), .anim-on [data-cascade] > :not(.rested) {
  transition-property: opacity, transform, clip-path;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.anim-on [data-animate]:not(.is-seen), .anim-on [data-cascade] > :not(.is-seen) {
  opacity: 0; clip-path: inset(0 0 96% 0); transform: translateY(16px);
}
[data-panels] [role="tablist"] { display: none; }
.has-script [data-panels] [role="tablist"] { display: flex; flex-wrap: wrap; }
[data-scroller] { overflow: hidden; }
.anim-on [data-scroller] > :first-child {
  display: flex; flex-wrap: nowrap; width: max-content;
  animation: drift 45s linear infinite;
}
.anim-on [data-scroller]:hover > :first-child { animation-play-state: paused; }
@keyframes drift { to { transform: translateX(-50%); } }
.scroll-meter {
  position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 9998;
  transform: scaleX(0); transform-origin: 0 50%;
  background: var(--color-accent, currentColor); pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .anim-on [data-animate]:not(.is-seen), .anim-on [data-cascade] > :not(.is-seen) { opacity: 1; transform: none; clip-path: none; filter: none; }
  .anim-on [data-scroller] > :first-child { animation: none; }
}
