#hero{position:relative;overflow:hidden}
#hero .hero-plate{padding-block:clamp(2.25rem,7vw,4rem) clamp(2rem,5vw,3rem)}
#hero .hero-inner{display:block}
#hero .hero-eyebrow{font-family:var(--f-mono);font-weight:500;font-size:11px;line-height:1.4;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-dark-muted);padding-left:10px;border-left:2px solid var(--c-accent-bright);margin-bottom:clamp(1.75rem,6vw,3.25rem);max-width:none}
#hero .hero-h1{font-size:clamp(2.35rem,8.4vw,4.6rem);line-height:1.02;letter-spacing:-0.02em;color:var(--c-bone)}
#hero .hero-sub{margin-top:var(--s-5);max-width:52ch;font-size:clamp(1rem,0.95rem+0.3vw,1.125rem);line-height:1.55;color:var(--c-dark-muted)}
#hero .hero-sub .stock-tape{color:var(--c-bone)}
#hero .hero-cta{display:flex;flex-direction:column;align-items:stretch;gap:var(--s-4);margin-top:clamp(1.75rem,4vw,2.5rem)}
#hero .hero-cta__primary{min-height:52px;width:100%}
#hero .hero-cta__secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;color:var(--c-bone);font-weight:500;font-size:0.9375rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--c-bone)}
#hero .hero-cta__secondary:hover{text-decoration-thickness:2px;text-decoration-color:var(--c-accent-bright)}
#hero .hero-dock{position:relative;border-top:2px solid var(--c-accent-bright)}
#hero .hero-strip{position:relative;height:26vh;min-height:170px;max-height:340px}
#hero .hero-strip img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
#hero .hero-strip::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(14,28,25,0.30),rgba(14,28,25,0.62))}
#hero .hero-dock__caption{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-dark-muted);padding:var(--s-4) var(--gutter) var(--s-5);max-width:none}
@media (min-width:768px){
#hero .hero-h1 span{display:block}
#hero .hero-cta{flex-direction:row;align-items:center;gap:var(--s-6)}
#hero .hero-cta__primary{width:auto;min-width:220px}
#hero .hero-strip{height:34vh;min-height:260px;max-height:420px}
#hero .hero-dock__caption{position:absolute;left:0;bottom:0;z-index:2;padding:0 var(--gutter) 20px}
}
@media (min-width:1100px){
#hero .hero-plate{min-height:calc(60vh - var(--header-h));display:flex;align-items:flex-end;padding-block:clamp(3rem,7vw,5rem) clamp(2.5rem,5vw,3.5rem)}
#hero .hero-sub{margin-top:var(--s-6)}
}

#what-we-do{position:relative;overflow:hidden}
#what-we-do .wwd-head{margin-bottom:var(--s-6)}
#what-we-do .wwd-head h2{max-width:24ch}
#what-we-do .line-item{grid-template-columns:minmax(0,1fr);row-gap:var(--s-2)}
#what-we-do .line-item__index{color:var(--c-dark-muted);line-height:1.4}
#what-we-do .line-item__body{max-width:58ch;color:var(--c-dark-text)}
#what-we-do .wwd-ask{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:var(--s-2);font-family:var(--f-mono);font-weight:500;font-size:var(--fs-mono);letter-spacing:0.16em;text-transform:uppercase;color:var(--c-dark-muted);text-decoration:none}
#what-we-do .wwd-ask:hover,#what-we-do .wwd-ask:focus-visible{color:var(--c-bone)}
#what-we-do .line-item:hover .line-item__index,#what-we-do .line-item:focus-within .line-item__index{color:var(--c-bone)}
#what-we-do .line-item:hover::after,#what-we-do .line-item:focus-within::after{background:var(--c-accent-bright)}
@media (min-width:768px){
#what-we-do .wwd-head{margin-bottom:var(--s-7)}
#what-we-do .line-item{grid-template-columns:56px minmax(0,1fr) auto;column-gap:var(--s-4);align-items:start}
#what-we-do .line-item__index{line-height:1.9}
#what-we-do .wwd-ask{margin-top:0;padding-left:var(--s-5);align-self:start;min-height:32px;line-height:1.9}
}

