
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root {
  --ink: #1d2530;
  --muted: #64707d;
  --brand: #21165c;
  --brand-2: #35237e;
  --saffron: #f4b63f;
  --orange: #f9782a;
  --cream: #fbf8f1;
  --paper: #ffffff;
  --green: #355c4a;
  --line: rgba(29, 37, 48, .12);
  --shadow: 0 20px 60px rgba(25, 25, 45, .12);
  --shadow-soft: 0 12px 35px rgba(25, 25, 45, .08);
  --radius: 22px;
  --radius-sm: 14px;
  --container: min(1180px, calc(100% - 40px));
  --header-h: 86px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(244,182,63,.35); }

.container { width: var(--container); margin-inline: auto; }
.section { padding: 104px 0; position: relative; }
.section-sm { padding: 72px 0; }
.section-cream { background: var(--cream); }
.section-dark { background: #151136; color: #fff; }
.section-gradient { background: linear-gradient(135deg, #fbf8f1 0%, #fff 55%, #fff2e8 100%); }
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--orange); font-weight: 700; text-transform: uppercase;
  letter-spacing: .14em; font-size: .76rem; margin-bottom: 14px;
}
.eyebrow::before { content: ''; width: 34px; height: 2px; background: currentColor; }
.display, h1, h2, h3 { font-family: 'Playfair Display', Georgia, serif; line-height: 1.12; margin: 0; }
h1 { font-size: clamp(2.65rem, 5vw, 5.65rem); }
h2 { font-size: clamp(2.05rem, 3.5vw, 3.65rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
p { margin: 0 0 1.15rem; }
.lead { font-size: clamp(1.05rem, 1.45vw, 1.24rem); color: var(--muted); max-width: 760px; }
.text-muted { color: var(--muted); }
.text-white-muted { color: rgba(255,255,255,.76); }
.section-heading { margin-bottom: 52px; max-width: 780px; }
.section-heading.center { text-align: center; margin-inline: auto; }
.section-heading.center .lead { margin-inline: auto; }

.skip-link { position: fixed; top: -80px; left: 16px; z-index: 9999; background:#fff; padding:12px 16px; border-radius:10px; box-shadow:var(--shadow); }
.skip-link:focus { top: 16px; }

.topbar { background: #151136; color: rgba(255,255,255,.82); font-size: .82rem; }
.topbar-inner { min-height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.topbar a:hover { color: #fff; }
.topbar-links { display: flex; gap: 22px; }

.site-header { height: var(--header-h); position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); border-bottom: 1px solid transparent; transition: box-shadow .25s, border-color .25s; }
.site-header.scrolled { box-shadow: 0 8px 30px rgba(22,22,48,.08); border-color: var(--line); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.logo img { width: 225px; height: 65px; object-fit: contain; border-radius: 9px; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { padding: 11px 13px; border-radius: 10px; color: #404754; font-weight: 600; font-size: .94rem; transition: color .2s, background .2s; }
.nav a:hover, .nav a.active { color: var(--brand); background: rgba(33,22,92,.07); }
.nav .nav-cta { margin-left: 8px; color: #fff; background: var(--brand); padding-inline: 18px; }
.nav .nav-cta:hover, .nav .nav-cta.active { color:#fff; background: var(--brand-2); }
.menu-toggle { display: none; width: 45px; height: 45px; border: 1px solid var(--line); border-radius: 12px; background: #fff; align-items: center; justify-content: center; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { display:block; width:21px; height:2px; background:var(--ink); position:relative; transition:.25s; }
.menu-toggle span::before, .menu-toggle span::after { content:''; position:absolute; left:0; }
.menu-toggle span::before { top:-7px; }
.menu-toggle span::after { top:7px; }
.menu-open .menu-toggle span { background: transparent; }
.menu-open .menu-toggle span::before { top:0; transform:rotate(45deg); }
.menu-open .menu-toggle span::after { top:0; transform:rotate(-45deg); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding: 12px 22px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; transition: transform .2s, box-shadow .2s, background .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--brand); box-shadow: 0 12px 24px rgba(33,22,92,.22); }
.btn-primary:hover { background: var(--brand-2); box-shadow: 0 16px 30px rgba(33,22,92,.26); }
.btn-saffron { color: #2b1f0b; background: var(--saffron); box-shadow: 0 12px 24px rgba(244,182,63,.24); }
.btn-outline { border-color: rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.08); backdrop-filter: blur(6px); }
.btn-outline-dark { border-color: var(--line); color: var(--brand); background:#fff; }
.btn-sm { min-height: 44px; padding: 9px 18px; font-size: .92rem; }
.btn svg { width: 18px; height: 18px; }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

.hero { min-height: calc(100vh - var(--header-h) - 34px); min-height: 720px; position:relative; display:grid; align-items:end; color:#fff; overflow:hidden; }
.hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.hero::after { content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(9,8,27,.82) 0%, rgba(13,11,34,.60) 48%, rgba(13,11,34,.14) 78%), linear-gradient(0deg, rgba(10,9,27,.52), transparent 50%); }
.hero-content { position:relative; z-index:1; padding: 95px 0 90px; max-width: 800px; }
.hero .eyebrow { color: #ffd77a; }
.hero h1 span { color: #ffd06a; }
.hero p { max-width: 680px; font-size: clamp(1.05rem,1.5vw,1.25rem); color:rgba(255,255,255,.87); }
.hero-badge { display:inline-flex; align-items:center; gap:9px; padding:8px 13px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); font-size:.86rem; margin-bottom:20px; }
.hero-scroll { position:absolute; z-index:2; right:5%; bottom:32px; color:rgba(255,255,255,.7); writing-mode:vertical-rl; font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; }
.hero-scroll::after { content:''; display:block; height:58px; width:1px; background:rgba(255,255,255,.55); margin:12px auto 0; }

.page-hero { min-height: 500px; position:relative; display:grid; align-items:end; color:#fff; overflow:hidden; }
.page-hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,8,27,.8),rgba(9,8,27,.27)),linear-gradient(0deg,rgba(9,8,27,.55),transparent 60%); }
.page-hero-content { position:relative; z-index:1; padding:90px 0 68px; max-width:850px; }
.page-hero p { max-width:700px; color:rgba(255,255,255,.86); font-size:1.13rem; }
.breadcrumb { display:flex; gap:9px; align-items:center; color:rgba(255,255,255,.72); font-size:.85rem; margin-bottom:18px; }
.breadcrumb a:hover { color:#fff; }

.trust-strip { margin-top:-1px; background:#fff; border-bottom:1px solid var(--line); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:25px 20px; display:flex; align-items:center; justify-content:center; gap:12px; border-right:1px solid var(--line); font-weight:700; color:#3e4652; text-align:center; }
.trust-item:last-child { border-right:0; }
.trust-item strong { color:var(--brand); font-family:'Playfair Display',serif; font-size:1.35rem; }

.split { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.split.reverse .media { order:2; }
.media { position:relative; }
.media img { width:100%; border-radius:var(--radius); box-shadow:var(--shadow); object-fit:cover; }
.media-portrait img { aspect-ratio: 4/5; }
.media-landscape img { aspect-ratio: 4/3; }
.media::before { content:''; position:absolute; width:46%; height:44%; right:-18px; bottom:-18px; border-radius:var(--radius); background:var(--saffron); z-index:-1; opacity:.8; }
.media-caption { margin-top:16px; color:var(--muted); font-size:.86rem; }
.copy h2 { margin-bottom:22px; }
.copy h3 { margin:26px 0 10px; }
.copy p { color:#515b68; }

.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow-soft); }
.card h3 { margin-bottom:13px; }
.card p { color:var(--muted); margin-bottom:0; }
.icon-box { width:52px; height:52px; border-radius:16px; display:grid; place-items:center; margin-bottom:20px; color:var(--brand); background:rgba(244,182,63,.23); }
.icon-box svg { width:27px; height:27px; }

.image-card { border-radius:var(--radius); overflow:hidden; min-height:410px; position:relative; color:#fff; box-shadow:var(--shadow); }
.image-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s; }
.image-card:hover img { transform:scale(1.035); }
.image-card::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,9,27,.86),rgba(10,9,27,.05) 70%); }
.image-card-content { position:absolute; z-index:1; inset:auto 0 0; padding:28px; }
.image-card .tag { display:inline-block; font-size:.76rem; text-transform:uppercase; letter-spacing:.13em; color:#ffd579; margin-bottom:8px; }
.image-card p { color:rgba(255,255,255,.76); font-size:.94rem; margin:9px 0 0; }

.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.stat { padding:26px; border-radius:18px; background:#fff; border:1px solid var(--line); }
.stat-number { display:block; font-family:'Playfair Display',serif; color:var(--brand); font-size:2.25rem; font-weight:700; line-height:1; margin-bottom:8px; }
.stat-label { color:var(--muted); font-size:.92rem; }

.quote-band { position:relative; overflow:hidden; background:#151136; color:#fff; padding:85px 0; }
.quote-band::before { content:'“'; position:absolute; left:5%; top:-70px; font-family:Georgia,serif; font-size:18rem; color:rgba(255,255,255,.05); }
.quote { max-width:900px; margin:auto; text-align:center; position:relative; }
.quote p { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,3vw,2.75rem); line-height:1.35; }
.quote cite { color:#ffd579; font-style:normal; font-weight:700; }

.story-teasers { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.story-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-soft); transition:transform .25s, box-shadow .25s; }
.story-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.story-card img { width:100%; height:250px; object-fit:cover; }
.story-card-body { padding:26px; }
.story-card .meta { color:var(--orange); text-transform:uppercase; font-weight:700; letter-spacing:.1em; font-size:.74rem; }
.story-card h3 { margin:10px 0 12px; }
.story-card p { color:var(--muted); font-size:.94rem; }
.text-link { color:var(--brand); font-weight:700; display:inline-flex; gap:8px; align-items:center; }
.text-link:hover { color:var(--orange); }

.facts-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.fact { border-radius:18px; background:#fff; border:1px solid var(--line); padding:22px; }
.fact small { color:var(--muted); display:block; text-transform:uppercase; font-size:.68rem; letter-spacing:.12em; margin-bottom:6px; }
.fact strong { color:var(--brand); font-size:1.02rem; }

.timeline { position:relative; padding-left:34px; }
.timeline::before { content:''; position:absolute; left:7px; top:5px; bottom:5px; width:2px; background:linear-gradient(var(--saffron),var(--orange)); }
.timeline-item { position:relative; margin-bottom:28px; }
.timeline-item::before { content:''; position:absolute; left:-34px; top:7px; width:16px; height:16px; border-radius:50%; background:var(--saffron); border:4px solid #fff; box-shadow:0 0 0 1px var(--saffron); }
.timeline-item h3 { font-family:'DM Sans',sans-serif; font-size:1.02rem; color:var(--brand); margin-bottom:6px; }
.timeline-item p { margin:0; color:var(--muted); }

.domain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:25px; }
.domain { padding:15px 16px; border-radius:13px; background:rgba(33,22,92,.05); color:#454d59; font-size:.91rem; font-weight:600; }
.section-dark .domain { background:rgba(255,255,255,.10); color:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.10); }

.photo-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:repeat(2,310px); gap:18px; }
.photo-grid .wide { grid-row:span 2; }
.photo-grid img { width:100%; height:100%; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow-soft); }
.zoomable { cursor:zoom-in; }

.guest-story { padding:88px 0; border-bottom:1px solid var(--line); }
.guest-story:last-child { border-bottom:0; }
.guest-story-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:68px; align-items:start; }
.guest-story:nth-child(even) .guest-story-visuals { order:2; }
.guest-story-visuals { display:grid; grid-template-columns:1fr 1fr; gap:15px; position:sticky; top:115px; }
.guest-story-visuals img { width:100%; height:420px; object-fit:cover; border-radius:18px; box-shadow:var(--shadow-soft); }
.guest-story-visuals img:nth-child(2) { margin-top:55px; }
.guest-story .story-number { color:rgba(33,22,92,.13); font-family:'Playfair Display',serif; font-weight:700; font-size:5rem; line-height:.85; }
.guest-story h2 { margin:6px 0 14px; }
.guest-story .location { color:var(--orange); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; margin-bottom:24px; }
.guest-story p { color:#515b68; }
.pull-quote { margin:30px 0 0; padding:22px 24px; border-left:4px solid var(--saffron); background:var(--cream); border-radius:0 14px 14px 0; font-family:'Playfair Display',serif; font-size:1.22rem; color:var(--brand); }

.values-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:15px; }
.value { text-align:center; padding:24px 14px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.value strong { color:var(--brand); display:block; margin-bottom:6px; }
.value span { color:var(--muted); font-size:.83rem; }

.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:52px; align-items:start; }
.contact-card { padding:35px; background:#151136; color:#fff; border-radius:var(--radius); box-shadow:var(--shadow); }
.contact-card h2 { font-size:2.35rem; margin-bottom:18px; }
.contact-card p { color:rgba(255,255,255,.72); }
.contact-list { margin:28px 0 0; display:grid; gap:14px; }
.contact-item { display:flex; gap:13px; align-items:flex-start; padding:16px; border-radius:14px; background:rgba(255,255,255,.08); }
.contact-item svg { width:22px; height:22px; color:#ffd579; flex:0 0 auto; margin-top:3px; }
.contact-item small { display:block; color:rgba(255,255,255,.58); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.contact-item a { font-weight:700; }
.contact-item a:hover { color:#ffd579; }
.form-card { background:#fff; padding:36px; border-radius:var(--radius); border:1px solid var(--line); box-shadow:var(--shadow-soft); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { display:grid; gap:7px; }
.form-group.full { grid-column:1/-1; }
label { font-size:.84rem; font-weight:700; color:#39414d; }
input, textarea, select { width:100%; border:1px solid #d8dce1; border-radius:12px; padding:13px 14px; color:var(--ink); background:#fff; outline:none; transition:border-color .2s, box-shadow .2s; }
input:focus, textarea:focus, select:focus { border-color:var(--brand); box-shadow:0 0 0 4px rgba(33,22,92,.08); }
textarea { min-height:150px; resize:vertical; }
.form-note { color:var(--muted); font-size:.8rem; margin-top:12px; }

.cta { padding:72px 0; background:linear-gradient(135deg,#f6bb49,#f67d2f); color:#1f183f; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.cta h2 { max-width:700px; }
.cta p { margin:12px 0 0; max-width:690px; color:rgba(31,24,63,.78); }

.sources { margin-top:50px; border-top:1px solid var(--line); padding-top:26px; color:var(--muted); font-size:.84rem; }
.sources summary { cursor:pointer; font-weight:700; color:var(--brand); }
.sources ul { margin:14px 0 0; padding-left:20px; }
.sources a { text-decoration:underline; }

.site-footer { background:#0e0c25; color:#fff; padding:72px 0 0; }
.footer-grid { display:grid; grid-template-columns:1.35fr .8fr .95fr; gap:60px; padding-bottom:54px; }
.footer-logo { width:230px; border-radius:9px; margin-bottom:20px; }
.footer-about { color:rgba(255,255,255,.65); max-width:470px; }
.footer-title { font-family:'DM Sans',sans-serif; font-size:.86rem; text-transform:uppercase; letter-spacing:.13em; color:#ffd579; margin-bottom:18px; }
.footer-links { display:grid; gap:10px; color:rgba(255,255,255,.72); }
.footer-links a:hover { color:#fff; }
.footer-contact { display:grid; gap:11px; color:rgba(255,255,255,.72); }
.footer-contact a:hover { color:#ffd579; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.11); padding:20px 0; color:rgba(255,255,255,.52); font-size:.82rem; }
.footer-bottom-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-credit { color:rgba(255,255,255,.82); }
.footer-credit strong { color:#ffd579; }

.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:900; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; color:#fff; background:#25D366; box-shadow:0 12px 30px rgba(0,0,0,.22); transition:transform .2s; }
.whatsapp-float:hover { transform:translateY(-4px) scale(1.03); }
.whatsapp-float svg { width:29px; height:29px; }

.lightbox { position:fixed; inset:0; z-index:2000; display:none; place-items:center; background:rgba(5,5,16,.93); padding:30px; }
.lightbox.open { display:grid; }
.lightbox img { max-width:min(1100px,94vw); max-height:88vh; border-radius:15px; box-shadow:0 25px 80px rgba(0,0,0,.45); }
.lightbox-close { position:absolute; right:25px; top:20px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.3); color:#fff; background:rgba(255,255,255,.08); font-size:1.7rem; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1020px) {
  :root { --header-h:76px; }
  .topbar { display:none; }
  .logo img { width:195px; height:56px; }
  .menu-toggle { display:flex; }
  .nav { position:fixed; inset:var(--header-h) 0 auto; padding:22px 20px 30px; background:#fff; border-top:1px solid var(--line); box-shadow:0 24px 45px rgba(0,0,0,.12); display:grid; gap:4px; transform:translateY(-125%); opacity:0; pointer-events:none; transition:.3s; }
  .menu-open .nav { transform:none; opacity:1; pointer-events:auto; }
  .nav a { padding:13px 16px; }
  .nav .nav-cta { margin:8px 0 0; text-align:center; }
  .hero { min-height:700px; }
  .hero-content { padding:90px 0 72px; }
  .hero-scroll { display:none; }
  .split { grid-template-columns:1fr; gap:45px; }
  .split.reverse .media { order:0; }
  .cards-3, .story-teasers { grid-template-columns:repeat(2,1fr); }
  .cards-3 > :last-child, .story-teasers > :last-child { grid-column:1/-1; }
  .stats, .facts-grid { grid-template-columns:repeat(2,1fr); }
  .values-grid { grid-template-columns:repeat(3,1fr); }
  .guest-story-grid { grid-template-columns:1fr; }
  .guest-story:nth-child(even) .guest-story-visuals { order:0; }
  .guest-story-visuals { position:static; }
  .contact-grid { grid-template-columns:1fr; }
}

@media (max-width: 720px) {
  :root { --container:min(100% - 28px, 1180px); --radius:18px; }
  .section { padding:78px 0; }
  .section-sm { padding:58px 0; }
  .hero { min-height:650px; }
  .hero::after { background:linear-gradient(0deg,rgba(9,8,27,.88),rgba(9,8,27,.28)); }
  .hero-content { padding-bottom:54px; }
  .page-hero { min-height:430px; }
  .page-hero-content { padding:70px 0 45px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .cards-3, .story-teasers, .stats, .facts-grid { grid-template-columns:1fr; }
  .cards-3 > :last-child, .story-teasers > :last-child { grid-column:auto; }
  .image-card { min-height:370px; }
  .domain-grid { grid-template-columns:1fr 1fr; }
  .photo-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .photo-grid .wide { grid-row:auto; }
  .photo-grid img { height:360px; }
  .guest-story-visuals img { height:330px; }
  .guest-story-visuals img:nth-child(2) { margin-top:28px; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:auto; }
  .form-card, .contact-card { padding:25px; }
  .cta-inner { display:block; }
  .cta .btn { margin-top:24px; }
  .footer-grid { grid-template-columns:1fr; gap:35px; }
  .footer-bottom-inner { display:block; text-align:center; }
  .footer-credit { margin-top:8px; }
  .whatsapp-float { width:52px; height:52px; right:16px; bottom:16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}
