@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Libre+Franklin:wght@300;400;500;600;700&display=swap");

:root { --ink:#121212; --paper:#f7f3e8; --warm:#ebe3cf; --warm-dark:#dfd4bb; --accent:#8b2500; --accent-hover:#a32c00; --mid:#4a4740; --light:#6e695e; --rule:#d8ceb4; --surface:rgba(235,227,207,.45); --card-bg:#fffdf9; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:"Libre Franklin",sans-serif; color:var(--ink); background:var(--paper); line-height:1.75; font-size:16px; -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%; }
a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:rgba(139,37,0,.15); }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
h1,h2,h3,h4 { font-family:"Cormorant Garamond",serif; font-weight:700; line-height:1.15; color:var(--ink); }
p,li { overflow-wrap:break-word; color:var(--mid); }
strong { color:var(--ink); font-weight:600; }
.container { max-width:960px; margin:0 auto; padding:0 28px; }
.wide-container { max-width:1120px; margin:0 auto; padding:0 28px; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal!important; }
.screen-reader-text:focus { clip:auto!important; clip-path:none; display:block; height:auto; left:1rem; padding:.75rem 1rem; top:1rem; width:auto; z-index:1000; background:var(--ink); color:#fff; }

.site-nav { position:sticky; top:0; background:rgba(247,243,232,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--rule); z-index:100; padding:20px 0; }
.nav-inner { display:flex; justify-content:space-between; align-items:center; max-width:1120px; margin:0 auto; padding:0 28px; gap:24px; }
.brand-mark { font-family:"Cormorant Garamond",serif; font-size:22px; font-weight:700; letter-spacing:.5px; color:var(--ink); display:flex; align-items:center; gap:10px; white-space:nowrap; }
.flame { display:inline-block; width:10px; height:10px; background:var(--accent); border-radius:50% 0 50% 50%; transform:rotate(-45deg); }
.nav-links { display:flex; gap:24px; align-items:center; list-style:none; }
.nav-links a { font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:1.5px; color:var(--light); transition:color .2s; white-space:nowrap; }
.nav-links a:hover,.nav-links .current-menu-item a { color:var(--accent); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--ink); align-items:center; gap:9px; font-family:"Libre Franklin",sans-serif; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; cursor:pointer; }
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after { display:block; width:18px; height:1px; background:currentColor; content:""; }
.menu-toggle i { position:relative; }
.menu-toggle i::before { position:absolute; top:-5px; }
.menu-toggle i::after { position:absolute; top:5px; }

