@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-stretch:75% 125%;font-display:swap;src:url(fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Big Shoulders';font-style:normal;font-weight:700 900;font-display:swap;src:url(fonts/big-shoulders-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Big Shoulders Stencil';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/big-shoulders-stencil-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Layout concept: cut steel plates on a tender schedule.
   Corner cuts use the 45-degree geometry of the K logo, content sits in schedule rows,
   and every photograph is graded to the letterhead navy. */
:root{
  /* Brand constants from the letterhead and logo. The same in both themes. */
  --navy-950:#0F1824;
  --navy-900:#15202E;
  --navy-800:#16293C;
  --navy-700:#223B53;
  --steel-700:#6F7774;
  --steel-500:#ABAFB1;
  --steel-300:#D7DBDA;
  --steel-100:#EEF1F2;
  --graphite:#595959;
  --on-photo:#FFFFFF;
  --on-photo-2:#DDE1E3;
  --on-photo-line:rgba(255,255,255,.24);
  --shade-1:rgba(15,24,36,.08);
  --shade-2:rgba(15,24,36,.94);
  --brushed:linear-gradient(105deg,#8A9088 0%,#E4E9EC 20%,#B4BAB5 42%,#F6F8F8 60%,#B4BAB5 80%,#8A9088 100%);
  --sheen:rgba(255,255,255,.5);

  /* Roles: light theme */
  --bg:#EFF1F3;
  --bg-alt:#E4E8EB;
  --surface:#FFFFFF;
  --ink:#15202E;
  --ink-2:#4F5559;
  --ink-3:#5F666A;
  --line:#C8CED2;
  --line-2:#8F979B;
  --btn-img:linear-gradient(105deg,#16293C,#16293C);
  --btn-ink:#FFFFFF;
  --steel-text:linear-gradient(100deg,#16293C 0%,#5A6670 38%,#16293C 58%,#5A6670 100%);
  --header-bg:rgba(239,241,243,.88);
  --header-solid:#EFF1F3;
  --k-glow:rgba(22,41,60,.08);
  --flow-us:#16293C;
  --flow-us-ink:#FFFFFF;
  --tag-bg:#FFFFFF;
  --tag-ink:#15202E;
  --ok:#1C6B4F;
  --err:#A32C2C;
  --sun:0;
  --moon:1;
  --photo-tint:.68;

  /* Type */
  --font-display:"Big Shoulders","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --font-stencil:"Big Shoulders Stencil","Big Shoulders","Arial Narrow",Impact,sans-serif;
  --font-body:"Archivo","Helvetica Neue",Arial,sans-serif;

  /* Space and motion */
  --max:1360px;
  --gut-l:max(clamp(16px,4.2vw,64px),env(safe-area-inset-left,0px));
  --gut-r:max(clamp(16px,4.2vw,64px),env(safe-area-inset-right,0px));
  --sec:clamp(72px,9.5vw,148px);
  --header-h:72px;
  --cut:24px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --enter:.1s;
  /* First load settles from a readable state. html.routed switches page changes to the full reveal. */
  --a-soft:settle-soft;
  --a-line:settle-line;
  --a-kl:settle-kl;
  --a-kr:settle-kr;
}
html.routed{--a-soft:rise-soft;--a-line:rise-line;--a-kl:kw-l;--a-kr:kw-r}
@media (prefers-color-scheme:dark){
  :root:root:not([data-theme="light"]){
    --bg:#15202E;
    --bg-alt:#101A27;
    --surface:#1B2E43;
    --ink:#EAEDEF;
    --ink-2:#B6BBBD;
    --ink-3:#9CA3A7;
    --line:#2D4258;
    --line-2:#54697D;
    --btn-img:var(--brushed);
    --btn-ink:#15202E;
    --steel-text:linear-gradient(100deg,#FFFFFF 0%,#A3A9AA 38%,#F6F8F8 58%,#A3A9AA 100%);
    --header-bg:rgba(21,32,46,.86);
    --header-solid:#15202E;
    --k-glow:rgba(171,175,177,.14);
    --flow-us:#D7DBDA;
    --flow-us-ink:#15202E;
    --tag-bg:#EAEDEF;
    --tag-ink:#15202E;
    --ok:#7FD8AE;
    --err:#F2A19B;
    --sun:1;
    --moon:0;
    --photo-tint:.72;
    color-scheme:dark;
  }
}
:root:root[data-theme="dark"]{
  --bg:#15202E;
  --bg-alt:#101A27;
  --surface:#1B2E43;
  --ink:#EAEDEF;
  --ink-2:#B6BBBD;
  --ink-3:#9CA3A7;
  --line:#2D4258;
  --line-2:#54697D;
  --btn-img:var(--brushed);
  --btn-ink:#15202E;
  --steel-text:linear-gradient(100deg,#FFFFFF 0%,#A3A9AA 38%,#F6F8F8 58%,#A3A9AA 100%);
  --header-bg:rgba(21,32,46,.86);
  --header-solid:#15202E;
  --k-glow:rgba(171,175,177,.14);
  --flow-us:#D7DBDA;
  --flow-us-ink:#15202E;
  --tag-bg:#EAEDEF;
  --tag-ink:#15202E;
  --ok:#7FD8AE;
  --err:#F2A19B;
  --sun:1;
  --moon:0;
  --photo-tint:.72;
  color-scheme:dark;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--header-solid)}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,dl,dd,pre{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
fieldset{border:0;padding:0;margin:0;min-width:0}
legend{padding:0}
address{font-style:normal}
::selection{background:var(--navy-800);color:var(--on-photo)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
.i{width:1.15em;height:1.15em;flex:none;transition:transform .45s var(--ease-out)}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wrap{width:100%;max-width:calc(var(--max) + 2 * clamp(16px,4.2vw,64px));margin-inline:auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.skip{position:fixed;left:var(--gut-l);top:-80px;z-index:120;background:var(--ink);color:var(--bg);padding:.7em 1.1em;font-weight:600;text-decoration:none}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 10px)}

html.js .view:not(.is-active){display:none}
html[data-page="contact"] .cta{display:none}
html[data-page="services"] .cta{clip-path:none}

/* Reveal: at rest everything is visible. Only blocks still below the fold get armed, on the first scroll. */
[data-reveal]{transition:opacity .9s var(--ease-out),transform 1s var(--ease-out);transition-delay:calc(var(--d,0) * 90ms)}
[data-reveal].armed{opacity:0;transform:translateY(30px);transition:none}

/* Entrance sequence. Replays whenever a view goes from hidden to shown. */
.enter{animation:var(--a-soft) .9s var(--ease-out) both;animation-delay:calc(var(--enter) + var(--i,0) * 70ms)}
.ln{display:block;padding-bottom:.05em;margin-bottom:-.05em}
html.routed .ln{overflow:hidden}
.ln>span{display:block;animation:var(--a-line) 1s var(--ease-out) both;animation-delay:calc(var(--enter) + var(--i,0) * 70ms)}
.steel-text{background-image:var(--steel-text);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ln>.steel-text{animation:var(--a-line) 1s var(--ease-out) calc(var(--enter) + var(--i,0) * 70ms) both,steel-drift 11s ease-in-out 1.2s infinite alternate}
@keyframes rise-line{from{transform:translateY(106%)}to{transform:none}}
@keyframes rise-soft{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes settle-line{from{transform:translateY(9%)}to{transform:none}}
@keyframes settle-soft{from{transform:translateY(12px)}to{transform:none}}
@keyframes steel-drift{from{background-position:0 0}to{background-position:100% 0}}

/* ---------- Type ---------- */
.display,.page-title,.h2,.h3,.indent-title,.cta-title,.statement{font-family:var(--font-display);text-transform:uppercase;text-wrap:balance}
.display{font-weight:800;font-size:min(18.4vw,7.5rem);line-height:.9;letter-spacing:.002em;margin-block:.16em .2em}
.page-title{font-weight:800;font-size:15vw;line-height:.92;margin-top:.14em}
.h2{font-weight:800;font-size:clamp(2.75rem,5.6vw,5.25rem);line-height:.96;letter-spacing:.003em}
.h3{font-weight:700;font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.06;letter-spacing:.008em}
.lede{font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.55;color:var(--ink-2);max-width:56ch}
.label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-stretch:110%;color:var(--ink-2);line-height:1.4}
.eyebrow{display:flex;align-items:center;gap:.8em;font-size:.75rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;font-stretch:110%;color:var(--ink-2);line-height:1.4}
.eyebrow::before{content:"";flex:none;width:22px;height:9px;background:var(--brushed);transform:skewX(-45deg)}
.eyebrow--photo{color:var(--on-photo-2)}
.lede--photo{color:var(--on-photo)}
@media (min-width:640px){.page-title{font-size:clamp(4.5rem,7.4vw,7rem)}}
@media (min-width:960px){.display{font-size:clamp(5.5rem,8.9vw,8.75rem)}}

/* ---------- Plates and photographs ---------- */
.plate{clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.plate--lg{--cut:clamp(24px,4vw,56px)}
.photo{position:relative;overflow:hidden;isolation:isolate;background:var(--navy-800)}
.photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.photo::after{content:"";position:absolute;inset:0;background:var(--navy-800);mix-blend-mode:color;opacity:var(--photo-tint);pointer-events:none;transition:opacity .7s var(--ease-out)}
@media (hover:hover){
  .photo:hover img{transform:scale(1.04)}
  .photo:hover::after{opacity:.12}
}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:50px;padding:.85em 1.45em;border:0;background:none;font-weight:600;font-size:.9688rem;line-height:1.1;letter-spacing:.01em;text-decoration:none;white-space:nowrap;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%);transition:background-color .35s,color .35s,transform .35s var(--ease-out)}
.btn:focus-visible{outline-offset:-6px;outline-color:currentColor}
.btn::after{content:"";position:absolute;top:-20%;bottom:-20%;left:0;width:42%;background:linear-gradient(90deg,transparent,var(--sheen),transparent);transform:translateX(-170%) skewX(-24deg);transition:transform .8s var(--ease-out);pointer-events:none}
.btn-sm{min-height:44px;padding:.7em 1.15em;font-size:.875rem}
.btn-primary{background-image:var(--btn-img);color:var(--btn-ink)}
.btn-steel{background-image:var(--brushed);color:var(--navy-900)}
.btn-ghost{color:var(--ink)}
.btn-ghost--photo{color:var(--on-photo)}
.btn-ghost::before{content:"";position:absolute;inset:0;background:currentColor;clip-path:polygon(evenodd,0 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 0,1.5px 1.5px,1.5px calc(100% - 1.5px),calc(100% - 13.7px) calc(100% - 1.5px),calc(100% - 1.5px) calc(100% - 13.7px),calc(100% - 1.5px) 1.5px,1.5px 1.5px);pointer-events:none}
@media (hover:hover){
  .btn:hover::after{transform:translateX(330%) skewX(-24deg)}
  .btn:hover .i{transform:translateX(4px)}
  .btn-ghost:hover{background-color:var(--ink);color:var(--bg)}
  .btn-ghost--photo:hover{background-color:var(--on-photo);color:var(--navy-900)}
}
.btn:active{transform:translateY(1px)}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{display:inline-flex;align-items:center;gap:.55em;background:none;border:0;padding:.4em 0;font-weight:600;text-decoration:none;color:var(--ink)}
@media (hover:hover){.link-arrow:hover .i{transform:translateX(5px)}}
.link-arrow--back{margin-top:14px;text-decoration:underline;text-underline-offset:3px}

/* ---------- Header ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background-color .35s,box-shadow .35s}
.site-head.is-stuck{background:var(--header-bg);-webkit-backdrop-filter:saturate(1.2) blur(14px);backdrop-filter:saturate(1.2) blur(14px);box-shadow:0 1px 0 var(--line)}
.site-head-row{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--header-h)}
.head-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;pointer-events:none;opacity:.75}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.brand-mark{height:48px;width:auto;flex:none;transition:transform .7s var(--ease-out)}
.brand-text{display:grid;gap:3px;min-width:0}
.brand-name{font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap}
.brand-sub{font-size:.5938rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-stretch:108%;line-height:1;color:var(--ink-2);white-space:nowrap}
@media (hover:hover){.brand:hover .brand-mark{transform:translateY(-2px) scale(1.04)}}
@media (max-width:419px){
  .brand{gap:8px}
  .brand-mark{height:42px}
  .brand-name{font-size:1.3125rem}
  .brand-sub{font-size:.5rem;letter-spacing:.07em}
}
@media (max-width:339px){.brand-sub{display:none}}
.nav{display:none}
.head-actions{display:flex;align-items:center;gap:10px;flex:none}
.head-cta{display:none}
.theme-btn,.menu-btn{position:relative;width:44px;height:44px;padding:0;background:none;border:0;color:var(--ink);flex:none}
.theme-btn::before,.menu-btn::before{content:"";position:absolute;inset:0;background:var(--line-2);clip-path:polygon(evenodd,0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 0,1px 1px,1px calc(100% - 1px),calc(100% - 10.4px) calc(100% - 1px),calc(100% - 1px) calc(100% - 10.4px),calc(100% - 1px) 1px,1px 1px);transition:background-color .3s}
@media (hover:hover){.theme-btn:hover::before,.menu-btn:hover::before{background:var(--ink)}}
.theme-btn svg{position:absolute;inset:11px;width:22px;height:22px;transition:transform .7s var(--ease-out),opacity .35s}
.theme-sun{opacity:var(--sun);transform:rotate(calc((1 - var(--sun)) * -120deg)) scale(calc(.5 + var(--sun) * .5))}
.theme-moon{opacity:var(--moon);transform:rotate(calc((1 - var(--moon)) * 120deg)) scale(calc(.5 + var(--moon) * .5))}
.menu-btn span{position:absolute;left:11px;right:11px;height:2px;background:currentColor;transition:transform .5s var(--ease-out),top .5s var(--ease-out)}
.menu-btn span:nth-child(1){top:17px}
.menu-btn span:nth-child(2){top:25px}
.menu-open .menu-btn span:nth-child(1){top:21px;transform:rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){top:21px;transform:rotate(-45deg)}
@media (min-width:560px){.head-cta{display:inline-flex}}
@media (min-width:960px){
  .nav{display:flex;align-items:center;gap:clamp(18px,2.3vw,36px)}
  .nav a{position:relative;padding-block:8px;font-weight:600;font-size:.9375rem;text-decoration:none;color:var(--ink)}
  .nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:100% 50%;transition:transform .5s var(--ease-out)}
  .nav a:hover::after,.nav a.is-current::after{transform:scaleX(1);transform-origin:0 50%}
  .menu-btn{display:none}
}

/* ---------- Mobile menu ---------- */
.menu{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow-y:auto;background:var(--navy-900);color:var(--on-photo);padding:calc(var(--header-h) + env(safe-area-inset-top,0px) + 14px) var(--gut-r) calc(24px + env(safe-area-inset-bottom,0px)) var(--gut-l);clip-path:polygon(100% 0,100% 0,100% 0,100% 0);visibility:hidden;transition:clip-path .65s var(--ease-io),visibility 0s linear .65s}
.menu.is-open{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);visibility:visible;transition:clip-path .65s var(--ease-io),visibility 0s}
.menu-nav a{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(2.75rem,14.5vw,4.5rem);line-height:1.06;text-transform:uppercase;text-decoration:none;opacity:0;transform:translateY(22px)}
.menu.is-open .menu-nav a{opacity:1;transform:none;transition:opacity .5s calc(.15s + var(--i) * 45ms),transform .8s var(--ease-out) calc(.15s + var(--i) * 45ms)}
.menu-nav a.is-current{color:var(--steel-500)}
.menu-foot{display:grid;gap:14px;justify-items:start}
.menu-foot .btn{--btn-img:var(--brushed);--btn-ink:var(--navy-900)}
.menu-lines{color:var(--on-photo-2);font-size:.9375rem;overflow-wrap:anywhere}
.menu-open{overflow:hidden}
.menu-open body{overflow:hidden}
.menu-open .site-head{--ink:#FFFFFF;--ink-2:var(--on-photo-2);--line-2:var(--steel-500);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.menu-open .head-cta{display:none}
@media (min-width:960px){.menu{display:none}}

/* ---------- Page wipe ---------- */
.shutter{position:fixed;inset:0;z-index:100;overflow:hidden;visibility:hidden;pointer-events:none}
.shutter.is-on{visibility:visible;pointer-events:auto}
.shutter-plate{position:absolute;top:0;bottom:0;left:-50vh;width:calc(100vw + 100vh);background:var(--navy-800);transform:translateX(-100%) skewX(-45deg)}
.shutter-plate::before,.shutter-plate::after{content:"";position:absolute;top:0;bottom:0;width:5px;background:var(--brushed)}
.shutter-plate::before{left:0}
.shutter-plate::after{right:0}

/* Real pages on the live site: the plate covers the first paint, then lifts */
html[data-multipage]{scroll-behavior:smooth}
html[data-multipage] section[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
html.arriving{--enter:.28s}
html.arriving .shutter{visibility:visible}
html.arriving .shutter-plate{animation:wipe-away .56s cubic-bezier(.76,0,.24,1) .04s both}
@keyframes wipe-away{from{transform:translateX(0) skewX(-45deg)}to{transform:translateX(100%) skewX(-45deg)}}

/* Theme change: a circular reveal from the toggle where the browser supports it */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}

/* ---------- Home: hero ---------- */
.hero{padding-top:clamp(12px,2.6vw,40px)}
.hero-grid{display:grid;gap:clamp(28px,4vw,64px)}
.hero-copy{min-width:0}
.hero-copy .actions{margin-top:clamp(20px,2.2vw,30px)}
.hero-k{position:relative;width:100%;max-width:480px;margin-inline:auto}
.hero-k::before{content:"";position:absolute;inset:-6%;background:radial-gradient(closest-side,var(--k-glow),transparent 72%);pointer-events:none}
@media (min-width:960px){
  .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}
  .hero-k{max-width:none}
}

/* The K window: the two pieces of the logo, one for each line of business */
.kw{position:relative;width:100%;aspect-ratio:319/350}
.kw-part{position:absolute;inset:0;display:block;pointer-events:none;color:inherit;text-decoration:none}
.kw-part:focus-visible{outline-offset:6px}
.kw-l{animation:var(--a-kl) 1.3s var(--ease-out) both;animation-delay:var(--enter)}
.kw-r{animation:var(--a-kr) 1.3s var(--ease-out) both;animation-delay:var(--enter)}
@keyframes kw-l{from{transform:translate(-10%,8%);opacity:0}to{transform:none;opacity:1}}
@keyframes kw-r{from{transform:translate(12%,-8%);opacity:0}to{transform:none;opacity:1}}
@keyframes settle-kl{from{transform:translate(-4%,3%)}to{transform:none}}
@keyframes settle-kr{from{transform:translate(5%,-3%)}to{transform:none}}
.kw-clip{position:absolute;inset:0;display:block;overflow:hidden;isolation:isolate;pointer-events:auto;background:var(--navy-800);transition:opacity .5s}
.kw-l .kw-clip{clip-path:polygon(17.555% 0,18.495% 42.857%,36.991% 27.714%,46.395% 27.714%,18.809% 53.143%,18.809% 63.143%,28.527% 55.429%,38.245% 65.143%,0 100%,0 16.286%)}
.kw-r .kw-clip{clip-path:polygon(74.608% 12.857%,95.298% 12.857%,55.799% 50.857%,99.687% 92.857%,78.683% 92.857%,33.542% 50.857%)}
.kw-pan{position:absolute;display:block;transform:translate3d(calc(var(--px,0) * -14px),calc(var(--py,0) * -14px),0)}
.kw-l .kw-pan{inset:-4% 49% -4% -5%}
.kw-r .kw-pan{inset:6% -5% 1% 28%}
.kw-pan img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) contrast(1.12);animation:kenburns 28s ease-in-out infinite alternate}
.kw-l .kw-pan img{object-position:58% 50%}
.kw-r .kw-pan img{object-position:50% 40%}
@keyframes kenburns{from{transform:scale(1.03)}to{transform:scale(1.16)}}
.kw-clip::before{content:"";position:absolute;inset:0;z-index:1;background:var(--navy-800);mix-blend-mode:color;opacity:.62;transition:opacity .6s}
.kw-clip::after{content:"";position:absolute;inset:-10%;z-index:2;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.42) 50%,transparent 58%);transform:translateX(-72%);animation:kw-sheen 1.7s var(--ease-io) both;animation-delay:calc(var(--enter) + .85s)}
@keyframes kw-sheen{to{transform:translateX(72%)}}
.kw-edge{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.kw-edge polygon{fill:none;stroke:url(#kw-steel);stroke-width:2;vector-effect:non-scaling-stroke}
.kw-tag{position:absolute;display:inline-flex;align-items:center;gap:.5em;pointer-events:auto;padding:.55em .8em;background:var(--tag-bg);color:var(--tag-ink);font-size:.6875rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;font-stretch:106%;line-height:1;white-space:nowrap;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%);animation:var(--a-soft) .8s var(--ease-out) both;animation-delay:calc(var(--enter) + .3s);transition:background-color .35s,color .35s}
.kw-l .kw-tag{left:22%;top:7.5%}
.kw-r .kw-tag{left:63%;top:47.5%}
@media (hover:hover){
  .kw-part:hover .kw-clip::before{opacity:.18}
  .kw-part:hover .kw-tag{background:var(--navy-800);color:var(--on-photo)}
  .kw-part:hover .kw-tag .i{transform:translateX(3px)}
  .kw:has(.kw-l:hover) .kw-r .kw-clip,.kw:has(.kw-r:hover) .kw-l .kw-clip{opacity:.72}
}

/* Registration strip, stencilled like crate markings */
.record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(28px,4vw,52px);border-top:2px solid var(--ink)}
.record>div{padding:12px 12px 14px 0;border-bottom:1px solid var(--line);min-width:0}
.record dt{font-size:.6875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;font-stretch:108%;color:var(--ink-2);line-height:1.3}
.record dd{font-family:var(--font-stencil);font-weight:800;font-size:clamp(1.5rem,2.7vw,2.5rem);line-height:1.1;letter-spacing:.015em;text-transform:uppercase;margin-top:4px}
@media (min-width:760px){
  .record{grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
  .record>div{border-bottom:0;padding:14px 18px 16px}
  .record>div+div{border-left:1px solid var(--line)}
  .record>div:first-child{padding-left:0}
}

.marquee{margin-top:clamp(36px,5vw,72px);overflow:hidden;background:var(--steel-500);color:var(--navy-900)}
.marquee-track{display:flex;width:max-content;animation:marquee 80s linear infinite}
.marquee ul{display:flex;align-items:center;flex:none}
.marquee li{position:relative;padding:.62em 1.05em;font-family:var(--font-stencil);font-weight:800;font-size:1.4375rem;line-height:1;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.marquee li::after{content:"";position:absolute;right:0;top:50%;width:2px;height:.95em;background:currentColor;opacity:.4;transform:translateY(-50%) skewX(-30deg)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media (hover:hover){.marquee:hover .marquee-track{animation-play-state:paused}}

/* ---------- Sections ---------- */
.sec{padding-block:var(--sec)}
.sec--alt{background:var(--bg-alt)}
.sec--tight{padding-block:clamp(48px,6vw,88px)}
.sec-head{display:grid;gap:14px 40px;margin-bottom:clamp(30px,4.4vw,64px)}
.sec-sub{color:var(--ink-2);font-size:clamp(1rem,1.2vw,1.125rem);max-width:54ch}
@media (min-width:860px){.sec-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}}

/* Two ways to buy */
.ways{display:flex;flex-direction:column;gap:clamp(8px,1vw,14px)}
.way{position:relative;display:flex;align-items:flex-end;flex:1 1 auto;min-width:0;min-height:clamp(620px,47vw,680px);overflow:hidden;isolation:isolate;color:var(--on-photo);text-decoration:none;--cut:clamp(24px,3vw,40px);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));background:var(--navy-950);transition:flex-grow .9s var(--ease-out)}
.way:focus-visible{outline-color:var(--on-photo);outline-offset:-8px}
.way-img{position:absolute;inset:0;z-index:-1;display:block}
.way-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease-out)}
.way-img::before{content:"";position:absolute;inset:0;z-index:1;background:var(--navy-800);mix-blend-mode:color;opacity:.6;transition:opacity .7s}
.way-img::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(15,24,36,.05) 4%,rgba(15,24,36,.74) 44%,rgba(15,24,36,.97) 76%)}
.way:first-child .way-img img{object-position:50% 34%}
.way-body{display:block;width:100%;max-width:600px;padding:clamp(22px,3vw,44px)}
.way-kicker,.way-title{text-shadow:0 1px 14px rgba(15,24,36,.65)}
.way-kicker{display:block;font-size:.75rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;font-stretch:108%;color:var(--on-photo-2);line-height:1.4}
.way-title{display:block;margin-top:.14em;font-family:var(--font-display);font-weight:800;font-size:clamp(2.875rem,5.4vw,5rem);line-height:.96;text-transform:uppercase}
.way-text{display:block;margin-top:.7em;font-size:1.0625rem;line-height:1.5;color:var(--on-photo);max-width:46ch}
.way-points{display:block;margin-top:1.1em}
.way-points>span{position:relative;display:block;padding:.48em 0 .48em 1.5em;border-top:1px solid var(--on-photo-line);font-size:.9375rem;line-height:1.4;color:var(--on-photo-2)}
.way-points>span::before{content:"";position:absolute;left:1px;top:1em;width:7px;height:7px;background:var(--steel-300);transform:rotate(45deg)}
.way-link{display:inline-flex;align-items:center;gap:.55em;margin-top:1.1em;font-weight:600}
@media (min-width:860px){
  .ways{flex-direction:row}
  .way{flex:1 1 0}
  .ways:hover .way{flex-grow:.86}
  .ways .way:hover,.ways .way:focus-visible{flex-grow:1.26}
}
@media (hover:hover){
  .way:hover .way-img img{transform:scale(1.05)}
  .way:hover .way-img::before{opacity:.22}
  .way:hover .way-link .i{transform:translateX(5px)}
}

