@import url("tokens.css");

/* ============ Reset / base ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-text);font-size:var(--body-md);line-height:var(--lh-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{color:var(--text-heading);font-family:var(--font-text);font-weight:var(--weight-semibold);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0}
p{margin:0;text-wrap:pretty}
a{color:var(--link-color);text-decoration-thickness:1px;text-underline-offset:0.22em;transition:color var(--dur-fast) var(--ease-standard)}
a:hover{color:var(--link-color-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-1)}
.on-ink a:focus-visible,.on-ink button:focus-visible,.on-ink input:focus-visible{box-shadow:var(--focus-ring-dark)}
::selection{background:var(--champagne-300);color:var(--ink-900)}
hr{border:none;border-top:var(--hairline) solid var(--line-default);margin:0}
img{max-width:100%;display:block}
svg{display:block}
button{font:inherit}

.ls-display{font-family:var(--font-display);font-variation-settings:var(--fvs-display);font-weight:var(--weight-bold);font-size:var(--display-2);letter-spacing:var(--ls-display);line-height:var(--lh-display);color:var(--text-display);text-wrap:balance;margin:0}
.ls-label{font-family:var(--font-text);font-size:var(--label-md);font-weight:var(--weight-medium);letter-spacing:var(--ls-label-tight);color:var(--text-label)}
.ls-caps{font-family:var(--font-text);font-size:var(--label-sm);font-weight:var(--weight-semibold);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-label)}
.ls-numeral{font-family:var(--font-text);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}
.ls-measure{max-width:var(--measure-text)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:0;transform:translateY(-100%);background:var(--ink-900);color:var(--ivory);padding:12px 18px;border-radius:var(--radius-1);z-index:200;transition:transform var(--dur-fast) var(--ease-standard)}
.skip-link:focus{transform:translateY(12px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}

/* ============ Layout primitives ============ */
.lee-container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter-mobile)}
.lee-measure{max-width:1120px;margin-inline:auto;width:100%}
.lee-section{padding:52px 0}
.lee-section.tone-sunken{background:var(--surface-sunken)}
.lee-section.tone-champagne{background:var(--champagne-100)}
.lee-section.tone-raised{background:var(--ivory-raised)}

.lee-screen{padding:52px 0;display:grid;align-content:center}
.lee-screen.tone-raised{background:var(--ivory-raised)}
.lee-screen.tone-champagne{background:var(--champagne-100)}

@media (min-width:760px){
  .lee-container{padding:0 var(--gutter-tablet)}
  .lee-screen{padding:76px 0}
}
@media (min-width:1120px){
  .lee-container{padding:0 var(--gutter-desktop)}
  .lee-screen{min-height:calc(100svh - 144px);padding:38px 0 42px}
}
@media (min-width:1120px) and (max-height:950px){
  .lee-screen{padding:22px 0 26px}
}

/* ============ Wordmark (cut-bar lockup) ============ */
.lee-logo{display:block;width:108px;height:auto;color:var(--ivory)}
.lee-logo.size-lg{width:190px}
@media (min-width:1120px){
  .lee-logo{width:136px}
  .lee-logo.size-lg{width:220px}
}

/* ============ Icon ============ */
.lee-icon{display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ============ Header / navigation ============ */
.lee-header{position:relative;z-index:40;background:var(--ivory);border-bottom:1px solid var(--line-soft)}
.lee-header.on-ink{background:var(--ink-900);border-bottom-color:var(--ink-700)}
.lee-header.tone-transparent{background:transparent;border-bottom:none}
.lee-header-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-6);padding:14px 20px}
.lee-header-logo{justify-self:start;display:inline-flex;text-decoration:none}
.lee-nav-desktop{display:none}
.lee-header-cta-desktop{display:none}
.lee-menu-btn{background:none;border:none;width:48px;height:48px;display:grid;place-items:center;margin:-6px -12px -6px 0;color:var(--ink-900);cursor:pointer}
.lee-header.on-ink .lee-menu-btn,.lee-header.tone-transparent .lee-menu-btn{color:var(--ivory)}
.lee-menu-btn .lee-icon.icon-close{display:none}
.lee-menu-btn[aria-expanded="true"] .lee-icon.icon-menu{display:none}
.lee-menu-btn[aria-expanded="true"] .lee-icon.icon-close{display:block}

