
/* Layout: full-width colour bands (Forest hero, Limestone reading sections, Aubergine principles), one 1120px inner column, editorial left-aligned type. Single committed brand look. */
:root{
  --forest:#0D2A1A; --aubergine:#2A0D1A; --magenta:#7D1F48; --copper:#B46A32;
  --limestone:#F5F1E8; --stone:#4A4440; --sage:#5A6B5F;
  --paper:#FBF9F4; --line:#DDD5C6; --ink:#1F1B18; --on-dark:#EDE7DA; --on-dark-mute:#B9B2A4; --copper-lt:#D08A55;
  --display:"DM Serif Display","Canela",Georgia,"Times New Roman",serif;
  --body:"IBM Plex Sans",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"IBM Plex Serif",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--limestone);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--forest)}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:2px}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (max-width:480px){.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
h1,h2,h3{font-family:var(--display);font-weight:400;text-wrap:balance;margin:0;letter-spacing:-.005em}
h2{font-size:clamp(30px,4.2vw,44px);line-height:1.12}
h3{font-size:24px;line-height:1.2}
p{margin:0}

/* Header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--forest);color:var(--on-dark);border-bottom:1px solid rgba(237,231,218,.08)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
nav a{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--on-dark-mute)}
nav a:hover{color:var(--on-dark)}
nav .cta-sm{color:var(--copper-lt)}
@media (max-width:760px){nav li:not(.keep){display:none}}

/* Hero */
.hero{background:var(--forest);color:var(--on-dark)}
.hero .wrap{padding-block:clamp(64px,10vw,128px) clamp(56px,8vw,104px);display:grid;gap:36px}
.hero h1{font-size:clamp(46px,8vw,96px);line-height:1.02;max-width:15ch}
.hero h1 em{font-style:italic;color:var(--copper-lt)}
.hero .lede{font-size:clamp(18px,2vw,21px);line-height:1.6;max-width:58ch;color:var(--on-dark)}
.hero .who{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-mute)}
.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-block;font-family:var(--body);font-weight:500;font-size:15px;letter-spacing:.01em;padding:14px 22px;text-decoration:none;border:1px solid var(--copper);transition:background .2s,color .2s}
.btn.solid{background:var(--copper);color:#fff}
.btn.solid:hover{background:#9C5A29}
.btn.ghost{color:var(--on-dark);border-color:rgba(237,231,218,.35)}
.btn.ghost:hover{border-color:var(--on-dark)}
.dims{border-top:1px solid rgba(237,231,218,.14);margin-top:12px;padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 28px}
.dims span{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--on-dark-mute)}
.dims span b{color:var(--copper-lt);font-weight:400;margin-right:8px}

/* Sections */
section{scroll-margin-top:84px}
.band{padding-block:clamp(64px,9vw,112px)}
.paper{background:var(--paper)}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px 64px;align-items:end;margin-bottom:56px}
.head p{color:var(--stone);max-width:58ch}
@media (max-width:860px){.head{grid-template-columns:1fr;margin-bottom:40px}}

/* Where we help */
.help{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.help article{padding:32px 40px 36px 0;border-bottom:1px solid var(--line);display:grid;gap:12px;align-content:start}
.help article:nth-child(even){padding-left:40px;padding-right:0;border-left:1px solid var(--line)}
.help h3{font-size:25px}
.help p{color:var(--stone);max-width:52ch}
.help .when{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
@media (max-width:760px){.help{grid-template-columns:1fr}.help article,.help article:nth-child(even){padding:28px 0;border-left:0}}
.also{margin-top:36px;color:var(--stone);max-width:70ch}
.also b{color:var(--ink);font-weight:500}

/* Method */
.method{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:ph}
.method li{position:relative;padding:28px 22px 32px 0;border-top:2px solid var(--line);display:grid;gap:10px;align-content:start;min-width:0}
.method li::before{counter-increment:ph;content:"0" counter(ph);font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--sage)}
.method li.assess{border-top-color:var(--copper)}
.method li.assess::before{color:var(--copper)}
.method h3{font-size:26px}
.method p{font-size:15.5px;color:var(--stone)}
.method li.bracket{border-top:0;padding:0 0 12px;display:block}
.method li.bracket::before{content:none}
.bracket{grid-column:1 / span 2;font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper);padding-bottom:12px}
.bracket.rest{grid-column:3 / span 3;color:var(--sage)}
@media (max-width:960px){.method{grid-template-columns:1fr}.method li{padding:22px 0 24px;grid-template-columns:56px minmax(0,1fr);column-gap:16px}.method li::before{grid-row:1 / span 2;padding-top:8px}.bracket,.bracket.rest{grid-column:1}.bracket.rest{padding-top:16px}}

.disc{margin-top:64px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding-top:36px;border-top:1px solid var(--line)}
.disc div{display:grid;gap:8px;align-content:start}
.disc h4{margin:0;font-family:var(--serif);font-weight:400;font-style:italic;font-size:19px;line-height:1.3}
.disc p{font-size:15px;color:var(--stone)}
@media (max-width:960px){.disc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.disc{grid-template-columns:1fr;gap:24px}}