#who-we-serve{position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,3.75rem);border-top:1px solid var(--c-hairline-dark)}
#who-we-serve .wws-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
#who-we-serve .wws-col{position:relative;padding-block:var(--s-5)}
#who-we-serve .wws-col+.wws-col{border-top:1px solid var(--c-hairline-dark);margin-top:var(--s-2)}
#who-we-serve .wws-col+.wws-col::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:28px;height:2px;background:var(--c-accent-bright)}
#who-we-serve .wws-label{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-dark-muted);margin-bottom:var(--s-3)}
#who-we-serve .wws-line{font-family:var(--f-display);font-weight:600;font-size:clamp(1.25rem,1.8vw,1.4375rem);color:var(--c-bone);letter-spacing:-0.01em}
#who-we-serve .wws-body{margin-top:var(--s-3);max-width:44ch;font-size:1rem;line-height:1.6}
#who-we-serve .wws-link{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--s-3);font-family:var(--f-mono);font-weight:500;font-size:var(--fs-mono);letter-spacing:0.16em;text-transform:uppercase;color:var(--c-bone)}
@media (min-width:768px){
#who-we-serve .wws-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#who-we-serve .wws-col{padding-block:var(--s-4);padding-right:var(--s-6)}
#who-we-serve .wws-col+.wws-col{border-top:0;margin-top:0;border-left:1px solid var(--c-hairline-dark);padding-left:clamp(2rem,4vw,3rem);padding-right:0}
#who-we-serve .wws-col+.wws-col::before{top:50%;left:-1px;transform:translateY(-50%);width:2px;height:28px}
}

#bay-strip{position:relative;overflow:hidden}
#bay-strip .bay-band{position:relative;height:32vh;min-height:200px;max-height:520px}
#bay-strip .bay-band img{width:100%;height:100%;object-fit:cover;object-position:center}
#bay-strip .bay-band::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(14,28,25,0.22),rgba(14,28,25,0.55))}
#bay-strip .bay-band__caption{display:none}
#bay-strip .bay-caption-mobile{font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-dark-muted);padding:var(--s-4) var(--gutter) 0;max-width:none}
@media (min-width:768px){
#bay-strip .bay-band{height:46vh;min-height:320px}
#bay-strip .bay-band__caption{display:block;position:absolute;left:24px;bottom:24px;z-index:2;margin:0;max-width:none;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-bone)}
#bay-strip .bay-caption-mobile{display:none}
}

#how-we-work{position:relative;overflow:hidden;border-top:1px solid var(--c-hairline-dark)}
#how-we-work .hww-head{margin-bottom:var(--s-6)}
#how-we-work .hww-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
#how-we-work .hww-figure{margin:0}
#how-we-work .hww-states{display:flex;gap:var(--s-4);align-items:flex-start}
#how-we-work .hww-state{flex:0 0 auto;width:72px}
#how-we-work .hww-svg{width:72px;height:72px}
#how-we-work .hww-state__label{margin-top:var(--s-2);max-width:none;font-family:var(--f-mono);font-weight:500;font-size:10px;line-height:1.4;letter-spacing:0.12em;text-transform:uppercase;color:var(--c-dark-muted)}
#how-we-work .hww-figcaption{margin-top:var(--s-4);font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-dark-muted)}
#how-we-work .line-item{grid-template-columns:minmax(0,1fr);row-gap:var(--s-2)}
#how-we-work .line-item__index{color:var(--c-dark-muted);line-height:1.4}
#how-we-work .line-item__title{font-size:clamp(1.25rem,1.7vw,1.375rem)}
#how-we-work .line-item__body{max-width:56ch}
#how-we-work .line-item:hover::after,#how-we-work .line-item:focus-within::after{background:var(--c-accent-bright)}
#how-we-work .line-item:hover .line-item__index,#how-we-work .line-item:focus-within .line-item__index{color:var(--c-bone)}
#how-we-work .hww-btn{margin-top:var(--s-6);border-color:var(--c-bone);color:var(--c-bone);min-height:52px;width:100%}
@media (min-width:768px){
#how-we-work .hww-head{margin-bottom:var(--s-7)}
#how-we-work .line-item{grid-template-columns:56px minmax(0,1fr);column-gap:var(--s-4)}
#how-we-work .line-item__index{line-height:1.9}
#how-we-work .hww-btn{width:auto;min-width:240px}
}
@media (min-width:1100px){
#how-we-work .hww-grid{grid-template-columns:200px minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem)}
#how-we-work .hww-states{flex-direction:column;gap:var(--s-5)}
#how-we-work .hww-state{width:96px}
#how-we-work .hww-svg{width:96px;height:96px}
}