.lee-mobile-panel{display:none;width:100%;background:var(--ink-900);border-top:1px solid var(--ink-700);border-bottom:3px solid var(--champagne-500);padding:6px 20px 20px}
.lee-mobile-panel[data-open="true"]{display:grid;gap:0}
.lee-mobile-panel a{font-size:19px;font-weight:500;letter-spacing:-0.018em;text-decoration:none;display:flex;align-items:center;gap:12px;min-height:52px;padding-left:12px;border-bottom:1px solid var(--ink-800);color:var(--ivory)}
.lee-mobile-panel a[aria-current="page"]{font-weight:600;padding-left:0;color:var(--champagne-500)}
.lee-mobile-panel a[aria-current="page"]::before{content:"";width:3px;height:20px;background:var(--champagne-500)}
.lee-mobile-panel a.lee-btn[aria-current="page"]{color:var(--action-primary-text)}
.lee-mobile-panel .lee-btn{margin-top:var(--space-5)}

@media (min-width:1120px){
  .lee-header-row{grid-template-columns:1fr auto 1fr;padding:22px var(--gutter-desktop)}
  .lee-nav-desktop{display:flex;align-items:center;gap:var(--space-6);justify-self:center}
  .lee-nav-desktop a{font-size:15px;font-weight:500;letter-spacing:-0.008em;text-decoration:none;white-space:nowrap;padding:6px 0;color:var(--ink-500);border-bottom:2px solid transparent;transition:color var(--dur-fast) var(--ease-standard)}
  .lee-header.on-ink .lee-nav-desktop a,.lee-header.tone-transparent .lee-nav-desktop a{color:rgba(245,244,238,0.72)}
  .lee-nav-desktop a[aria-current="page"]{font-weight:600;border-bottom-color:var(--champagne-500);color:var(--ink-900)}
  .lee-header.on-ink .lee-nav-desktop a[aria-current="page"],.lee-header.tone-transparent .lee-nav-desktop a[aria-current="page"]{color:var(--ivory)}
  .lee-header-cta-desktop{display:block;justify-self:end}
  .lee-menu-btn,.lee-mobile-panel{display:none !important}
}

/* ============ Buttons ============ */
.lee-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-sans);font-size:16px;font-weight:600;letter-spacing:-0.012em;text-decoration:none;line-height:1.2;white-space:nowrap;padding:14px 24px;border-radius:var(--radius-action);border:1px solid transparent;cursor:pointer;text-align:center;transition:background var(--dur-base) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-standard)}
.lee-btn:active{transform:scale(var(--press-scale))}
.lee-btn .lee-icon{transition:transform var(--dur-base) var(--ease-out)}
.lee-btn:hover .lee-icon{transform:translateX(3px)}
.lee-btn.size-sm{padding:11px 20px;font-size:15px;gap:8px}
.lee-btn.size-lg{padding:17px 30px;font-size:17px;gap:10px}
.lee-btn.full{display:flex;width:100%}
.lee-btn.variant-primary{background:var(--action-primary-bg);color:var(--action-primary-text)}
.lee-btn.variant-primary:hover{background:var(--action-primary-bg-hover);color:var(--action-primary-text)}
.lee-btn.variant-secondary{background:transparent;color:var(--action-secondary-text);border-color:var(--action-secondary-border)}
.lee-btn.variant-secondary:hover{background:var(--action-secondary-bg-hover)}
.lee-btn.variant-accent{background:var(--champagne-500);color:var(--ink-900)}
.lee-btn.variant-accent:hover{background:var(--champagne-300)}
.on-ink .lee-btn.variant-primary{background:var(--champagne-500);color:var(--ink-900)}
.on-ink .lee-btn.variant-primary:hover{background:var(--champagne-300)}
.on-ink .lee-btn.variant-secondary{color:var(--ivory);border-color:rgba(245,244,238,0.4)}
.on-ink .lee-btn.variant-secondary:hover{background:rgba(245,244,238,0.07)}

/* Link arrow */
.lee-link-arrow{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;font-family:var(--font-sans);font-size:16.5px;font-weight:600;letter-spacing:-0.012em;color:var(--text-heading);transition:color var(--dur-fast) var(--ease-standard)}
.lee-link-arrow .lee-icon{transition:transform var(--dur-base) var(--ease-out)}
.lee-link-arrow:hover{color:var(--link-color-hover)}
.lee-link-arrow:hover .lee-icon{transform:translateX(3px)}
.lee-link-arrow.tone-accent{color:var(--text-accent)}
.lee-link-arrow.tone-atmos{color:var(--champagne-500)}
.lee-link-arrow.size-sm{font-size:15px}

