:root { --ivory:#f3eee5; --charcoal:#262421; --red:#8a3529; --dark-red:#70291f; --stone:#b8aa99; --parchment:#e4d9ca; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ivory); color:var(--charcoal); font-family:Open Sans,Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1460px, calc(100% - 96px)); margin-inline:auto; }
.site-header { height:100px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(38,36,33,.22); }
.wordmark { font-family:Bebas Neue, 'Bebas Neue', serif; font-size:2.4rem; letter-spacing:-.045em; }
nav { display:flex; gap:48px; font-size:.98rem; }
nav a { position:relative; padding:12px 0; }
nav a::after { content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px; background:var(--red); transition:right .25s; }
nav a:hover::after, nav a:focus-visible::after { right:0; }
.hero { min-height:calc(100vh - 100px); display:grid; grid-template-columns:44% 56%; align-items:stretch; overflow:hidden; }
.hero-copy { padding:105px 0 50px; position:relative; z-index:2; }
.eyebrow,.section-number,.card-kicker { color:var(--red); font-size:.75rem; letter-spacing:.3em; text-transform:uppercase; font-weight:700; }
h1,h2,blockquote { font-family:Open Sans, 'Open Sans', serif; font-weight:400; letter-spacing:-.025em; }
h1 { font-size:clamp(5.4rem,8vw,9.2rem); line-height:.95; margin:38px 0 42px; }

.open-sans-400 {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.bebas-neue-regular {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.intro { max-width:590px; font-size:1.28rem; line-height:1.52; margin:0 0 36px; }
.button { width:min(350px,100%); min-height:70px; display:flex; align-items:center; justify-content:space-between; padding:0 38px; background:var(--red); color:white; font-weight:700; transition:.25s; }
.button span { font-size:2rem; font-weight:300; transition:transform .25s; }
.button:hover { background:var(--dark-red); }
.button:hover span { transform:translateX(6px); }
.hero-note { margin-top:72px; display:flex; align-items:center; gap:20px; font-size:.65rem; letter-spacing:.28em; text-transform:uppercase; }
.hero-note span { width:76px; height:1px; background:var(--red); }
.hero-art { position:relative; min-height:760px; }
.hero-art img { width:90%; height:90%; object-fit:cover; object-position:center; mix-blend-mode:multiply; position:relative; z-index:2; }
.red-disc { position:absolute; width:57%; aspect-ratio:1; border-radius:50%; background:var(--red); right:3%; top:18%; z-index:1; }
.paper { position:absolute; background:var(--parchment); opacity:.8; }
.paper-one { width:42%; height:42%; left:0; bottom:12%; }.paper-two{width:30%;height:55%;right:0;bottom:0;}
.statement { display:grid; grid-template-columns:24% 76%; padding-block:150px; border-top:1px solid rgba(38,36,33,.2); }
.statement h2 { font-size:clamp(3rem,5.4vw,6.5rem); line-height:.98; max-width:1120px; margin:0 0 70px; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:70px; max-width:940px; font-size:1.15rem; line-height:1.7; }
.pathways { background:var(--charcoal); color:var(--ivory); padding:130px 0; }
.light { color:var(--stone); }.pathways h2 { font-size:clamp(4rem,6.5vw,7.5rem); line-height:.9; margin:35px 0 80px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); }
.cards article { padding:50px 45px 10px 0; min-height:360px; display:flex; flex-direction:column; border-right:1px solid rgba(255,255,255,.2); }
.cards article:not(:first-child){padding-left:45px}.cards article:last-child{border:0}
.cards h3 { font:400 2.2rem/1.1 Georgia, serif; margin:35px 0 20px; }.cards p:not(.card-kicker){line-height:1.6;color:#d9d1c7}.cards a{margin-top:auto;font-weight:700}.cards a span,.text-link span{margin-left:12px;color:var(--stone)}
.feature { display:grid; grid-template-columns:24% 76%; padding:150px 0; }
.feature-label { border-right:1px solid rgba(38,36,33,.2); }.vertical-word { writing-mode:vertical-rl; margin-top:80px; letter-spacing:.34em; font-size:.68rem; }
.feature-body { padding-left:10%; max-width:1120px; }.feature blockquote { font-size:clamp(3.5rem,5vw,6rem); line-height:1; margin:30px 0 55px; }.feature-body>p:not(.eyebrow){font-size:1.2rem;line-height:1.7;max-width:800px}.text-link{display:inline-block;margin-top:30px;font-weight:700;border-bottom:1px solid var(--red);padding-bottom:8px}
.insights { background:var(--parchment); padding:130px 0; }.section-heading{display:grid;grid-template-columns:2fr 1fr;gap:80px;align-items:end}.section-heading h2{font-size:clamp(4rem,6vw,7rem);line-height:.9;margin:30px 0 0}.section-heading>p{font-size:1.15rem;line-height:1.6}
.insight-list{margin-top:80px;border-top:1px solid rgba(38,36,33,.4)}.insight-list article{display:grid;grid-template-columns:14% 44% 1fr;gap:30px;align-items:center;padding:38px 0;border-bottom:1px solid rgba(38,36,33,.25)}.insight-list span{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--red);font-weight:700}.insight-list h3{font:400 2rem Georgia,serif;margin:0}.insight-list p{line-height:1.5}
.creative { padding:150px 0; }.creative-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:110px;margin-top:60px}.creative h2{font-size:clamp(3.4rem,5vw,6rem);line-height:1;margin:0}.creative-grid>div>p{font-size:1.2rem;line-height:1.7}.creative ul{list-style:none;padding:25px 0 0;margin:25px 0 0;border-top:1px solid rgba(38,36,33,.25)}.creative li{padding:14px 0;border-bottom:1px solid rgba(38,36,33,.2)}
.contact { background:var(--red);color:white;padding:140px 0}.contact-inner{max-width:1100px}.contact .eyebrow{color:var(--parchment)}.contact h2{font-size:clamp(4rem,7vw,8rem);line-height:.87;margin:35px 0}.contact p:not(.eyebrow){font-size:1.2rem;line-height:1.6;max-width:750px}.light-button{margin-top:45px;background:white;color:var(--charcoal)}.light-button:hover{background:var(--parchment)}
footer{min-height:170px;display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center}footer p:last-child{text-align:right;font-size:.8rem}footer p{letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}
a:focus-visible{outline:2px solid var(--red);outline-offset:4px}.contact a:focus-visible,.pathways a:focus-visible{outline-color:white}
@media(max-width:900px){.wrap{width:min(100% - 40px,700px)}.site-header{height:auto;min-height:86px}.wordmark{font-size:2rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:70px 0 40px}.hero-art{min-height:590px;margin-inline:-20px}.hero-note{margin-top:55px}.statement,.feature{grid-template-columns:1fr;padding-block:95px}.statement>.section-number,.feature-label{margin-bottom:45px}.two-columns,.section-heading,.creative-grid{grid-template-columns:1fr;gap:28px}.cards{grid-template-columns:1fr}.cards article,.cards article:not(:first-child){padding:40px 0;min-height:270px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.feature-label{border:0}.vertical-word{display:none}.feature-body{padding-left:0}.insight-list article{grid-template-columns:1fr;gap:12px}.insight-list h3{font-size:1.7rem}.section-heading{align-items:start}footer{grid-template-columns:1fr;text-align:center;padding-block:50px}footer p:last-child{text-align:center}}
@media(max-width:520px){h1{font-size:4.4rem}.hero-art{min-height:460px}.hero-copy{padding-top:55px}.intro{font-size:1.05rem}.statement h2,.pathways h2,.section-heading h2,.contact h2{font-size:3.5rem}.wrap{width:calc(100% - 32px)}.pathways,.insights,.contact{padding-block:90px}.feature blockquote{font-size:3.2rem}.creative-grid{gap:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Bootstrap navigation integration */
.navbar { padding:0; }
.navbar-brand { margin:0; padding:0; color:var(--charcoal); }
.navbar-nav { flex-direction:row; gap:48px; }
.navbar-nav .nav-link { color:var(--charcoal); padding:12px 0; }
.navbar-toggler { border-color:rgba(38,36,33,.25); }
@media(max-width:991.98px){
  .navbar { flex-wrap:wrap; padding-block:20px; }
  .navbar-collapse { flex-basis:100%; }
  .navbar-nav { flex-direction:column; gap:0; padding:20px 0 8px; }
  .navbar-nav .nav-link { padding:10px 0; }
}
