/* StraSec editorial redesign. All colours resolve through the approved tokens in site.css. */

:root{
  --editorial-max:1120px;
  --editorial-page:min(var(--editorial-max),calc(100vw - 48px));
}

body{background:var(--paper);color:var(--graphite);font-family:Arial,"Segoe UI",sans-serif}

/* Shared navigation */
.site-header{position:sticky;top:0;z-index:30;background:var(--deep-petrol);color:var(--chalk);border-bottom:1px solid var(--line-dark)}
.editorial-home .site-header{position:absolute;left:0;width:100%;background:linear-gradient(180deg,rgba(16,45,50,.72),rgba(16,45,50,.18));backdrop-filter:blur(3px)}
.navrow{width:var(--editorial-page);min-height:104px;margin:0 auto;padding:0;gap:1rem;border-bottom:1px solid rgba(242,240,232,.28)}
.logo img{width:154px;height:auto}
.nav{min-height:104px;gap:0;align-items:stretch}
.nav a{display:flex;align-items:center;padding:0 18px;color:rgba(242,240,232,.86);font-size:.86rem;font-weight:500;transition:color .18s ease,background .18s ease}
.nav a:hover,.nav a:focus-visible{color:var(--chalk);background:rgba(242,240,232,.06)}
.nav a[aria-current=page]{color:var(--steel)}
.site-header .nav .button.primary{min-height:52px;margin:26px 12px 26px 10px;padding:0 22px;background:var(--chalk);border-color:var(--chalk);color:var(--deep-petrol)}
.site-header .nav .button.primary:hover,.site-header .nav .button.primary:focus-visible{background:var(--steel);border-color:var(--steel);color:var(--deep-petrol)}
.language-link{width:40px!important;height:40px;margin:32px 0;padding:0!important;border-color:rgba(242,240,232,.28)}

/* Home */
.home-hero{position:relative;min-height:760px;height:100svh;overflow:hidden;color:var(--chalk);background:var(--deep-petrol)}
.home-hero-image,.home-hero-wash{position:absolute;inset:0;width:100%;height:100%}
.home-hero-image{object-fit:cover;object-position:50% 50%;filter:saturate(.72) contrast(.94);animation:editorial-arrive 1.1s ease-out both}
.home-hero-wash{background:linear-gradient(90deg,rgba(16,45,50,.9) 0%,rgba(16,45,50,.78) 39%,rgba(16,45,50,.34) 67%,rgba(16,45,50,.2) 100%),linear-gradient(0deg,rgba(16,45,50,.38),transparent 46%)}
.home-hero-inner{position:relative;z-index:2;width:var(--editorial-page);height:100%;margin:0 auto;padding:172px 0 54px;display:flex;flex-direction:column}
.editorial-eyebrow,.editorial-kicker{margin:0;font-size:.72rem;font-weight:700;line-height:1.35;letter-spacing:.17em;text-transform:uppercase}
.home-hero .editorial-eyebrow{color:var(--steel)}
.home-hero h1,.home-manifesto h2,.home-process-title,.home-services h2,.home-advisor h2,.home-contact h2{margin:0;font-family:Arial,"Segoe UI",sans-serif;font-weight:300;line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.home-hero h1{max-width:860px;margin-top:auto;margin-bottom:auto;font-size:clamp(3.9rem,6.6vw,6.9rem)}
.home-hero-foot{display:grid;grid-template-columns:minmax(280px,540px) auto;align-items:end;justify-content:space-between;gap:40px;padding-top:28px;border-top:1px solid rgba(242,240,232,.34)}
.home-hero-foot p{max-width:530px;margin:0;color:rgba(242,240,232,.78);font-size:1.05rem}
.editorial-link{display:inline-flex;gap:26px;align-items:center;color:inherit;text-transform:uppercase;text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.12em}
.editorial-link span{font-size:1.15rem}

.editorial-section{padding:124px max(24px,calc((100vw - var(--editorial-max))/2))}
.editorial-kicker{padding-bottom:20px;color:var(--petrol);border-bottom:1px solid var(--steel)}
.home-manifesto{background:var(--paper)}
.home-manifesto-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:92px;padding-top:68px}
.home-manifesto h2{color:var(--petrol);font-size:clamp(3.3rem,5.7vw,6rem)}
.home-manifesto-copy{align-self:center;max-width:510px}
.home-manifesto-copy p,.home-advisor-copy p{margin:0 0 22px}
.editorial-lead{color:var(--deep-petrol);font-family:var(--serif);font-size:clamp(1.32rem,2vw,1.75rem);line-height:1.42}

