/* Editorial layer: restrained, square, typographic. Loaded on every page after site.css. */
:root{--radius:0px;--shadow:none;--shadow-lg:none;--ink:#14181F;--muted:#5B6472;--line:#E3E6EB;--rule:#14181F;--container:1240px}
body{background:#fff;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga"}
.container{max-width:1240px;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
*,*::before,*::after{border-radius:0!important}
.avatar,.avatar-photo,.avatar img{border-radius:0!important}
/* Motion: off by default, no reveal fades */
.reveal,.reveal.is-visible{opacity:1!important;transform:none!important;transition:none!important}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;color:var(--navy-900)}
h1,h2{text-wrap:balance}
main p{line-height:1.72}
a{text-underline-offset:3px}

/* Header */
.topbar{display:none}
.site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--line);box-shadow:none}
.site-nav a{font-weight:500;font-size:.92rem;letter-spacing:.01em;color:var(--ink)}
.site-nav a:hover{color:var(--navy)}
.site-nav a[aria-current="page"]{color:var(--navy);box-shadow:inset 0 -1px 0 var(--navy)}
.sub-menu{border:1px solid var(--line)!important;box-shadow:0 12px 24px -16px rgba(0,0,0,.25)!important;padding:6px 0!important;background:#fff}
.sub-menu a{padding:10px 20px!important}
.sub-menu a:hover{background:#F4F5F7!important;color:var(--navy)!important}

/* Buttons: square, flat */
.btn{border-radius:0!important;box-shadow:none!important;transform:none!important;font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;padding:16px 28px;transition:background .2s,color .2s,border-color .2s}
.btn-red{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-red:hover{background:var(--navy-900);border-color:var(--navy-900)}
.site-header .btn,.site-header .btn-red{background:var(--red);border-color:var(--red);padding:12px 20px}
.site-header .btn:hover{background:var(--red-dark)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--navy-900)}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--sky);outline-offset:3px}

/* Text links with arrow */
.text-link{font-weight:600;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;display:inline-flex;gap:10px}
.text-link:hover{color:var(--red)}
.text-link span{transition:transform .2s}
.text-link:hover span{transform:translateX(3px)}

/* Eyebrows: quiet */
.eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{display:none!important}

/* Remove template decoration */
.hero-bg::before,.page-banner-bg::before,.hero::before,.cta-band::before,.cta-band::after,.listings-empty::before,.service-card::before,.type-tile::before,.teaser-card::after{display:none!important;content:none!important}
.hero-skyline,.page-banner-skyline{display:none!important}
.flag-stripe{height:0!important;background:none!important;border-top:1px solid var(--line)}
.site-footer .flag-stripe{border-top:0}
.service-icon,.type-icon,.subtype-icon,.listings-empty-icon{display:none!important}

/* Sections */
.section{padding:clamp(72px,9vw,128px) 0}
.section-head{margin-bottom:clamp(36px,4vw,56px);max-width:760px}
.section-head h2,main h2{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.12}
main h3{font-size:1.3rem;line-height:1.25}

/* Cards → editorial blocks: thin top rule, no boxes, no lift */
.teaser-card,.service-card,.subtype,.type-tile,.team-card,.profile,.process-steps li,.listings-empty,.contact-form{background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;transition:none!important}
.teaser-card,.service-card,.type-tile,.process-steps li{border-top:1px solid var(--rule)!important;padding:28px 0 0!important}
.teaser-card:hover,.service-card:hover,.subtype:hover,.type-tile:hover,.type-tile:focus-visible{transform:none!important;box-shadow:none!important}
.type-tile:hover .type-tile-name{color:var(--red)}
.type-tile-subs li::before,.service-card li::before,.subtype-points li::before{content:"";width:10px;height:1px;background:var(--navy);top:.8em;font-size:0}
.teaser-grid,.service-grid,.type-tiles{gap:clamp(28px,3vw,48px)!important}

