/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#0f2a3f;--navy-deep:#071c31;--ink:#08213c;--blue:#2c6ac6;--blue-dark:#1d4f96;--cyan:#72a7d7;--pale:#e9f1fa;--mist:#f4f7fb;--line:#b5cbe4;--muted:#53687d;--gold:#cf921d;--warm-gold:#e4ae62;--brass:#d2a252;--brass-dark:#95610c;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:56px}body{background:var(--white);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}.skip-link{z-index:100;background:var(--white);color:var(--navy-deep);padding:12px 16px;font-size:.82rem;font-weight:700;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:min(100% - 64px,1500px);margin-inline:auto}.site-header{z-index:40;background:var(--navy-deep);height:58px;color:var(--white);border-bottom:1px solid #75aee16b;position:sticky;top:0}.header-inner{grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:30px;height:100%;display:grid;position:relative}.brand{align-items:center;width:270px;display:inline-flex}.brand-lockup{width:100%;color:var(--navy-deep);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:15px;display:grid}.brand-lockup-symbol{width:100%;height:auto;color:var(--blue)}.brand-lockup-type{gap:3px;width:max-content;min-width:0;max-width:100%;display:grid}.brand-lockup-name{color:inherit;font-family:var(--font-bodoni), Didot, "Bodoni MT", Georgia, serif;letter-spacing:.012em;text-transform:uppercase;white-space:nowrap;font-size:1.18rem;font-weight:650;line-height:.95}.brand-lockup-name b{color:var(--blue-dark);font-weight:650}.brand-lockup-accounting{width:100%;color:inherit;letter-spacing:0;text-transform:uppercase;justify-content:space-between;font-size:.52rem;font-weight:620;line-height:1;display:flex}.brand-lockup-reverse,.brand-lockup-reverse .brand-lockup-symbol{color:var(--white)}.brand-lockup-reverse .brand-lockup-name b{color:var(--blue)}.desktop-nav{align-items:center;gap:clamp(28px,3vw,52px);font-size:.95rem;font-weight:560;display:flex}.mobile-menu{display:none;position:relative}.mobile-menu summary{min-height:42px;color:var(--white);cursor:pointer;border:1px solid #ffffff61;align-items:center;padding:0 14px;font-size:.76rem;font-weight:650;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{background:var(--navy-deep);border:1px solid #ffffff3d;width:270px;padding:12px;display:grid;position:absolute;top:calc(100% + 18px);right:0;box-shadow:0 16px 32px #071c312e}.mobile-menu nav a{border-bottom:1px solid #ffffff1f;padding:14px 12px;font-size:.86rem}.mobile-menu nav a:last-child{border-bottom:0}.desktop-nav a{padding-block:14px;position:relative}.desktop-nav a:after{content:"";background:var(--cyan);height:2px;transition:right .18s;position:absolute;bottom:7px;left:0;right:100%}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.header-cta{border-bottom:1px solid #75aee1c7;justify-self:end;align-items:center;gap:14px;padding:9px 0 7px;font-size:.9rem;font-weight:620;display:inline-flex}.header-cta>span:last-child,.button span{transition:transform .18s}.header-cta:hover>span:last-child,.header-cta:focus-visible>span:last-child,.button:hover span,.button:focus-visible span{transform:translate(2px,-2px)}.header-cta-short{display:none}.hero{background:var(--white);overflow:hidden}.hero-grid{border-left:1px solid #2c6ac640;border-right:1px solid #2c6ac640;grid-template-columns:minmax(0,1.03fr) minmax(520px,.97fr);min-height:calc(100svh - 58px);display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:140px clamp(44px,5vw,92px) 88px 30px;display:flex}.hero h1{max-width:760px;color:var(--ink);letter-spacing:-.075em;margin:0;font-size:var(--fs-display);font-weight:730;line-height:.88}.hero-move-word{color:var(--blue);font-style:normal}.hero-intro{color:#334d66;letter-spacing:-.018em;max-width:680px;margin:38px 0 0;font-size:var(--fs-lead);line-height:1.48}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.button{border:1px solid var(--blue);justify-content:center;align-items:center;gap:32px;min-height:58px;padding:16px 22px;font-size:.98rem;font-weight:650;transition:background .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button-primary{background:var(--blue);min-width:200px;color:var(--white)}.button-primary:hover,.button-primary:focus-visible{background:var(--blue-dark);border-color:var(--blue-dark)}.button-secondary{background:var(--white);min-width:200px;color:var(--blue-dark)}.button-secondary:hover,.button-secondary:focus-visible{background:var(--pale)}.hero-visual{isolation:isolate;background:var(--navy-deep);border-left:1px solid #2c6ac673;min-width:0;position:relative;overflow:hidden}.hero-photo{background:var(--navy-deep);margin:0;position:absolute;inset:0;overflow:hidden}.hero-photo:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#071c3108 0%,#071c311a 52%,#071c3194 100%),linear-gradient(90deg,#071c3124,#0000 46%);position:absolute;inset:0}.hero-photo>img{object-fit:cover;object-position:58% 50%;width:100%;height:100%}.trust-strip{background:var(--navy-deep);color:var(--white)}.trust-grid{border-left:1px solid #ffffff24;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.trust-item{border-right:1px solid #ffffff24;min-height:156px;padding:32px 30px}.trust-item h2{color:var(--white);letter-spacing:-.02em;margin:0;font-size:.96rem;font-weight:640}.trust-item p{color:#aebfce;margin:10px 0 0;font-size:.8rem;line-height:1.5}.section{padding:clamp(84px,8vw,120px) 0}.section-heading{max-width:970px;margin-bottom:clamp(44px,4.6vw,66px)}.section-heading-split{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:end;gap:clamp(64px,10vw,170px);max-width:none;display:grid}.section-heading h2,.about-copy h2,.contact-section h2{color:var(--ink);letter-spacing:-.065em;margin:0;font-size:var(--fs-title);font-weight:710;line-height:.94}.section-heading>p:last-child,.heading-aside,.about-copy>p,.contact-section>.shell>div:first-child>p:last-child{color:var(--muted);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.7}.section-heading>p:last-child{max-width:760px;margin:30px 0 0}.heading-aside p{margin:0}.heading-aside p+p{margin-top:18px}.service-system{background:var(--white);position:relative;overflow:hidden}.service-system .section-heading{margin-bottom:clamp(36px,3vw,48px)}.service-system .section-heading>p:last-child{margin-top:22px}.service-system:before{content:"";background:#2c6ac61a;width:1px;position:absolute;top:0;bottom:0;left:calc(50% - 1px)}.service-node{border:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:28px;min-height:86px;padding:22px 28px;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:flex;position:relative}.service-node:hover,.service-node:focus-visible{z-index:2;border-color:var(--blue);background:var(--pale);transform:translateY(-3px);box-shadow:0 16px 34px #071c311c}.service-node strong{color:var(--ink);letter-spacing:-.035em;font-size:clamp(1.05rem,1.5vw,1.42rem);font-weight:680;line-height:1.08}.service-node-label{color:var(--blue-dark);letter-spacing:.13em;text-transform:uppercase;flex:none;font-size:.65rem;font-weight:760}.service-node-setup{border-style:dashed;border-color:var(--blue-dark)}@supports (color:color-mix(in lab, red, red)){.service-node-setup{border-color:color-mix(in srgb, var(--blue-dark) 48%, var(--line))}}.service-node-setup{background:var(--mist)}.service-node-core{border-color:var(--blue-dark);background:var(--blue-dark);box-shadow:0 18px 40px #1d4f9633}.service-node-core strong,.service-node-core .service-node-label{color:var(--white)}.service-node-core:hover,.service-node-core:focus-visible{border-color:var(--blue);background:var(--blue)}.service-connector{height:38px;display:block;position:relative}.service-connector:before{content:"";background:var(--blue-dark);width:2px;position:absolute;top:0;bottom:8px;left:calc(50% - 1px)}.service-connector:after{content:"";border-right:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);width:8px;height:8px;position:absolute;bottom:3px;left:calc(50% - 5px);transform:rotate(45deg)}.service-branch{height:50px;display:block;position:relative}.service-branch:before{content:"";background:var(--blue-dark);width:2px;height:26px;position:absolute;top:0;left:calc(50% - 1px)}.service-branch:after{content:"";background:var(--blue-dark);height:2px;position:absolute;top:25px;left:calc(16.666% - 1px);right:calc(16.666% - 1px)}.service-outcomes{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.service-outcomes .service-node{text-align:center;justify-content:center;min-height:112px;padding:24px}.service-outcomes .service-node:before{content:"";background:var(--blue-dark);width:2px;height:25px;position:absolute;top:-25px;left:calc(50% - 1px)}.service-outcomes .service-node:after{content:"";border-right:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);width:8px;height:8px;position:absolute;top:-8px;left:calc(50% - 5px);transform:rotate(45deg)}.service-flow{--entry-boundary:27.302%;--foundation-boundary:60.635%;isolation:isolate;border:1px solid var(--line);background:var(--white);grid-template-columns:.86fr 1.05fr 1.24fr;min-height:530px;display:grid;position:relative}.flow-card,.flow-outcomes a{flex-direction:column;justify-content:flex-end;padding:clamp(32px,4vw,62px);display:flex;position:relative}.flow-card{z-index:1;border-right:1px solid var(--line)}.flow-card>span{letter-spacing:.13em;text-transform:uppercase;margin-bottom:22px;font-size:.68rem;font-weight:760}.flow-card h3,.flow-outcomes h3{letter-spacing:-.06em;margin:0;font-size:clamp(1.8rem,2.8vw,3.45rem);font-weight:680;line-height:.98}.flow-card p{max-width:340px;margin:24px 0 0;font-size:.92rem;line-height:1.58}.flow-setup{background:linear-gradient(135deg, transparent 74%, #2c6ac617 74%), var(--mist);color:var(--ink)}.flow-setup>span{color:var(--blue-dark)}.flow-setup p{color:var(--muted)}.flow-foundation{background:var(--blue-dark);color:var(--white);overflow:hidden}.flow-foundation:before,.flow-foundation:after{content:"";border:1px solid #ffffff59;border-radius:50%;position:absolute}.flow-foundation:before{width:250px;height:250px;top:-90px;right:-90px}.flow-foundation:after{width:160px;height:160px;top:-44px;right:-44px}.flow-foundation>*{z-index:1;position:relative}.flow-foundation>span{color:var(--white)}.flow-foundation p{color:#eef4ff}.foundation-lines{gap:6px;margin-top:32px;display:flex}.foundation-lines i{background:var(--white);height:4px;display:block}.foundation-lines i:first-child{opacity:.4;width:24px}.foundation-lines i:nth-child(2){opacity:.68;width:56px}.foundation-lines i:nth-child(3){width:96px}.flow-connector{z-index:6;pointer-events:none;display:block;position:absolute}.flow-connector-entry{top:calc(50% - 18px);left:calc(var(--entry-boundary) - 18px);border:1px solid var(--blue-dark);width:36px;height:36px}@supports (color:color-mix(in lab, red, red)){.flow-connector-entry{border:1px solid color-mix(in srgb, var(--blue-dark) 45%, var(--line))}}.flow-connector-entry{background:#fffffff0;border-radius:50%;box-shadow:0 8px 20px #071c3124}.flow-connector-entry:before{content:"";background:var(--blue-dark);width:17px;height:2px;position:absolute;top:16px;left:8px}.flow-connector-entry:after{content:"";border-right:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);width:8px;height:8px;position:absolute;top:12px;right:8px;transform:rotate(-45deg)}.flow-connector-branch{top:calc(50% - 1px);left:var(--foundation-boundary);background:var(--blue-dark);width:16px;height:2px}.flow-connector-branch:after{content:"";border-right:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);width:8px;height:8px;position:absolute;top:-4px;right:0;transform:rotate(-45deg)}.flow-outcomes{grid-template-rows:repeat(3,1fr);display:grid;position:relative}.flow-outcomes:before{content:"";z-index:4;background:var(--blue-dark);width:2px;position:absolute;top:calc(16.667% - 1px);bottom:calc(16.667% - 1px);left:14px}.flow-outcomes a{z-index:1;border-bottom:1px solid var(--line);background:var(--white);justify-content:center;min-height:0;padding:30px clamp(58px,4.8vw,78px);transition:background .18s,padding-left .18s}.flow-outcomes a:before{content:"";z-index:4;background:var(--blue-dark);width:22px;height:2px;position:absolute;top:calc(50% - 1px);left:14px}.flow-outcomes a:after{content:"";z-index:4;border-right:2px solid var(--blue-dark);border-bottom:2px solid var(--blue-dark);width:8px;height:8px;position:absolute;top:calc(50% - 5px);left:28px;transform:rotate(-45deg)}.flow-outcomes a:last-child{border-bottom:0}.flow-outcomes a:hover,.flow-outcomes a:focus-visible{background:var(--pale);padding-left:clamp(68px,5.4vw,88px)}.flow-outcomes h3{z-index:5;letter-spacing:-.045em;font-size:clamp(1.25rem,1.8vw,2rem);position:relative}.service-system:before{display:none}.service-overview{gap:clamp(18px,1.8vw,26px);display:grid}.service-foundation-row{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:18px;display:grid}.service-outcome-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.service-overview-card{border:1px solid var(--line);background:var(--white);min-height:360px;color:var(--ink);flex-direction:column;padding:clamp(26px,2.4vw,36px);transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.service-overview-card-setup{background:linear-gradient(135deg, transparent 76%, #2c6ac614 76%), var(--mist)}.service-overview-card:hover,.service-overview-card:focus-within{z-index:2;border-color:var(--blue);transform:translateY(-5px);box-shadow:0 24px 58px #071c311f}.service-overview-card-foundation{border-color:var(--blue-dark);background:var(--blue-dark);color:var(--white)}.service-overview-card-foundation:before,.service-overview-card-foundation:after{content:"";pointer-events:none;border:1px solid #ffffff3d;border-radius:50%;position:absolute}.service-overview-card-foundation:before{width:260px;height:260px;top:-112px;right:-82px}.service-overview-card-foundation:after{width:150px;height:150px;top:-58px;right:-28px}.service-overview-card>*{z-index:1;position:relative}.service-card-label{color:var(--blue-dark);letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-label);font-weight:760}.service-overview-card-foundation .service-card-label{color:#b9d8ff}.service-overview-card h3{max-width:520px;color:inherit;letter-spacing:-.06em;margin:16px 0 0;font-size:clamp(2rem,3vw,3.6rem);font-weight:680;line-height:.98}.service-outcome-grid .service-overview-card h3{font-size:clamp(1.8rem,2.45vw,3rem)}.service-card-body{min-height:160px;margin-top:18px;display:grid;position:relative}.service-card-summary,.service-card-details{grid-area:1/1;margin:0;transition:opacity .18s,transform .22s}.service-card-summary{max-width:480px;color:var(--muted);font-size:1rem;line-height:1.62}.service-overview-card-foundation .service-card-summary{color:#eaf2fb}.service-card-details{opacity:0;align-content:start;gap:12px;display:grid;transform:translateY(14px)}.service-card-details p{gap:5px;margin:0;display:grid}.service-card-details strong{color:var(--blue-dark);letter-spacing:.11em;text-transform:uppercase;font-size:.67rem;font-weight:760}.service-card-details span{color:var(--muted);font-size:.82rem;line-height:1.45}.service-overview-card-foundation .service-card-details strong{color:var(--cyan)}.service-overview-card-foundation .service-card-details span{color:#d6e1ec}@media (hover:hover) and (pointer:fine){.service-overview-card:hover .service-card-summary,.service-overview-card:focus-within .service-card-summary{opacity:0;transform:translateY(-10px)}.service-overview-card:hover .service-card-details,.service-overview-card:focus-within .service-card-details{opacity:1;transform:translateY(0)}}.service-card-link{border-top:1px solid var(--line);color:var(--blue-dark);justify-content:space-between;align-items:center;gap:22px;margin-top:auto;padding-top:14px;font-size:.78rem;font-weight:700;display:inline-flex}.service-card-link span{font-size:1rem;transition:transform .18s}.service-card-link:hover span,.service-card-link:focus-visible span{transform:translate(2px,-2px)}.service-overview-card-foundation .service-card-link{color:var(--white);border-color:#ffffff38}.service-system-bridge{color:var(--blue-dark);letter-spacing:.025em;text-align:center;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);align-items:center;gap:clamp(18px,3vw,38px);margin:0;font-size:clamp(.8rem,1vw,.92rem);font-weight:680;display:grid}.service-system-bridge:before,.service-system-bridge:after{content:"";background:var(--blue-dark);height:1px}@supports (color:color-mix(in lab, red, red)){.service-system-bridge:before,.service-system-bridge:after{background:color-mix(in srgb, var(--blue-dark) 42%, var(--line))}}.tiers-section{background:var(--mist)}.tier-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tier-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);flex-direction:column;min-height:750px;padding:clamp(34px,4vw,58px);transition:transform .22s,box-shadow .22s;display:flex;position:relative}.tier-card:hover{z-index:2;transform:translateY(-8px);box-shadow:0 28px 70px #071c311f}.tier-2{background:var(--pale)}.tier-3{background:var(--navy-deep);color:var(--white)}.tier-topline{border-bottom:1px solid var(--line);color:var(--blue-dark);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:24px;padding-bottom:24px;font-size:var(--fs-label);display:flex}.tier-3 .tier-topline{color:var(--cyan);border-color:#fff3}.tier-card h3{color:var(--ink);letter-spacing:-.065em;margin:0;font-size:var(--fs-heading);font-weight:700;line-height:.95}.tier-3 h3{color:var(--white)}.tier-price{color:var(--ink);letter-spacing:-.05em;margin:28px 0 0;font-size:clamp(1.28rem,1.92vw,1.984rem);font-weight:620}.tier-price span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:.68rem;font-weight:720;display:block}.tier-price small{color:var(--muted);letter-spacing:0;font-size:.82rem;font-weight:500}.tier-3 .tier-price{color:var(--white)}.tier-3 .tier-price span,.tier-3 .tier-price small{color:#aebfce}.tier-description{border-bottom:1px solid var(--line);min-height:110px;color:var(--muted);margin:26px 0 0;padding-bottom:30px;font-size:var(--fs-body-sm);line-height:1.65}.tier-3 .tier-description{color:#b9c8d5;border-color:#fff3}.tier-card ul{gap:15px;margin:30px 0 0;padding:0;list-style:none;display:grid}.tier-card li{color:#304a62;padding-left:16px;font-size:var(--fs-body-sm);line-height:1.45;position:relative}.tier-card li:before{content:"";background:var(--blue);width:8px;height:2px;position:absolute;top:.58em;left:0}.tier-3 li{color:#d5dfe7}.tier-3 li:before{background:var(--cyan)}.pricing-note{border-left:3px solid var(--blue);max-width:1030px;color:var(--muted);margin:36px 0 0 auto;padding-left:28px;font-size:var(--fs-fine);line-height:1.65}.service-areas{background:var(--mist);color:var(--ink)}.section-heading-dark h2{color:var(--ink)}.section-heading-dark>p:last-child{color:var(--muted)}.service-chapter-list{gap:18px;display:grid}.service-chapter{--chapter-accent:var(--blue);--chapter-bg:var(--white);--chapter-ink:var(--ink);--chapter-muted:var(--muted);--chapter-rule:#0f2a3f24;--chapter-scope-bg:var(--chapter-bg)}@supports (color:color-mix(in lab, red, red)){.service-chapter{--chapter-scope-bg:color-mix(in srgb, var(--chapter-bg) 91%, var(--chapter-ink))}}.service-chapter{border:1px solid var(--chapter-rule);background:var(--chapter-bg);color:var(--chapter-ink);grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);scroll-margin-top:108px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 50px #071c310f}.service-chapter:before{content:"";background:var(--chapter-accent);width:6px;position:absolute;top:0;bottom:0;left:0}.service-chapter-intro,.service-chapter-scope{padding:clamp(28px,3.4vw,50px) clamp(38px,5vw,76px)}.service-chapter-intro{border-right:1px solid var(--chapter-rule);flex-direction:column;justify-content:space-between;min-height:300px;display:flex}.service-chapter-number{color:var(--chapter-accent);font-family:var(--font-bodoni), Didot, "Bodoni MT", Georgia, serif;letter-spacing:-.075em;font-size:var(--fs-numeral);font-weight:500;line-height:.78}.service-chapter-intro h3{max-width:520px;color:var(--chapter-ink);letter-spacing:-.055em;margin:auto 0 0;font-size:var(--fs-heading);font-weight:650;line-height:.98}.service-chapter-intro p{max-width:440px;color:var(--chapter-muted);margin:24px 0 0;font-size:var(--fs-body-sm);line-height:1.6}.service-chapter-scope{background:var(--chapter-scope-bg);flex-direction:column;justify-content:center;display:flex}.service-chapter-scope ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px clamp(28px,4vw,62px);margin:0;padding:0;list-style:none;display:grid}.service-chapter-scope li{color:var(--chapter-muted);padding-left:23px;font-size:.88rem;line-height:1.55;position:relative}.service-chapter-scope li:before{content:"";background:var(--chapter-accent);width:9px;height:2px;position:absolute;top:.67em;left:0}.service-chapter-note{border-left:2px solid var(--chapter-accent);background:var(--chapter-ink);margin:32px 0 0;padding:20px 22px}@supports (color:color-mix(in lab, red, red)){.service-chapter-note{background:color-mix(in srgb, var(--chapter-ink) 7%, transparent)}}.service-chapter-note{color:var(--chapter-muted);font-size:var(--fs-fine);line-height:1.65}.service-chapter-tax-compliance{--chapter-accent:#b9d8ff;--chapter-bg:var(--blue);--chapter-ink:var(--white);--chapter-muted:#edf4fd;--chapter-rule:#ffffff3d;--chapter-scope-bg:var(--blue-dark)}.service-chapter-reporting-insight{--chapter-accent:var(--blue-dark);--chapter-bg:var(--pale);--chapter-ink:var(--navy-deep);--chapter-muted:#405b76;--chapter-rule:#1d4f9633}.service-chapter-controller-advisory{--chapter-accent:var(--warm-gold);--chapter-bg:var(--navy-deep);--chapter-ink:var(--white);--chapter-muted:#d2dde5;--chapter-rule:#fff3}.service-chapter-setup-cleanup{--chapter-accent:var(--brass-dark);--chapter-bg:#fbf7f0;--chapter-ink:var(--navy-deep);--chapter-muted:#5f6570;--chapter-rule:#95610c2e}.service-boundary{border-left:6px solid var(--blue);background:var(--navy-deep);grid-template-columns:.58fr minmax(280px,.82fr) minmax(420px,1.6fr);align-items:center;gap:clamp(32px,5vw,80px);margin-top:18px;padding:clamp(38px,5vw,70px);display:grid;box-shadow:0 18px 50px #071c311a}.service-boundary h3{color:var(--white);letter-spacing:-.05em;margin:0;font-size:var(--fs-subheading);font-weight:640;line-height:1}.service-boundary>p:last-child{color:#d2dde5;margin:0;font-size:.84rem;line-height:1.7}.approach-section{background:var(--white);position:relative;overflow:hidden}.approach-section:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 calc(50% - 1px),#2c6ac614 50%,#0000 calc(50% + 1px));position:absolute;inset:0}.process-journey .shell{z-index:1;position:relative}.process-journey-heading{margin-bottom:clamp(40px,3.5vw,50px)}.process-journey-list{gap:clamp(24px,2vw,30px);margin:0;padding:0;list-style:none;display:grid;position:relative}.process-journey-list:before{content:"";background:linear-gradient(180deg, var(--blue-dark), var(--blue) 58%, var(--cyan));width:2px;position:absolute;top:9%;bottom:9%;left:calc(50% - 1px);box-shadow:0 0 0 7px #2c6ac60f}.process-journey-step{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);align-items:center;min-height:196px;display:grid;position:relative}.process-journey-step article{border:1px solid var(--line);background:#fffffff5;flex-direction:column;justify-content:center;min-height:196px;padding:clamp(22px,1.75vw,28px);transition:transform .22s,border-color .22s,box-shadow .22s;display:flex;position:relative;box-shadow:0 20px 52px #071c3112}.process-journey-step article:after{content:"";background:var(--blue-dark);width:48px;height:2px;position:absolute;top:calc(50% - 1px)}.process-journey-step:nth-child(odd) article{grid-area:1/1}.process-journey-step:nth-child(odd) article:after{right:-49px}.process-journey-step:nth-child(2n) article{grid-area:1/3}.process-journey-step:nth-child(2n) article:after{left:-49px}.process-journey-step-2 article{background:var(--mist)}@supports (color:color-mix(in lab, red, red)){.process-journey-step-2 article{background:color-mix(in srgb, var(--mist) 80%, var(--white))}}.process-journey-step-3 article{background:var(--pale)}@supports (color:color-mix(in lab, red, red)){.process-journey-step-3 article{background:color-mix(in srgb, var(--pale) 76%, var(--white))}}.process-journey-step article:hover{border-color:var(--blue);transform:translateY(-5px);box-shadow:0 28px 64px #071c311c}.process-journey-number{z-index:2;border:8px solid var(--white);background:var(--blue);width:58px;height:58px;color:var(--white);box-shadow:0 0 0 1px var(--blue), 0 12px 28px #1d4f9633;font-family:var(--font-geist-mono), monospace;border-radius:50%;grid-area:1/2;place-self:center;place-items:center;font-size:.68rem;display:grid}.process-journey-step h3{max-width:500px;color:var(--ink);letter-spacing:-.055em;margin:0 0 14px;font-size:var(--fs-subheading);font-weight:650;line-height:1}.process-journey-step article>p:last-child{color:var(--muted);margin:0;font-size:.9rem;line-height:1.68}.coastal-interlude{background:var(--mist);padding:0 0 clamp(84px,8vw,120px)}.coastal-interlude-frame{border:1px solid var(--line);background:var(--navy-deep);margin-block:0;position:relative;overflow:hidden}.coastal-interlude-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#071c31cc);position:absolute;inset:0}.coastal-interlude-frame img{aspect-ratio:2.16;object-fit:cover;width:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.coastal-interlude-frame:hover img{transform:scale(1.012)}.coastal-interlude-frame figcaption{z-index:1;color:var(--white);letter-spacing:.04em;font-size:.68rem;position:absolute;bottom:24px;left:26px;right:26px}.about-section{background:var(--pale)}.about-grid{grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(70px,10vw,170px);display:grid}.portrait-frame{position:relative}.portrait-frame:before{content:"";aspect-ratio:1;background:var(--blue);width:44%;position:absolute;top:-22px;right:-22px}.portrait-frame img{z-index:1;aspect-ratio:.87;object-fit:cover;object-position:center top;border:1px solid var(--line);width:100%;position:relative}.portrait-caption{z-index:2;background:var(--navy-deep);color:var(--white);border:1px solid #ffffff3d;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex;position:absolute;bottom:clamp(16px,2vw,24px);left:clamp(16px,2vw,24px);right:clamp(16px,2vw,24px)}.portrait-caption span{color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-weight:720}.portrait-caption strong{font-size:.9rem;font-weight:620}.about-copy h2{max-width:850px}.about-copy>p{max-width:820px;margin:22px 0 0;font-size:1rem}.about-copy .about-lead{color:var(--ink);margin-top:38px;font-size:clamp(1.08rem,1.45vw,1.32rem);line-height:1.65}.experience-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:46px;display:grid}.experience-grid div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff8c;flex-direction:column;justify-content:space-between;min-height:142px;padding:22px;display:flex}.experience-grid strong{color:var(--blue-dark);letter-spacing:-.06em;font-size:clamp(1.08rem,1.72vw,1.88rem);font-weight:650;line-height:1.05}.experience-grid span{color:var(--muted);font-size:.68rem;line-height:1.45}.about-page-link{border-bottom:1px solid var(--blue-dark);width:fit-content;color:var(--blue-dark);align-items:center;gap:28px;margin-top:34px;padding:14px 0 10px;font-size:.9rem;font-weight:700;display:inline-flex}.about-page-link span{transition:transform .18s}.about-page-link:hover span,.about-page-link:focus-visible span{transform:translate(3px,-3px)}.about-page-hero{background:linear-gradient(90deg, transparent calc(50% - 1px), #2c6ac61a 50%, transparent calc(50% + 1px)), var(--white);overflow:hidden}.about-page-hero-grid{border-left:1px solid #2c6ac640;border-right:1px solid #2c6ac640;grid-template-columns:minmax(0,1.04fr) minmax(470px,.96fr);min-height:730px;display:grid}.about-page-hero-copy{flex-direction:column;justify-content:center;padding:140px clamp(50px,7vw,112px) 88px 30px;display:flex}.about-page-hero-copy h1{max-width:820px;color:var(--ink);letter-spacing:-.075em;margin:0;font-size:var(--fs-title);font-weight:720;line-height:.9}.about-page-hero-copy>p{max-width:720px;color:var(--muted);margin:18px 0 0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.68}.about-page-hero-copy .about-page-intro{color:var(--ink);margin-top:38px;font-size:clamp(1.12rem,1.5vw,1.38rem);line-height:1.6}.about-page-portrait{background:var(--navy-deep);border-left:1px solid #2c6ac661;min-height:730px;margin:0;position:relative;overflow:hidden}.about-page-portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000 58%,#071c31ad);position:absolute;inset:0}.about-page-portrait img{object-fit:cover;object-position:center top;width:100%;height:100%;min-height:730px}.about-page-portrait figcaption{z-index:1;color:var(--white);justify-content:space-between;align-items:end;gap:24px;display:flex;position:absolute;bottom:clamp(26px,4vw,54px);left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px)}.about-page-portrait figcaption span{color:#e6eff8;letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:730}.about-page-portrait figcaption strong{font-size:clamp(1rem,1.4vw,1.35rem);font-weight:620}.about-origin{background:var(--white)}.about-origin-grid{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(70px,11vw,180px);display:grid}.about-origin h2,.about-personal h2,.about-why h2{color:var(--ink);letter-spacing:-.065em;margin:0;font-size:var(--fs-title);font-weight:700;line-height:.95}.about-origin-copy>p{color:var(--muted);margin:0;font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.75}.about-origin-copy>p+p{margin-top:26px}.about-experience{background:var(--mist);position:relative;overflow:hidden}.about-experience:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 calc(50% - 1px),#2c6ac614 50%,#0000 calc(50% + 1px));position:absolute;inset:0}.about-experience .shell{position:relative}.experience-ledger{display:grid;gap:18px}.experience-ledger article{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--white);box-shadow:0 18px 50px #071c310f;grid-template-columns:minmax(200px,.72fr) minmax(0,1.5fr);align-items:center;gap:clamp(30px,4.5vw,72px);min-height:0;padding:clamp(24px,2.6vw,38px) clamp(28px,3vw,44px) clamp(24px,2.6vw,38px) clamp(38px,4vw,58px);display:grid}.experience-ledger article:nth-child(2n){background:var(--white)}.experience-ledger article>span{color:var(--blue-dark);font-family:var(--font-geist-sans),sans-serif;font-weight:760;letter-spacing:.12em;align-self:start;font-size:.7rem}.experience-ledger h3{color:var(--ink);letter-spacing:-.055em;margin:0;font-size:var(--fs-heading);font-weight:650;line-height:.98}.experience-ledger p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.75}.about-why{background:var(--navy-deep);color:var(--white)}.about-why-grid{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);align-items:start;gap:clamp(70px,10vw,160px);display:grid}.about-why h2{color:var(--white)}.about-why-intro{position:sticky;top:126px}.about-why-copy>p{color:#b9c9d7;max-width:830px;margin:0;font-size:1rem;line-height:1.75}.about-why-copy>p+p{margin-top:28px}.about-why-copy .about-why-lead{color:var(--white);letter-spacing:-.035em;font-size:clamp(1.35rem,2vw,2.05rem);font-weight:560;line-height:1.45}.about-why-link{border-bottom:1px solid #ffffff8c;width:fit-content;color:var(--white);align-items:center;gap:28px;margin-top:44px;padding:14px 0 10px;font-size:.9rem;font-weight:700;display:inline-flex;transition:padding-left .18s,padding-right .18s,background .18s}
.about-why-link:hover,.about-why-link:focus-visible{background:#ffffff14;padding-left:14px;padding-right:14px}.about-personal{background:var(--pale)}.about-personal-grid{grid-template-columns:minmax(380px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(70px,10vw,160px);display:grid}.about-personal-photo{border:1px solid var(--line);background:var(--navy-deep);min-height:650px;margin:0;position:relative;overflow:hidden}.about-personal-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 63%,#071c3194);position:absolute;inset:0}.about-personal-photo img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:650px}.about-personal-photo figcaption{z-index:1;color:var(--white);letter-spacing:.04em;font-size:.68rem;position:absolute;bottom:24px;left:26px;right:26px}.about-personal-copy>p{max-width:790px;color:var(--muted);margin:26px 0 0;font-size:1rem;line-height:1.72}.credential-panel{border:1px solid var(--line);background:#ffffffb3;margin-top:44px;padding:clamp(30px,4vw,46px)}.credential-heading{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:650}.credential-panel ul{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.credential-panel li{color:var(--ink);padding-left:24px;font-size:.88rem;line-height:1.55;position:relative}.credential-panel li:before{content:"✓";color:var(--blue);font-weight:760;position:absolute;left:0}.credential-links{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px 28px;margin-top:30px;padding-top:24px;display:flex}.credential-links a{color:var(--blue-dark);font-size:.78rem;font-weight:700}.contact-section{background:var(--blue-dark);color:var(--white);padding:clamp(84px,8vw,120px) 0}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.72fr);align-items:end;gap:clamp(70px,11vw,180px);display:grid}.contact-section h2{max-width:850px;color:var(--white)}.contact-section>.shell>div:first-child>p:last-child{color:#eef4ff;max-width:780px;margin:30px 0 0}.contact-actions{border-top:1px solid #ffffff6b}.contact-actions a{border-bottom:1px solid #ffffff6b;flex-direction:column;justify-content:center;min-height:122px;padding:24px 64px 24px 0;transition:padding-left .18s,background .18s;display:flex;position:relative}.contact-actions a:hover,.contact-actions a:focus-visible{background:#ffffff14;padding-left:18px}.contact-actions span{color:var(--white);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.65rem;font-weight:720}.contact-actions strong{color:var(--white);letter-spacing:-.035em;font-size:clamp(1.15rem,1.8vw,1.75rem);font-weight:590}.contact-actions i{color:var(--white);font-size:1.8rem;font-style:normal;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.site-footer{background:var(--navy-deep);color:var(--white);padding:70px 0 34px}.footer-top{border-bottom:1px solid #ffffff2e;grid-template-columns:minmax(240px,1fr) minmax(280px,.75fr) auto;align-items:center;gap:60px;padding-bottom:56px;display:grid}.footer-brand{width:320px}.footer-top>p{color:#b7c7d5;margin:0;font-size:.84rem}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:18px 30px;font-size:var(--fs-fine);display:flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--cyan)}.footer-bottom{grid-template-columns:.8fr 1.35fr 1fr;gap:50px;padding-top:32px;display:grid}.footer-bottom p{color:#8fa4b7;margin:0;font-size:var(--fs-fine);line-height:1.6}a:focus-visible,summary:focus-visible{outline:3px solid var(--white);outline-offset:3px;box-shadow:0 0 0 6px var(--navy-deep)}@media (width<=1180px){.about-page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.82fr)}.experience-ledger article{grid-template-columns:minmax(190px,.7fr) minmax(0,1.55fr)}.about-why-grid{grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr)}.header-inner{grid-template-columns:1fr auto auto;gap:20px}.desktop-nav{display:none}.mobile-menu{display:block}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(460px,.9fr)}.hero h1{font-size:var(--fs-display)}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-item:nth-child(-n+2){border-bottom:1px solid #ffffff24}.section-heading-split{gap:70px}.service-flow{--entry-boundary:26.621%;--foundation-boundary:60.751%;grid-template-columns:.78fr 1fr 1.15fr}.tier-card{min-height:790px;padding:38px 20px}.about-grid,.contact-grid{gap:72px}.service-boundary{grid-template-columns:.6fr .9fr 1.5fr;gap:34px}}@media (width<=980px){.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:auto;padding:78px 20px}.hero-visual{border-top:1px solid #2c6ac673;border-left:0;height:clamp(560px,75vw,720px);min-height:0}}@media (width<=900px){.about-page-hero-grid,.about-origin-grid,.about-why-grid,.about-personal-grid{grid-template-columns:1fr}.about-page-hero-copy{min-height:620px;padding:78px 20px}.about-page-portrait,.about-page-portrait img{min-height:680px}.about-origin-grid,.about-why-grid,.about-personal-grid{gap:70px}.experience-ledger article{grid-template-columns:minmax(160px,.72fr) minmax(0,1.5fr);gap:clamp(24px,3vw,40px)}.about-why-intro{position:static}.about-personal-photo{max-width:680px}.shell{width:min(100% - 40px,1500px)}.site-header{height:56px}.brand{width:220px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:auto;padding:78px 20px}.hero-visual{border-top:1px solid #2c6ac673;border-left:none;height:clamp(440px,60vw,560px);min-height:0}.hero h1{max-width:720px;font-size:var(--fs-display)}.section-heading-split{grid-template-columns:1fr;align-items:start;gap:34px}.heading-aside{max-width:720px}.service-flow{--entry-boundary:50%;--foundation-boundary:75%;grid-template-rows:430px auto;grid-template-columns:repeat(2,minmax(0,1fr))}.flow-card{min-height:430px}.flow-connector-entry{top:197px;left:calc(50% - 18px)}.flow-connector-branch{width:2px;height:22px;top:430px;left:calc(75% - 1px)}.flow-connector-branch:after{top:auto;bottom:0;right:-4px;transform:rotate(45deg)}.flow-outcomes{grid-column:1/-1;grid-template-rows:1fr;grid-template-columns:repeat(3,minmax(0,1fr))}.flow-outcomes:before{width:auto;height:2px;inset:21px calc(16.667% - 1px) auto}.flow-outcomes a{border-right:1px solid var(--line);text-align:center;border-bottom:0;min-height:190px;padding:48px 32px 30px}.flow-outcomes a:before{width:2px;height:22px;top:0;left:calc(50% - 1px)}.flow-outcomes a:after{top:12px;left:calc(50% - 5px);transform:rotate(45deg)}.flow-outcomes a:last-child{border-right:0}.flow-outcomes a:hover,.flow-outcomes a:focus-visible{background:var(--pale);padding-left:32px}.tier-grid{grid-template-columns:1fr}.tier-card{min-height:auto;padding:52px}.tiers-section-compact .tier-card,.tier-description{min-height:auto}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr;gap:80px}.portrait-frame{max-width:620px}.contact-grid{grid-template-columns:1fr;gap:58px}.contact-actions{max-width:680px}.service-boundary{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1;justify-content:flex-start}.footer-bottom{grid-template-columns:1fr 1fr}}@media (width<=620px){.about-page-hero-copy{min-height:auto;padding:68px 8px}.about-page-hero-copy h1{font-size:var(--fs-title)}.about-page-hero-copy .about-page-intro{margin-top:30px}.about-page-portrait,.about-page-portrait img{min-height:520px}.about-page-portrait figcaption{flex-direction:column;align-items:start;gap:8px}.about-origin h2,.about-personal h2,.about-why h2{font-size:var(--fs-title)}.experience-ledger article{grid-template-columns:1fr;gap:14px;min-height:0;padding:26px 22px 26px 34px}.experience-ledger h3{font-size:var(--fs-heading)}.about-personal-photo,.about-personal-photo img{min-height:500px}.credential-panel{padding:30px 24px}.shell{width:min(100% - 28px,1500px)}.site-header{height:54px}.brand{width:clamp(132px,42vw,164px)}.brand-lockup{grid-template-columns:46px minmax(0,1fr);gap:9px}.brand-lockup-name{font-size:.82rem}.brand-lockup-accounting{letter-spacing:.24em;font-size:.46rem}.header-cta{display:none}.mobile-menu-cta{color:var(--cyan);font-weight:650}.header-cta-long{display:none}.header-cta-short{display:inline}.header-cta>span:last-child{font-size:.92rem}.header-inner{gap:8px}.mobile-menu summary{min-height:38px;padding:0 10px;font-size:.7rem}.mobile-menu nav{width:min(270px,100vw - 28px);right:-64px}.hero-copy{min-height:auto;padding:68px 8px}.hero h1{font-size:var(--fs-display);line-height:.91}.hero-intro{margin-top:30px;font-size:var(--fs-lead)}.hero-actions{flex-direction:column}.button{width:100%}.hero-visual{height:clamp(320px,90vw,400px);min-height:0}.hero-photo>img{object-position:62% 50%}.trust-grid{grid-template-columns:1fr}.trust-item{border-bottom:1px solid #ffffff24;min-height:0}.trust-item:last-child{border-bottom:0}.section{padding:72px 0}.section-heading{margin-bottom:48px}.section-heading h2,.about-copy h2,.contact-section h2{font-size:var(--fs-title)}.service-flow{--entry-boundary:50%;--foundation-boundary:50%;grid-template-rows:390px 390px auto;grid-template-columns:1fr}.flow-card{border-right:0;border-bottom:1px solid var(--line);min-height:390px}.flow-connector-entry{top:372px;left:calc(50% - 18px)}.flow-connector-entry:before{width:2px;height:17px;top:8px;left:16px}.flow-connector-entry:after{top:17px;right:12px;transform:rotate(45deg)}.flow-connector-branch{border:1px solid var(--blue-dark);width:36px;height:36px;top:762px;left:calc(50% - 18px)}@supports (color:color-mix(in lab, red, red)){.flow-connector-branch{border:1px solid color-mix(in srgb, var(--blue-dark) 45%, var(--line))}}.flow-connector-branch{background:#fffffff0;border-radius:50%;box-shadow:0 8px 20px #071c3124}.flow-connector-branch:before{content:"";background:var(--blue-dark);width:2px;height:17px;position:absolute;top:8px;left:16px}.flow-connector-branch:after{top:17px;bottom:auto;right:12px;transform:rotate(45deg)}.flow-outcomes{grid-column:1;grid-template-rows:repeat(3,1fr);grid-template-columns:1fr}.flow-outcomes:before{width:2px;height:auto;inset:18px auto calc(16.667% - 1px) 14px}.flow-outcomes:after{content:"";z-index:4;background:var(--blue-dark);width:calc(50% - 14px);height:2px;position:absolute;top:17px;left:14px}.flow-outcomes a{border-right:0;border-bottom:1px solid var(--line);text-align:left;min-height:160px;padding:30px 54px}.flow-outcomes a:before{width:22px;height:2px;top:calc(50% - 1px);left:14px}.flow-outcomes a:after{top:calc(50% - 5px);left:28px;transform:rotate(-45deg)}.flow-outcomes a:hover,.flow-outcomes a:focus-visible{padding-left:64px}.flow-outcomes a:last-child{border-bottom:0}.tier-card{padding:38px 28px}.pricing-note{padding-left:18px}.steps-grid,.experience-grid{grid-template-columns:1fr}.step-card{min-height:310px}.portrait-frame:before{top:-12px;right:-8px}.experience-grid div{min-height:120px}.contact-section{padding:72px 0}.contact-actions a{min-height:108px}.footer-top,.footer-bottom{grid-template-columns:1fr;gap:28px}.footer-links{grid-column:1}.footer-brand{width:min(292px,100%)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.flow-card,.flow-outcomes a{scroll-margin-top:152px}.flow-card:hover,.flow-card:focus-visible{box-shadow:inset 0 0 0 3px var(--cyan)}.tier-card{scroll-margin-top:152px}.tiers-section-compact .section-heading{margin-bottom:clamp(42px,4vw,58px)}.tiers-section-compact .tier-card{min-height:410px;padding:clamp(28px,3vw,44px)}.tiers-section-compact .tier-price{margin-top:22px}.tiers-section-compact .tier-description{border-bottom:0;min-height:96px;margin-top:20px;padding-bottom:0}.tier-comparison-footer{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(36px,5vw,72px);margin-top:28px;display:grid}.tier-comparison-footer .pricing-note{margin:0 0 0 auto}.tier-comparison-button{justify-self:start;min-width:280px}@media (width<=980px){.tiers-section-compact .tier-card{min-height:auto}.tier-comparison-footer{grid-template-columns:1fr;gap:24px}.tier-comparison-footer .pricing-note{max-width:none;margin:0}}.tier-detail-link{color:var(--blue-dark);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding-top:30px;font-size:.82rem;font-weight:700;display:inline-flex}.tier-3 .tier-detail-link{color:var(--white)}.tier-detail-link span{transition:transform .18s}.tier-detail-link:hover span,.tier-detail-link:focus-visible span{transform:translate(3px,-3px)}.page-hero{background:var(--white);overflow:hidden}.page-hero-grid{border-left:1px solid #2c6ac640;border-right:1px solid #2c6ac640;grid-template-columns:minmax(0,1.03fr) minmax(500px,.97fr);min-height:650px;display:grid}.page-hero-copy{flex-direction:column;justify-content:center;padding:140px clamp(44px,6vw,96px) 88px 30px;display:flex}.page-hero-copy h1,.privacy-hero h1{color:var(--ink);letter-spacing:-.075em;margin:0;font-size:var(--fs-display);font-weight:720;line-height:.9}.page-hero-copy>p:last-of-type{max-width:690px;color:var(--muted);margin:34px 0 0;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.65}.services-hero-art{background:var(--navy-deep);min-height:650px;position:relative;overflow:hidden}.services-hero-art:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#071c310a,#071c314d),linear-gradient(90deg,#071c312e,#0000 44%);position:absolute;inset:0}.services-hero-photo{object-fit:cover;object-position:52% center;width:100%;height:100%;min-height:650px}.service-jump{z-index:4;background:var(--white);margin-top:0;position:relative}.service-jump .shell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--white);scrollbar-width:thin;align-items:center;gap:18px 30px;min-height:84px;padding-inline:clamp(20px,3vw,42px);display:flex;overflow-x:auto}.service-jump span{color:var(--blue-dark);letter-spacing:.13em;text-transform:uppercase;flex:none;font-size:var(--fs-label);font-weight:760}.service-jump a{color:var(--ink);border-bottom:1px solid #0000;flex:none;padding:10px 0;font-size:.78rem;font-weight:620}.service-jump a:hover,.service-jump a:focus-visible{border-color:var(--blue)}.page-return{justify-content:flex-end;padding-top:34px;padding-bottom:34px;display:flex}.page-return a{color:var(--blue-dark);font-size:.82rem;font-weight:680}.contact-section{position:relative;overflow:hidden}.contact-grid{z-index:1;grid-template-columns:minmax(340px,.72fr) minmax(560px,1.28fr);align-items:start;gap:clamp(52px,7vw,110px);position:relative}.contact-intro>p:last-of-type{color:#eef4ff;max-width:650px;margin:44px 0 0;font-size:clamp(1rem,1.2vw,1.14rem);line-height:1.7}.contact-alternatives{border-top:1px solid #ffffff6b;margin-top:54px}.contact-alternatives a{border-bottom:1px solid #ffffff6b;flex-direction:column;justify-content:center;min-height:104px;padding:20px 0;transition:padding-left .18s,background .18s;display:flex;position:relative}.contact-alternatives a:hover,.contact-alternatives a:focus-visible{background:#ffffff14;padding-left:14px}.contact-alternatives span{color:var(--white);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:var(--fs-label);font-weight:720}.contact-alternatives strong{color:var(--white);letter-spacing:-.025em;font-size:clamp(1rem,1.45vw,1.4rem);font-weight:590}.contact-form-panel{background:var(--white);color:var(--ink);border:1px solid #ffffff8a;padding:clamp(32px,4vw,58px)}.contact-form-panel form{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;display:grid}.form-row{gap:10px;display:grid}.form-row-wide,.form-honeypot{grid-column:1/-1}.form-row label,.checkbox-fieldset legend{color:var(--ink);letter-spacing:.025em;font-size:.74rem;font-weight:700}.form-row label>span{color:var(--blue-dark)}.form-row label small{color:var(--muted);font-size:.68rem;font-weight:520}.form-row input,.form-row textarea{background:var(--white);width:100%;min-height:54px;color:var(--ink);font:inherit;border:1px solid #6b87a0;border-radius:0;padding:13px 14px;font-size:.94rem}.form-row textarea{resize:vertical;min-height:150px}.form-row input:focus-visible,.form-row textarea:focus-visible,.form-submit button:focus-visible,.form-success button:focus-visible{outline:3px solid var(--navy-deep);outline-offset:3px;box-shadow:0 0 0 6px var(--cyan)}.form-honeypot{display:none}.checkbox-fieldset{border:0;margin:0;padding:0}.checkbox-fieldset>p{color:var(--muted);margin:5px 0 16px;font-size:.7rem}.checkbox-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.checkbox-option{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;min-height:68px;padding:13px 14px;transition:background .16s;display:grid}.checkbox-option:hover{background:var(--pale)}.checkbox-option input{opacity:0;width:1px;height:1px;position:absolute}.checkbox-option>span{background:var(--white);border:1px solid #6b87a0;place-items:center;width:20px;height:20px;display:grid}.checkbox-option>span:after{content:"";border-left:2px solid var(--white);border-bottom:2px solid var(--white);width:9px;height:5px;transition:transform .12s;transform:rotate(-45deg)translate(1px,-1px)scale(0)}.checkbox-option input:checked+span{border-color:var(--blue-dark);background:var(--blue-dark)}.checkbox-option input:checked+span:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.checkbox-option input:focus-visible+span{outline:3px solid var(--navy-deep);outline-offset:3px}.checkbox-option strong{font-size:.72rem;font-weight:590;line-height:1.35}.form-submit{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.form-submit p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.55}.form-submit p a{color:var(--blue-dark);text-underline-offset:3px;text-decoration:underline}.form-submit button,.form-success button{border:1px solid var(--navy-deep);background:var(--navy-deep);min-width:184px;min-height:56px;color:var(--white);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:26px;padding:14px 18px;font-size:.86rem;font-weight:680;display:inline-flex}.form-submit button:disabled{cursor:wait;opacity:.68}.form-error{color:#681919;background:#fff1f0;border-left:4px solid #a62c2c;padding:18px}.form-error p{margin:6px 0 0;font-size:.8rem}.form-error a{text-decoration:underline}.form-success{flex-direction:column;justify-content:center;align-items:flex-start;min-height:590px;padding:clamp(18px,4vw,52px);display:flex}.form-success>span{background:var(--cyan);width:52px;height:52px;color:var(--navy-deep);place-items:center;font-size:1.25rem;font-weight:800;display:grid}.form-success h3{color:var(--ink);letter-spacing:-.055em;margin:32px 0 0;font-size:clamp(2.2rem,4vw,4rem);line-height:.98}.form-success p{color:var(--muted);margin:20px 0 34px;font-size:1rem}.privacy-page{background:var(--white)}.thanks-page{background:var(--white);place-items:center;min-height:68vh;padding:clamp(92px,12vw,180px) 0;display:grid}.thanks-inner{text-align:center}.thanks-inner h1{max-width:900px;color:var(--ink);letter-spacing:-.07em;margin:0 auto;font-size:var(--fs-display);font-weight:720;line-height:.92}.thanks-inner>p{color:var(--muted);margin:28px 0 36px;font-size:1.08rem}.thanks-inner .button{display:inline-flex}.privacy-hero{border-bottom:1px solid var(--line);background:var(--pale);padding:clamp(84px,8vw,120px) 0}.privacy-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(440px,1.18fr);align-items:end;gap:clamp(60px,10vw,160px);display:grid}.privacy-intro>p:first-child{color:var(--blue-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 20px;font-size:.68rem;font-weight:740}.privacy-intro>p:last-child{color:var(--muted);margin:0;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}.privacy-layout{grid-template-columns:250px minmax(0,850px);justify-content:center;gap:clamp(60px,10vw,150px);padding-top:clamp(80px,9vw,130px);padding-bottom:clamp(100px,11vw,160px);display:grid}.privacy-nav{border-top:1px solid var(--line);align-self:start;display:grid;position:sticky;top:88px}.privacy-nav span,.privacy-nav a{border-bottom:1px solid var(--line);padding:14px 0}.privacy-nav span{color:var(--blue-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-weight:760}.privacy-nav a{color:var(--muted);font-size:.74rem;font-weight:590}.privacy-nav a:hover,.privacy-nav a:focus-visible{color:var(--blue-dark)}.privacy-content section{border-bottom:1px solid var(--line);padding-bottom:64px;scroll-margin-top:112px}.privacy-content section+section{padding-top:64px}.privacy-content h2{color:var(--ink);letter-spacing:-.05em;margin:0 0 28px;font-size:var(--fs-subheading)}.privacy-content p,.privacy-content li,.privacy-content address{color:#3f566d;font-size:.96rem;line-height:1.78}.privacy-content p{margin:0}.privacy-content p+p,.privacy-content ul+p,.privacy-content p+ul{margin-top:22px}.privacy-content ul{gap:10px;margin-bottom:0;padding-left:22px;display:grid}.privacy-content a{color:var(--blue-dark);text-underline-offset:3px;text-decoration:underline}.privacy-content address{margin:24px 0;font-style:normal}@media (width<=1180px){.page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.8fr)}.contact-grid{grid-template-columns:minmax(300px,.72fr) minmax(510px,1.28fr)}}@media (width<=900px){.process-journey-list:before{top:30px;bottom:30px;left:31px}.process-journey-step{grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:auto}.process-journey-step:nth-child(odd) article,.process-journey-step:nth-child(2n) article{grid-area:1/2}.process-journey-step:nth-child(odd) article:after,.process-journey-step:nth-child(2n) article:after{width:32px;left:-33px;right:auto}.process-journey-number{grid-area:1/1;width:54px;height:54px}.process-journey-step article{min-height:184px}.service-chapter{grid-template-columns:1fr}.service-chapter-intro{border-right:0;border-bottom:1px solid var(--chapter-rule);min-height:280px}.page-hero-grid,.privacy-hero-grid,.privacy-layout,.contact-grid{grid-template-columns:1fr}.page-hero-copy{min-height:620px;padding:78px 20px}.services-hero-art,.services-hero-photo{min-height:560px}.contact-form-panel{max-width:760px}.privacy-layout{justify-content:stretch}.privacy-nav{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.privacy-nav span{grid-column:1/-1}}@media (width<=620px){.approach-section:before{display:none}.process-journey-heading{margin-bottom:38px}.process-journey-list{gap:18px}.process-journey-list:before{left:25px}.process-journey-step{grid-template-columns:52px minmax(0,1fr)}.process-journey-number{border-width:6px;width:46px;height:46px}.process-journey-step:nth-child(odd) article:after,.process-journey-step:nth-child(2n) article:after{width:27px;left:-28px}.process-journey-step article{min-height:0;padding:24px 22px}.process-journey-step h3{font-size:var(--fs-subheading)}.coastal-interlude-frame img{aspect-ratio:4/3;object-position:55% center;min-height:260px}.coastal-interlude-frame figcaption{bottom:14px;left:14px;right:14px}.service-chapter-intro,.service-chapter-scope{padding:26px 28px}.service-chapter-intro{min-height:250px}.service-chapter-number{font-size:var(--fs-numeral)}.service-chapter-intro h3{font-size:var(--fs-heading)}.service-chapter-scope ul{grid-template-columns:1fr}.service-boundary{padding:38px 28px}.brand-lockup-name{font-size:.78rem}.page-hero-copy{min-height:auto;padding:68px 8px}.page-hero-copy h1,.privacy-hero h1{font-size:var(--fs-display)}.services-hero-art{min-height:440px}.services-hero-photo{object-position:57% center;min-height:440px}.service-jump .shell{flex-wrap:wrap;gap:8px 20px;min-height:72px;padding-top:18px;padding-bottom:18px;overflow-x:visible}.service-jump span{width:100%}.tiers-section-compact .tier-card{min-height:auto}.contact-form-panel{padding:28px 18px}.contact-form-panel form,.checkbox-grid,.form-submit{grid-template-columns:1fr}.checkbox-option{min-height:62px}.form-submit button{width:100%}.form-success{min-height:460px;padding:20px}.privacy-hero{padding:72px 0}.privacy-nav{grid-template-columns:1fr}.privacy-nav span{grid-column:1}.privacy-content section{padding-bottom:50px}.privacy-content section+section{padding-top:50px}}@media (width<=900px),(hover:none),(pointer:coarse){.service-foundation-row,.service-outcome-grid{grid-template-columns:1fr}.service-overview-card{min-height:0;padding:28px 30px}.service-overview-card:hover,.service-overview-card:focus-within{transform:none}.service-card-body{grid-template-columns:minmax(180px,.72fr) minmax(0,1.28fr);align-items:start;gap:28px;min-height:0;margin-top:18px}.service-card-summary,.service-card-details{opacity:1;grid-area:auto;transform:none}.service-card-details{border-top:0;border-left:1px solid var(--line);margin:0;padding:0 0 0 28px}.service-overview-card-foundation .service-card-details{border-left-color:#ffffff38}.service-card-link{margin-top:22px;padding-top:14px}}@media (width<=620px){.service-system .section-heading{margin-bottom:36px}.service-overview{gap:18px}.service-foundation-row,.service-outcome-grid{gap:10px}.service-overview-card{padding:24px 22px}.service-overview-card h3,.service-outcome-grid .service-overview-card h3{font-size:clamp(2rem,11vw,3rem)}.service-card-body{grid-template-columns:1fr;gap:0;margin-top:18px}.service-card-details{border-top:1px solid var(--line);border-left:0;gap:14px;margin-top:18px;padding:18px 0 0}.service-overview-card-foundation .service-card-details{border-top-color:#ffffff38}.service-card-link{margin-top:22px}.service-system-bridge{grid-template-columns:1fr;gap:10px;padding:4px 10px;line-height:1.55}.service-system-bridge:before,.service-system-bridge:after{width:100%}}

/* Home about section — original composition on solid brand blue */
.about-section{background:var(--blue-dark);color:var(--white)}
.about-section .about-copy h2{color:var(--white)}
.about-section .about-copy .about-lead{color:var(--white)}
.about-section .about-copy>p{color:#d7e3f4}
.about-section .experience-grid{border-top-color:#ffffff30;border-left-color:#ffffff30}
.about-section .experience-grid div{border-right-color:#ffffff30;border-bottom-color:#ffffff30;background:#ffffff0f}
.about-section .experience-grid strong{color:var(--white)}
.about-section .experience-grid span{color:#c3d4ec}
.about-section .about-page-link{color:var(--white);border-bottom-color:#ffffff8c;transition:padding-left .18s,padding-right .18s,background .18s}
.about-section .about-page-link:hover,.about-section .about-page-link:focus-visible{background:#ffffff14;padding-left:14px;padding-right:14px}
.about-section .portrait-frame:before{background:var(--blue)}
.about-section .portrait-media{overflow:hidden;position:relative;z-index:1}
.thanks-inner .hero-actions{justify-content:center;align-items:center}
.about-section .portrait-frame img{border-color:#ffffff30;aspect-ratio:auto;object-fit:contain;object-position:center;transform:scale(1.05) translateX(-3%)}
.about-section .portrait-caption{position:static;background:none;border:0;justify-content:flex-start;gap:18px;padding:16px 2px 0}
.about-section .portrait-caption span{color:#a8c6e8}

/* Home service cards — "Useful when" always visible, hover swap removed */
.service-card-body{grid-template-columns:1fr;min-height:0}
.service-card-summary,.service-card-details{grid-area:auto;opacity:1;transform:none}
.service-card-details{border-top:1px solid var(--line);border-left:0;margin-top:16px;padding-top:16px}
.service-overview-card-foundation .service-card-details{border-top-color:#ffffff38}
@media (hover:hover) and (pointer:fine){
.service-overview-card:hover .service-card-summary,.service-overview-card:focus-within .service-card-summary{opacity:1;transform:none}
}

/* Home service cards — whole card clickable via stretched link */
.service-overview-card{position:relative}
.service-overview-card .service-card-link{position:static}
.service-overview-card .service-card-link:after{content:"";position:absolute;inset:0}

/* Home tier cards — clickable + nesting toplines */
.tier-card{position:relative;transition:transform .18s,box-shadow .18s}
.tier-card:hover,.tier-card:focus-within{transform:translateY(-5px);box-shadow:0 0 0 1px var(--line),0 24px 58px #071c311f}
.tier-card .tier-topline{border-bottom:1px solid var(--line);margin:0 0 24px;font-family:var(--font-geist-sans),sans-serif;letter-spacing:.12em;font-size:.7rem;font-weight:760;text-transform:uppercase}
.tier-3 .tier-topline{color:var(--cyan);border-bottom-color:#ffffff30}
.tier-card-link{position:static;color:inherit}
.tier-card-link:after{content:"";position:absolute;inset:0}
.tier-card-link span{position:absolute;right:24px;bottom:20px;font-size:1.05rem;color:var(--blue-dark);transition:transform .18s}
.tier-3 .tier-card-link span{color:var(--white)}
.tier-card:hover .tier-card-link span,.tier-card:focus-within .tier-card-link span{transform:translate(3px,-3px)}

/* Tier comparison button — center label (arrow removed) */
.tier-comparison-button{justify-content:center;text-align:center}

/* Coastal interlude — level the horizon: photo rotated 2deg clockwise inside the frame */
.coastal-interlude-frame img{transform:rotate(2deg) scale(1.08);transform-origin:60% 45%;transition:transform 16s cubic-bezier(.16,.68,.3,1)}
.coastal-interlude-frame:hover img{transform:rotate(2deg) scale(1.17) translate(-1.6%,-1.2%)}
@media (prefers-reduced-motion:reduce){.coastal-interlude-frame img{transition:none}
.coastal-interlude-frame:hover img{transform:rotate(2deg) scale(1.08)}}

/* Hero photo — shift crop to show the wave crest (image moved left) */
.hero-photo>img{object-position:88% 50%}


/* Frozen nav — let the runtime wrapper grow with content so the sticky header tracks the full page (it was clipped to one viewport) */
html #dc-root,html #dc-root>.sc-host{height:auto;min-height:100%}

/* Hero — remove vertical hairlines on the photo band */
.hero .hero-grid{border-left:0;border-right:0}
.hero .hero-visual{border-left:0}

/* Trust strip — no divider lines */
.trust-grid{border-left:0}
.trust-grid .trust-item{border-right:0}

/* Hero — photo bleeds to the right edge at every window width; grid and columns untouched */
.hero{overflow-x:clip}
@media (width>980px){.hero .hero-visual{margin-right:calc(-1*max(32px,(100vw - 1500px)/2))}}

/* Service cards — compact now that the details row is gone; disable the old summary/details hover swap */
.service-overview-card{min-height:0}
.service-card-body{min-height:0}
.service-overview-card:hover .service-card-summary,.service-overview-card:focus-within .service-card-summary{opacity:1;transform:none}


/* Service card links — arrow floats in the bottom-right corner (no flow row), like tier cards */
.service-overview-card .service-card-link{position:static;margin:0;padding:0;border-top:0;font-size:1.05rem}
.service-overview-card .service-card-link span{position:absolute;right:28px;top:50%;transform:translateY(-50%)}

/* Service card titles — fluid size so the longest title stays on one line; all five identical */
@media (width>980px){.service-overview-card h3,.service-outcome-grid .service-overview-card h3{font-size:var(--fs-heading-sm)}}

/* About heading on one line: slightly tighter gap, copy column absorbs the freed width */
@media (width>900px){.about-section .about-grid{gap:clamp(48px,6vw,84px);grid-template-columns:minmax(0,.58fr) minmax(0,1fr)}.about-section .about-copy h2{max-width:none;font-size:min(var(--fs-title),calc((min(100vw - 64px,1500px) - clamp(48px,6vw,84px))/17.5))}}

/* Title-only service cards — compact bars, arrow centered right */
.service-overview-card{justify-content:center}
.service-overview-card h3{margin-bottom:0;padding-right:48px}
.service-overview-card h3:first-child{margin-top:0}
.service-overview-card:hover .service-card-link span,.service-overview-card:focus-within .service-card-link span{transform:translateY(-50%) translate(3px,-3px)}



/* Approach — remove the center hairline drawn by the section's gradient overlay */
.approach-section.process-journey:before{content:none!important}

/* Step numbers — Geist sans (never mono), label-style weight */
.process-journey-number{font-family:var(--font-geist-sans),sans-serif;font-weight:760;letter-spacing:.06em}
.experience-ledger article>span{font-family:var(--font-geist-sans),sans-serif;font-weight:760;letter-spacing:.12em}

/* Approach timeline — interleave alternating steps to remove checkerboard voids */
@media (width>900px){
.process-journey-list:before{top:98px;bottom:98px;box-shadow:none}
.process-journey-step + .process-journey-step{margin-top:clamp(-52px,-3.8vw,-28px)}
.process-journey-step{pointer-events:none}
.process-journey-step article,.process-journey-number{pointer-events:auto}
}

/* Trust pillars — center content vertically */
.trust-grid .trust-item{display:flex;flex-direction:column;justify-content:center}

/* Step numbers — solid blue discs, no white ring */
.process-journey-number{border:0;box-shadow:0 12px 28px #1d4f9633}
@media (width>900px){.process-journey-number{width:52px;height:52px;font-size:.8rem}}

/* Services hero — no outer hairlines */
.page-hero-grid{border-left:0;border-right:0}

/* Anchor jumps land below the sticky header */

/* Services hero — lighthouse photo bleeds to the right viewport edge */
.services-hero{overflow-x:clip}
@media (width>980px){.services-hero .services-hero-art{margin-right:calc(-1*max(32px,(100vw - 1500px)/2))}}

/* Service jump bar — no border */
.service-jump .shell{border:0}/* Services h1 — three balanced lines */
.services-hero .page-hero-copy h1{max-width:15ch;text-wrap:balance;font-size:var(--fs-title)}

/* Service jump bar — navy band like the home trust strip */
.service-jump,.service-jump .shell{background:var(--navy-deep)}
.service-jump span{color:#8fb8e8}
.service-jump a{color:var(--white)}
.service-jump a:hover,.service-jump a:focus-visible{border-color:var(--white)}

/* Services hero — photo fills the hero instead of dictating its height */
@media (width>900px){
.services-hero .page-hero-grid{min-height:min(780px,calc(100svh - 58px))}
.services-hero .services-hero-art{position:relative}
.services-hero .services-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
}

/* Service chapter anchors — JS centers exactly on load/hashchange (see Services logic class) */
.service-chapter[id]{scroll-margin-top:calc(50svh - 168px)}

/* Contact anchor: the section has 84px of top padding, so a plain #contact jump would
   land on empty padding under the sticky header. Negative scroll-margin pulls the jump
   down onto the heading (about + services pages share this section). */
.contact-section{scroll-margin-top:-60px}

/* Approach anchor: same 84px top-padding offset as the contact section — pull the
   #approach jump down onto the heading instead of the empty padding under the header. */
.approach-section{scroll-margin-top:-60px}

/* Mobile: section top-padding drops to ~44px, so the -60px pull tucks the heading
   under the sticky header with no breathing room. Ease the pull on phones. */
@media (width<=620px){
  .approach-section,.contact-section{scroll-margin-top:-24px}
}

/* Chapter color swap — brand blue moves to Accounting Operations (01); Tax Compliance takes the default light theme */
.service-chapter-accounting-operations{--chapter-accent:#b9d8ff;--chapter-bg:var(--blue);--chapter-ink:var(--white);--chapter-muted:#edf4fd;--chapter-rule:#ffffff3d;--chapter-scope-bg:var(--blue-dark)}
.service-chapter-tax-compliance{--chapter-accent:var(--blue);--chapter-bg:var(--white);--chapter-ink:var(--ink);--chapter-muted:#41566b;--chapter-rule:#0f2a3f24;--chapter-scope-bg:color-mix(in srgb, var(--white) 91%, var(--ink))}

/* Scope boundary — two tracks now that it has two children; paragraph uses the full width */
.service-boundary{grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr)}
.service-boundary>p:last-child{max-width:72ch}

/* Services page tiers — white band to break from the mist service areas above */
.service-page-areas~.tiers-section,body:has(.services-hero) .tiers-section{background:var(--white)}

/* Services tiers — drop stale fixed min-height; tallest card sets the shared row height */
body:has(.services-hero) .tier-card{min-height:auto}

/* Services tiers pricing note — left-aligned full width, matching Home */
body:has(.services-hero) .pricing-note{max-width:none;margin:36px 0 0}



/* Footer nav — pin to column 3 row 1 so the designation row can't displace it */
@media (width>900px){.site-footer .footer-top .footer-links{grid-column:3;grid-row:1}}



/* About hero — portrait bleeds to the right viewport edge (same treatment as Home/Services heroes) */
.about-page-hero .about-page-hero-grid{border-left:0;border-right:0}
@media (width>900px){.about-page-hero .about-page-portrait{margin-right:calc(-1*max(32px,(100vw - 1500px)/2))}}

/* About page — remove center hairline (experience section) and portrait's left border */
.about-experience:before{content:none!important}
.about-page-portrait{border-left:0}

/* About hero — remove the center hairline painted by the section's own background gradient */
.about-page-hero{background:var(--white)}

/* About hero portrait — subject sits left of the source frame; bias the crop so he centers */
.about-page-portrait img{object-position:38% top}

/* About origin — solid brand blue band, matching the Home About treatment */
.about-origin{background:var(--blue)}
.about-origin h2{color:var(--white)}
.about-origin-copy>p{color:#edf4fd}
.credential-panel{border-color:#ffffff59}
.credential-panel li:before{color:var(--blue-dark)}

/* About — systems and platforms index */
.systems-section{background:var(--white)}
.systems-index{display:grid;margin:0}
.systems-row{display:grid;grid-template-columns:280px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--line)}
.systems-row:last-child{border-bottom:1px solid var(--line)}.systems-row dt{font-family:var(--font-geist-sans),sans-serif;letter-spacing:.12em;font-size:var(--fs-label);font-weight:760;text-transform:uppercase;color:var(--muted);align-self:center}
.systems-row dd{margin:0;color:#304a62;font-size:.95rem;line-height:1.6}
@media (width<=700px){.systems-row{grid-template-columns:1fr;gap:6px;padding:16px 0}}

/* Industries + systems — gap between the two index lists */
.systems-index+.systems-group-label{margin-top:56px}

/* Industries + systems — tighter heading gap, group eyebrows */
.systems-section .section-heading{margin-bottom:clamp(30px,3vw,44px)}
.systems-group-label{font-family:var(--font-geist-sans),sans-serif;letter-spacing:.12em;font-size:.7rem;font-weight:760;text-transform:uppercase;color:var(--blue);margin:0 0 14px}

/* Industries and systems — appendix to experience, sits closer */
.systems-section{padding-top:clamp(48px,5vw,72px)}

/* Obvious keyboard-focus ring on stretched service/tier cards */
.tier-card:has(:focus-visible),.service-overview-card:has(:focus-visible){outline:3px solid var(--navy-deep);outline-offset:4px}

/* Footer: two-column layout (logo left, links right) after tagline removal */
@media (width>900px){.site-footer .footer-top{grid-template-columns:minmax(240px,1fr) auto}
.site-footer .footer-top .footer-links{grid-column:2}}

/* Services jump nav — always one horizontally-scrollable row (all widths); pricing chip set apart */
.service-jump .shell{flex-wrap:nowrap;overflow-x:auto;gap:14px 22px}
.service-jump span{width:auto}
.service-jump a.jump-pricing{padding:6px 14px;border:1px solid #ffffff3d;border-radius:999px;color:var(--white)}
.service-jump a.jump-pricing:hover,.service-jump a.jump-pricing:focus-visible{background:var(--white);border-color:var(--white);color:var(--navy-deep)}

/* Form placeholders — solid muted (not 50%-transparent) to clear 4.5:1 on white fields */
.form-row input::placeholder,.form-row textarea::placeholder{color:var(--muted);opacity:1}

/* About contact — quiet scope note handing detail off to the services boundary */
.about-scope-note{margin:30px 0 0;max-width:46ch;color:#cbdaec;font-size:.82rem;line-height:1.62}
.about-scope-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* Trust pillars — condense vertical space in the 2-col and mobile views (was keeping the 156px desktop height) */
@media (width<=1180px){.trust-grid .trust-item{min-height:0;padding:24px 26px}
.trust-item p{margin-top:8px}}

/* Service-system heading: "foundation" drops the accent and matches the heading ink */
#service-system-title .hero-move-word{color:inherit}

/* Services jump bar — every link (incl. Tiers & Pricing) uses the header nav's
   left-to-right underline wipe on hover; a blue rule sets the pricing link apart. */
.service-jump a{position:relative;border-bottom:0}
.service-jump a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--cyan);transition:right .18s}
.service-jump a:hover:after,.service-jump a:focus-visible:after{right:0}
/* strip the old pill so Tiers & Pricing matches the five section links */
.service-jump a.jump-pricing{border:0;border-radius:0;padding:10px 0}
.service-jump a.jump-pricing:hover,.service-jump a.jump-pricing:focus-visible{background:transparent;color:var(--white)}
/* blue vertical separator — a UI divider before the pricing link, not part of it */
.service-jump .jump-sep{flex:none;align-self:center;width:1px;height:22px;margin:0 2px;background:var(--cyan)}

/* Scope boundary — the two-track override above carries no breakpoint, so on small
   screens it forced a 240px first column and crushed the paragraph. Stack to one column. */
@media (width<=900px){.service-boundary{grid-template-columns:1fr;gap:20px}}

/* About hero — identical spec to the services hero: same centering, same height
   rule, same padding. The portrait <img> is pinned (absolute) so its aspect ratio
   can't inflate the row like before. About-only edits; services untouched. */
@media (width>900px){
  .about-page-hero-grid{ min-height:min(780px,calc(100svh - 58px)) }
  .about-page-portrait{ min-height:min(780px,calc(100svh - 58px)) }
  .about-page-portrait img{ position:absolute; inset:0; min-height:0 }
  /* about's intro is ~1 line shorter than services', so its centred block sits
     lower; add that height back below the buttons so both headlines align. */
  .about-page-hero-copy .hero-actions{ margin-bottom:0 }
}.about-page-hero-copy h1{ font-size:var(--fs-title); line-height:.9; letter-spacing:-.075em; max-width:15ch; text-wrap:balance }
.about-page-hero-copy .about-page-intro{ color:var(--muted); max-width:690px; margin-top:34px; font-size:clamp(1.05rem,1.35vw,1.25rem); line-height:1.65 }
/* match the services hero's column split so the photo is the same size */
@media (width>1180px){ .about-page-hero-grid{ grid-template-columns:minmax(0,1.03fr) minmax(500px,.97fr) } }
@media (width>900px) and (width<=1180px){ .about-page-hero-grid{ grid-template-columns:minmax(0,1fr) minmax(420px,.8fr) } }

/* No page-transition animation — navigation just loads. A light root background keeps
   the brief inter-page gap from flashing dark, and internal links are prefetched on
   hover (see site.js) so the next page loads from cache and appears immediately. */
html{ background:#fff; color-scheme:light }

/* Services tier cards — tighten the internal vertical rhythm. The base card carried
   large stacking margins (28/26/30px) plus a 110px min-height on the description and a
   30px description padding, which left too much empty space between title, price,
   description, and the bullet list. Scoped to the services page via .services-hero so the
   compact homepage cards are untouched. */
body:has(.services-hero) .tier-card{padding:30px 28px}
body:has(.services-hero) .tier-card .tier-topline{margin:0 0 16px;padding-bottom:16px}
body:has(.services-hero) .tier-price{margin-top:16px}
body:has(.services-hero) .tier-description{margin-top:16px;padding-bottom:18px;min-height:auto}
/* Align the 3 feature lists to the same start line WITHOUT padding cards to a fixed
   height: row subgrid sizes each shared row to the tallest card, so the taller cards
   get no extra space and only the shortest (Core) fills up to match. */
@media (width>760px){
  body:has(.services-hero) .tier-grid{grid-template-rows:repeat(5,auto)}
  body:has(.services-hero) .tier-card{display:grid;grid-template-rows:subgrid;grid-row:span 5}
  body:has(.services-hero) .tier-card>*{align-self:start}
  body:has(.services-hero) .tier-card>.tier-description{align-self:stretch}
}
body:has(.services-hero) .tier-card ul{margin-top:18px;gap:10px}
body:has(.services-hero) .tier-card li{line-height:1.4}

/* Tiers & Pricing jump: land the white tiers section flush under the sticky header.
   The generic anchor offset leaves 12px of breathing room, which here revealed a grey
   sliver of the preceding (light-grey) service-areas section. A negative scroll-margin
   pulls the jump so the section top sits just behind the header — no grey band above. */
body:has(.services-hero) #service-tiers{scroll-margin-top:-14px}

/* Section padding reduced AND symmetric: top equals bottom, both cut from the
   original ~84-120px down to ~44-66px. Less space above each heading, and the
   top/bottom stay balanced (no imbalance). .contact-section is included because
   it does NOT carry the .section class, so without it the blue contact block kept
   its old 84px padding and read as imbalanced against its 44px neighbours. */
.section,.contact-section{padding:clamp(44px,4.6vw,66px) 0}

/* Scope-boundary callout: the original drop shadow (0 18px 50px) projected ~68px
   downward, past the 44px grey band below the card and across into the white tiers
   section, darkening the grey side so it read heavier than the clean white side.
   A tighter, softer shadow keeps the card's depth but stays within the grey band. */
.service-boundary{box-shadow:0 6px 22px rgba(7,28,49,.06)}


:root{
--fs-display:clamp(3.3rem,5vw,5.85rem);
--fs-title:clamp(2.4rem,3.6vw,3.9rem);
--fs-heading:clamp(1.6rem,2.5vw,3.1rem);
--fs-subheading:clamp(1.4rem,2.2vw,2.4rem);
--fs-heading-sm:clamp(19px,1.72vw,31.19px);
--fs-numeral:clamp(3.5rem,5.2vw,5.9rem);
--fs-price:clamp(1.28rem,1.92vw,2rem);
--fs-lead:clamp(1.1rem,1.4vw,1.35rem);
--fs-body:1rem;
--fs-body-sm:.92rem;
--fs-fine:.78rem;
--fs-label:.7rem;
}


/* Trust pillars — 2x2 grid on mobile instead of 4 stacked boxes (more compact) */
@media (width<=620px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:24px;padding-block:30px}.trust-grid .trust-item{padding:0;border:0;min-height:0}}


/* Mobile refinements — hero bleed, card titles, experience row */
/* Hero photos: no borders, run full-bleed edge-to-edge once stacked.
   Negative-margin breakout (width:auto) instead of width:100vw so the full-bleed photo
   never forces the 1fr grid track wider than the viewport — that was pushing the intro
   text off the right edge on mobile. overflow-x:clip (below) swallows the breakout. */
html,body{overflow-x:clip}
@media (width<=980px){
  .hero .hero-visual{border:0;width:auto;max-width:none;margin-inline:calc((100% - 100vw)/2);left:auto;transform:none}
  .service-overview-card h3,.service-outcome-grid .service-overview-card h3{font-size:var(--fs-heading-sm)}
}
@media (width<=900px){
  .services-hero .services-hero-art{border:0;width:auto;max-width:none;margin-inline:calc((100% - 100vw)/2);left:auto;transform:none}
  .about-page-hero .about-page-portrait{border:0;width:auto;max-width:none;margin-inline:calc((100% - 100vw)/2);left:auto;transform:none}
}
/* Experience stats: 3 across on mobile instead of a tall single column */
@media (width<=620px){
  .experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .experience-grid div{min-height:0;padding:14px 10px}
  .experience-grid strong{font-size:clamp(.95rem,3.6vw,1.15rem)}
  .experience-grid span{font-size:.6rem;line-height:1.35;margin-top:4px}
}


/* Home tier cards: match the tighter services-page card spacing — the homepage
   compact cards were too spacious (min-height:410px + up to 44px padding + 20-24px
   margins). Align to the services-page values (30px/28px padding, 16px rhythm) and let
   the cards size to content — the grid stretches them all to the tallest. Extra
   bottom padding reserves room for the corner arrow link the services cards don't have. */
.tiers-section-compact .tier-card{min-height:auto;padding:30px 28px 46px}
.tiers-section-compact .tier-card .tier-topline{margin:0 0 16px;padding-bottom:16px}
.tiers-section-compact .tier-price{margin-top:16px}
.tiers-section-compact .tier-description{min-height:auto;margin-top:16px}


/* Coastal interlude: full-bleed + gentle auto Ken Burns — drop the frame border and
   break the photo out to full viewport width (same negative-margin technique as the heroes;
   overflow-x:clip swallows the breakout). The zoom/pan is a CSS animation, not hover-driven,
   so it also plays on touch devices. Every keyframe keeps the 2deg rotation so the horizon
   stays level. Honors prefers-reduced-motion. */
.coastal-interlude-frame{border:0;width:auto;margin-inline:calc((100% - 100vw)/2)}
.coastal-interlude-frame img{transform-origin:60% 45%;transition:none;animation:coastal-kenburns 28s ease-in-out infinite alternate;will-change:transform}
@keyframes coastal-kenburns{
  from{transform:rotate(2deg) scale(1.08) translate(0,0)}
  to{transform:rotate(2deg) scale(1.16) translate(-2.2%,-1.4%)}
}
.coastal-interlude-frame:hover img{animation-play-state:running}
@media (prefers-reduced-motion:reduce){
  .coastal-interlude-frame img{animation:none;transform:rotate(2deg) scale(1.08)}
}


/* Coastal interlude: drop the orphaned mist band below the now full-bleed photo.
   The section kept a ~100px mist padding-bottom that framed the old inset photo; with the
   photo edge-to-edge it read as a random pale stripe between the image and the blue about
   section. Zero it so the photo meets the next section cleanly. */
.coastal-interlude{padding-bottom:0}


/* Home about portrait: inset on mobile — the photo ran the full column width and read
   as too dominant on phones. Cap and center it so there's padding on the left and right. */
@media (width<=620px){
  .about-section .portrait-frame{max-width:80%;margin-inline:auto}
  .about-section .about-grid{gap:44px}
}


/* Mobile timeline connector: draw between adjacent node centers so the line begins at
   node #1 and ends at node #4 instead of overshooting. On mobile the discs are centered in
   variable-height steps, so a single whole-list line with fixed insets can't reach the disc
   centers. Each step draws a segment through its own centered disc, extended by the gap to
   bridge to the next; the first starts at its disc center, the last ends at its disc center. */
@media (width<=900px){
  .process-journey-list:before{content:none}
  .process-journey-step:before{content:"";position:absolute;z-index:0;left:31px;width:2px;
    top:0;bottom:calc(-1 * clamp(24px,2vw,30px));background:var(--blue)}
  .process-journey-step:first-child:before{top:50%}
  .process-journey-step:last-child:before{bottom:50%}
}
@media (width<=620px){
  .process-journey-step:before{left:25px;bottom:-18px}
  .process-journey-step:last-child:before{bottom:50%}
}


/* Mobile menu — refined: borderless hamburger→X toggle + full-width navy sheet under
   the header (replaces the cramped 270px bordered dropdown). Panel is fixed just under the
   sticky header; links are generous rows; the intro-call CTA is a filled button. */
@keyframes menuDrop{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media (width<=900px){
  .mobile-menu{justify-self:end}
  .header-cta{display:none}
  .mobile-menu summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;background:none;color:#fff;cursor:pointer;list-style:none}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
  .mobile-menu .menu-icon{position:relative;display:block;width:22px;height:2px;background:#fff;transition:background .15s}
  .mobile-menu .menu-icon::before,.mobile-menu .menu-icon::after{content:"";position:absolute;left:0;width:22px;height:2px;background:#fff;transition:transform .25s}
  .mobile-menu .menu-icon::before{top:-7px}
  .mobile-menu .menu-icon::after{top:7px}
  .mobile-menu[open] .menu-icon{background:transparent}
  .mobile-menu[open] .menu-icon::before{transform:translateY(7px) rotate(45deg)}
  .mobile-menu[open] .menu-icon::after{transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu nav{position:fixed;top:56px;left:0;right:0;width:auto;z-index:39;background:var(--navy-deep);border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;box-shadow:0 26px 44px #071c3145;padding:6px clamp(16px,5vw,28px) 22px;display:grid;gap:0;animation:menuDrop .2s ease}
  .mobile-menu nav a{display:flex;align-items:center;min-height:56px;padding:0 2px;border-bottom:1px solid #ffffff17;color:#fff;font-size:1.02rem;font-weight:560;letter-spacing:-.01em}
  .mobile-menu nav a:last-child{border-bottom:0}
  .mobile-menu nav .mobile-menu-cta{margin-top:16px;min-height:52px;justify-content:center;background:var(--blue);color:#fff;font-weight:650;letter-spacing:.01em}
}
@media (width<=620px){
  .mobile-menu nav{top:54px}
}
@media (prefers-reduced-motion:reduce){.mobile-menu nav{animation:none}}
@keyframes menuLift{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}
.mobile-menu nav.is-closing{animation:menuLift .18s ease forwards}


/* Hero photos — cap height on mobile so they don't dominate the screen. Consistent
   cutoff across the home, services, and about heroes; services/about previously ran up to
   560px (and the about portrait ~730px) on mobile via uncapped min-heights. */
@media (width<=900px){
  .hero .hero-visual{height:clamp(440px,60vw,560px)}
  .services-hero .services-hero-art{min-height:0;height:clamp(440px,60vw,560px)}
  .services-hero .services-hero-photo{min-height:0;width:100%;height:100%;object-fit:cover}
  .about-page-hero .about-page-portrait{min-height:0;height:clamp(440px,60vw,560px)}
  .about-page-hero .about-page-portrait img{min-height:0;width:100%;height:100%;object-fit:cover}
}
@media (width<=620px){
  .hero .hero-visual{height:clamp(320px,90vw,400px)}
  .services-hero .services-hero-art{height:clamp(320px,90vw,400px)}
  .about-page-hero .about-page-portrait{height:clamp(320px,90vw,400px)}
}


/* Experience ledger cards match the service-category card shell: blue left accent bar */
.experience-ledger article:before{content:"";position:absolute;top:0;bottom:0;left:0;width:6px;background:var(--blue)}


/* Interior heroes outrank section headers: the about/services hero H1 was --fs-title,
   identical to the section H2s, so the hero didn't dominate. Bump to --fs-display (like Home). */
.about-page-hero .about-page-hero-copy h1,.services-hero .page-hero-copy h1{font-size:var(--fs-display)}

/* Hero copy top-aligned on desktop (consistent H1 offset across pages) */
@media (width>900px){.hero-copy,.page-hero-copy,.about-page-hero-copy{justify-content:flex-start}}


/* Hero: top-aligned + extra top space (size unchanged). Only touches alignment + top padding — hero min-height is left as-is. */
@media (width>900px){
  .hero-copy,.page-hero-copy,.about-page-hero-copy{justify-content:flex-start;padding-top:clamp(140px,20vh,260px)}
  .about-page-hero-copy .hero-actions{margin-bottom:0}
}

/* about-why small label header */
.about-why-label{display:block;color:#b9d8ff;letter-spacing:.12em;text-transform:uppercase;font-size:var(--fs-label);font-weight:760;margin:38px 0 14px}.about-why-label+p{margin-top:0}