/* The supply schedule */
.sched{display:grid;gap:clamp(24px,4vw,64px)}
.sched-visual{display:none}
.sched-stack{position:relative;aspect-ratio:4/5;overflow:hidden;isolation:isolate;background:var(--navy-800);--cut:clamp(24px,3vw,40px)}
.sched-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity .75s var(--ease-out),transform 1.5s var(--ease-out)}
.sched-stack img.is-on{opacity:1;transform:none}
.sched-stack::after{content:"";position:absolute;inset:0;background:var(--navy-800);mix-blend-mode:color;opacity:var(--photo-tint);pointer-events:none}
.sched-head{display:none}
.sched-list{border-top:2px solid var(--ink);min-width:0}
.sched-row{position:relative;display:grid;grid-template-columns:1.6rem 64px minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.sched-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .7s var(--ease-out)}
.sched-no{font-family:var(--font-stencil);font-weight:800;font-size:1.5rem;line-height:1}
.sched-thumb{width:64px;height:64px;object-fit:cover;filter:saturate(.55);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.sched-main{display:block;min-width:0}
.sched-name{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(1.75rem,3.5vw,3.25rem);line-height:1;text-transform:uppercase;transition:transform .6s var(--ease-out)}
.sched-items{display:block;margin-top:.3em;font-size:.875rem;line-height:1.4;color:var(--ink-2)}
.sched-arrow{width:22px;height:22px;opacity:.45;transition:opacity .4s,transform .6s var(--ease-out)}
@media (min-width:960px){
  .sched{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
  .sched-visual{display:block;position:sticky;top:calc(var(--header-h) + 28px)}
  .sched-head{display:grid;grid-template-columns:3.4rem minmax(0,1fr);padding-bottom:10px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-stretch:108%;color:var(--ink-2)}
  .sched-list{border-top:0}
  .sched-head{border-bottom:2px solid var(--ink)}
  .sched-row{grid-template-columns:3.4rem minmax(0,1fr) auto;gap:0;padding-block:clamp(16px,1.75vw,26px)}
  .sched-thumb{display:none}
  .sched-no{font-size:1.875rem}
  .sched-items{font-size:.9375rem}
}
@media (hover:hover) and (min-width:960px){
  .sched-row.is-on::after{transform:scaleX(1)}
  .sched-row.is-on .sched-name{transform:translateX(10px)}
  .sched-row.is-on .sched-arrow{opacity:1;transform:translateX(4px)}
}
.sched-row:focus-visible{outline-offset:2px}

/* Evaluation committee */
.ask-grid{display:grid;gap:clamp(30px,4vw,64px)}
.ask-side{display:grid;gap:18px;align-content:start;min-width:0}
.ask-photo{aspect-ratio:3/2;margin-top:clamp(6px,1.4vw,22px);--cut:clamp(20px,2.6vw,36px)}
.ask{min-width:0}
.ask-head{display:none}
.ask>ul{border-top:2px solid var(--ink)}
.ask-row{display:grid;gap:8px;padding-block:18px;border-bottom:1px solid var(--line)}
.ask-q{font-family:var(--font-display);font-weight:700;font-size:clamp(1.375rem,1.95vw,1.75rem);line-height:1.08;text-transform:uppercase;letter-spacing:.008em}
.ask-a{display:flex;align-items:flex-start;gap:.7em;color:var(--ink-2);line-height:1.5}
.ask-a .i{margin-top:.2em;color:var(--ink)}
.ask-row.armed .ask-a .i{transform:scale(.3);opacity:0}
.ask-row .ask-a .i{transition:transform .7s var(--ease-out) .25s,opacity .4s .25s}
@media (min-width:1060px){
  .ask-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .ask-side{position:sticky;top:calc(var(--header-h) + 28px)}
}
@media (min-width:640px){
  .ask-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;padding-bottom:10px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-stretch:108%;color:var(--ink-2)}
  .ask-row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:start;padding-block:22px}
}