/* ============ Badge ============ */
.lee-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-1);padding:4px 9px;font-family:var(--font-mono);font-size:var(--label-mono);letter-spacing:var(--ls-label-mono);text-transform:uppercase;line-height:1.4;background:var(--surface-sunken);color:var(--ink-600);border:1px solid var(--stone-500)}
.lee-badge.tone-ok{background:var(--status-ok-surface);color:var(--status-ok);border-color:#C6D3C6}
.lee-badge.tone-info{background:transparent;color:var(--status-info);border:1px dashed #8FB0B7}
.lee-badge.tone-stop{background:var(--status-stop-surface);color:var(--status-stop);border-color:#DAC3BC}

/* ============ Eyebrow / node ============ */
.lee-eyebrow{font-family:var(--font-mono);font-size:var(--label-mono);font-weight:400;letter-spacing:var(--ls-label-mono);text-transform:uppercase;color:var(--text-accent)}
.lee-eyebrow.tone-atmos{color:var(--champagne-500)}
.lee-node-dot{display:block;width:9px;height:9px;background:var(--champagne-500);box-shadow:0 0 0 4px var(--ivory)}
.tone-raised .lee-node-dot,.tone-champagne .lee-node-dot{box-shadow:0 0 0 4px var(--ivory-raised)}

/* ============ Page intro ============ */
.lee-page-intro{max-width:900px;margin-inline:auto;text-align:center;display:grid;justify-items:center;gap:16px}
.lee-page-intro h1,.lee-page-intro h2{font-size:36px;font-weight:700;letter-spacing:-0.032em;line-height:1.06;max-width:22ch;margin-inline:auto;text-wrap:balance}
.lee-page-intro p{font-size:17px;line-height:1.58;color:var(--text-body);max-width:56ch;margin-inline:auto;text-wrap:pretty}
@media (min-width:1120px){
  .lee-page-intro h1,.lee-page-intro h2{font-size:46px}
  .lee-page-intro p{font-size:18.5px}
}
@media (min-width:1120px) and (max-height:950px){
  .lee-page-intro{gap:10px}
  .lee-page-intro h1,.lee-page-intro h2{font-size:36px}
  .lee-page-intro p{font-size:17px}
}

/* ============ Photo frame ============ */
.lee-photo{aspect-ratio:4/3;background:var(--stone-300);display:grid;align-content:end;padding:var(--space-5);overflow:hidden}
.lee-photo.tone-ink{background:var(--ink-800)}
.lee-photo span{font-size:13px;font-weight:500;letter-spacing:-0.004em;color:var(--ink-500)}
.lee-photo.tone-ink span{color:var(--champagne-500)}
.lee-photo.has-image{padding:0;position:relative}
.lee-photo.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}

/* ============ Hero (Home) ============ */
.lee-hero{background:var(--ink-900);position:relative;overflow:hidden;min-height:600px;display:flex;flex-direction:column}
.lee-hero-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(115% 85% at 50% 48%, rgba(13,19,16,0.66) 0%, rgba(13,19,16,0) 74%)}
.lee-hero-amb{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.lee-hero-head{position:relative;z-index:1}
.lee-hero-body{position:relative;z-index:1;flex:1;display:grid;place-items:center;padding:40px 22px 52px}
.lee-hero-inner{display:grid;justify-items:center;text-align:center;max-width:940px}
.lee-hero-inner h1{font-size:36px;max-width:17ch}
.lee-hero-inner .lede{font-size:17px;line-height:1.6;color:rgba(245,244,238,0.78);max-width:52ch;margin-top:22px}
.lee-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:28px}
.lee-hero-location{display:none;position:relative;z-index:1;padding:0 64px 36px;font-size:13.5px;font-weight:500;color:rgba(245,244,238,0.42)}
@media (min-width:760px){
  .lee-hero{min-height:690px}
  .lee-hero-body{padding:48px 40px 60px}
  .lee-hero-inner h1{font-size:50px;max-width:20ch}
  .lee-hero-inner .lede{font-size:19.5px;margin-top:30px}
  .lee-hero-actions{gap:30px;margin-top:38px}
  .lee-hero-location{display:block;padding:0 40px 30px}
}
@media (min-width:1120px){
  .lee-hero{min-height:calc(100svh - 44px)}
  .lee-hero-body{padding:32px 64px 64px}
  .lee-hero-inner h1{font-size:66px}
  .lee-hero-location{padding:0 64px 36px}
}

/* ============ Footer ============ */
.lee-footer-slim{display:none;background:var(--ink-900);color:var(--ivory);border-top:1px solid var(--ink-700);padding:0 var(--gutter-desktop);height:44px;align-items:center;justify-content:space-between;gap:var(--space-6)}
.lee-footer-slim .copy{font-size:13px;color:var(--text-tertiary)}
.lee-footer-slim .links{display:flex;gap:var(--space-6);align-items:center}
.lee-footer-slim a{display:flex;gap:8px;align-items:center;font-size:13.5px;color:rgba(245,244,238,0.7);text-decoration:none}
.lee-footer-slim .lee-icon{color:var(--sage-500)}

.lee-footer-compact{background:var(--ink-900);color:var(--ivory);padding:30px 22px 26px}
.lee-footer-compact nav{display:grid}
.lee-footer-compact nav a{display:flex;gap:var(--space-3);align-items:center;min-height:48px;font-size:16px;font-weight:500;color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--ink-800)}
.lee-footer-compact .contact{display:grid;margin-top:var(--space-4)}
.lee-footer-compact .contact a,.lee-footer-compact .contact span{display:flex;gap:var(--space-3);align-items:center;min-height:48px;font-size:16px;color:var(--ivory);text-decoration:none}
.lee-footer-compact .contact span{min-height:40px;color:rgba(245,244,238,0.66)}
.lee-footer-compact .contact .lee-icon{color:var(--sage-500)}
.lee-footer-compact .legal{display:block;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--ink-700);font-size:13px;color:var(--text-tertiary)}