.home-process{background:var(--paper-2)}
.home-process-title{max-width:800px;padding:64px 0 72px;color:var(--petrol);font-size:clamp(2.8rem,5vw,5.15rem)}
.home-process-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.home-process-list li{display:grid;grid-template-columns:86px minmax(0,1fr) 130px;gap:26px;align-items:start;padding:34px 0;border-bottom:1px solid var(--line)}
.home-process-number,.home-process-tag{padding-top:5px;color:var(--petrol);font-size:.74rem;font-weight:700;letter-spacing:.14em}
.home-process-tag{text-align:right}
.home-process-list h3{margin:0 0 8px;color:var(--deep-petrol);font-family:Arial,"Segoe UI",sans-serif;font-size:1.45rem;font-weight:500}
.home-process-list p{max-width:570px;margin:0;color:rgba(32,39,40,.72)}

.home-services{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:var(--deep-petrol)}
.home-services-image{min-height:660px;background:linear-gradient(rgba(16,45,50,.12),rgba(16,45,50,.2)),url("grc-decision-room-v1.webp") 58% center/cover no-repeat}
.home-services-panel{display:flex;flex-direction:column;justify-content:center;padding:88px clamp(40px,6vw,96px);color:var(--chalk)}
.home-services .editorial-kicker{color:var(--steel)}
.home-services h2{margin:54px 0 66px;font-size:clamp(3rem,4.9vw,5.4rem)}
.home-service-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(242,240,232,.3)}
.home-service-list li{border-bottom:1px solid rgba(242,240,232,.3)}
.home-service-list a{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:22px;align-items:center;padding:26px 0;color:rgba(242,240,232,.86);text-decoration:none;transition:color .18s ease}
.home-service-list a:hover,.home-service-list a:focus-visible{color:var(--chalk)}
.home-service-list strong{font-family:var(--serif);font-size:1.18rem;font-weight:400}
.home-service-summary{max-width:410px;color:rgba(242,240,232,.58);font-size:.78rem;line-height:1.45}
.home-service-cta{white-space:nowrap;text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.12em}

.home-advisor{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(54px,8vw,112px);background:var(--paper)}
.home-advisor-image{min-height:620px;overflow:hidden;background:var(--steel)}
.home-advisor-image img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.85)}
.home-advisor-copy{align-self:center}
.home-advisor-copy h2{margin:62px 0 42px;color:var(--petrol);font-size:clamp(2.8rem,4.5vw,4.7rem)}
.home-advisor-meta{display:grid;gap:2px;margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.home-advisor-meta strong{font-family:var(--serif);font-size:1.22rem;font-weight:400}
.home-advisor-meta span{color:var(--petrol);font-size:.88rem}

.home-contact{padding:112px max(24px,calc((100vw - var(--editorial-max))/2)) 122px;color:var(--chalk);background:var(--petrol)}
.home-contact-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);gap:clamp(54px,8vw,112px);align-items:start}
.home-contact .editorial-eyebrow{color:var(--steel)}
.home-contact h2{margin:52px 0 40px;font-size:clamp(3.25rem,6vw,6.2rem)}
.home-contact-copy>p:not(.editorial-eyebrow){max-width:540px;color:rgba(242,240,232,.7)}
.home-contact-direct{display:flex;justify-content:space-between;align-items:center;margin-top:54px;padding:22px 0;border-block:1px solid rgba(242,240,232,.4);font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.6rem);text-decoration:none}
.home-contact .contact-form{background:var(--deep-petrol);border-color:rgba(242,240,232,.24)}

/* Shared footer */
.footer{padding:0;background:var(--deep-petrol);color:var(--chalk);border-top:1px solid var(--line-dark)}
.footer-main{width:var(--editorial-page);margin:0 auto;padding:52px 0 40px}
.footer-row{width:var(--editorial-page);margin:0 auto;padding:22px 0 28px}

@keyframes editorial-arrive{from{transform:scale(1.025);opacity:.55}to{transform:scale(1);opacity:1}}

