/* Trinity Management — staging stylesheet.
   Flattened from the Trinity Management design system (tokens/*.css) plus the
   component styles this page needs. No build step, no framework. */

@import url("https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=Figtree:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");

/* ===== tokens ===== */
:root{
--navy-900:#0d1a2c;--navy-800:#12213a;--navy-700:#1a3050;--navy-600:#22406a;--navy-500:#2d5288;
--slate-700:#354561;--slate-600:#4a5872;--slate-500:#6d7582;--slate-400:#7f8590;--slate-300:#aeb4bf;--slate-200:#c9ced7;--slate-100:#e4e7ec;--slate-050:#eff1f5;
--paper:#f7f8fa;--white:#fff;--ink:#0b1220;
--success-500:#2e8b68;--success-700:#1c5b46;--success-050:#e8f2ee;
--text-strong:var(--navy-800);--text-body:#2b3648;--text-muted:var(--slate-500);--text-link:var(--navy-600);--text-link-hover:var(--navy-800);
--surface-page:var(--paper);--surface-card:var(--white);--surface-sunken:var(--slate-050);--surface-inverse:var(--navy-700);--surface-inverse-deep:var(--navy-900);--surface-accent-soft:#e9eef6;
--border-hairline:var(--slate-100);--border-default:var(--slate-200);--focus-ring:rgba(45,82,136,.45);
--facet-gradient:linear-gradient(120deg,var(--navy-700) 0%,var(--slate-700) 52%,var(--slate-500) 100%);
--font-display:"Archivo","Helvetica Neue",Helvetica,sans-serif;--font-body:"Figtree","Helvetica Neue",Helvetica,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
--fs-display-2:clamp(32px,5.2vw,48px);--fs-h1:clamp(28px,4vw,36px);--fs-h2:clamp(24px,3.2vw,28px);--fs-h3:22px;--fs-body-lg:18px;--fs-body:16px;--fs-body-sm:14px;--fs-caption:13px;--fs-eyebrow:12px;
--lh-heading:1.18;--lh-snug:1.35;--lh-body:1.6;--ls-display:-.02em;--ls-heading:-.01em;--ls-eyebrow:.16em;
--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;
--type-h3:var(--fw-semibold) var(--fs-h3)/var(--lh-snug) var(--font-display);
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-body);
--type-body-sm:var(--fw-regular) var(--fs-body-sm)/var(--lh-snug) var(--font-body);
--type-eyebrow:var(--fw-bold) var(--fs-eyebrow)/1.2 var(--font-display);
--space-4:16px;--container-max:1200px;--gutter:24px;--section-y:96px;--section-y-sm:64px;--topbar-h:64px;
--control-h-sm:32px;--control-h:40px;--control-h-lg:48px;
--radius-sm:2px;--radius-md:4px;--radius-card:6px;--radius-xl:8px;--rule-accent-w:3px;
--shadow-xs:0 1px 2px rgba(13,26,44,.06);--shadow-md:0 4px 12px rgba(13,26,44,.09);--shadow-lg:0 12px 32px rgba(13,26,44,.12);--ring-focus:0 0 0 3px var(--focus-ring);
--ease-standard:cubic-bezier(.2,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-instant:80ms;--dur-fast:140ms;--dur-base:220ms;--dur-slow:360ms;
--transition-control:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);
}