/* Steps */
.steps{position:relative;display:grid;gap:30px;padding-left:38px}
.steps::before,.steps::after{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px}
.steps::before{background:var(--line)}
.steps::after{background:var(--ink);transform:scaleY(var(--p,1));transform-origin:50% 0}
.step{position:relative;min-width:0}
.step::before{content:"";position:absolute;left:-36px;top:.4rem;width:12px;height:12px;background:var(--ink);transform:rotate(45deg)}
.step-no{display:block;font-family:var(--font-stencil);font-weight:800;font-size:clamp(3.25rem,5.4vw,5rem);line-height:.95;color:var(--ink)}
.step .h3{margin-top:.25em}
.step p{margin-top:.55em;color:var(--ink-2);max-width:36ch}
@media (min-width:960px){
  .steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,44px);padding-left:0;padding-top:36px}
  .steps::before,.steps::after{left:0;right:0;top:6px;bottom:auto;width:auto;height:2px}
  .steps::after{transform:scaleX(var(--p,1));transform-origin:0 50%}
  .step::before{left:0;top:-36px}
}

/* FAQ preview and accordion */
.qs-grid{display:grid;gap:clamp(20px,4vw,64px)}
.qs-side{display:grid;gap:14px;align-content:start;justify-items:start}
@media (min-width:960px){.qs-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.qs-side{position:sticky;top:calc(var(--header-h) + 28px);align-self:start}}
.acc{border-top:2px solid var(--ink);min-width:0}
.acc-item{border-bottom:1px solid var(--line)}
.acc-q{font:inherit}
.acc-q button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:19px 0;background:none;border:0;text-align:left;font-family:var(--font-display);font-weight:700;font-size:clamp(1.3125rem,1.85vw,1.625rem);line-height:1.1;letter-spacing:.008em;text-transform:uppercase;color:var(--ink)}
.acc-q button:focus-visible{outline-offset:-2px}
.acc-icon{position:relative;flex:none;width:16px;height:16px}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:currentColor;transition:transform .55s var(--ease-out)}
.acc-icon::after{transform:rotate(90deg)}
.is-open>.acc-q .acc-icon::after{transform:rotate(180deg)}
.is-open>.acc-q .acc-icon::before{transform:rotate(180deg)}
.acc-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .55s var(--ease-out),visibility 0s linear .55s}
.is-open>.acc-panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .55s var(--ease-out),visibility 0s}
.acc-inner{overflow:hidden;min-height:0}
.acc-inner p{padding-bottom:22px;color:var(--ink-2);max-width:64ch}
html:not(.js) .acc-panel{grid-template-rows:1fr;visibility:visible}