@media(max-width:960px){
  :root{--editorial-page:calc(100vw - 34px)}
  .navrow{min-height:82px;flex-wrap:nowrap}
  .logo{width:auto}.logo img{width:138px}
  .nav{min-height:82px;margin-left:auto;overflow:visible;padding:0}
  .nav a:not(.button):not(.language-link){display:none}
  .site-header .nav .button.primary{min-height:46px;margin:18px 8px 18px 0;padding:0 16px}
  .language-link{min-width:38px;margin:22px 0}
  .home-hero{min-height:700px}
  .home-hero-image{object-position:52% 50%}
  .home-hero-wash{background:linear-gradient(90deg,rgba(16,45,50,.94) 0%,rgba(16,45,50,.82) 63%,rgba(16,45,50,.38) 100%),linear-gradient(0deg,rgba(16,45,50,.45),transparent 52%)}
  .home-hero-inner{padding:126px 0 32px}
  .home-hero h1{font-size:clamp(3.15rem,10vw,5.2rem)}
  .home-hero-foot{grid-template-columns:1fr;gap:18px}
  .editorial-section{padding-top:82px;padding-bottom:82px}
  .home-manifesto-grid,.home-advisor,.home-contact-grid{grid-template-columns:1fr;gap:52px}
  .home-services{grid-template-columns:1fr}
  .home-services-image{min-height:440px}
  .home-services-panel{padding:74px 32px 82px}
  .home-service-list a{grid-template-columns:100px minmax(0,1fr) auto;gap:16px}
  .home-advisor-image{min-height:520px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-main>div:first-child{grid-column:1/-1}
}

@media(max-width:560px){
  .site-header .nav .button.primary{font-size:.72rem;padding-inline:12px}
  .home-hero{min-height:680px}
  .home-hero-image{object-position:51% 50%}
  .home-hero h1{font-size:clamp(2.8rem,13.6vw,4rem)}
  .home-hero-foot p{font-size:.95rem}
  .home-manifesto-grid{padding-top:48px}
  .home-manifesto h2,.home-services h2,.home-advisor-copy h2,.home-contact h2,.home-process-title{font-size:clamp(2.45rem,12vw,3.6rem)}
  .home-process-title{padding:48px 0 50px}
  .home-process-list li{grid-template-columns:46px 1fr;gap:16px}
  .home-process-tag{display:none}
  .home-services-image{min-height:330px}
  .home-services-panel{padding:64px 22px 70px}
  .home-service-list a{grid-template-columns:1fr auto}
  .home-service-summary{grid-column:1/-1;grid-row:2}
  .home-advisor-image{min-height:420px}
  .home-contact{padding-top:82px;padding-bottom:86px}
  .home-contact-grid{grid-template-columns:1fr}
  .footer-main,.footer-row{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){.home-hero-image{animation:none}}

/* Interior pages: the same quiet, editorial system without changing page content. */
body:not(.editorial-home) main h1,
body:not(.editorial-home) main h2,
body:not(.editorial-home) main h3{font-family:Arial,"Segoe UI",sans-serif;font-weight:400;letter-spacing:-.025em}
body:not(.editorial-home) main h1{font-weight:300}
.page-hero{padding:clamp(5.5rem,10vw,10rem) 0 clamp(4.5rem,8vw,8rem);background:var(--deep-petrol);border-bottom:1px solid var(--steel)}
.page-hero>.frame,.article-hero>.frame{width:min(100%,1280px);padding-inline:clamp(24px,5vw,76px)}
.page-hero .eyebrow,.article-hero .eyebrow{color:var(--steel)}
.page-hero .wide-title{max-width:17ch;margin:clamp(2.2rem,5vw,5rem) 0 2rem;font-size:clamp(3rem,6.1vw,6.6rem);font-weight:300;line-height:.98;letter-spacing:-.045em}
.page-hero .lede{max-width:710px;color:rgba(242,240,232,.7);font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.58rem)}

.section-pad{padding-block:clamp(5rem,9vw,9rem)}
.page-grid{gap:0;background:transparent;border-top:1px solid var(--steel);border-left:1px solid var(--line)}
.page-block{min-height:340px;background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.page-block.dark{background:var(--petrol)}
.page-block.accent{background:var(--paper-2)}
.page-block h2{font-size:clamp(2.25rem,4.2vw,4.6rem);line-height:1.02}
.page-block h3{font-size:clamp(1.65rem,2.6vw,2.65rem);line-height:1.08}
.founder-profile{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);padding:0!important}
.founder-profile img{width:100%;height:100%;min-height:490px;object-fit:cover;object-position:50% 34%;filter:saturate(.82)}
.founder-profile>div{align-self:center;padding:clamp(2rem,4vw,4rem)}

.insights-empty{padding:clamp(5rem,9vw,9rem) 0}
.empty-grid{gap:0;background:transparent;border-top:1px solid var(--steel)}
.empty-grid>div{padding:clamp(2.4rem,5vw,5rem);border-bottom:1px solid var(--line)}
.empty-grid .editorial-card{background:var(--paper-2);border-left:1px solid var(--line)}
.empty-grid h2{font-size:clamp(2.3rem,4.7vw,5rem);line-height:1.02}
.article-band{border-color:var(--steel)}
.article-card{min-height:390px;padding:clamp(1.8rem,3vw,3rem);border-color:var(--line)}
.article-card h3{font-size:clamp(1.5rem,2.2vw,2.3rem)}

.final-cta{padding:clamp(5rem,9vw,9rem) 0;background:var(--petrol)}
.final-cta .cta-row{width:min(100%,1280px);padding-inline:clamp(24px,5vw,76px)}
.final-cta .cta-row h2{font-family:Arial,"Segoe UI",sans-serif;font-size:clamp(2.5rem,5vw,5.25rem);font-weight:300;line-height:1.01;letter-spacing:-.04em}

.legal-section{padding:clamp(5rem,9vw,9rem) 0}
.legal-grid{gap:0;background:transparent;border-top:1px solid var(--steel);border-left:1px solid var(--line)}
.legal-block{background:transparent;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.legal-block h2{font-size:clamp(1.7rem,2.7vw,2.6rem)}

.article-hero{padding:clamp(4rem,8vw,8rem) 0;border-bottom:1px solid var(--steel)}
.article-hero h1{max-width:19ch;font-size:clamp(2.8rem,5.3vw,5.7rem);font-weight:300;line-height:1;letter-spacing:-.042em}
.article-dek{color:rgba(242,240,232,.72);font-family:var(--serif)}
.article-signal-board{border-color:rgba(242,240,232,.26);box-shadow:none}
.article-main{padding:clamp(4.5rem,8vw,8rem) 0}
.article-copy h2{font-weight:400;letter-spacing:-.025em}
.article-emphasis{background:var(--paper-2);border-width:1px 1px 1px 5px}

/* The detailed service catalogue stays comprehensive, but reads as an editorial page. */
.services-hero{position:relative;padding:clamp(6rem,11vw,10rem) 0;background:linear-gradient(90deg,rgba(16,45,50,.95),rgba(16,45,50,.75) 58%,rgba(16,45,50,.38)),url("grc-decision-room-v1.webp") 56% center/cover no-repeat;border-bottom:1px solid var(--steel)}
.services-hero h1{max-width:16ch;margin:2.5rem 0 1.8rem;font-size:clamp(3.1rem,6vw,6.3rem);font-weight:300;line-height:.98;letter-spacing:-.045em}
.services-hero .eyebrow{color:var(--steel)}
.services-hero-note{border-color:rgba(242,240,232,.38)}
.service-tracks{margin-top:0;padding:0}
.track-grid{border:0;border-bottom:1px solid var(--steel)}
.track-card{min-height:470px;border:0!important;padding:clamp(2.6rem,5vw,5.5rem)}
.track-card+.track-card{border-left:1px solid var(--line)!important}
.track-card-service{background:var(--paper-2)}
.track-card h2,.services-section-head h2{font-size:clamp(2.2rem,4vw,4.3rem);line-height:1.03}
.situation-nav{background:var(--paper);border-color:var(--steel)}
.services-section,.projects-section,.start-section{padding:clamp(5rem,9vw,9rem) 0}
.service-card-grid{gap:0;border-top:1px solid var(--steel);border-left:1px solid var(--line)}
.service-card{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
.service-card>header{border-color:var(--line)}
.service-card>header h3{font-size:clamp(1.7rem,2.3vw,2.45rem)}
.project-card-grid{gap:0;border-color:var(--steel);background:transparent}
.project-card{background:transparent;border-color:var(--line)!important}
.project-card h3{font-size:clamp(1.7rem,2.7vw,2.8rem)}
.clarification-section{background:var(--paper-2)}
.clarification-main{background:var(--paper)}

@media(max-width:900px){
  .founder-profile{grid-template-columns:1fr}.founder-profile img{max-height:600px}
  .empty-grid .editorial-card{border-left:0}
  .track-card+.track-card{border-left:0!important;border-top:1px solid var(--line)!important}
}

@media(max-width:720px){
  .page-hero .wide-title,.article-hero h1,.services-hero h1{font-size:clamp(2.65rem,12vw,4.2rem)}
  .page-hero>.frame,.article-hero>.frame,.final-cta .cta-row{padding-inline:22px}
  .founder-profile img{min-height:420px}
}