/* ===== base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-body);font:var(--type-body);text-wrap:pretty;overflow-x:hidden}
img{max-width:100%;display:block}
.hp{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
h1,h2,h3,h4{margin:0;color:var(--text-strong);font-family:var(--font-display);letter-spacing:var(--ls-heading)}
h1{font:var(--fw-bold) var(--fs-display-2)/1.05 var(--font-display);letter-spacing:var(--ls-display)}
h2{font:var(--fw-semibold) var(--fs-h2)/var(--lh-heading) var(--font-display)}
h3{font:var(--type-h3)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;border-bottom:1px solid rgba(34,64,106,.35);transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--text-link-hover);border-bottom-color:var(--text-link-hover)}
:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-sm)}
.tm-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.tm-eyebrow{font:var(--type-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.tm-num{font:var(--fw-medium) var(--fs-body)/1.4 var(--font-mono);font-variant-numeric:tabular-nums}
.tm-sect{padding-top:var(--section-y);padding-bottom:var(--section-y)}
section[id],[id="top"]{scroll-margin-top:var(--topbar-h)}
.tm-band{background:var(--surface-card);border-top:1px solid var(--border-hairline);border-bottom:1px solid var(--border-hairline)}
.tm-lede{font:var(--fw-regular) var(--fs-body-lg)/var(--lh-body) var(--font-body);color:var(--text-muted);max-width:760px}
.tm-skip{position:absolute;left:-9999px;top:0}
.tm-skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px 14px;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}

/* ===== section heading ===== */
.tm-head-block{max-width:900px}
.tm-head-block .tm-eyebrow{display:block}
.tm-rule{display:block;width:40px;height:var(--rule-accent-w);background:var(--navy-700);margin:12px 0 18px;transform-origin:left}
.tm-head-block h2{margin:0}
.tm-head-block .tm-lede{margin:16px 0 0}
.tm-invert h2,.tm-invert h3{color:#fff}
.tm-invert .tm-lede{color:rgba(255,255,255,.72)}
.tm-invert .tm-eyebrow{color:rgba(255,255,255,.5)}
.tm-invert .tm-rule{background:#fff}
.tm-quote{display:flex;gap:24px;max-width:784px;margin-top:40px}
.tm-quote span[aria-hidden]{flex:0 0 auto;width:var(--rule-accent-w);background:var(--navy-700);transform-origin:top}
.tm-quote p{margin:0;font:var(--fw-semibold) 22px/1.5 var(--font-body);color:var(--navy-700)}
.tm-quote.tm-quote-sm p{font:var(--type-body);color:var(--text-muted)}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:var(--control-h);padding:0 18px;border-radius:var(--radius-md);border:1px solid transparent;font:var(--fw-semibold) 15px/1 var(--font-display);letter-spacing:.01em;cursor:pointer;transition:var(--transition-control),transform var(--dur-instant) var(--ease-standard)}
.btn:hover{border-bottom-color:transparent}
.btn:active{transform:translateY(1px)}
.btn-sm{height:var(--control-h-sm);padding:0 12px;font-size:13px}
.btn-lg{height:var(--control-h-lg);padding:0 24px;font-size:16px}
.btn-primary{background:var(--navy-700);color:#fff}
.btn-primary:hover{background:var(--navy-800);color:#fff}
.btn-primary:active{background:var(--navy-900)}
.btn-secondary{background:transparent;color:var(--navy-700);border-color:var(--navy-700)}
.btn-secondary:hover{background:var(--surface-accent-soft);color:var(--navy-700)}
.btn-inverse{background:#fff;color:var(--navy-700)}
.btn-inverse:hover{background:rgba(255,255,255,.88);color:var(--navy-700)}
.btn-full{width:100%}
.btn svg{flex:0 0 auto}

/* ===== badges, chips ===== */
.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font:var(--fw-semibold) var(--fs-caption)/1 var(--font-body);border:1px solid var(--border-default);color:var(--text-body);background:var(--white)}
.badge-navy{background:var(--surface-accent-soft);border-color:#c8d6e8;color:var(--navy-700)}
.badge-solid{background:var(--navy-700);border-color:var(--navy-700);color:#fff}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.chip{display:inline-flex;align-items:center;min-height:32px;padding:6px 14px;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-card);font:var(--type-body-sm);color:var(--text-body);transition:var(--transition-control)}
.chip:hover{border-color:var(--navy-700);color:var(--navy-700)}

/* ===== cards ===== */
.card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-card);padding:24px;box-shadow:var(--shadow-xs)}
.card-accent{border-top:var(--rule-accent-w) solid var(--navy-700)}
.card-foot{margin:20px -24px -24px;padding:14px 24px;background:var(--surface-sunken);border-top:1px solid var(--border-hairline);border-radius:0 0 var(--radius-card) var(--radius-card);font:var(--type-body-sm);color:var(--text-muted)}
.hcard{position:relative}
.hcard::after{content:"";position:absolute;left:1px;right:1px;top:0;height:var(--rule-accent-w);background:var(--navy-700);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out);pointer-events:none;border-radius:var(--radius-card) var(--radius-card) 0 0}
.hcard:hover::after{transform:scaleX(1)}

/* ===== header ===== */
.site-head{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-hairline);transition:box-shadow var(--dur-fast) var(--ease-standard)}
.site-head[data-stuck="true"]{box-shadow:var(--shadow-xs)}
.head-row{height:var(--topbar-h);display:flex;align-items:center;gap:32px}
.head-logo{border-bottom:none;display:flex;flex:0 0 auto}
.head-logo img{height:30px;width:auto}
.head-nav{display:flex;gap:26px;margin-left:auto}
.navlink{position:relative;border-bottom:none;padding-bottom:5px;font:var(--fw-medium) var(--fs-body-sm)/1 var(--font-display);color:var(--text-muted);transition:color var(--dur-fast) var(--ease-standard)}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--navy-700);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}
.navlink:hover{color:var(--navy-700)}
.navlink:hover::after,.navlink[aria-current="true"]::after{transform:scaleX(1)}
.navlink[aria-current="true"]{color:var(--navy-700);font-weight:var(--fw-semibold)}
.head-cta{display:flex;flex:0 0 auto}
.burger{display:none;margin-left:auto;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--navy-700);cursor:pointer;transition:var(--transition-control)}
.burger:hover{background:var(--surface-sunken)}
.burger .ico-close,.burger[aria-expanded="true"] .ico-open{display:none}
.burger[aria-expanded="true"] .ico-close{display:block}
.mobile-menu{display:none;max-height:0;overflow:hidden;border-top:1px solid var(--border-hairline);background:var(--white);transition:max-height var(--dur-base) var(--ease-standard)}
.mobile-menu[data-open="true"]{max-height:80vh}
.mobile-menu>div{padding:0 var(--gutter)}
.mobile-menu a{display:block;padding:14px 0;border-bottom:none;border-top:1px solid var(--border-hairline);font:var(--fw-semibold) var(--fs-body)/1 var(--font-display);color:var(--text-strong)}
.mobile-menu .btn{margin:14px 0 18px}
.scroll-prog{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--navy-700);transform:scaleX(0);transform-origin:left;transition:transform 120ms linear}

