@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&family=Playfair+Display:ital,wght@1,500;1,600&display=swap');
:root{--black:#0a0a0a;--navy:#0f2d45;--stone:#e8e6e1;--cream:#f7f6f2;--red:#b03a3a;--amber:#d9a441;--green:#2f6b4f;--muted:#6c6d6c;--border:#ddd9d1}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;color:var(--black);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 84px));margin:auto}
.skip-link{position:absolute;left:10px;top:-90px;background:#fff;padding:15px;z-index:100}
.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;background:rgba(247,246,242,.94);backdrop-filter:blur(18px);border-bottom:1px solid #deddd7;z-index:20}
.nav-wrap{height:85px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:13px;align-items:center}
.brand-mark{display:flex;gap:1px;font-family:Montserrat,sans-serif;font-size:27px;letter-spacing:-3px;font-weight:800}
.brand-mark span:nth-child(1),.footer-logo span:nth-child(1){color:var(--red)}
.brand-mark span:nth-child(2),.footer-logo span:nth-child(2){color:var(--amber)}
.brand-mark span:nth-child(3),.footer-logo span:nth-child(3){color:var(--green)}
.brand-name{font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:1.5px;font-weight:500;white-space:nowrap}
.brand-name strong{font-weight:800}
.nav-links{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700}
.nav-links a:hover,.text-link:hover{color:var(--red)}
.nav-contact{border:1px solid var(--black);padding:13px 19px}
.nav-contact span{padding-left:10px}
.menu-toggle{display:none}

.eyebrow,.section-index,.card-num,.card-label,.tile-category,.hero-footnote,.book-badge{font-family:Montserrat,sans-serif;font-weight:700;font-size:10px;letter-spacing:2px}
h1,h2,h3,p{margin-top:0}
.hero{min-height:690px;display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;padding-top:72px;padding-bottom:84px}
.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase}
.eyebrow-line{height:2px;width:24px;background:var(--red)}
.hero h1{font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-3.9px;font-size:clamp(44px,4.65vw,70px);line-height:1.095;margin:29px 0 22px}
.hero h1 em,.statement-inner h2 em,.section-heading h2 em,.about-content h2 em,.connect-inner h2 em,.book-copy h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:500}
.underline-accent{text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:4px;text-underline-offset:9px}
.hero-intro{font-weight:800;font-size:23px;line-height:1.4;margin-bottom:12px;max-width:510px}
.hero-copy{font-size:15px;color:#5e605f;line-height:1.9;max-width:500px;margin-bottom:31px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:17px 21px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button-dark{background:var(--black);color:white}
.button-dark:hover{background:var(--navy)}
.text-link{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}
.text-link span{padding-left:8px}
.hero-footnote{margin-top:58px;display:flex;gap:13px;align-items:center;color:#7d7e7b;font-size:9px}
.tiny-line{width:24px;height:1px;background:#a8aaa7}
.hero-visual{margin:0;background:#e8e6e1;padding:10px;box-shadow:14px 14px 0 #e1ddd4;overflow:hidden}
.hero-visual img{width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover;background:#0f2d45}
.art-caption{font-size:12px;color:#777;line-height:1.8;margin-top:22px;padding-left:6px}

.statement-band{background:var(--stone);padding:100px 0}
.statement-inner{display:grid;grid-template-columns:240px 1fr;gap:50px}
.section-index{color:var(--red);text-transform:uppercase}
.statement-kicker{font-size:12px;font-weight:700;color:#555}
.statement-inner h2,.section-heading h2,.about-content h2,.connect-inner h2,.book-copy h2{font-family:Montserrat,sans-serif;font-weight:800;letter-spacing:-2px;line-height:1.2;font-size:clamp(35px,4vw,53px)}
.statement-inner h2{max-width:870px;margin:14px 0 23px}
.statement-inner p:last-child{max-width:750px;font-size:15px;color:#666;line-height:1.9}

.framework-section{padding-top:105px;padding-bottom:95px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:47px}
.section-heading h2{margin:20px 0 0}
.section-heading>p{max-width:330px;color:#777;font-size:13px;line-height:1.85;margin-bottom:3px}
.signal-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.signal-card{background:#fff;min-height:380px;border:1px solid #e1e1dd;padding:30px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.signal-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0000000b}
.card-top{display:flex;justify-content:space-between;align-items:center}
.signal-dot{width:15px;height:15px;border-radius:50%}
.red-card .signal-dot{background:var(--red)}
.amber-card .signal-dot{background:var(--amber)}
.green-card .signal-dot{background:var(--green)}
.card-num{color:#999;font-size:9px}
.card-body{padding-top:53px;flex:1}
.card-label{font-size:10px}
.red-card .card-label{color:var(--red)}
.amber-card .card-label{color:#a87919}
.green-card .card-label{color:var(--green)}
.card-body h3{font-family:Montserrat;font-size:27px;letter-spacing:-1px;line-height:1.2;margin:15px 0}
.card-body p{font-size:13px;line-height:1.85;color:#6c6c6c}
.card-bottom{border-top:1px solid #ddd;padding-top:20px;display:flex;justify-content:space-between;font-size:11px;font-weight:700}
.framework-note{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:35px}
.note-icon{font-size:20px;color:var(--green)}
.framework-note p{margin:0;color:#686868;font-size:12px}

.perspectives-section{background:var(--navy);color:#fff;padding:105px 0 95px}
.section-heading.light .section-index{color:#e8b960}
.section-heading.light>p{color:#afc2ca}
.themes-heading{margin-bottom:32px}
.perspective-grid{display:grid;border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff38}
.six-grid{grid-template-columns:repeat(3,1fr)}
.perspective-tile{padding:30px 28px 28px 0;min-height:300px;display:flex;flex-direction:column}
.perspective-tile:nth-child(3n+2),.perspective-tile:nth-child(3n+3){border-left:1px solid #ffffff38;padding-left:28px}
.perspective-tile:nth-child(-n+3){border-bottom:1px solid #ffffff38}
.tile-number{font-family:Montserrat;font-weight:700;color:#89a0ae;font-size:12px}
.tile-category{color:#ecc078;margin-top:24px;font-size:9px}
.perspective-tile h3{font-family:Montserrat;font-size:24px;letter-spacing:-.7px;line-height:1.3;margin:13px 0}
.perspective-tile p{font-size:12px;line-height:1.8;color:#b8c8d0}
.tile-footer{font-size:10px;color:#e0e7ec;margin-top:auto;padding-top:12px;font-weight:700}
.tile-footer span{padding-left:5px}
.perspectives-disclaimer{margin:25px 0 0;font-size:11px;color:#a8bdc7}

.about-section{padding-top:120px;padding-bottom:50px;display:grid;grid-template-columns:1fr 1.3fr;gap:95px}
.about-monogram{font:800 130px Montserrat,sans-serif;letter-spacing:-18px;margin-top:70px;white-space:nowrap}
.about-monogram span:nth-child(1){color:var(--red)}
.about-monogram span:nth-child(2){color:var(--amber)}
.about-monogram span:nth-child(3){color:var(--green)}
.about-content h2{margin:0 0 30px}
.about-content p{font-size:14px;line-height:2;color:#686868}
.about-content p strong{color:var(--black)}
.about-pillars{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}
.about-pillars span{border:1px solid var(--border);padding:11px 14px;border-radius:999px;font-size:12px;font-weight:700;background:#fff}
.about-signature{font-family:Montserrat;font-weight:800;font-size:18px;margin-top:33px}
.about-signature span{font-size:10px;letter-spacing:1.5px;font-weight:600;color:#9b9b9b}

.book-section{padding:50px 0 125px;display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.book-copy h2{margin:18px 0 24px}
.book-copy p{font-size:14px;line-height:1.95;color:#696969}
.book-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.book-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--black);color:#fff;padding:12px 16px;border-radius:999px}
.book-note{font-size:12px;color:#7a7a7a;max-width:390px}
.book-art-wrap{margin:0;max-width:490px;margin-inline:auto;padding:0;background:transparent}
.book-art-wrap img{width:100%;height:auto;box-shadow:0 28px 62px #0f2d4520;border-radius:4px}
.book-art-wrap figcaption{font-size:11px;color:#85837d;margin-top:14px;text-align:center;letter-spacing:.1px}

.connect-section{background:#131313;color:white;padding:80px 0}
.connect-inner{display:flex;align-items:center;justify-content:space-between;gap:70px}
.connect-inner .section-index{color:#dfab73}
.connect-inner h2{margin:21px 0}
.connect-inner p{color:#b0b0b0;font-size:13px;line-height:1.8;max-width:510px}
.button-light{background:white;color:var(--black);white-space:nowrap}
.button-light:hover{background:#e7e7e7}

.site-footer{background:#080808;color:#fff;padding:45px 0 30px}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.footer-logo{font:800 25px Montserrat;letter-spacing:-2px}
.footer-logo b{font:700 10px Montserrat;letter-spacing:1px;margin-left:10px;vertical-align:middle}
.footer-inner>p{color:#aaa;text-align:right;font-size:12px;margin-top:10px}
.footer-bottom{grid-column:1/-1;border-top:1px solid #444;margin-top:22px;padding-top:23px;display:flex;justify-content:space-between;font-size:11px;color:#999}
.footer-bottom a:hover{color:white}
a:focus-visible,button:focus-visible{outline:3px solid var(--amber);outline-offset:4px}

@media(max-width:1000px){
  .container{width:min(100% - 50px,1180px)}
  .hero{gap:40px}
  .hero h1{font-size:50px}
  .nav-links{gap:17px}
  .brand-name{font-size:10px}
  .about-section,.book-section{gap:45px}
  .about-monogram{font-size:95px}
}

@media(max-width:820px){
  .container{width:calc(100% - 40px)}
  .nav-wrap{height:72px}
  .menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:transparent;padding:12px;cursor:pointer}
  .menu-toggle span{width:24px;height:2px;background:var(--black)}
  .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);border-bottom:1px solid #ddd;padding:25px 20px 28px;flex-direction:column;align-items:stretch;gap:20px;font-size:14px}
  .nav-links.open{display:flex}
  .nav-contact{width:max-content}
  .hero{grid-template-columns:1fr;padding-top:54px;padding-bottom:75px;gap:42px;min-height:0}
  .hero h1{font-size:clamp(39px,9vw,59px);letter-spacing:-2.7px}
  .hero-intro{font-size:20px}
  .hero-footnote{margin-top:35px}
  .hero-visual{box-shadow:9px 9px 0 #e5e4dd}
  .art-caption{text-align:left;padding-left:0}
  .statement-band{padding:65px 0}
  .statement-inner{grid-template-columns:1fr;gap:26px}
  .statement-inner h2,.section-heading h2,.about-content h2,.connect-inner h2,.book-copy h2{font-size:clamp(31px,7vw,43px)}
  .framework-section{padding-top:70px;padding-bottom:70px}
  .section-heading{flex-direction:column;align-items:start;gap:18px;margin-bottom:30px}
  .section-heading>p{max-width:600px}
  .signal-cards,.six-grid,.about-section,.book-section{grid-template-columns:1fr}
  .signal-card{min-height:330px}
  .card-body{padding-top:35px}
  .perspectives-section{padding:75px 0}
  .perspective-tile,.perspective-tile:nth-child(3n+2),.perspective-tile:nth-child(3n+3){border-left:none;border-bottom:1px solid #ffffff38;padding:30px 0;min-height:240px}
  .perspective-tile:last-child{border-bottom:0}
  .perspective-tile:nth-child(-n+3){border-bottom:1px solid #ffffff38}
  .tile-category{margin-top:21px}
  .about-section{padding-top:75px;padding-bottom:30px;gap:20px}
  .about-monogram{font-size:76px;margin-top:15px;letter-spacing:-12px}
  .book-section{padding-top:20px;padding-bottom:80px}
  .connect-section{padding:75px 0}
  .connect-inner{display:block}
  .button-light{margin-top:20px}
  .footer-inner{grid-template-columns:1fr}
  .footer-inner>p{text-align:left}
  .footer-bottom{gap:18px;flex-wrap:wrap}
  .brand-name{letter-spacing:.8px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