/* Engagements */
.eng{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px}
.lead-eng{background:var(--forest);color:var(--on-dark);padding:clamp(28px,4vw,44px);display:grid;gap:18px;align-content:start}
.lead-eng .eyebrow{color:var(--copper-lt)}
.lead-eng h3{font-size:clamp(30px,3.6vw,38px)}
.lead-eng p{color:var(--on-dark);max-width:54ch}
.lead-eng ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:10px;border-top:1px solid rgba(237,231,218,.16);padding-top:18px}
.lead-eng li{display:grid;grid-template-columns:22px minmax(0,1fr);font-size:15.5px;color:var(--on-dark)}
.lead-eng li::before{content:"";width:8px;height:8px;background:var(--copper);margin-top:9px}
.lead-eng .note{font-size:14px;color:var(--on-dark-mute)}
.rest-eng{display:grid;gap:0;align-content:start;border-top:1px solid var(--line)}
.rest-eng div{padding:22px 0 24px;border-bottom:1px solid var(--line);display:grid;gap:6px}
.rest-eng .ph{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.rest-eng h3{font-size:23px}
.rest-eng p{font-size:15.5px;color:var(--stone)}
@media (max-width:860px){.eng{grid-template-columns:1fr}}

/* Principles */
.dark{background:var(--aubergine);color:var(--on-dark)}
.dark .head p{color:var(--on-dark-mute)}
.dark .eyebrow{color:var(--copper-lt)}
.prin{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.prin li{border-top:1px solid rgba(237,231,218,.22);padding-top:20px;display:grid;gap:10px;align-content:start}
.prin h3{font-size:24px;color:var(--on-dark)}
.prin p{font-size:15px;color:var(--on-dark-mute)}
.found{margin-top:56px;display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 20px;border-top:1px solid rgba(237,231,218,.22);padding-top:28px}
.found span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-mute)}
.found strong{font-family:var(--display);font-weight:400;font-style:italic;font-size:clamp(28px,3.4vw,38px);color:var(--copper-lt)}
@media (max-width:1000px){.prin{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.prin{grid-template-columns:1fr}}

/* About */
.about{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.portrait{aspect-ratio:4/5;max-width:100%;background:var(--forest);position:relative;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9)}
.portrait .ph{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:72px;color:var(--copper-lt);font-style:italic}
.about-copy{display:grid;gap:18px;max-width:62ch}
.about-copy .role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.about-copy p{color:var(--stone)}
.about-copy p.first{font-family:var(--serif);font-size:21px;line-height:1.55;color:var(--ink)}
.cv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
.cv div{display:grid;gap:4px}
.cv b{font-family:var(--mono);font-weight:400;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--copper)}
.cv span{font-size:15px;color:var(--ink)}
@media (max-width:760px){.about{grid-template-columns:1fr}.portrait{max-width:280px}.cv{grid-template-columns:1fr}}

/* Contact */
.contact{background:var(--forest);color:var(--on-dark)}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:end}
.contact h2{font-size:clamp(34px,5vw,56px)}
.contact h2 em{font-style:italic;color:var(--copper-lt)}
.contact p{color:var(--on-dark-mute);max-width:52ch;margin-top:18px}
.reach{display:grid;gap:14px;border-top:1px solid rgba(237,231,218,.2);padding-top:22px}
.reach .lbl{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-mute)}
.reach a.mail{font-family:var(--serif);font-size:clamp(22px,2.6vw,28px);text-decoration:none;color:var(--on-dark);border-bottom:1px solid var(--copper);justify-self:start;word-break:break-word}
.reach a.mail:hover{color:var(--copper-lt)}
.reach .loc{font-size:15px;color:var(--on-dark-mute)}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}}
footer{background:var(--forest);color:var(--on-dark-mute);border-top:1px solid rgba(237,231,218,.1)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:24px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}

/* Plain text identity while the Corren logo is in development. */
.site-name{font-family:var(--body);font-size:18px;font-weight:500;letter-spacing:.01em;text-decoration:none;color:var(--on-dark);white-space:nowrap}.skip{position:absolute;top:8px;left:8px;transform:translateY(-160%);padding:12px 20px;background:var(--limestone);color:var(--forest);z-index:20}.skip:focus{transform:none}.scope-note{font-size:14px;color:var(--stone);margin:0 0 24px}.scope-note strong{font-weight:500;color:var(--forest)}.about-heading{display:grid;gap:20px}.about-heading em{color:var(--sage)}.btn.solid{background:#D08A55;color:#0D2A1A;border-color:#D08A55}.btn.solid:hover{background:#E1A575}.eyebrow{color:#865027}.cv b{color:#865027}.hero .eyebrow,.dark .eyebrow,.contact .eyebrow{color:var(--copper-lt)}.top .wrap{flex-wrap:wrap}.help article,.prin li,.rest-eng>div{min-width:0}.hero .who{max-width:65ch}.reach a.mail{overflow-wrap:anywhere}@media(max-width:760px){nav li:not(.keep){display:block}.top .wrap{gap:14px}nav{width:100%}nav ul{gap:12px 20px;flex-wrap:wrap}nav a{font-size:10px}section{scroll-margin-top:145px}.about-heading{max-width:500px}}@media print{.top,nav,.actions{display:none}.band,.hero .wrap{padding-block:24px}.dark,.hero,.contact,footer{background:white;color:black}.dark p,.contact p,.hero .lede{color:#333}}

/* Requested header and hero button color refinements. */
.site-name{color:var(--limestone);border-bottom:2px solid var(--copper);padding-bottom:5px;line-height:1.2}
.btn.solid,.btn.solid:hover,.btn.ghost{color:var(--limestone)}

/* Corren typographic header: prominent italic display face. */
.site-name{font-family:var(--display);font-style:italic;font-size:36px;font-weight:400;letter-spacing:.01em;line-height:1.1;color:var(--limestone);border-bottom:2px solid var(--copper);padding-bottom:5px}

/* Approved copy batch: Assessment label in brand Copper. */
.scope-note strong{color:var(--copper)}