#about-cc2{position:relative;overflow:hidden;border-top:2px solid var(--c-accent);padding-block:0 var(--s-9)}
#about-cc2 .sheet-label{max-width:none;font-family:var(--f-mono);font-weight:500;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--c-secondary);padding-block:var(--s-4);border-bottom:1px solid var(--c-hairline);margin-bottom:clamp(2rem,5vw,3.5rem)}
#about-cc2 .about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
#about-cc2 .about-col h2{max-width:22ch}
#about-cc2 .about-body{margin-top:var(--s-5);max-width:60ch;font-size:1.0625rem;line-height:1.7;color:var(--c-text)}
#about-cc2 .about-foot{margin-top:var(--s-6);max-width:none;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-secondary)}
#about-cc2 .about-media{width:100%;aspect-ratio:1/1;order:-1}
#about-cc2 .about-media img{width:100%;height:100%;object-fit:cover;object-position:center}
@media (min-width:1100px){
#about-cc2 .about-grid{grid-template-columns:minmax(0,1fr) 240px;gap:clamp(2.5rem,5vw,4rem);align-items:start}
#about-cc2 .about-media{order:0;width:240px;height:240px;margin-top:calc(11px + var(--s-4))}
}

#questions{position:relative;overflow:hidden;padding-block:0 var(--s-9)}
#questions .q-head{margin-bottom:var(--s-5)}
#questions .q-head h2{max-width:26ch}
#questions .line-item{grid-template-columns:minmax(0,1fr);row-gap:var(--s-1);padding-block:16px}
#questions .line-item__index{color:var(--c-accent);line-height:1.5}
#questions .line-item__title{font-size:1.25rem;color:var(--c-primary)}
#questions .line-item__body{max-width:60ch;color:var(--c-text)}
#questions .line-item__body a{color:var(--c-primary)}
#questions .line-item:hover::after,#questions .line-item:focus-within::after{background:var(--c-primary)}
@media (min-width:768px){
#questions .q-head{margin-bottom:var(--s-6)}
#questions .line-item{grid-template-columns:56px minmax(0,1fr);column-gap:var(--s-4);padding-block:18px}
#questions .line-item__index{line-height:1.8}
}

#contact{position:relative;overflow:hidden;padding-block:0 var(--s-9);border-top:1px solid var(--c-hairline)}
#contact .c-head{padding-top:var(--s-9);margin-bottom:var(--s-7)}
#contact .c-head h2{max-width:26ch}
#contact .c-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
#contact .c-aside{order:2}
#contact .c-aside__line{max-width:34ch;font-family:var(--f-mono);font-weight:400;font-size:0.8125rem;line-height:1.8;color:var(--c-secondary)}
#contact .c-aside__meta{margin-top:var(--s-4);max-width:none;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--c-secondary)}
#contact .c-panel{order:1;background:var(--c-surface);border:1px solid var(--c-hairline);padding:20px}
#contact .c-group{border:0;padding:0;margin:0}
#contact .c-group+.c-group{margin-top:var(--s-6)}
#contact .c-field{margin-top:var(--s-5)}
#contact .c-field label{display:block;font-family:var(--f-mono);font-weight:500;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--c-secondary);margin-bottom:var(--s-2)}
#contact input,#contact textarea{display:block;width:100%;max-width:100%;background:var(--c-surface);color:var(--c-text);border:0;border-bottom:1px solid var(--c-hairline);border-radius:0;padding:10px 2px;font-family:var(--f-body);font-size:1rem;line-height:1.5;min-height:48px}
#contact textarea{min-height:132px;resize:vertical}
#contact input::placeholder,#contact textarea::placeholder{color:var(--c-secondary);opacity:1}
#contact input:focus,#contact textarea:focus{border-bottom:2px solid var(--c-primary);outline-offset:4px}
#contact .c-submit{margin-top:var(--s-7);width:100%;min-height:52px}
#contact .c-alt{margin-top:var(--s-4);font-size:0.9375rem;color:var(--c-text)}
#contact .c-alt a{color:var(--c-primary)}
@media (min-width:768px){
#contact .c-panel{padding:clamp(1.75rem,3.5vw,2.5rem)}
}
@media (min-width:1100px){
#contact .c-grid{grid-template-columns:260px minmax(0,1fr);gap:clamp(2.5rem,5vw,4rem);align-items:start}
#contact .c-aside{order:1;padding-top:var(--s-2)}
#contact .c-panel{order:2}
}