/* ===== Self-hosted Google Fonts (Montserrat + Open Sans) ===== */
/* Loaded locally for reliability on mobile networks */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url('../assets/fonts/montserrat-variable.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0100-024F,U+0300-036F,U+2000-206F,U+20A0-20CF,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('../assets/fonts/opensans-variable.woff2') format('woff2');unicode-range:U+0020-007E,U+00A0-00FF,U+0100-024F,U+0300-036F,U+2000-206F,U+20A0-20CF,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  /* Core Colors */
  --dark: #001A17;
  --teal: #009688;
  --teal-contrast: #007F74;
  --cream: #FFF9F0;
  --coral: #FF7043;
  --coral-contrast: #E85D31;
  --muted: #66736E;
  --muted-contrast: #83928D;
  --yellow: #FFC107;
  
  /* Theme-aware Variables (Default: Light) */
  --bg: var(--cream);
  --text: var(--dark);
  --text-muted: rgba(0, 26, 23, 0.72);
  --border: rgba(0, 26, 23, 0.09);
  --card-bg: #ffffff;
  --header-bg: rgba(255, 249, 240, 0.94);
  
  /* Typography & Layout */
  --heading: Montserrat, Arial, sans-serif;
  --body: 'Open Sans', Arial, sans-serif;
  --max: 1240px;
  --gutter: clamp(16px, 2.5vw, 40px);
  --ease: cubic-bezier(.2, .8, .2, 1);
}

[data-theme="dark"] {
  --bg: var(--dark);
  --text: var(--cream);
  --text-muted: rgba(255, 249, 240, 0.85);
  --border: rgba(255, 249, 240, 0.25);
  --card-bg: rgba(255, 249, 240, 0.05);
  --header-bg: rgba(0, 26, 23, 0.96);
  --muted: rgba(255, 249, 240, 0.6);
}

[data-theme="dark"] .menu-toggle,
[data-theme="dark"] .button-outline,
[data-theme="dark"] .site-header nav a,
[data-theme="dark"] .language-option,
[data-theme="dark"] .tab-item,
[data-theme="dark"] .theme-toggle {
  color: var(--cream) !important;
  border-color: rgba(255, 249, 240, 0.4) !important;
}

[data-theme="dark"] .menu-toggle svg,
[data-theme="dark"] .menu-toggle i,
[data-theme="dark"] .tab-item svg,
[data-theme="dark"] .theme-toggle svg,
[data-theme="dark"] .theme-toggle i {
  stroke: var(--cream) !important;
  color: var(--cream) !important;
}

[data-theme="dark"] .language-switcher {
  border-color: rgba(255, 249, 240, 0.3);
}

[data-theme="dark"] .language-option.is-active {
  background: var(--cream);
  color: var(--dark) !important;
}

[data-theme="dark"] .brand b {
  color: var(--cream);
}

[data-theme="dark"] .button {
  border-color: var(--cream);
}

[data-theme="dark"] .hero-subtitle {
  color: rgba(255, 249, 240, 0.85);
}

[data-theme="dark"] .mobile-tab-bar {
  background: rgba(0, 26, 23, 0.96);
  border-top-color: rgba(255, 249, 240, 0.15);
}

[data-theme="dark"] .site-header nav {
  background: var(--dark);
  border-bottom-color: rgba(255, 249, 240, 0.1);
}
@media(min-width:1800px){:root{--max:1500px;--gutter:60px}}
@media(min-width:2500px){:root{--max:2000px;--gutter:100px}body{font-size:18px}}
@media(min-width:3500px){:root{--max:2600px;--gutter:140px}body{font-size:22px}}
@media(min-width:4000px){:root{--max:3200px;--gutter:180px}body{font-size:26px}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.6;overflow-x:hidden;transition:background-color 0.3s ease, color 0.3s ease}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.container{width:min(calc(100% - 2*var(--gutter)),var(--max));margin:auto}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}.skip-link{position:fixed;z-index:999;top:16px;left:16px;padding:10px 14px;background:var(--dark);color:var(--cream);transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:transform 0.4s var(--ease), background-color 0.3s ease, border-color 0.3s ease}
.site-header.header-hidden{transform:translateY(-100%)}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:1001;pointer-events:none}
.reading-progress-bar{height:100%;background:var(--teal);width:0%;transition:width 0.1s ease}
.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;width:100%;background:rgba(255,249,240,.96);backdrop-filter:blur(12px);border-top:1px solid rgba(0,26,23,.09);z-index:1000;padding:8px 0 12px;box-shadow:0 -5px 20px rgba(0,26,23,.05)}
.whatsapp-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.25);z-index:999;transition:transform .3s var(--ease)}.whatsapp-fab:hover{transform:scale(1.1)}
@media(max-width:760px){.whatsapp-fab{bottom:85px}}
@media(max-width:760px){.mobile-tab-bar{display:flex;justify-content:space-around;align-items:center}body{padding-bottom:70px}}
.tab-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--muted);font:700 10px var(--heading);transition:.2s var(--ease)}
.tab-item.is-active{color:var(--teal)}
.tab-item svg{width:22px;height:22px;fill:currentColor}
.tab-item-wa{color:var(--teal-contrast)}.header-inner{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:clamp(10px,2vw,20px)}
.header-controls{display:flex;align-items:center;gap:clamp(6px,1.2vw,12px);margin-left:auto}
.theme-toggle{
  border:0;
  background:rgba(255,249,240,.6);
  width:34px;
  height:34px;
  padding:0;
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .2s var(--ease);
  border-radius:50%;
  border:1px solid var(--border);
  cursor:pointer;
  flex-shrink:0;
  z-index:101;
  backdrop-filter:blur(4px);
}
[data-theme="dark"] .theme-toggle {
  background: rgba(0, 26, 23, 0.6);
  border-color: rgba(255, 249, 240, 0.12);
  color: var(--cream);
}
.theme-toggle:hover{color:var(--teal);border-color:var(--teal);background:rgba(0,150,136,0.05)}
.theme-toggle i, .theme-toggle svg{width:14px;height:14px}
[data-theme="dark"] .sun-icon{display:block}
[data-theme="dark"] .moon-icon{display:none}
.sun-icon{display:none}
.moon-icon{display:block}