/* Call to action */
.cta{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-950);color:var(--on-photo);--c:clamp(28px,6vw,96px);clip-path:polygon(var(--c) 0,100% 0,100% 100%,0 100%,0 var(--c))}
.cta-img{position:absolute;inset:0;z-index:-1}
.cta-img img{width:100%;height:100%;object-fit:cover}
.cta-img::before{content:"";position:absolute;inset:0;z-index:1;background:var(--navy-800);mix-blend-mode:color;opacity:.72}
.cta-img::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(15,24,36,.92) 18%,rgba(15,24,36,.55) 62%,rgba(15,24,36,.8) 100%)}
.cta-body{display:grid;gap:clamp(22px,4vw,56px);padding-block:clamp(84px,11vw,168px) clamp(64px,8vw,120px)}
.cta-title{font-weight:900;font-size:min(22.4vw,10rem);line-height:.86;letter-spacing:.002em;background-image:var(--brushed);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:steel-drift 9s ease-in-out infinite alternate}
.cta-side{display:grid;gap:18px;align-content:end;min-width:0}
.cta-side>p:first-child{font-size:clamp(1.0625rem,1.35vw,1.25rem);line-height:1.5;color:var(--on-photo);max-width:44ch}
.cta-lines{color:var(--on-photo-2);font-size:.9375rem}
.cta-lines strong{color:var(--on-photo);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (min-width:960px){
  .cta-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}
  .cta-title{font-size:clamp(7.5rem,12.6vw,12.5rem)}
}