/* ===== facet graphics ===== */
.facet{position:absolute;pointer-events:none;z-index:0}
.facet i{position:absolute;inset:0;display:block}
.facet i:nth-child(1){clip-path:polygon(0 100%,34% 0,52% 0,18% 100%);background:var(--navy-700)}
.facet i:nth-child(2){clip-path:polygon(20% 100%,54% 0,72% 0,38% 100%);background:var(--slate-700)}
.facet i:nth-child(3){clip-path:polygon(40% 100%,74% 0,100% 0,66% 100%);background:var(--slate-400)}
.facet-invert i:nth-child(1){background:rgba(255,255,255,.9)}
.facet-invert i:nth-child(2){background:rgba(255,255,255,.68)}
.facet-invert i:nth-child(3){background:rgba(255,255,255,.46)}
.facet-panel{position:relative;overflow:hidden;border-radius:var(--radius-card);background:var(--facet-gradient);color:#fff;padding:26px}
.facet-panel>*{position:relative;z-index:1}

/* ===== photo placeholders ===== */
.photo{position:relative;background:repeating-linear-gradient(135deg,var(--slate-050),var(--slate-050) 10px,#e7eaf0 10px,#e7eaf0 20px);border:1px dashed var(--slate-300);border-radius:var(--radius-card);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}
.photo span{font:var(--fw-medium) var(--fs-caption)/1.5 var(--font-mono);color:var(--slate-500);text-align:center;max-width:340px;text-transform:uppercase;letter-spacing:.04em}
.photo-hero{height:440px;box-shadow:var(--shadow-md)}
.photo-team{height:340px}

/* ===== hero ===== */
.hero{position:relative;overflow:hidden;background:var(--surface-card);border-bottom:1px solid var(--border-hairline)}
.hero .facet{left:-110px;bottom:-140px;width:380px;height:380px;opacity:.055}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-top:80px;padding-bottom:80px}
.hero-copy{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.hero-copy h1{max-width:600px}
.hero-copy .tm-lede{max-width:540px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-fine{font:var(--type-body-sm);color:var(--text-muted);max-width:520px;margin:0}

/* ===== recognition ===== */
.signs{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.signs p{position:relative;margin:0;padding:16px 0 16px 20px;border-top:1px solid var(--border-hairline);font:var(--type-body);color:var(--text-body)}
.signs p::before{content:"";position:absolute;left:0;top:24px;width:8px;height:8px;background:var(--navy-700)}

/* ===== about ===== */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;margin-top:40px;align-items:start}
.about-grid .lead-line{font:var(--fw-semibold) 20px/1.5 var(--font-body);color:var(--navy-700);margin:0 0 28px}

/* ===== fit ===== */
.fit{position:relative;overflow:hidden;background:var(--surface-inverse)}
.fit .tm-container{position:relative;z-index:1}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;align-items:start}
.fit-panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-card);padding:26px}
.fit-yes{border-top:var(--rule-accent-w) solid #4fa583}
.fit-no{border-top:var(--rule-accent-w) solid rgba(255,255,255,.4)}
.fit-panel ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.fit-panel li{display:flex;gap:12px;font:var(--type-body);color:rgba(255,255,255,.88)}
.fit-no li{color:rgba(255,255,255,.62)}
.fit-panel li svg{flex:0 0 auto;margin-top:4px;color:#7dc4a8}
.fit-no li svg{color:rgba(255,255,255,.5)}

/* ===== services ===== */
.svc{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;align-items:stretch}
.svc>.hcard{display:flex}
.svc .card{width:100%;padding:26px}
.svc-wide{grid-column:1 / -1}
.svc-ico{color:var(--navy-700);margin-bottom:14px}
.svc h3{margin:0 0 6px}
.svc .promise{font:var(--fw-medium) var(--fs-body)/1.5 var(--font-body);color:var(--navy-700);margin:0 0 16px}
.svc ul{list-style:none;margin:0;padding:0;display:grid;gap:10px 32px}
.svc-wide ul{grid-template-columns:1fr 1fr}
.svc li{position:relative;padding-left:18px;font:var(--type-body-sm);color:var(--text-body)}
.svc li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--slate-400)}
.svc .note{font:var(--type-body-sm);color:var(--text-muted);margin:18px 0 0;padding-top:14px;border-top:1px solid var(--border-hairline)}

/* ===== process + industries ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.step .tm-rule{width:100%;margin:0 0 18px}
.step .n{font:var(--fw-medium) var(--fs-body-sm)/1 var(--font-mono);color:var(--navy-700)}
.step h3{margin:8px 0 10px}
.step p{margin:0;color:var(--text-muted)}
.ind{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;margin-top:var(--section-y-sm);padding-top:var(--section-y-sm);border-top:1px solid var(--border-hairline);align-items:start}

/* ===== team ===== */
.team{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;align-items:start}
.team .tm-rule{width:100%;margin:20px 0 16px}
.team h3{font:var(--fw-bold) var(--fs-h3)/1.25 var(--font-display)}
.team .cred{font:var(--type-body-sm);color:var(--navy-700);margin:10px 0 0}
.team .bio{font:var(--type-body);color:var(--text-muted);margin:14px 0 0}

/* ===== faq accordion ===== */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;margin-top:var(--section-y);padding-top:var(--section-y-sm);border-top:1px solid var(--border-hairline);align-items:start}
.acc{border-top:1px solid var(--border-hairline)}
.acc-item{border-bottom:1px solid var(--border-hairline)}
.acc-btn{width:100%;display:flex;align-items:center;gap:16px;text-align:left;background:transparent;border:none;padding:18px 4px;cursor:pointer;font:var(--fw-semibold) var(--fs-body)/1.45 var(--font-display);color:var(--text-strong);transition:color var(--dur-fast) var(--ease-standard)}
.acc-btn:hover{color:var(--navy-700)}
.acc-btn svg{margin-left:auto;flex:0 0 auto;color:var(--slate-400);transition:transform var(--dur-base) var(--ease-standard)}
.acc-item[data-open="true"] .acc-btn svg{transform:rotate(180deg)}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-base) var(--ease-standard)}
.acc-item[data-open="true"] .acc-body{grid-template-rows:1fr}
.acc-body>div{overflow:hidden;min-height:0}
.acc-body p{margin:0;padding:0 4px 20px;font:var(--type-body);color:var(--text-body);max-width:680px}