@media (min-width:1120px){
  .lee-footer-slim{display:flex}
  .lee-footer-compact{display:none}
}

/* ============ Forms ============ */
.lee-field{display:flex;flex-direction:column;gap:var(--space-2)}
.lee-field label{font-family:var(--font-mono);font-size:var(--label-mono);letter-spacing:var(--ls-label-mono);text-transform:uppercase;color:var(--text-label)}
.lee-field .hint{font-size:var(--body-sm);line-height:1.45;color:var(--text-secondary)}
.lee-input,.lee-textarea{font-family:var(--font-text);font-size:16px;line-height:1.5;color:var(--text-heading);background:var(--surface-field);border:1px solid var(--line-default);border-radius:var(--radius-1);padding:13px 14px;width:100%;min-width:0;outline:none;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}
.lee-input{text-overflow:ellipsis}
.lee-input:focus,.lee-textarea:focus{border-color:var(--sage-700);box-shadow:inset 0 0 0 1px var(--sage-700)}
.lee-textarea{resize:vertical}

/* ============ Motion system ============ */
@keyframes lee-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes lee-rise-sm{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes lee-fade{from{opacity:0}to{opacity:1}}
@keyframes lee-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes lee-mask{from{opacity:0;clip-path:inset(14% 0 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes lee-node{0%{opacity:0;transform:scale(.25);box-shadow:0 0 0 4px var(--lee-ring,var(--ivory)),0 0 0 4px rgba(216,198,165,.6)}70%{opacity:1;transform:scale(1)}100%{opacity:1;transform:scale(1);box-shadow:0 0 0 4px var(--lee-ring,var(--ivory)),0 0 0 13px rgba(216,198,165,0)}}
@keyframes lee-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-7px)}}
.lee-rise{animation:lee-rise 600ms var(--ease-standard) both}
.lee-rise-sm{animation:lee-rise-sm 560ms var(--ease-standard) both}
.lee-fade{animation:lee-fade 620ms var(--ease-standard) both}
.lee-mask{animation:lee-mask 900ms var(--ease-standard) both}
.lee-draw{transform-origin:left center;animation:lee-draw 520ms var(--ease-standard) both}
.lee-node{animation:lee-node 620ms var(--ease-standard) both}
.lee-drift{animation:lee-drift 14s ease-in-out infinite}

.lee-card{position:relative;transition:background-color 220ms var(--ease-standard);border-radius:var(--radius-1)}
.lee-card:focus-visible,.lee-step:focus-visible{outline:2px solid var(--champagne-500);outline-offset:4px}
.lee-card:hover,.lee-card:focus-visible,.lee-card:focus{background:var(--ivory-raised)}
.lee-card .lee-ico,.lee-card .lee-dot,.lee-card .lee-line{transition:color 220ms var(--ease-standard),transform 220ms var(--ease-standard),outline-color 260ms var(--ease-standard),background-color 220ms var(--ease-standard)}
.lee-line{background:var(--line-soft)}
.lee-seg{background:var(--line-strong)}
.lee-dot{outline:3px solid rgba(216,198,165,0);outline-offset:4px}
.lee-card:hover .lee-ico,.lee-card:focus-visible .lee-ico,.lee-card:focus .lee-ico{color:var(--sage-700);transform:translateY(-2px)}
.lee-card:hover .lee-dot,.lee-card:focus-visible .lee-dot,.lee-card:focus .lee-dot{outline-color:rgba(216,198,165,.5)}
.lee-card:hover .lee-line,.lee-card:focus-visible .lee-line,.lee-card:focus .lee-line{background:var(--champagne-500)}
.lee-step:focus-visible{outline:2px solid var(--champagne-500);outline-offset:6px}
.lee-step .lee-seg,.lee-step .lee-dot,.lee-step .lee-ico{transition:background-color 220ms var(--ease-standard),outline-color 260ms var(--ease-standard),color 220ms var(--ease-standard),transform 220ms var(--ease-standard)}
.lee-step:hover .lee-seg,.lee-step:focus-visible .lee-seg,.lee-step:focus .lee-seg{background:var(--champagne-500)}
.lee-step:hover .lee-dot,.lee-step:focus-visible .lee-dot,.lee-step:focus .lee-dot{outline-color:rgba(216,198,165,.55)}
.lee-step:hover .lee-ico,.lee-step:focus-visible .lee-ico,.lee-step:focus .lee-ico{color:var(--sage-700);transform:translateY(-2px)}
.lee-form input,.lee-form textarea{transition:border-color 180ms var(--ease-standard),box-shadow 180ms var(--ease-standard),background-color 180ms var(--ease-standard)}

/* ============ Brand field + brand line ============ */
.lee-brand-line{margin:0 0 20px;font-family:var(--font-display);font-variation-settings:var(--fvs-display);font-weight:400;font-size:var(--brand-line-sm);letter-spacing:var(--ls-brand-line-sm);line-height:var(--lh-brand-line);text-transform:uppercase;color:var(--sage-400)}
.lee-brand-line-dot{color:rgba(140,176,154,.45);padding:0 .15em}
@media (min-width:900px){
  .lee-brand-line{font-size:var(--brand-line-md);letter-spacing:var(--ls-brand-line);margin-bottom:26px}
}

/* ============ Closing CTA band ============ */
.lee-closing{background:var(--champagne-100);padding:60px 0}
.lee-closing .inner{display:grid;justify-items:center;text-align:center;gap:18px}
.lee-closing h2{font-size:32px;max-width:20ch}
.lee-closing p{font-size:16.5px;line-height:1.6;color:var(--text-body);max-width:50ch;margin-inline:auto;text-wrap:pretty}
.lee-closing .contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}
.lee-closing .contacts a{display:flex;gap:8px;align-items:center;min-height:44px;font-size:15px;color:var(--text-body);text-decoration:none}
.lee-closing .contacts .lee-icon{color:var(--sage-700)}
@media (min-width:1120px){.lee-closing{display:none}}