/* ---------- Inner pages ---------- */
.page-hero{padding-block:clamp(24px,4.5vw,72px) clamp(24px,3.4vw,48px)}
.page-hero-grid{display:grid;gap:18px 40px}
.page-hero-grid>*{min-width:0}
@media (min-width:1000px){.page-hero-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end}.page-hero-grid .lede{padding-bottom:.5em}}

/* Services */
.subnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--header-h));z-index:30;background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-block:1px solid var(--line)}
.subnav-row{display:flex;gap:clamp(16px,2.6vw,36px);overflow-x:auto;scrollbar-width:none}
.subnav-row::-webkit-scrollbar{display:none}
.subnav a{position:relative;flex:none;padding:14px 1px;font-weight:600;font-size:.875rem;line-height:1.2;white-space:nowrap;text-decoration:none;color:var(--ink-2);transition:color .3s}
.subnav a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease-out)}
.subnav a.is-on,.subnav a:hover{color:var(--ink)}
.subnav a.is-on::after{transform:scaleX(1)}
.subnav a:focus-visible{outline-offset:-3px}
.cats{display:grid;gap:clamp(56px,8vw,124px);padding-block:clamp(44px,6vw,96px) var(--sec)}
.cat{display:grid;gap:clamp(20px,3.4vw,60px);align-items:center;scroll-margin-top:calc(var(--header-h) + 72px)}
.cat>*{min-width:0}
.cat .photo{aspect-ratio:16/10;--cut:clamp(24px,3vw,44px)}
.cat-no{font-family:var(--font-stencil);font-weight:800;font-size:1.25rem;line-height:1;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2)}
.cat-body .h2{margin-top:.14em}
.cat-body>p:not(.cat-no){margin-top:.75em;color:var(--ink-2);font-size:1.0625rem;max-width:50ch}
.cat-body .btn{margin-top:1.4em}
.ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 1.5em;margin-top:1.2em}
.ticks li{position:relative;padding:.56em 0 .56em 1.45em;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.4}
.ticks li::before{content:"";position:absolute;left:1px;top:1.05em;width:7px;height:7px;background:var(--ink);transform:rotate(45deg)}
@media (min-width:900px){
  .cat{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .cat--flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
  .cat--flip .photo{order:2}
}
.file-grid{display:grid;gap:clamp(24px,4vw,64px)}
.file-grid>*{min-width:0}
.file-photo{aspect-ratio:3/2;--cut:clamp(24px,3vw,40px)}
.sheets{border-top:2px solid var(--ink)}
.sheet{display:grid;gap:4px;padding-block:18px;border-bottom:1px solid var(--line)}
.sheet p{color:var(--ink-2)}
@media (min-width:640px){.sheet{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:baseline;padding-block:22px}}
@media (min-width:1000px){.file-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.file-photo{aspect-ratio:4/4.4}}
.band-photo{position:relative;display:flex;align-items:flex-end;min-height:clamp(420px,48vw,640px);overflow:hidden;isolation:isolate;color:var(--on-photo);background:var(--navy-950)}
.band-photo-img{position:absolute;inset:0;z-index:-1}
.band-photo-img img{width:100%;height:100%;object-fit:cover}
.band-photo-img::before{content:"";position:absolute;inset:0;z-index:1;background:var(--navy-800);mix-blend-mode:color;opacity:.55}
.band-photo-img::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,var(--shade-1) 22%,var(--shade-2) 92%)}
.band-photo-body{display:grid;gap:12px;padding-block:clamp(40px,5vw,72px)}
.band-photo-body p{font-size:clamp(1.0625rem,1.35vw,1.25rem);line-height:1.5;max-width:54ch}