/* ===== forms ===== */
.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;margin-top:40px;align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field-wide{grid-column:1 / -1}
.field label{font:var(--fw-semibold) var(--fs-body-sm)/1.3 var(--font-body);color:var(--text-strong)}
.field .req{color:var(--navy-600)}
.ctrl-wrap{position:relative;display:flex;align-items:center}
.ctrl-wrap>svg{position:absolute;left:12px;color:var(--slate-400);pointer-events:none}
.ctrl-wrap.has-ico input{padding-left:38px}
input,textarea,select{width:100%;font:var(--type-body);color:var(--text-strong);background:var(--white);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:0 12px;height:var(--control-h);transition:var(--transition-control)}
textarea{height:auto;padding:10px 12px;line-height:var(--lh-body);resize:vertical}
select{appearance:none;padding-right:36px;cursor:pointer}
.sel-wrap{position:relative;display:flex}
.sel-wrap::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid var(--slate-500);border-bottom:2px solid var(--slate-500);transform:translateY(-70%) rotate(45deg);pointer-events:none}
input:hover,textarea:hover,select:hover{border-color:var(--slate-400)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--navy-700);box-shadow:var(--ring-focus)}
::placeholder{color:var(--slate-400)}
.form-foot{grid-column:1 / -1;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.form-foot span{font:var(--type-body-sm);color:var(--text-muted)}
.alert{display:flex;gap:14px;padding:18px 20px;border:1px solid var(--slate-100);border-left:var(--rule-accent-w) solid var(--success-500);border-radius:var(--radius-md);background:var(--success-050)}
.alert h3{font:var(--fw-semibold) var(--fs-body)/1.4 var(--font-display);color:var(--success-700);margin:0 0 4px}
.alert p{margin:0;font:var(--type-body-sm);color:var(--text-body)}
.alert svg{flex:0 0 auto;color:var(--success-500);margin-top:2px}
.direct{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.direct-row{display:flex;gap:12px;align-items:flex-start}
.direct-row>svg{color:var(--navy-700);margin-top:2px;flex:0 0 auto}
.direct-row .tm-eyebrow{font-size:11px}
.direct-row a,.direct-row .val{font:var(--fw-semibold) var(--fs-body)/1.4 var(--font-body);color:var(--text-strong);border-bottom:none}
.direct-row a:hover{color:var(--navy-700)}
.cap-panel .tm-eyebrow{color:rgba(255,255,255,.6)}
.cap-panel .big{font:var(--fw-semibold) 19px/1.45 var(--font-body);color:#fff;margin:12px 0 0}
.cap-panel .small{font:var(--type-body-sm);color:rgba(255,255,255,.75);margin:12px 0 0}
.cap-panel .facet{right:-30px;bottom:-90px;width:220px;height:220px;opacity:.14}

/* ===== footer + call bar ===== */
.site-foot{position:relative;overflow:hidden;background:var(--surface-inverse-deep);color:rgba(255,255,255,.7);padding:56px 0 28px}
.site-foot .facet{right:-40px;top:-90px;width:340px;height:340px;opacity:.12}
.site-foot .tm-container{position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.14)}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col .tm-eyebrow{color:rgba(255,255,255,.45)}
.foot-col span,.foot-col a{font:var(--type-body-sm);color:rgba(255,255,255,.75);border-bottom:none}
.foot-col a:hover{color:#fff}
.site-foot img{height:54px;width:auto;align-self:flex-start}
.foot-disc{font:var(--type-body-sm);font-size:var(--fs-caption);color:rgba(255,255,255,.55);max-width:760px;margin:22px 0 0}
.foot-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;font:var(--type-body-sm);font-size:var(--fs-caption);color:rgba(255,255,255,.45)}
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--navy-700);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid rgba(255,255,255,.16)}
.callbar a,.callbar button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:var(--radius-md);font:var(--fw-semibold) var(--fs-body-sm)/1 var(--font-display);cursor:pointer}
.callbar a{border:1px solid rgba(255,255,255,.22);color:#fff;background:transparent}
.callbar a:hover{color:#fff;border-color:rgba(255,255,255,.5)}
.callbar button{border:none;background:#fff;color:var(--navy-700)}

/* ===== motion ===== */
.reveal{opacity:0;transform:translateY(14px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.reveal.is-in{opacity:1;transform:none}
.draw{transform:scaleX(0);transition:transform var(--dur-slow) var(--ease-out)}
.draw.is-in{transform:none}
.draw-y{transform:scaleY(0);transition:transform var(--dur-slow) var(--ease-out)}
.draw-y.is-in{transform:none}
.facet i{opacity:0;transform:translateY(26px);transition:opacity 620ms var(--ease-out),transform 620ms var(--ease-out)}
.facet.is-in i{opacity:1;transform:none}
.facet.is-in i:nth-child(2){transition-delay:110ms}
.facet.is-in i:nth-child(3){transition-delay:220ms}

/* ===== responsive ===== */
@media(max-width:1000px){
  :root{--section-y:64px;--section-y-sm:48px}
  .hero-grid{grid-template-columns:1fr;gap:36px;padding-top:56px;padding-bottom:56px}
  .about-grid,.fit-grid,.svc,.steps,.team,.ind,.faq-grid,.contact-grid,.foot-grid{grid-template-columns:1fr;gap:28px}
  .svc-wide{grid-column:auto}
  .svc-wide ul{grid-template-columns:1fr}
  .signs{grid-template-columns:1fr;gap:0}
  .photo-hero{height:340px}
  .ind,.faq-grid{margin-top:48px;padding-top:40px}
  .foot-grid{gap:32px}
}
@media(max-width:760px){
  .head-nav,.head-cta{display:none}
  .burger{display:flex}
  .mobile-menu{display:block}
  .callbar{display:flex}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .mobile-menu[data-open="true"]{max-height:min(80vh,calc(100dvh - var(--topbar-h)));overflow-y:auto}
  .form{grid-template-columns:1fr}
  .tm-quote{gap:18px;margin-top:32px}
  .tm-quote p{font-size:19px}
  .about-grid .lead-line{font-size:18px}
  .card{padding:20px}
  .card-foot{margin:20px -20px -20px;padding:14px 20px}
  .fit-panel,.svc .card,.facet-panel{padding:20px}
  .photo-hero{height:260px}
  .photo-team{height:300px}
  .photo span{font-size:12px}
  .hero .facet,.site-foot .facet{width:260px;height:260px}
  input,select{height:44px}
  input,textarea,select{font-size:16px}
  .mobile-menu a{padding:16px 0}
  .acc-btn{padding:16px 4px}
}
@media(max-width:420px){
  .hero-actions .btn{width:100%}
  .foot-legal{flex-direction:column;gap:6px}
}
@media(hover:none){
  input,select{height:44px}
  input,textarea,select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.draw,.draw-y,.facet i{opacity:1;transform:none;transition:none}
  *{transition-duration:1ms!important;animation:none!important}
}
@media print{
  .site-head,.callbar,.mobile-menu{display:none!important}
  .reveal,.draw,.draw-y,.facet i{opacity:1;transform:none}
  body{background:#fff}
}
