@font-face{font-family:'Manrope';src:url('fonts/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;}
@font-face{font-family:'DM Sans';src:url('fonts/dm-sans.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap;}
:root{--font-display:'Manrope';--font-sans:'DM Sans';}
*{box-sizing:border-box;}html,body{padding:0;margin:0;}img{max-width:100%;}
:root { --ink:#0d1321; --green:#0d1321; --sage:#c9a468; --lime:#c9a468; --paper:#ffffff; --orange:#c9a468; --navy:#0d1321; --gold:#c9a468; --gray:#e6e6e6; --white:#ffffff; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--font-sans),sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; top:0; left:0; right:0; height:112px; padding:0 clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; color:white; }
.brand { display:flex; align-items:center; }.brand img { display:block; width:auto; height:84px; object-fit:contain; }
nav { display:flex; align-items:center; gap:32px; font-size:13px; font-weight:500; } nav a { transition:color .2s ease; } nav a:hover { color:var(--gold); }.nav-cta { border:1px solid rgba(201,164,104,.75); border-radius:2px; padding:12px 18px; color:var(--gold); }
.hero { min-height:92vh; position:relative; overflow:hidden; padding:160px clamp(24px,7vw,108px) 95px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); align-items:center; color:white; background:radial-gradient(circle at 79% 38%,rgba(201,164,104,.14),transparent 23%),linear-gradient(118deg,#0d1321 0%,#0d1321 64%,#0d1321 100%); }.hero::after { content:""; position:absolute; inset:auto -10% -45% 45%; height:68%; border-radius:50%; border:1px solid rgba(201,164,104,.28); transform:rotate(-8deg); }.hero-copy { position:relative; z-index:2; max-width:770px; }
.eyebrow { display:flex; align-items:center; gap:11px; margin:0 0 28px; color:var(--navy); font-size:12px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }.eyebrow span { width:29px; height:1px; background:var(--gold); }.hero .eyebrow,.eyebrow.light { color:var(--gold); }
h1 { margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(48px,5.55vw,86px); line-height:.99; letter-spacing:-.055em; font-weight:500; } h1 em { color:var(--gold); font-family:Georgia,serif; font-weight:400; }.hero-lead { max-width:590px; margin:32px 0 0; color:rgba(255,255,255,.72); font-size:clamp(17px,1.4vw,21px); line-height:1.55; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:39px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:54px; padding:0 24px; border-radius:2px; font-size:14px; font-weight:700; }.button-primary { background:var(--gold); color:var(--navy); box-shadow:0 12px 30px rgba(0,0,0,.2); }.text-link { font-size:14px; font-weight:700; border-bottom:1px solid currentColor; padding:10px 0; }
.hero-photo { position:relative; z-index:1; width:min(42vw,640px); aspect-ratio:4/3; justify-self:center; overflow:hidden; border:1px solid rgba(201,164,104,.52); border-radius:48% 52% 46% 54% / 42% 45% 55% 58%; box-shadow:0 30px 80px rgba(0,0,0,.38); }.hero-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,rgba(13,19,33,.04) 45%,rgba(13,19,33,.35) 100%); }.hero-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.hero-orbit { position:absolute; border-radius:50%; border:1px solid rgba(201,164,104,.2); pointer-events:none; }.orbit-one { width:760px; height:760px; right:-180px; top:-390px; }.orbit-two { width:470px; height:220px; left:-160px; bottom:-130px; transform:rotate(13deg); }.scroll-cue { position:absolute; bottom:28px; left:clamp(24px,7vw,108px); display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; opacity:.58; }.scroll-cue i { font-style:normal; font-size:17px; }
.belief-strip { min-height:94px; padding:20px clamp(24px,5vw,78px); display:flex; justify-content:center; align-items:center; gap:clamp(17px,3vw,50px); background:var(--gold); color:var(--navy); font-family:var(--font-display); font-size:clamp(12px,1.2vw,16px); letter-spacing:-.01em; text-align:center; }.belief-strip p { margin:0; }.belief-strip span { color:var(--navy); }
@media (max-width:900px) { nav a:not(.nav-cta) { display:none; }.site-header { height:84px; }.hero { min-height:100svh; grid-template-columns:1fr; padding-top:130px; align-content:center; }.hero-copy { max-width:680px; }.hero-photo { width:min(100%,620px); margin-top:48px; justify-self:start; aspect-ratio:16/10; border-radius:24px 78px 24px 78px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }.belief-strip { flex-direction:column; gap:8px; padding-block:26px; }.belief-strip span { display:none; } }
@media (max-width:520px) { h1 { font-size:46px; }.nav-cta { padding:10px 13px; }.nav-cta span { display:none; }.hero { padding-left:22px; padding-right:22px; } }

/* Shared editorial system */
.section { padding:120px clamp(24px,7vw,108px); }.section-label { margin-bottom:52px; color:rgba(13,19,33,.62); font-size:10px; font-weight:800; letter-spacing:.18em; }.section-label.light { color:rgba(255,255,255,.54); }.section h2,.history h2,.philosophy h2,.challenges h2,.differences h2,.contact h2 { margin:0; font-family:var(--font-display),sans-serif; font-size:clamp(39px,4.4vw,67px); font-weight:500; line-height:1.04; letter-spacing:-.05em; }.section h2 em,.history h2 em,.challenges h2 em,.differences h2 em,.contact h2 em { font-family:Georgia,serif; font-weight:400; color:var(--gold); }.section-heading { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.7fr); gap:10vw; align-items:end; }.section-heading>p { margin:0 0 5px; color:rgba(13,19,33,.70); font-size:16px; line-height:1.65; }

/* Who we are */
.intro { background:#ffffff; }.intro-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:10vw; align-items:start; }.intro-copy>p { margin:0 0 20px; color:rgba(13,19,33,.72); font-size:17px; line-height:1.72; }.intro-copy .text-link { display:inline-block; margin-top:15px; }.context-card { margin-top:100px; padding:52px; display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; border-radius:4px; background:#e6e6e6; }.context-card>p { margin:0; font-family:Georgia,serif; font-size:27px; line-height:1.3; }.context-card>div { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }.context-card span { padding:15px 0; display:flex; gap:14px; border-bottom:1px solid rgba(13,19,33,.16); font-size:14px; }.context-card b { color:var(--gold); font-size:10px; }

/* History */
.history { min-height:760px; padding:110px clamp(24px,7vw,108px); display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; overflow:hidden; background:var(--navy); color:white; }.founder-photo { width:min(38vw,480px); margin:0; justify-self:center; }.founder-photo img { width:100%; aspect-ratio:4/5; display:block; object-fit:cover; object-position:center top; border:1px solid rgba(201,164,104,.55); border-radius:46% 54% 48% 52% / 38% 42% 58% 62%; box-shadow:0 30px 80px rgba(0,0,0,.36); }.founder-photo figcaption { margin-top:24px; padding-top:16px; border-top:1px solid rgba(201,164,104,.45); color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.12em; text-align:center; text-transform:uppercase; }.history-copy { max-width:640px; }.history-copy .section-label { margin-bottom:65px; }.history-copy h2 em { color:var(--gold); }.history-copy>p:not(.eyebrow) { color:rgba(255,255,255,.75); line-height:1.75; font-size:16px; }

/* Competency path */
.competencies { background:#ffffff; }.competency-path { position:relative; margin-top:105px; display:grid; grid-template-columns:repeat(5,1fr); }.competency-path::before { content:""; position:absolute; left:5%; right:5%; top:44px; height:1px; background:#c9a468; }.competency-path article { position:relative; padding-right:25px; }.competency-path article>span { display:block; color:rgba(13,19,33,.62); font-size:10px; }.competency-path i { position:relative; z-index:1; width:21px; height:21px; display:block; margin:25px 0 28px; border:6px solid var(--paper); outline:1px solid #c9a468; border-radius:50%; background:var(--navy); }.competency-path article:last-child i { background:var(--gold); }.competency-path h3 { margin:0 0 12px; font-size:17px; letter-spacing:.08em; }.competency-path p { margin:0; color:rgba(13,19,33,.70); font-size:14px; line-height:1.55; }

/* Philosophy */
.philosophy { padding:120px clamp(24px,7vw,108px); display:grid; grid-template-columns:1.15fr .85fr; gap:11vw; background:#e6e6e6; }.giant-mark { display:block; height:90px; color:var(--gold); font-family:Georgia,serif; font-size:125px; line-height:1; }.philosophy blockquote { margin:20px 0 28px; max-width:800px; font-family:Georgia,serif; font-size:clamp(38px,4.6vw,69px); line-height:1.06; letter-spacing:-.045em; }.philosophy-quote>p { max-width:440px; color:rgba(13,19,33,.72); line-height:1.6; }.philosophy-list { padding-top:12px; }.philosophy-list .section-label { color:rgba(13,19,33,.62); }.philosophy-list p { margin:0; padding:23px 0; display:grid; grid-template-columns:45px 1fr; border-bottom:1px solid rgba(13,19,33,.19); font-size:16px; line-height:1.45; }.philosophy-list p span { color:var(--gold); font-size:10px; font-weight:800; }

/* Values */
.values { background:#ffffff; }.values-grid { margin-top:75px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #e6e6e6; border-left:1px solid #e6e6e6; }.values-grid article { min-height:330px; padding:28px; display:flex; flex-direction:column; border-right:1px solid #e6e6e6; border-bottom:1px solid #e6e6e6; transition:background .25s ease,color .25s ease; }.values-grid article:hover { background:var(--navy); color:white; }.value-number { font-size:10px; opacity:.6; }.values-grid i { margin:auto 0 36px; font-family:Georgia,serif; font-size:42px; font-style:normal; color:var(--gold); }.values-grid h3 { margin:0 0 12px; font-family:var(--font-display); font-size:25px; }.values-grid p { margin:0; color:rgba(13,19,33,.70); line-height:1.6; font-size:14px; }.values-grid article:hover p { color:rgba(255,255,255,.72); }

/* Challenges */
.challenges { padding:120px clamp(24px,7vw,108px); display:grid; grid-template-columns:.85fr 1.15fr; gap:10vw; background:var(--navy); color:white; }.challenges-intro { position:sticky; top:80px; align-self:start; }.challenges-intro h2 { font-size:clamp(38px,4vw,59px); }.challenges-intro h2 em { color:var(--gold); }.challenges-intro>p:not(.eyebrow) { max-width:480px; color:rgba(255,255,255,.78); font-size:16px; line-height:1.65; }.button-light { margin-top:25px; background:var(--gold); color:var(--navy); }.challenges-list { border-top:1px solid rgba(201,164,104,.4); }.challenges-list>div { min-height:115px; display:grid; grid-template-columns:50px 1fr 25px; align-items:center; border-bottom:1px solid rgba(201,164,104,.4); }.challenges-list span { color:var(--gold); font-size:10px; opacity:.9; }.challenges-list p { margin:0; font-family:var(--font-display); font-size:clamp(18px,1.75vw,25px); line-height:1.35; }.challenges-list i { color:var(--gold); font-style:normal; font-size:19px; }

/* Solutions */
.solutions { background:#ffffff; }.solutions-list { margin-top:80px; border-top:1px solid #e6e6e6; }.solutions-list details { border-bottom:1px solid #e6e6e6; }.solutions-list summary { min-height:124px; padding:20px 8px; display:grid; grid-template-columns:65px 1fr 46px; align-items:center; cursor:pointer; list-style:none; }.solutions-list summary::-webkit-details-marker { display:none; }.solutions-list summary>span { color:var(--gold); font-size:11px; }.solutions-list summary small { color:rgba(13,19,33,.62); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }.solutions-list summary h3 { margin:7px 0 0; font-family:var(--font-display); font-size:clamp(23px,2.6vw,38px); font-weight:500; letter-spacing:-.035em; }.solutions-list summary i { width:41px; height:41px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; font-style:normal; font-size:21px; transition:transform .25s; }.solutions-list details[open] summary i { transform:rotate(45deg); }.solution-body { padding:0 60px 42px 65px; display:grid; grid-template-columns:1fr 1fr; gap:25px 80px; color:rgba(13,19,33,.70); }.solution-body p { margin:0; font-size:16px; line-height:1.7; }.solution-body ul { margin:0; padding:0; list-style:none; columns:2; }.solution-body li { margin:0 0 11px; padding-left:16px; position:relative; font-size:13px; }.solution-body li::before { content:"•"; position:absolute; left:0; color:var(--gold); }.solution-body a { grid-column:1/-1; width:max-content; padding-bottom:5px; color:var(--navy); border-bottom:1px solid; font-weight:700; font-size:13px; }

/* Differentials */
.differences { padding:120px clamp(24px,7vw,108px); background:var(--navy); color:white; }.differences-heading { max-width:880px; }.differences-heading h2 em { color:var(--gold); }.differences-heading>p:not(.eyebrow) { max-width:620px; color:rgba(255,255,255,.7); line-height:1.65; }.differences-grid { margin-top:85px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(201,164,104,.35); border-left:1px solid rgba(201,164,104,.35); }.differences-grid article { min-height:215px; padding:28px; border-right:1px solid rgba(201,164,104,.35); border-bottom:1px solid rgba(201,164,104,.35); }.differences-grid span { color:var(--gold); font-size:10px; }.differences-grid h3 { margin:58px 0 10px; font-family:var(--font-display); font-size:20px; }.differences-grid p { margin:0; color:rgba(255,255,255,.61); line-height:1.55; font-size:13px; }.human-card { margin-top:42px; padding:42px 55px; display:grid; grid-template-columns:120px 1fr; align-items:center; border-radius:4px; background:var(--gold); color:var(--navy); }.human-icon { width:78px; height:78px; display:grid; place-items:center; border:1px solid var(--navy); border-radius:50%; font-size:30px; }.human-card small { font-size:10px; font-weight:800; letter-spacing:.16em; }.human-card h3 { margin:11px 0 7px; font-family:Georgia,serif; font-size:27px; font-weight:400; }.human-card p { margin:0; color:rgba(13,19,33,.78); }

/* Contact and footer */
.contact { position:relative; min-height:720px; padding:120px clamp(24px,7vw,108px); display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; align-items:center; overflow:hidden; background:var(--white); color:var(--navy); }.contact-photo { width:min(42vw,600px); aspect-ratio:4/3; overflow:hidden; border:1px solid rgba(201,164,104,.55); border-radius:42% 58% 44% 56% / 38% 42% 58% 62%; box-shadow:0 30px 80px rgba(13,19,33,.2); }.contact-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }.contact-copy { max-width:780px; }.contact .section-label.light { color:rgba(13,19,33,.62); }.contact .eyebrow.light { color:var(--navy); }.contact-copy h2 em { color:var(--gold); }.contact-copy>p:not(.eyebrow) { max-width:610px; color:rgba(13,19,33,.72); font-size:17px; line-height:1.65; }.contact-actions { display:flex; align-items:center; gap:28px; }.contact-link { margin-top:25px; padding-bottom:7px; border-bottom:1px solid rgba(201,164,104,.9); color:var(--navy); font-size:13px; font-weight:700; }.contact-note { padding:44px clamp(24px,7vw,108px); display:flex; justify-content:space-between; align-items:center; gap:40px; background:var(--gray); }.contact-note p { max-width:800px; margin:0; color:rgba(13,19,33,.70); line-height:1.55; }.contact-note a { white-space:nowrap; font-size:12px; font-weight:700; }
footer { padding:70px clamp(24px,7vw,108px) 35px; display:grid; grid-template-columns:1.25fr 1.1fr 1fr auto; gap:clamp(34px,5vw,78px); align-items:start; background:var(--navy); color:white; }.footer-intro { display:grid; gap:22px; }.footer-brand { width:max-content; }.footer-brand img { width:auto; height:124px; }.footer-intro p { margin:0; color:rgba(255,255,255,.58); line-height:1.6; font-size:13px; }.footer-address,.footer-contact { display:grid; gap:8px; margin:0; color:rgba(255,255,255,.65); font-size:12px; font-style:normal; line-height:1.45; }.footer-address strong,.footer-contact strong { margin-bottom:7px; color:var(--gold); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }.footer-contact a { transition:color .2s ease; }.footer-contact a:hover { color:var(--gold); }.footer-nav { display:grid; gap:10px; font-size:12px; }.footer-nav a:hover { color:var(--gold); } footer>small { grid-column:1/-1; padding-top:35px; border-top:1px solid rgba(201,164,104,.3); color:rgba(255,255,255,.42); font-size:9px; }.mobile-nav { display:none; }
.whatsapp-button { position:fixed; z-index:50; right:clamp(18px,2.4vw,36px); bottom:clamp(18px,2.4vw,36px); min-width:58px; height:58px; padding:0 18px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid rgba(255,255,255,.32); border-radius:999px; background:#25d366; color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.25); font-size:13px; font-weight:700; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }.whatsapp-button img { width:27px; height:27px; display:block; }.whatsapp-button:hover { transform:translateY(-3px); background:#20bd5a; color:#fff; box-shadow:0 16px 34px rgba(0,0,0,.3); }.whatsapp-button:focus-visible { outline:3px solid #fff; outline-offset:3px; }

@media (max-width:900px) {
  .desktop-nav { display:none; }.mobile-nav { display:block; position:relative; }.mobile-nav summary { list-style:none; padding:10px 14px; border:1px solid rgba(201,164,104,.75); border-radius:2px; color:var(--gold); font-size:12px; font-weight:700; cursor:pointer; }.mobile-nav summary::-webkit-details-marker { display:none; }.mobile-nav>div { position:absolute; top:47px; right:0; width:210px; padding:16px; display:grid; gap:4px; border-radius:4px; background:var(--navy); color:white; border:1px solid rgba(201,164,104,.4); box-shadow:0 18px 50px rgba(0,0,0,.25); }.mobile-nav a { padding:10px; font-size:13px; }
  .section { padding-block:85px; }.section-label { margin-bottom:38px; }.section-heading,.intro-grid,.history,.philosophy,.challenges,.contact { grid-template-columns:1fr; }.section-heading { gap:28px; }.context-card { margin-top:60px; padding:32px; grid-template-columns:1fr; gap:28px; }.history { padding-block:90px; }.founder-photo { width:min(82vw,480px); justify-self:center; }.competency-path { grid-template-columns:1fr; margin-top:65px; padding-left:12px; }.competency-path::before { left:21px; top:0; bottom:0; width:1px; height:auto; right:auto; }.competency-path article { display:grid; grid-template-columns:40px 1fr; padding:0 0 35px; }.competency-path article>span { grid-column:2; }.competency-path i { position:absolute; left:0; margin:1px 0; }.competency-path h3,.competency-path p { grid-column:2; }.competency-path h3 { margin-top:7px; }.philosophy { gap:70px; }.values-grid { grid-template-columns:1fr 1fr; }.challenges-intro { position:static; }.challenges-list { margin-top:25px; }.solutions-list summary { grid-template-columns:40px 1fr 40px; }.solution-body { padding-left:40px; padding-right:20px; grid-template-columns:1fr; }.solution-body a { grid-column:1; }.differences-grid { grid-template-columns:1fr 1fr; }.insights-grid { grid-template-columns:1fr 1fr; }.insight-feature { grid-column:1/-1; }.contact-photo { width:min(100%,620px); aspect-ratio:16/10; justify-self:center; border-radius:28px 82px 28px 82px; } footer { grid-template-columns:1fr 1fr; }.footer-nav { align-content:start; }
}

@media (max-width:580px) {
  .section { padding-block:70px; }.intro-grid h2,.section h2,.history h2,.challenges h2,.differences h2,.contact h2 { font-size:39px; }.context-card { padding:25px; }.context-card>p { font-size:22px; }.context-card>div { grid-template-columns:1fr; }.history { min-height:auto; }.founder-photo { width:82vw; }.philosophy { padding-block:75px; }.philosophy blockquote { font-size:38px; }.values-grid,.differences-grid,.insights-grid { grid-template-columns:1fr; }.values-grid article { min-height:260px; }.challenges { padding-block:75px; }.challenges-list>div { min-height:130px; }.solutions-list summary { min-height:110px; }.solutions-list summary h3 { font-size:22px; }.solutions-list summary small { display:none; }.solution-body { padding-left:40px; }.solution-body ul { columns:1; }.human-card { padding:30px; grid-template-columns:1fr; gap:24px; }.insight-feature { grid-column:auto; }.insights-grid article { min-height:340px; }.contact { min-height:auto; padding-block:80px; }.contact-photo { width:100%; }.contact-actions { align-items:flex-start; flex-direction:column; gap:0; }.contact-note { align-items:flex-start; flex-direction:column; gap:20px; } footer { grid-template-columns:1fr; }.footer-intro,.footer-address,.footer-contact,.footer-nav { grid-column:1; } footer>small { grid-column:1; }.brand img { height:68px; }.footer-brand img { height:112px; }.whatsapp-button { width:58px; min-width:58px; padding:0; }.whatsapp-button span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
}

@media (prefers-reduced-motion:reduce) { .whatsapp-button { transition:none; } }