/* Indenting */
.indent-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(520px,46vw,700px);overflow:hidden;isolation:isolate;background:var(--navy-950);color:var(--on-photo)}
.indent-hero-img{position:absolute;inset:0;z-index:-1}
.indent-hero-img img{width:100%;height:100%;object-fit:cover;animation:kenburns 30s ease-in-out infinite alternate}
.indent-hero-img::before{content:"";position:absolute;inset:0;z-index:1;background:var(--navy-800);mix-blend-mode:color;opacity:.55}
.indent-hero-img::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(15,24,36,.2) 10%,rgba(15,24,36,.96) 86%)}
.indent-hero-body{padding-block:clamp(36px,5vw,72px);display:grid;gap:clamp(12px,1.6vw,22px);justify-items:start}
.indent-title{font-weight:900;font-size:min(calc((100vw - 2 * clamp(16px,4.2vw,64px)) / 4.34),calc(1360px / 4.34));line-height:.84;letter-spacing:.002em;white-space:nowrap}
.indent-title .ln{padding-bottom:.02em}
.indent-title .ln>span{background-image:var(--brushed);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:var(--a-line) 1.1s var(--ease-out) calc(var(--enter) + 70ms) both,steel-drift 10s ease-in-out 1.2s infinite alternate}

.flow{color:var(--ink)}
.flow svg{width:100%;height:auto}
.flow-tall{max-width:520px;margin-inline:auto}
.flow-wide{display:none}
@media (min-width:900px){.flow-wide{display:block}.flow-tall{display:none}}
.flow-node{fill:var(--surface);stroke:var(--line-2);stroke-width:1.25}
.flow-node--us{fill:var(--flow-us);stroke:none}
.flow-name{font:700 16px var(--font-body);fill:currentColor}
.flow-note{font:400 12.5px var(--font-body);fill:var(--ink-2)}
.flow-label{font:500 12.5px var(--font-body);fill:var(--ink-2)}
.flow-strong{font:600 13.5px var(--font-body);fill:currentColor}
.flow-on-us{fill:var(--flow-us-ink)}
.flow-main{fill:none;stroke:currentColor;stroke-width:2.25;stroke-dasharray:11 6;animation:flow-dash 1.3s linear infinite}
.flow-line{stroke:currentColor;stroke-width:1.25}
.flow-line--dash{stroke-dasharray:5 4}
@keyframes flow-dash{to{stroke-dashoffset:-17}}
.flow figcaption{margin-top:16px;color:var(--ink-2);font-size:.9375rem;max-width:66ch}

.indent-steps-grid{display:grid;gap:clamp(24px,4vw,64px)}
.indent-steps-grid>*{min-width:0}
.indent-steps-side{display:grid;gap:clamp(20px,2.6vw,36px);align-content:start}
.indent-steps-side .photo{aspect-ratio:16/10;--cut:clamp(24px,3vw,40px)}
.vsteps{border-top:2px solid var(--ink)}
.vsteps li{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:8px;padding-block:20px;border-bottom:1px solid var(--line)}
.vsteps .step-no{font-size:2.75rem;line-height:1}
.vsteps p{margin-top:.4em;color:var(--ink-2);max-width:56ch}
@media (min-width:960px){.indent-steps-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.indent-steps-side{position:sticky;top:calc(var(--header-h) + 28px);align-self:start}}