/* ============ What we do ============ */
.services-grid{display:grid;grid-template-columns:1fr;column-gap:var(--space-7);row-gap:var(--space-7);margin-top:var(--space-7)}
.service-card{display:grid;gap:var(--space-3);align-content:start;padding:18px 14px;margin:0 -14px;position:relative}
.service-card .lee-line{position:absolute;top:0;left:0;right:0;height:1px}
.service-card .lee-dot{position:absolute;top:-4px;left:14px}
.service-card .lee-ico{display:inline-flex;color:var(--text-accent)}
.service-card .lee-ico .lee-icon{width:28px;height:28px}
.service-card .title{font-size:18px;font-weight:600;letter-spacing:-0.02em;color:var(--text-heading);line-height:1.25}
.service-card p{font-size:15.5px;line-height:1.58;color:var(--text-body);max-width:38ch}
@media (min-width:760px){.services-grid{grid-template-columns:repeat(2,1fr);column-gap:var(--space-8)}}
@media (min-width:1120px){
  .services-grid{grid-template-columns:repeat(3,1fr);column-gap:var(--space-8);row-gap:var(--space-7);margin-top:var(--space-8)}
  .service-card{padding:20px 14px;gap:12px}
  .service-card .lee-ico .lee-icon{width:32px;height:32px}
  .service-card .title{font-size:21px}
  .service-card p{font-size:15.5px}
}
@media (min-width:1120px) and (max-height:950px){
  .services-grid{row-gap:var(--space-4);margin-top:var(--space-5)}
  .service-card{padding:14px 14px;gap:9px}
  .service-card .lee-ico .lee-icon{width:27px;height:27px}
  .service-card .title{font-size:18.5px}
  .service-card p{font-size:14.5px;line-height:1.5}
}