@media(max-width:760px){
  .header-inner{gap:10px;position:relative;justify-content:space-between}
  .brand{order:1;flex:1;min-width:0}
  .header-controls{order:2;margin-left:auto;gap:8px;display:flex;align-items:center}
  .theme-toggle{display:flex !important;width:38px;height:38px;order:1;margin-right:2px}
  .language-switcher{order:2;scale:0.9}
  .menu-toggle{order:3;margin-left:6px;display:flex !important}
}.brand{display:flex;gap:8px;align-items:baseline;text-decoration:none;font-family:var(--heading)}.brand b{font-size:21px;letter-spacing:-.08em}.brand span{font-size:12px;font-weight:600}nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}nav a{text-decoration:none;font-family:var(--heading);font-size:13px;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border:1px solid var(--dark);border-radius:999px;background:var(--dark);color:var(--cream);text-decoration:none;font-family:var(--heading);font-weight:800;transition:.2s var(--ease)}.button:hover{background:var(--teal);border-color:var(--teal);transform:translateY(-2px)}.button-small{min-height:42px;padding:9px 14px;font-size:12px}.menu-toggle{display:none;border:0;background:none;font-weight:800;align-items:center;justify-content:center}.menu-toggle svg{width:24px;height:24px;display:block}
.hero{position:relative;min-height:calc(100svh - 64px);display:flex;align-items:center;overflow:hidden}.hero-grid{position:absolute;inset:0;opacity:.4}.hero-grid i{position:absolute;background:rgba(0,26,23,.1)}.hero-grid i:nth-child(-n+3){top:0;bottom:0;width:1px}.hero-grid i:nth-child(1){left:25%}.hero-grid i:nth-child(2){left:50%}.hero-grid i:nth-child(3){left:75%}.hero-grid i:nth-child(4){left:0;right:0;top:50%;height:1px}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,6vw,90px);padding-block:clamp(40px,7vw,90px)}.eyebrow{margin:0 0 22px;font:800 12px var(--heading);letter-spacing:.14em;color:var(--teal)}.eyebrow span{color:var(--coral)}h1{margin:0;font:900 clamp(52px,6.5vw,120px)/.91 var(--heading);letter-spacing:-.075em}h1 span{display:block}.accent{color:var(--teal)}.hero-subtitle{margin:28px 0 0;max-width:620px;font-size:clamp(16px,1.6vw,20px);line-height:1.45}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}.text-link{font:800 14px var(--heading);text-decoration:none}.hero-visual{position:relative;min-height:min(65vh,650px)}.frame{position:absolute;width:min(27vw,380px);aspect-ratio:4/5;border:1px solid var(--dark)}.back{top:4%;left:10%;background:var(--yellow);transform:rotate(-7deg)}.front{right:6%;bottom:3%;background:var(--dark);color:var(--cream);transform:rotate(5deg);box-shadow:28px 28px 0 var(--coral);padding:24px;display:flex;flex-direction:column;justify-content:space-between}.frame small{font:800 10px var(--heading);letter-spacing:.12em}.symbol{font:900 clamp(64px,9vw,128px)/.8 var(--heading);color:var(--teal)}.front strong{font:800 clamp(24px,3vw,48px)/.9 var(--heading);letter-spacing:-.06em}.orbit{position:absolute;border:1px solid var(--teal);border-radius:50%}.one{width:72%;aspect-ratio:1;top:14%;left:13%}.two{width:52%;aspect-ratio:1;top:28%;left:25%;border-color:var(--coral)}.stamp{position:absolute;right:0;top:12%;border:1px solid var(--dark);border-radius:50%;padding:9px 12px;font:800 11px var(--heading);transform:rotate(12deg)}.hero-bottom{position:absolute;bottom:18px;left:50%;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;font:800 10px var(--heading);letter-spacing:.1em;transform:translateX(-50%)}.hero-bottom i{height:1px;width:clamp(80px,18vw,260px);background:var(--dark)}.future{display:none}.footer{padding:50px 0;background:var(--dark);color:var(--cream)}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:35px}.hero-visual{min-height:520px;max-width:620px;width:100%;margin:auto}.frame{width:min(42vw,320px)}}
@media(max-width:760px){.site-header .header-inner{min-height:64px}.menu-toggle{display:block;min-height:44px;padding:8px 12px}.site-header nav{position:absolute;inset:64px 0 auto;display:none;flex-direction:column;align-items:stretch;gap:3px;padding:16px var(--gutter) 20px;background:var(--cream);border-bottom:1px solid rgba(0,26,23,.1);box-shadow:0 10px 30px rgba(0,26,23,.08)}.site-header nav[data-open=true]{display:flex}.site-header nav a{padding:12px 8px}.site-header nav .button{width:100%;margin-top:10px}.hero{min-height:calc(100svh - 64px)}.hero-inner{padding-top:40px;padding-bottom:60px}.hero h1{font-size:clamp(42px,12vw,64px);letter-spacing:-.05em}.hero-subtitle{margin-top:24px;font-size:16px}.hero-visual{min-height:380px;margin-top:0}.frame{width:min(60vw,260px)}.back{left:6%}.front{right:5%}.stamp{right:4%;top:7%}.hero-bottom{width:calc(100% - 2*var(--gutter));bottom:12px;font-size:8px}.hero-bottom i{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* STEP 8 — responsive + accessibility hardening */
html{overflow-x:hidden}
button,a,input,select,textarea{touch-action:manipulation}
@media(max-width:760px){
  .container{width:min(calc(100% - 32px),var(--max))}
  .header-inner{gap:14px}
  .brand{min-width:0}
  .brand span{white-space:nowrap}
  .menu-toggle{min-width:44px;height:44px;padding:8px 10px;border:1px solid rgba(0,26,23,.18);border-radius:999px;color:var(--dark);background:transparent;font:800 11px var(--heading);display:flex;align-items:center;justify-content:center}
  .menu-toggle svg{width:20px;height:20px}
  .site-header nav{box-shadow:0 18px 35px rgba(0,26,23,.08)}
  .hero-copy{max-width:100%}
  .hero-actions{gap:12px}
  .hero-actions .button,.hero-actions .text-link{min-height:48px}
  .hero-bottom{position:relative;left:auto;transform:none;margin-top:-28px}
}
@media(max-width:480px){
  .brand span{font-size:10px}
  .hero-inner{padding-top:42px;padding-bottom:58px}
  .hero h1{letter-spacing:-.05em}
  .hero-subtitle{font-size:16px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .button,.hero-actions .text-link{text-align:center;width:100%}
  .hero-visual{min-height:330px}
  .frame{width:min(62vw,230px)}
}


/* STEP 9.1 — title scale + horizontal breathing room */
.section-heading h2,.positioning h2,.services h2,.founder-section .founder-copy h2,.testimonials h2{
  padding-inline:clamp(6px,1vw,14px);
  letter-spacing:-.045em;
}
.hero h1{letter-spacing:-.055em}
@media(max-width:760px){
  .section-heading h2,.positioning h2,.services h2,.founder-section .founder-copy h2,.testimonials h2{
    padding-inline:8px;
    letter-spacing:-.035em;
  }
  .hero h1{font-size:clamp(44px,12.8vw,72px);letter-spacing:-.05em}
}

/* Asset slots — real media can be dropped into assets/images/brand and founder. */
.brand-logo{width:clamp(170px,20vw,250px);height:auto;max-height:56px;object-fit:contain;display:block}
.brand-fallback{display:inline-flex;align-items:baseline;gap:.45rem;font:800 clamp(17px,2vw,22px)/1 var(--heading);color:var(--dark);letter-spacing:-.03em}
.brand-fallback[hidden]{display:none}
.founder-photo-wrap{width:min(100%,520px);overflow:hidden}
.founder-photo{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
@media (max-width:700px){.brand-logo{width:150px;max-height:40px}}


/* Brand/footer/founder media slots */
.footer-logo img{width:clamp(170px,20vw,250px);height:auto;max-height:56px;object-fit:contain;display:block}
.footer-logo-fallback{display:inline-flex;align-items:baseline;gap:.15rem;font:900 clamp(42px,5vw,72px)/.8 var(--heading);letter-spacing:-.08em;color:var(--cream)}
.footer-logo-fallback[hidden]{display:none}
.founder-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.founder-photo-wrap{position:relative;min-height:360px;background:#001A17;overflow:hidden}
.founder-photo{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
.founder-media-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:2rem;text-align:center;font-weight:700;letter-spacing:.12em;color:#FFF9F0;background:#001A17}
.founder-photo:not([hidden]) + .founder-media-placeholder{display:none}
.founder-placeholder{max-width:52ch}
.founder-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.founder-details div{padding:1rem;border:1px solid rgba(0,26,23,.16)}
.founder-details span{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin-bottom:.35rem}
.founder-details a.founder-whatsapp{display:inline-block;font-size:.85rem;font-weight:700;color:#009688;text-decoration:none}.founder-details a.founder-whatsapp:hover{color:#ff7043}.founder-details a.founder-whatsapp svg{vertical-align:-2px;margin-right:.3em}
@media (max-width:800px){.founder-grid{grid-template-columns:1fr}.founder-details{grid-template-columns:1fr}.founder-photo-wrap{min-height:0}}

/* Founder refinement — moderate image scale, editorial framing */
.founder-section{padding-block:clamp(60px,9vw,110px);background:var(--dark);color:var(--cream);overflow:hidden}
.founder-section .founder-grid{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(40px,7vw,90px)}
.founder-section .founder-media{display:flex;justify-content:flex-start}
.founder-section .founder-photo-wrap{width:min(100%,390px);aspect-ratio:2/3;min-height:0;background:rgba(255,249,240,.04);border:1px solid rgba(255,249,240,.18);overflow:visible}
.founder-section .founder-photo{position:relative;z-index:1;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;display:block}
.founder-section .founder-photo-wrap::before{content:'';position:absolute;inset:14px -14px -14px 14px;border:1px solid rgba(0,150,136,.55);z-index:0}
.founder-corner{position:absolute;width:34px;height:34px;z-index:2;pointer-events:none}
.founder-corner-top{top:-8px;right:-8px;border-top:2px solid var(--coral);border-right:2px solid var(--coral)}
.founder-corner-bottom{bottom:-8px;left:-8px;border-left:2px solid var(--yellow);border-bottom:2px solid var(--yellow)}
.founder-media-label{position:absolute;z-index:3;left:14px;bottom:14px;padding:7px 9px;background:var(--dark);color:var(--cream);font:800 9px var(--heading);letter-spacing:.13em}
.founder-section .founder-copy{max-width:700px}
.founder-section .founder-copy h2{margin:0;font:900 clamp(44px,5.6vw,76px)/.94 var(--heading);letter-spacing:-.065em}
.founder-section .founder-copy h2 span{color:var(--teal)}
.founder-lead{max-width:560px;margin:28px 0 0;font:600 clamp(18px,1.7vw,23px)/1.45 var(--body);color:var(--cream)}
.founder-bio{max-width:580px;margin:20px 0 0;font-size:clamp(.9rem,1vw,.98rem);line-height:1.75;color:rgba(255,249,240,.82)}
.founder-motto{max-width:580px;margin:24px 0 0;font:700 clamp(1rem,1.4vw,1.2rem)/1.55 var(--heading);color:var(--yellow);letter-spacing:.01em}
.founder-signature{max-width:580px;margin:30px 0 0;padding-top:20px;border-top:1px solid rgba(255,249,240,.18);font:700 clamp(1rem,1.4vw,1.15rem) var(--heading);color:var(--cream);letter-spacing:-.02em}
.founder-signature-role{font-size:clamp(.72rem,.8vw,.78rem);font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.1em}
@media(max-width:800px){.founder-bio,.founder-motto,.founder-signature{max-width:none}}
.founder-section .founder-placeholder{max-width:570px;margin-top:18px;color:rgba(255,249,240,.6);line-height:1.7}
.founder-section .founder-details{max-width:560px;margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.founder-section .founder-details div{padding:15px 0;border-top:1px solid rgba(255,249,240,.15)}
.founder-section .founder-details span{color:rgba(255,249,240,.45)}
.founder-section .founder-details strong{color:var(--cream)}
.founder-section .founder-details a.founder-beacons{color:var(--teal)}.founder-section .founder-details a.founder-beacons:hover{color:var(--yellow)}
.founder-section .founder-media-placeholder{background:var(--dark);color:rgba(255,249,240,.6)}
@media(max-width:800px){.founder-section .founder-grid{grid-template-columns:1fr}.founder-section .founder-photo-wrap{width:min(100%,340px);margin:auto}.founder-section .founder-copy{max-width:none}.founder-section .founder-details{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.founder-section .founder-photo-wrap::before{transition:none}}