/* Subtypes: editorial rows */
.subtype-list{gap:0!important;border-top:1px solid var(--rule)}
.subtype{border-bottom:1px solid var(--line)!important;padding:clamp(32px,4vw,52px) 0!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)!important;gap:clamp(24px,5vw,80px)!important}
.subtype-main h2{font-size:clamp(1.6rem,2.4vw,2.1rem)!important;margin-bottom:14px}
.subtype-points{background:transparent!important;border:0!important;border-left:1px solid var(--line)!important;padding:4px 0 4px clamp(20px,3vw,36px)!important}
.subtype-points h3{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
.service-jump{gap:0 28px!important;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:8px}
.service-jump a{background:none!important;border:0!important;padding:6px 0!important;font-weight:500;color:var(--navy);text-decoration:none}
.service-jump a:hover{color:var(--red);text-decoration:underline}
.teaser-chips a,.hero-types a,.chip-btn,.seg-btn{border-radius:0!important;background:transparent!important;border:1px solid var(--line)!important;box-shadow:none!important}
.teaser-chips a:hover,.hero-types a:hover{border-color:var(--navy)!important;color:var(--navy)!important}

/* Page banner: full-bleed photo, flat overlay */
.page-banner{position:relative;overflow:hidden;background:var(--navy-900);min-height:clamp(340px,36vw,480px);display:flex;align-items:flex-end}
.page-banner-bg{position:absolute;inset:0;background:none}
.page-banner-bg picture,.page-banner-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-banner-bg::after{content:"";position:absolute;inset:0;background:rgba(7,30,61,.62)}
.page-banner-inner{position:relative;z-index:2;width:100%;padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(44px,5vw,72px)}
.page-banner h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.04;letter-spacing:-.025em;color:#fff;max-width:18ch;margin:.25em 0 .3em}
.page-banner-sub{font-size:clamp(1.02rem,1.3vw,1.18rem);color:rgba(255,255,255,.88);max-width:56ch;line-height:1.65}
.breadcrumb{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
.breadcrumb a{color:rgba(255,255,255,.75);text-decoration:none}
.breadcrumb a:hover{color:#fff;text-decoration:underline}
.breadcrumb [aria-current]{color:#fff}

/* Homepage hero */
body.home .hero{background:var(--navy-900);position:relative;overflow:hidden}
body.home .hero-bg{position:absolute;inset:0}
body.home .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
body.home .hero-bg::after{content:"";position:absolute;inset:0;background:rgba(7,30,61,.66)}
body.home .hero-inner{position:relative;z-index:2;padding-top:clamp(96px,12vw,168px);padding-bottom:clamp(88px,11vw,152px);align-items:end;gap:clamp(40px,6vw,96px)}
body.home .hero h1{font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.0;letter-spacing:-.03em;max-width:14ch;color:#fff;margin:.3em 0 .4em}
body.home .hero .lead{font-size:clamp(1.05rem,1.35vw,1.22rem);color:rgba(255,255,255,.88);max-width:44ch}
body.home .hero .eyebrow{color:rgba(255,255,255,.8)}
body.home .hero-ctas{gap:12px;margin-top:36px}
body.home .hero-call{color:rgba(255,255,255,.8);margin-top:28px}
body.home .hero-call a{color:#fff}
body.home .hero-brokerage{color:rgba(255,255,255,.66);font-size:.78rem;border-top:1px solid rgba(255,255,255,.22);padding-top:16px;margin-top:20px;max-width:44ch}
body.home .hero-card{background:#fff;box-shadow:none!important;border:0;padding:36px 32px 28px;animation:none!important;transform:none!important}
body.home .hero-card::before{display:none!important}
body.home .hero-copy>*{animation:none!important}
body.home .hero-types{border-top:1px solid var(--line);padding-top:18px;gap:6px}
body.home .hero-types a{font-size:.8rem;padding:6px 12px}
body.home .cobrand-label{letter-spacing:.18em;font-size:.66rem;color:var(--muted)}

/* Home intro */
body.home .intro{border-bottom:1px solid var(--line)}
body.home .intro h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.06;color:var(--navy-900);padding:0}
body.home .intro h2::before{display:none}
body.home .intro-copy p{font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.6;color:var(--ink)}

/* Home teasers: photo-led */
body.home .teasers{background:#fff}
body.home .teaser-card{border-top:0!important;padding:0!important;overflow:visible}
body.home .teaser-photo{display:block;width:100%!important;margin:0 0 24px!important;aspect-ratio:4/3;object-fit:cover;transition:filter .3s;transform:none!important}
body.home .teaser-card:hover .teaser-photo{filter:brightness(.88)}
body.home .teaser-card h3{font-size:1.45rem;border-top:1px solid var(--rule);padding-top:18px}
body.home .teaser-card h3 a{color:var(--navy-900);text-decoration:none}
body.home .teaser-card h3 a:hover{color:var(--red)}
body.home .teaser-card p{color:var(--muted)}

/* CTA band: flat navy */
.cta-band{background:var(--navy-900)!important;padding:clamp(64px,8vw,104px) 0}
.cta-band h2{color:#fff;font-size:clamp(1.9rem,3.2vw,2.8rem);max-width:24ch;line-height:1.12}
.cta-band .btn-red,.cta-band .btn{background:#fff;color:var(--navy-900);border-color:#fff}
.cta-band .btn:hover{background:transparent;color:#fff}

/* About / team */
.profile,.team-card{border-top:1px solid var(--rule)!important;padding:36px 0!important}
.avatar{box-shadow:none!important;border:0!important;width:200px!important;height:240px!important}
.avatar:not(.avatar-photo){background:#EEF1F5!important}

/* Forms */
.contact-form{padding:0!important}
.field label{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.field input,.field select,.field textarea{border:0!important;border-bottom:1px solid #9AA3AF!important;background:transparent!important;padding:12px 0!important;font-size:1rem;box-shadow:none!important;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--navy)!important}
.field textarea{border:1px solid #9AA3AF!important;padding:12px!important}
.field textarea:focus{border:1px solid var(--navy)!important;box-shadow:inset 0 0 0 1px var(--navy)!important}
.contact-list li{border-color:var(--line)!important}

/* Footer */
.site-footer{background:var(--navy-900)}
.footer-h{font-family:var(--sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline}

@media (max-width:760px){
 body.home .hero-ctas{flex-direction:column;align-items:stretch}
 body.home .hero-ctas .btn{text-align:center;justify-content:center}
 .subtype{grid-template-columns:1fr!important}
 .subtype-points{border-left:0!important;border-top:1px solid var(--line)!important;padding:18px 0 0!important}
 .section{padding:64px 0}
 .avatar{width:160px!important;height:192px!important}
}

/* Refinement */
.site-header .btn,.site-header .btn:hover,.site-nav a.btn{color:#fff!important}
.site-nav a[aria-current="page"],.site-nav .is-active>a,.site-nav li.current>a{color:var(--navy)!important}
.site-nav a[aria-current="page"]::after{background:var(--navy)!important}
h1,body.home .hero h1,.page-banner h1{font-weight:400!important}
.other-type{border:0!important;border-top:1px solid var(--rule)!important;background:transparent!important;box-shadow:none!important;transform:none!important;padding:20px 0 0!important}
.other-type:hover strong,.other-type:hover h3,.other-type:hover span:first-child{color:var(--red)}
.other-types-grid{gap:clamp(24px,3vw,48px)!important}