.compare{width:100%;border-collapse:collapse}
.compare th,.compare td{padding:18px 20px 18px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compare thead th{font-family:var(--font-display);font-weight:800;font-size:clamp(1.625rem,2.6vw,2.5rem);line-height:1;text-transform:uppercase;border-bottom:2px solid var(--ink)}
.compare tbody th{width:22%;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-stretch:106%;color:var(--ink-2);line-height:1.5}
.compare td{width:39%}
@media (max-width:720px){
  .compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .compare,.compare tbody,.compare tr,.compare tbody th,.compare td{display:block;width:auto}
  .compare{border-top:2px solid var(--ink)}
  .compare tr{padding-block:16px;border-bottom:1px solid var(--line)}
  .compare tbody th{padding:0 0 8px;border:0}
  .compare td{display:grid;grid-template-columns:7em minmax(0,1fr);gap:10px;padding:5px 0;border:0}
  .compare td::before{content:attr(data-label);font-size:.8125rem;font-weight:600;color:var(--ink-3);line-height:1.8}
}
.duo{display:grid;gap:14px}
.duo-card{display:flex;flex-direction:column;align-items:flex-start;gap:.75em;min-width:0;padding:clamp(24px,3.2vw,48px);background:var(--surface);--cut:clamp(20px,2.4vw,32px);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.duo-card .h3{font-size:clamp(2rem,3.2vw,3rem);font-weight:800}
.duo-card>p:not(.cat-no){color:var(--ink-2);max-width:52ch}
.duo-card .btn{margin-top:auto}
.duo-card>p:nth-last-child(2){margin-bottom:.9em}
@media (min-width:820px){.duo{grid-template-columns:repeat(2,minmax(0,1fr))}}
.terms{display:grid;gap:0 clamp(24px,4vw,64px)}
.terms>div{padding-block:18px;border-top:1px solid var(--line);min-width:0}
.terms dt{font-family:var(--font-display);font-weight:700;font-size:1.4375rem;line-height:1.1;text-transform:uppercase;letter-spacing:.01em}
.terms dd{margin-top:.35em;color:var(--ink-2);max-width:56ch}
@media (min-width:760px){.terms{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Company */
.company-hero{padding-top:clamp(16px,3vw,48px)}
.company-hero-grid{display:grid;gap:clamp(20px,3.6vw,56px)}
.company-hero-grid>*{min-width:0}
.company-photo{aspect-ratio:3/2}
.company-hero .page-title{font-size:min(15vw,6.5rem)}
@media (min-width:960px){
  .company-hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:end}
  .company-hero .page-title{font-size:clamp(4.25rem,6.5vw,6.5rem)}
  .company-hero-copy{padding-bottom:clamp(8px,1.4vw,20px)}
}
.prose-grid{display:grid;gap:clamp(18px,4vw,64px)}
.prose-grid>*{min-width:0}
.statement{font-weight:800;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.02;text-wrap:pretty}
.prose{display:grid;gap:1em;align-content:start;color:var(--ink-2);font-size:1.0625rem;max-width:62ch}
@media (min-width:960px){.prose-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}}
.record-grid{display:grid;gap:clamp(26px,4vw,64px)}
.record-grid>*{min-width:0}
.record-grid .sec-sub{margin-top:14px;margin-bottom:20px}
.verify{margin-top:clamp(28px,3.4vw,44px);padding-top:18px;border-top:1px solid var(--line)}
.verify p{margin-top:.5em;color:var(--ink-2);max-width:44ch}
.verify ul{margin-top:.6em;display:grid;gap:4px}
.verify a{display:inline-flex;align-items:center;gap:.45em;padding-block:.25em;font-weight:600;text-underline-offset:3px;overflow-wrap:anywhere}
.particulars{padding:clamp(18px,3vw,40px);background:var(--surface);--cut:clamp(20px,2.4vw,32px);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.particulars>div{display:grid;gap:2px;padding-block:12px;border-bottom:1px solid var(--line)}
.particulars>div:last-child{border-bottom:0}
.particulars dt{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-stretch:106%;color:var(--ink-2);line-height:1.7}
.particulars dd{overflow-wrap:anywhere}
.num{font-variant-numeric:tabular-nums;font-weight:600}
@media (min-width:560px){.particulars>div{grid-template-columns:9em minmax(0,1fr);gap:14px}}
@media (min-width:960px){.record-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.holds{display:grid;gap:0 clamp(20px,3vw,44px)}
.holds li{padding-block:20px 26px;border-top:2px solid var(--ink);min-width:0}
.holds p{margin-top:.5em;color:var(--ink-2)}
@media (min-width:640px){.holds{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.holds{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* FAQ page */
.faq-tools{display:grid;gap:14px;padding-bottom:clamp(26px,3vw,44px)}
.faq-search{position:relative}
.faq-search .i{position:absolute;left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}
.faq-search input{width:100%;min-height:50px;padding:.7em .9em .7em 44px;background:var(--surface);border:1px solid var(--line-2);border-radius:0;font-size:1rem;-webkit-appearance:none;appearance:none}
.faq-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{min-height:42px;padding:.5em .95em;background:transparent;border:1px solid var(--line-2);color:var(--ink);font-weight:600;font-size:.875rem;line-height:1.2;transition:background-color .3s,color .3s,border-color .3s}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
@media (hover:hover){.chip:not(.is-on):hover{border-color:var(--ink)}}
.faq-count{color:var(--ink-3);font-size:.875rem;white-space:nowrap}
.faq-body{display:grid;gap:clamp(34px,4vw,60px);padding-bottom:var(--sec)}
.faq-group{display:grid;gap:12px}
.faq-group>*{min-width:0}
.faq-group-title{padding-top:2px}
.faq-empty{padding-block:18px;font-size:1.0625rem;color:var(--ink-2)}
.faq-empty a{font-weight:600;text-underline-offset:3px}
@media (min-width:980px){
  .faq-tools{grid-template-columns:minmax(260px,340px) minmax(0,1fr) auto;align-items:center}
  .faq-group{grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(20px,3vw,44px)}
  .faq-group-title{position:sticky;top:calc(var(--header-h) + 24px);align-self:start}
}

/* Contact */
.contact-grid{display:grid;gap:clamp(28px,4vw,64px);padding-bottom:0}
.contact-grid>*{min-width:0}
.form-shell{padding:clamp(20px,3vw,44px);background:var(--surface);--cut:clamp(20px,2.4vw,32px);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut))}
.form{display:grid;gap:22px}
.field-set legend{margin-bottom:.7em}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip-opt{position:relative;display:block;cursor:pointer}
.chip-opt input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip-opt span{display:flex;align-items:center;min-height:42px;padding:.5em .9em;border:1px solid var(--line-2);font-weight:600;font-size:.875rem;line-height:1.2;transition:background-color .25s,color .25s,border-color .25s}
.chip-opt input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chip-opt input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
@media (hover:hover){.chip-opt:hover span{border-color:var(--ink)}}
.field-row{display:grid;gap:22px 16px}
.field-row>*{min-width:0}
@media (min-width:600px){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.field label{margin-bottom:.5em}
.field input,.field textarea{display:block;width:100%;min-height:50px;padding:.72em .85em;background:var(--bg);border:1px solid var(--line-2);border-radius:0;font-size:1rem;line-height:1.45;-webkit-appearance:none;appearance:none;transition:border-color .25s,background-color .25s}
.field textarea{resize:vertical;min-height:150px}
.field input:focus,.field textarea:focus,.faq-search input:focus{outline:2px solid var(--ink);outline-offset:-1px}
.field [aria-invalid="true"]{border-color:var(--err);outline-color:var(--err)}
input::placeholder,textarea::placeholder{color:var(--ink-3);opacity:1}
.opt{font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--ink-3);margin-left:.3em}
.field-err{margin-top:.45em;color:var(--err);font-size:.875rem;font-weight:500;line-height:1.4}
.field-err--wide{grid-column:1/-1;margin-top:-14px}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.form-note{color:var(--ink-2);font-size:.875rem}
.form-done{display:grid;gap:14px;justify-items:start}
.form-done>p:not(.eyebrow){color:var(--ink-2);max-width:60ch}
.done-text{width:100%;max-height:300px;overflow:auto;padding:16px;background:var(--bg);border:1px solid var(--line);font:.9375rem/1.55 var(--font-body);white-space:pre-wrap;overflow-wrap:anywhere}
.contact-side{align-self:start}
.contact-item{display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;padding-block:18px;border-bottom:1px solid var(--line)}
.contact-item:first-child{border-top:2px solid var(--ink)}
.contact-item>.i{width:24px;height:24px;margin-top:2px}
.contact-item .label{margin-bottom:.35em}
.contact-line{display:flex;align-items:center;flex-wrap:wrap;gap:0 6px;font-weight:600;font-size:1.0625rem;line-height:1.5}
.contact-line--wrap{flex-wrap:nowrap;font-size:clamp(.875rem,4.05vw,1.0625rem)}
.contact-line a{text-decoration:none;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}
.contact-line a:hover{text-decoration:underline;text-underline-offset:3px}
.copy-mini{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;background:none;border:0;color:var(--ink-3);transition:color .25s}
.copy-mini .i{width:16px;height:16px}
.copy-mini.is-done{color:var(--ok)}
@media (hover:hover){.copy-mini:hover{color:var(--ink)}}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.find-grid{display:grid;gap:clamp(26px,4vw,64px);align-items:start}
.find-grid>*{min-width:0}
.find-copy{display:grid;gap:14px;justify-items:start}
.find-copy>p{color:var(--ink-2);max-width:52ch}
.find-photo{width:100%;aspect-ratio:2/1;margin-top:clamp(10px,1.4vw,20px);--cut:clamp(20px,2.4vw,32px)}
@media (min-width:960px){.find-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}}
.city-map svg{width:100%;height:auto}
.city-map figcaption{margin-top:12px;color:var(--ink-2);font-size:.875rem}
.map-hills{fill:none;stroke:var(--ink-3);stroke-width:2}
.map-hill-label,.map-heads text,.map-near text{font:500 12px var(--font-body);fill:var(--ink-2)}
.map-cells rect{fill:var(--surface);stroke:var(--line);stroke-width:1}
.map-here{fill:var(--flow-us)}
.map-here-label{font:700 15px var(--font-body);fill:var(--flow-us-ink)}
.map-dot{fill:var(--flow-us-ink)}
.map-pulse{fill:none;stroke:var(--flow-us-ink);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:pulse 2.4s var(--ease-out) infinite}
@media (max-width:640px){
  .map-hill-label,.map-heads text,.map-near text{font-size:17px}
  .map-here-label{font-size:20px}
}
@keyframes pulse{from{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}

/* ---------- Footer: the steel and navy bands from the letterhead ---------- */
.foot-steel{background:var(--steel-500);color:var(--navy-900)}
.foot-steel-grid{display:grid;gap:14px 32px;padding-block:24px}
.foot-steel-grid>*{min-width:0}
.foot-contact{display:flex;align-items:center;gap:14px;font-weight:500;font-size:.9375rem;line-height:1.4}
.foot-contact .i{width:28px;height:28px}
.foot-mail{overflow-wrap:anywhere}
.foot-contact a,.menu-lines a,.cta-lines a{color:inherit;text-decoration:none}
.foot-contact a:hover,.menu-lines a:hover,.cta-lines a:hover{text-decoration:underline;text-underline-offset:3px}
@media (min-width:860px){.foot-steel-grid{grid-template-columns:minmax(0,3fr) minmax(0,4fr) minmax(0,5fr)}}
.foot-navy{padding-block:clamp(40px,5vw,72px) 22px;background:var(--navy-900);color:var(--steel-300);border-top:3px solid var(--steel-100)}
.foot-grid{display:grid;gap:28px clamp(24px,4vw,64px);padding-bottom:clamp(28px,4vw,56px)}
.foot-grid>*{min-width:0}
.foot-brand{display:flex;align-items:flex-start;gap:16px;max-width:520px}
.foot-brand img{width:60px;height:auto;flex:none}
.foot-brand strong{color:var(--on-photo);font-weight:600}
.foot-nav{display:grid;grid-template-columns:repeat(2,max-content);gap:6px 32px;align-content:start}
.foot-nav a{display:block;padding-block:3px;text-decoration:none;font-weight:500;color:var(--on-photo)}
.foot-nav a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-navy :focus-visible{outline-color:var(--on-photo)}
.foot-reg{display:grid;gap:6px;align-content:start}
.foot-reg>div{display:grid;grid-template-columns:4em minmax(0,1fr);gap:8px}
.foot-reg dt{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:2;color:var(--steel-500)}
.foot-reg dd{color:var(--on-photo);font-variant-numeric:tabular-nums}
@media (min-width:900px){.foot-grid{grid-template-columns:minmax(0,6fr) minmax(0,3fr) minmax(0,3fr)}}
.foot-word{font-family:var(--font-display);font-weight:900;font-size:24vw;line-height:.82;text-transform:uppercase;white-space:nowrap;overflow:hidden;color:var(--navy-700);letter-spacing:.002em;user-select:none}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;margin-top:18px;padding-top:14px;border-top:1px solid var(--navy-700);font-size:.8125rem;color:var(--steel-500)}
.foot-base>p{flex:1 1 320px;min-width:0}
.credits summary{cursor:pointer;font-weight:600;color:var(--steel-300)}
.credits-link{font-weight:600;color:var(--steel-300);text-underline-offset:3px}
.credits[open]{flex-basis:100%}
.credits p{margin-top:.7em}
.credits ul{margin-top:.5em;columns:1;column-gap:32px}
.credits li{padding-block:2px;break-inside:avoid}
.credits a{color:var(--steel-300);text-underline-offset:2px}
@media (min-width:760px){.credits ul{columns:2}}
@media (min-width:1100px){.credits ul{columns:3}}

/* Gentle scroll-linked drift on the full-bleed photographs, where supported */
@keyframes drift{from{transform:translateY(-7%)}to{transform:translateY(0)}}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .band-photo-img img,.cta-img img{height:116%;animation:drift linear both;animation-timeline:view()}
  }
}

@media (prefers-reduced-motion:reduce){
  html[data-multipage]{scroll-behavior:auto}
  html.arriving .shutter{visibility:hidden}
  *,*::before,*::after{animation-duration:.001s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001s!important;transition-delay:0s!important}
  .marquee-track{animation:none!important}
}