.btn { display:inline-block; padding:13px 28px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:2px; border-radius:2px; border:2px solid var(--accent); color:var(--accent); background:transparent; transition:all .25s; cursor:pointer; text-align:center; }
.btn:hover { background:var(--accent); color:var(--paper); }
.btn-solid { background:var(--accent); color:var(--paper); }
.btn-solid:hover { background:var(--accent-hover); border-color:var(--accent-hover); }
.btn-row { display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; align-items:center; }
.hero { padding:110px 0 90px; border-bottom:1px solid var(--rule); background:radial-gradient(circle at top right,rgba(235,227,207,.4) 0%,transparent 60%); }
.kicker { font-size:12px; text-transform:uppercase; letter-spacing:3px; color:var(--accent); font-weight:600; margin-bottom:24px; }
.hero h1,.page-hero h1 { font-size:clamp(42px,6.5vw,68px); max-width:840px; margin-bottom:28px; letter-spacing:-.5px; line-height:1.1; }
.deck { font-size:21px; max-width:720px; color:var(--mid); font-weight:300; line-height:1.6; }
section { padding:90px 0; }
section + section { border-top:1px solid var(--rule); }
.section-header { margin-bottom:48px; max-width:740px; }
.section-header h2 { font-size:clamp(34px,4.5vw,46px); margin-bottom:16px; }
.section-header p { font-size:18px; color:var(--mid); font-weight:300; }
.premise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
.premise-card { padding:32px 28px; border:1px solid var(--rule); background:var(--card-bg); position:relative; }
.premise-card h3 { font-size:24px; margin-bottom:12px; }
.premise-card p { font-size:15px; line-height:1.65; }
.ladder-banner { background:var(--ink); color:#fff; padding:60px 48px; border-radius:2px; position:relative; overflow:hidden; }
.ladder-banner h2 { color:#fff; font-size:38px; margin-bottom:16px; }
.ladder-banner p { color:#d0cbbf; font-size:17px; max-width:680px; margin-bottom:36px; font-weight:300; }
.ladder-levels { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-bottom:40px; }
.ladder-col { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); padding:18px 14px; border-radius:2px; transition:all .25s; }
.ladder-col:hover { background:rgba(255,255,255,.12); border-color:var(--accent); transform:translateY(-2px); }
.ladder-num { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; color:#ff9370; font-weight:600; }
.ladder-name { font-family:"Cormorant Garamond",serif; font-size:22px; font-weight:700; color:#fff; margin:4px 0 8px; }
.ladder-desc { font-size:12px; line-height:1.5; color:#b8b2a3; }
.ladder-banner .btn { border-color:#ff9370; color:#ff9370; }
.ladder-banner .btn:hover { background:#ff9370; color:var(--ink); border-color:#ff9370; }
.ladder-home { padding:40px 0; border-top:none; }
.ladder-kicker,.cta-kicker { color:#ff9370; }
.capabilities-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.capability-card { padding:38px 34px; border:1px solid var(--rule); background:var(--card-bg); display:flex; flex-direction:column; justify-content:space-between; }
.capability-num { font-size:12px; font-weight:700; letter-spacing:2px; color:var(--accent); margin-bottom:14px; }
.capability-card h3 { font-size:28px; margin-bottom:14px; }
.capability-card p { font-size:15px; line-height:1.7; margin-bottom:16px; }
.capability-card ul { list-style:none; margin-top:14px; padding-top:14px; border-top:1px solid var(--warm); }
.capability-card li { padding:6px 0 6px 20px; position:relative; font-size:14px; color:var(--mid); }
.capability-card li::before { content:""; position:absolute; left:0; top:14px; width:8px; height:2px; background:var(--accent); }
.pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.pillar-card { padding:34px 28px; background:var(--surface); border:1px solid var(--rule); }
.pillar-card h3 { font-size:24px; margin-bottom:10px; }
.pillar-tagline { font-size:13px; text-transform:uppercase; letter-spacing:1.5px; color:var(--accent); font-weight:600; margin-bottom:14px; }
.pillar-card p,.pillar-card li { font-size:14px; line-height:1.65; }
.pillar-card ul { margin:14px 0 0 18px; }
.philosophy-box { background:var(--warm); border:1px solid var(--warm-dark); padding:60px 48px; position:relative; }
.philosophy-box blockquote { font-family:"Cormorant Garamond",serif; font-size:clamp(26px,3.5vw,36px); font-style:italic; line-height:1.35; color:var(--ink); margin-bottom:24px; }
.philosophy-box p { font-size:16px; line-height:1.8; color:var(--mid); max-width:760px; }
.leadership-card { display:grid; grid-template-columns:190px 1fr 2fr; gap:34px; padding:44px; border:1px solid var(--rule); background:var(--card-bg); align-items:start; }
.founder-photo { display:block; width:100%; height:254px; object-fit:cover; object-position:center 22%; }
.leader-meta h3 { font-size:32px; margin-bottom:6px; }
.leader-role { font-size:13px; text-transform:uppercase; letter-spacing:2px; color:var(--accent); font-weight:600; margin-bottom:18px; }
.leader-outlets { font-size:12px; line-height:1.8; text-transform:uppercase; letter-spacing:1px; color:var(--light); padding-top:14px; border-top:1px solid var(--warm); }
.leader-bio p { font-size:15px; line-height:1.75; margin-bottom:14px; }
.cta-section { background:var(--ink); color:#fff; padding:90px 0; text-align:left; }
.cta-section h2 { color:#fff; font-size:clamp(36px,5vw,52px); margin-bottom:18px; }
.cta-section p { color:#cfc9be; font-size:18px; max-width:640px; margin-bottom:34px; font-weight:300; }
.cta-solid { background:#ff9370; color:#121212; border-color:#ff9370; }
.cta-outline { border-color:#fff; color:#fff; }
.page-hero { padding:100px 0 78px; border-bottom:1px solid var(--rule); background:radial-gradient(circle at top right,rgba(235,227,207,.4) 0%,transparent 60%); }
.page-hero .deck { max-width:770px; }
.page-copy { max-width:760px; }
.page-copy h2 { font-size:clamp(34px,4.5vw,46px); margin-bottom:18px; }
.page-copy p + p { margin-top:16px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.detail-card { padding:28px; border:1px solid var(--rule); background:var(--card-bg); }
.detail-card h3 { font-size:25px; margin-bottom:10px; }
.detail-card p { font-size:15px; }
.detail-card ul,.number-list { margin:14px 0 0 20px; }
.detail-card li,.number-list li { margin:8px 0; }
.top-space { margin-top:14px; }
.small-top { margin-top:20px; }
footer { border-top:1px solid var(--rule); padding:44px 0 36px; font-size:13px; color:var(--light); background:var(--paper); }
.footer-inner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; max-width:1120px; margin:0 auto; padding:0 28px; }
.footer-col h5 { font-family:"Cormorant Garamond",serif; font-size:18px; color:var(--ink); margin-bottom:10px; }
.footer-col p { font-size:13px; color:var(--light); line-height:1.6; }
.footer-intro { max-width:320px; }
.footer-bottom { max-width:1120px; margin:28px auto 0; padding:24px 28px 0; border-top:1px solid var(--warm); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12px; }

@media (max-width:900px) { .premise-grid,.capabilities-grid,.pillars-grid,.detail-grid { grid-template-columns:1fr; } .ladder-levels { grid-template-columns:repeat(3,1fr); } .leadership-card { grid-template-columns:1fr; gap:24px; padding:28px; } .founder-photo { width:190px; height:254px; } }
@media (max-width:760px) { .site-nav { padding:16px 0; } .nav-inner { padding:0 20px; } .menu-toggle { display:flex; } .primary-menu { display:none; position:absolute; left:0; right:0; top:100%; border-bottom:1px solid var(--rule); background:var(--paper); box-shadow:0 16px 30px rgba(18,18,18,.12); } .primary-menu.is-open { display:block; } .primary-menu .nav-links { display:grid; gap:0; margin:0 20px; padding:12px 0 18px; } .primary-menu li { border-bottom:1px solid var(--rule); } .primary-menu li:first-child { border-top:1px solid var(--rule); } .primary-menu a { display:block; padding:14px 0; white-space:normal; } }
@media (max-width:600px) { .container,.wide-container { padding:0 20px; } .ladder-levels { grid-template-columns:repeat(2,1fr); } .ladder-banner,.philosophy-box { padding:36px 24px; } .hero,.page-hero { padding:70px 0 50px; } .btn { width:100%; } .footer-inner,.footer-bottom { padding-left:20px; padding-right:20px; } }
@media (max-width:390px) { .brand-mark { font-size:20px; } .menu-toggle span { display:none; } }