/* ============ How we work ============ */
.process-grid{display:grid;grid-template-columns:1fr;column-gap:var(--space-6);row-gap:var(--space-7);margin-top:var(--space-7);position:relative}
.process-step{display:grid;gap:12px;align-content:start;position:relative}
.process-step .seg-wrap{display:flex;align-items:center;gap:12px;height:9px;position:relative}
.process-step .lee-seg{position:absolute;top:4px;left:0;right:calc(var(--space-6) * -1);height:1px;display:none}
.process-step .num{font-size:13px;color:var(--text-accent);background:var(--ivory-raised);padding:0 7px;position:relative}
.process-step .lee-ico{display:inline-flex;color:var(--text-accent);margin-top:2px}
.process-step .lee-ico .lee-icon{width:28px;height:28px}
.process-step .title{font-size:20px;font-weight:600;letter-spacing:-0.022em;color:var(--text-heading);line-height:1.2}
.process-step p{font-size:15px;line-height:1.55;color:var(--text-secondary);max-width:30ch}
.process-note{font-size:16px;line-height:1.55;color:var(--text-body);max-width:74ch;margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--line-soft)}
@media (min-width:760px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1120px){
  .process-grid{grid-template-columns:repeat(5,1fr);margin-top:var(--space-8)}
  .process-step .lee-seg{display:block}
  .process-step:last-child .lee-seg{right:0}
  .process-step .lee-ico{margin-top:6px}
  .process-step .lee-ico .lee-icon{width:32px;height:32px}
  .process-step .title{font-size:23px}
  .process-step p{font-size:15px}
  .process-note{margin-top:var(--space-7)}
}
@media (min-width:1120px) and (max-height:950px){
  .process-grid{margin-top:var(--space-6)}
  .process-step .lee-ico .lee-icon{width:27px;height:27px}
  .process-step .title{font-size:19.5px}
  .process-step p{font-size:14.5px;line-height:1.5}
  .process-note{margin-top:var(--space-5);padding-top:var(--space-4)}
}

/* ============ About ============ */
.about-drift{position:absolute;inset:0;pointer-events:none;opacity:0.45}
.about-drift span{position:absolute;background:var(--champagne-500)}
.about-grid{display:grid;grid-template-columns:1fr;gap:var(--space-7);align-items:center;margin-top:var(--space-6);position:relative}
.about-text{display:grid;gap:var(--space-5);max-width:58ch}
.about-text p{font-size:16px;line-height:1.62;color:var(--text-body);text-wrap:pretty}
.about-mission{background:var(--champagne-100);margin-top:var(--space-7);padding:22px 24px;display:grid;justify-items:center;text-align:center;gap:8px}
.about-mission p{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-0.016em;color:var(--text-heading);max-width:62ch;margin-inline:auto;text-wrap:balance}
@media (min-width:1120px){
  .about-grid{grid-template-columns:1fr 0.78fr;gap:var(--space-8)}
  .about-text p{font-size:17px}
  .about-mission p{font-size:20px}
}
@media (min-width:1120px) and (max-height:950px){
  .about-text p{font-size:15.5px;line-height:1.55}
  .about-mission{margin-top:var(--space-5);padding:12px 24px}
  .about-mission p{font-size:17.5px}
}

