:root { --navy:#062b62; --ink:#102b3b; --teal:#008f7c; --sky:#00a9dd; --gold:#f4ba21; --cream:#f8fbf9; --line:#dce9e5; --white:#fff; --shadow:0 20px 55px rgba(5,43,74,.13); --radius:26px; --container:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.skip-link { position:absolute; left:1rem; top:-4rem; z-index:100; padding:.7rem 1rem; color:white; background:var(--navy); border-radius:0 0 8px 8px; }
.skip-link:focus { top:0; }
.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:flex-end; width:100%; min-height:76px; padding:10px max(5vw, 24px); border-bottom:1px solid rgba(6,43,98,.09); background:rgba(255,255,255,.94); backdrop-filter:blur(15px); }
.brand { position:absolute; inset-block:0; left:max(5vw, 24px); z-index:1; display:grid; place-items:center; width:320px; height:76px; overflow:hidden; }
.brand img { width:205px; height:auto; max-width:none; }
.main-nav { display:flex; align-items:center; gap:27px; font-size:.93rem; font-weight:600; color:#244557; }
.main-nav > a:not(.nav-cta):hover, .main-nav > a:not(.nav-cta):focus-visible { color:var(--teal); }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 19px; border-radius:999px; font-weight:700; transition:transform .2s, box-shadow .2s, background .2s; }
.nav-cta,.button-primary { color:#fff; background:var(--teal); box-shadow:0 9px 22px rgba(0,143,124,.2); }
.nav-cta:hover,.button-primary:hover { background:#007d6c; transform:translateY(-2px); box-shadow:0 13px 26px rgba(0,143,124,.28); }
.menu-toggle { display:none; width:46px; height:46px; border:0; border-radius:50%; background:#e3f2ee; cursor:pointer; }
.menu-toggle span:not(.visually-hidden) { display:block; width:20px; height:2px; margin:5px auto; background:var(--navy); transition:transform .2s; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hero,.section { width:min(calc(100% - 48px),var(--container)); margin-inline:auto; }
.hero { display:grid; grid-template-columns:1.02fr .98fr; gap:56px; align-items:center; min-height:calc(100vh - 82px); padding:66px 0; }
.eyebrow { margin:0 0 14px; color:var(--teal); font-size:.76rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Libre Baskerville",serif; color:var(--navy); letter-spacing:-.035em; }
h1 { max-width:680px; margin-bottom:24px; font-size:clamp(2.55rem,5.1vw,4.7rem); line-height:1.14; }
h2 { margin-bottom:18px; font-size:clamp(2rem,3.7vw,3.3rem); line-height:1.25; }
.hero-text { max-width:540px; margin-bottom:29px; color:#42606b; font-size:1.2rem; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.text-link { color:var(--navy); font-weight:700; }.text-link:hover { color:var(--teal); }
.hero-note { margin:33px 0 0; color:#42606b; font-size:.93rem; }.hero-note span { color:var(--gold); }
.hero-image-wrap { position:relative; }.hero-image { width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--shadow); }
.hero-card { position:absolute; right:-22px; bottom:32px; width:min(285px,80%); padding:20px 22px; border:1px solid rgba(255,255,255,.7); border-radius:18px; color:var(--navy); background:rgba(255,255,255,.94); box-shadow:var(--shadow); }.hero-card strong,.hero-card span { display:block; }.hero-card span { margin-top:3px; color:#4d6672; font-size:.9rem; }
.section { margin-top:100px; }.intro { display:grid; grid-template-columns:.84fr 1.16fr; gap:60px; padding:64px; border-radius:var(--radius); background:#e3f4ef; }.intro h2 { margin-bottom:0; }.intro-text { align-self:center; max-width:630px; margin:0; color:#345563; font-size:1.17rem; }
.visit-section { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:center; }.visit-image { position:relative; width:min(100%,390px); margin-inline:auto; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow); }.visit-image img { width:100%; height:auto; }.visit-content { max-width:570px; }.visit-content > p:not(.eyebrow) { color:#48636e; font-size:1.08rem; }.check-list { display:grid; gap:14px; padding:0; list-style:none; font-weight:500; }.check-list li { position:relative; padding-left:34px; }.check-list li::before { position:absolute; left:0; content:"✓"; color:var(--teal); font-weight:700; }
.centered { text-align:center; }.features { padding:78px 0; }.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:42px; }.feature-card { padding:32px; border:1px solid var(--line); border-radius:20px; background:white; }.feature-icon { display:grid; place-items:center; width:44px; height:44px; margin-bottom:23px; border-radius:50%; color:white; background:var(--teal); font-weight:700; }.feature-icon img { width:22px; height:22px; filter:brightness(0) invert(1); }.feature-card h3 { margin-bottom:12px; color:var(--navy); font-size:1.25rem; }.feature-card p { margin-bottom:0; color:#4a6470; }
.audience { padding:72px 55px; border-radius:var(--radius); background:linear-gradient(120deg,#f0f8f4,#e7f2f7); }.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:39px; }.audience-grid article { padding:10px 20px; text-align:center; }.audience-grid article + article { border-left:1px solid #a7d7cf; }.audience-grid img { width:2rem; height:2rem; margin-inline:auto; filter:invert(42%) sepia(64%) saturate(731%) hue-rotate(126deg) brightness(92%) contrast(101%); }.audience-grid p { margin:11px 0 0; font-size:.96rem; font-weight:500; }
.other-services-list { display:grid; grid-template-columns:repeat(3,1fr); gap:14px 26px; max-width:1050px; margin:40px auto 0; padding:0; list-style:none; }.other-services-list li { position:relative; padding-left:27px; color:#345563; font-weight:500; }.other-services-list li::before { position:absolute; left:0; content:"✓"; color:var(--teal); font-weight:700; }
.closing { display:flex; align-items:center; justify-content:space-between; gap:36px; padding:62px; border-radius:var(--radius); color:white; background:linear-gradient(120deg,#006c70,#06366e); }.closing h2 { max-width:750px; margin:0; color:white; font-size:clamp(1.8rem,3vw,2.8rem); }.closing .eyebrow { color:#b8eee2; }.button-light { flex:0 0 auto; color:var(--navy); background:#fff; }.button-light:hover { transform:translateY(-2px); background:#ecfffa; }
.floating-whatsapp { position:fixed; right:20px; bottom:20px; z-index:15; display:flex; align-items:center; gap:8px; padding:11px 16px; border-radius:999px; color:#fff; background:#168a66; box-shadow:0 12px 28px rgba(0,0,0,.2); font-weight:700; font-size:.9rem; }.floating-whatsapp img { width:1.25rem; height:1.25rem; filter:brightness(0) invert(1); } footer { padding:42px 30px 78px; color:#54707a; text-align:center; font-size:.86rem; } footer p { margin:0; }
a:focus-visible,button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
@media (max-width:850px) { .main-nav { position:absolute; top:calc(100% + 1px); right:0; left:0; display:none; flex-direction:column; align-items:stretch; gap:3px; padding:16px 24px 22px; border-bottom:1px solid var(--line); background:#fff; }.main-nav a:not(.nav-cta) { padding:10px 0; }.main-nav .nav-cta { margin-top:8px; }.menu-toggle { display:block; }.site-header.menu-open .main-nav { display:flex; }.site-header.menu-open .menu-toggle span:nth-child(2) { transform:translateY(7px) rotate(45deg); }.site-header.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }.hero { grid-template-columns:1fr; gap:38px; min-height:0; }.hero-copy { order:1; }.hero-image-wrap { order:2; max-width:650px; }.intro,.visit-section { grid-template-columns:1fr; gap:34px; }.intro { padding:42px; }.visit-image { width:min(100%,340px); }.feature-grid { grid-template-columns:1fr; }.audience-grid,.other-services-list { grid-template-columns:repeat(2,1fr); }.audience-grid article:nth-child(3) { border-left:0; }.closing { align-items:flex-start; flex-direction:column; } }
@media (max-width:540px) { .site-header { min-height:72px; padding-inline:20px; }.brand { left:20px; width:205px; height:72px; }.brand img { width:131px; }.hero,.section { width:min(calc(100% - 32px),var(--container)); }.hero { padding:42px 0 24px; }.hero-card { right:-5px; bottom:17px; padding:15px; }.section { margin-top:68px; }.intro,.audience,.closing { padding:32px 24px; }.features { padding:10px 0; }.feature-card { padding:27px; }.audience-grid,.other-services-list { grid-template-columns:1fr; }.audience-grid { gap:10px; }.audience-grid article,.audience-grid article + article { border:0; border-bottom:1px solid #a7d7cf; }.audience-grid article:last-child { border-bottom:0; }.audience-grid article { display:flex; align-items:center; gap:18px; text-align:left; }.audience-grid p { margin:0; }.floating-whatsapp { right:14px; bottom:14px; }.floating-whatsapp span:last-child { display:none; } }