/* ============ Contact ============ */
.contact-grid{display:block;margin-top:var(--space-6)}
.contact-details{position:relative;display:flex;flex-direction:column;flex-wrap:wrap;gap:20px;margin-top:var(--space-5)}
.contact-details .name{font-size:17px;font-weight:600;letter-spacing:-0.016em;color:var(--text-heading)}
.contact-details a,.contact-details .static{display:flex;gap:10px;align-items:center;min-height:44px;font-size:16px;color:var(--text-heading);text-decoration:none}
.contact-details .static{color:var(--text-secondary)}
.contact-details .lee-icon{color:var(--sage-700)}
.contact-note{display:none}
.contact-form{background:var(--ivory-raised);border:1px solid var(--line-soft);border-top:3px solid var(--champagne-500);box-shadow:0 1px 2px rgba(13,19,16,.05);max-width:680px;margin-inline:auto;width:100%;padding:var(--space-6);margin-top:var(--space-6)}
.contact-form .row-2{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
.contact-form form{display:grid;gap:var(--space-4)}
.contact-form form[hidden]{display:none}
.contact-form .submit-row{display:none}
.contact-form .submit-row-mobile{display:grid;gap:var(--space-4)}
.contact-form .hint-mobile{font-size:14px;color:var(--text-secondary);text-align:center}
@media (min-width:1120px){
  .contact-grid{display:grid;grid-template-columns:0.34fr 0.66fr;gap:var(--space-8);align-items:start}
  .contact-details{margin-top:0}
  .contact-note{display:block;font-size:15px;line-height:1.55;color:var(--text-secondary);max-width:28ch;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line-soft)}
  .contact-form{max-width:none;padding:var(--space-7)}
  .contact-form .row-2{grid-template-columns:1fr 1fr}
  .contact-form .submit-row{display:flex;justify-content:flex-end;margin-top:2px}
  .contact-form .submit-row-mobile{display:none}
  .contact-form .hint-mobile{display:none}
}
@media (min-width:1120px) and (max-height:950px){
  .contact-form{padding:var(--space-5)}
  .contact-form form{gap:var(--space-3)}
  .contact-form .row-2{gap:var(--space-3)}
}
.contact-confirmation{display:grid;gap:var(--space-5);justify-items:start}
.contact-confirmation[hidden]{display:none}
.contact-connector{display:none}
@media (min-width:1120px){
  .contact-connector{display:block;position:absolute;top:12px;left:100%;width:var(--space-8);height:1px;background:var(--champagne-500)}
  .contact-connector-node{display:block;position:absolute;top:8px;left:calc(100% + var(--space-8) - 9px)}
}

/* ============ Client stories ============ */
.stories-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);max-width:1060px;margin-inline:auto;width:100%;margin-top:var(--space-7)}
.story-card{background:var(--ivory-raised);padding:var(--space-6);display:grid;gap:var(--space-4);align-content:start}
.story-card .head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.story-slot{display:grid;gap:5px}
.story-slot .label{font-family:var(--font-mono);font-size:var(--label-mono);line-height:1.2;letter-spacing:var(--ls-label-mono);text-transform:uppercase;color:var(--text-accent)}
.story-slot .hint-box{border:1px dashed var(--line-strong);background:var(--ivory);padding:8px 11px;min-height:31px;display:grid;align-content:center}
.story-slot .hint-box span{font-size:12.5px;line-height:1.4;color:var(--text-tertiary);text-wrap:pretty}
.story-open{display:flex;justify-content:flex-end;margin-top:2px}
.stories-note{font-size:13.5px;line-height:1.5;color:var(--text-secondary);text-align:center;max-width:82ch;margin-inline:auto;margin-top:var(--space-6)}
@media (min-width:760px){.stories-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1120px) and (max-height:950px){
  .stories-grid{margin-top:var(--space-5);gap:var(--space-5)}
  .story-card{padding:var(--space-5);gap:var(--space-3)}
  .stories-note{margin-top:var(--space-4)}
}

.story-detail-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);max-width:940px;margin-inline:auto;width:100%;margin-top:var(--space-6)}
.story-detail-grid .full{grid-column:auto}
@media (min-width:1120px){
  .story-detail-grid{grid-template-columns:1fr 1fr}
  .story-detail-grid .full{grid-column:1 / -1}
}

/* ============ Utility ============ */
.center{text-align:center}
.mt-0{margin-top:0}
