@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root { --ink:#17231f; --green:#0d3226; --deep:#082119; --lime:#d8ea5b; --cream:#f5f1e9; --paper:#fffefa; --mist:#e8eee8; --line:#d6ddd6; --stone:#ded6c8; --warm:#b96342; --max:1240px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; line-height:1.55; } a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; } .skip-link { position:absolute; left:-999px; } .skip-link:focus { left:1rem; top:1rem; z-index:20; padding:.5rem; background:white; }
.site-header, main > section, footer { padding-left:max(1.4rem,calc((100vw - var(--max))/2)); padding-right:max(1.4rem,calc((100vw - var(--max))/2)); }
.site-header { position:sticky; top:0; z-index:10; min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; background:rgba(255,254,250,.94); border-bottom:1px solid rgba(23,35,31,.1); backdrop-filter:blur(14px); } .brand { display:flex; align-items:center; gap:.75rem; font-size:.77rem; line-height:1.16; letter-spacing:.02em; white-space:nowrap; } .brand strong { font-size:1.07rem; } .brand-mark { display:block; width:40px; height:40px; flex:0 0 40px; } nav { display:flex; align-items:center; gap:1.5rem; font-size:.84rem; font-weight:800; } nav a:not(.button) { color:#526158; } nav a:not(.button):hover { color:var(--green); } .menu-button { display:none; border:1px solid var(--green); background:transparent; padding:.55rem .8rem; color:var(--green); font-weight:800; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:.82rem 1.15rem; background:var(--lime); border:1px solid var(--lime); color:var(--green); font-size:.83rem; font-weight:800; letter-spacing:.01em; transition:transform .2s,background .2s; cursor:pointer; } .button:hover { transform:translateY(-2px); background:#efff77; border-color:#efff77; } .button-small { min-height:40px; padding:.52rem .82rem; } .button-ghost { background:transparent; border-color:rgba(255,255,255,.42); color:white; } .button-ghost:hover { color:var(--green); background:white; border-color:white; } .text-link { display:inline-block; color:var(--green); font-size:.84rem; font-weight:800; } .text-link span { display:inline-block; margin-left:.3rem; transition:transform .2s; } .text-link:hover span { transform:translate(3px,1px); }
.eyebrow { margin:0 0:1.15rem; color:#65736a; font-family:"DM Mono",monospace; font-size:.68rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase; } .eyebrow-light { color:#d8ea5b; } h1,h2,h3,p { margin-top:0; } h1,h2 { letter-spacing:-.055em; } h1 em,h2 em { font-family:"Playfair Display",serif; font-weight:600; } .section { padding-top:7.5rem; padding-bottom:7.5rem; }
.premium-hero { position:relative; min-height:min(720px,calc(100vh - 82px)); display:flex; align-items:flex-end; overflow:hidden; padding-top:7rem; padding-bottom:5.5rem; isolation:isolate; background:var(--deep); } .premium-hero-image,.premium-hero-shade { position:absolute; inset:0; width:100%; height:100%; } .premium-hero-image { object-fit:cover; object-position:center; z-index:-2; } .premium-hero-shade { z-index:-1; background:linear-gradient(90deg,rgba(5,20,14,.96) 0%,rgba(5,20,14,.82) 34%,rgba(5,20,14,.18) 68%,rgba(5,20,14,.04)); } .premium-hero-content { width:min(650px,65%); color:white; } .premium-hero h1 { margin-bottom:1.5rem; font-size:clamp(3.5rem,7.1vw,7.1rem); line-height:.91; color:white; } .hero-lead { max-width:550px; margin-bottom:2.15rem; color:#d6e0d6; font-size:1.07rem; } .hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; }.hero-points { display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; margin:2.35rem 0 0; padding:0; list-style:none; color:#e4ece4; font-size:.74rem; font-weight:700; }.hero-points li::before { content:"•"; margin-right:.45rem; color:var(--lime); }.hero-card { position:absolute; right:max(1.4rem,calc((100vw - var(--max))/2)); bottom:0; width:245px; padding:1.5rem; color:var(--green); background:var(--lime); }.hero-card span { display:block; margin-bottom:2.4rem; font-family:"DM Mono",monospace; font-size:.7rem; }.hero-card strong { display:block; margin-bottom:.9rem; font-size:1.65rem; line-height:1.02; letter-spacing:-.05em; }.hero-card p { margin:0; font-size:.76rem; line-height:1.5; }
.assurance-bar { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding-top:0; padding-bottom:0; background:var(--green); } .assurance-bar > div { min-height:145px; padding:2rem max(1.4rem,calc((100vw - var(--max))/2)); background:var(--deep); color:white; } .assurance-bar span { display:block; margin-bottom:.6rem; color:var(--lime); font-family:"DM Mono",monospace; font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; } .assurance-bar strong { display:block; max-width:275px; font-size:.91rem; line-height:1.35; letter-spacing:-.02em; }
.introduction { display:grid; grid-template-columns:1.05fr .72fr; gap:8rem; align-items:end; border-bottom:1px solid var(--line); }.introduction h2,.section-heading h2,.fit-panel h2,.assessment h2 { max-width:700px; color:var(--green); font-size:clamp(2.5rem,4.4vw,4.25rem); line-height:1.03; }.introduction-copy { max-width:460px; }.introduction-copy p { color:#55635a; font-size:1.04rem; }
.service-section { background:var(--cream); }.section-heading { max-width:700px; margin-bottom:3.4rem; }.premium-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }.premium-service-card { display:flex; min-height:330px; flex-direction:column; padding:1.75rem; background:var(--paper); transition:background .2s,color .2s; }.premium-service-card:hover { background:var(--green); color:white; }.premium-service-card span,.fit-list span { color:var(--warm); font-family:"DM Mono",monospace; font-size:.7rem; }.premium-service-card h3 { margin:3.8rem 0 .65rem; color:var(--green); font-size:1.45rem; line-height:1.06; letter-spacing:-.045em; }.premium-service-card p { color:#5c685f; font-size:.82rem; }.premium-service-card b { margin-top:auto; color:var(--green); font-size:.75rem; }.premium-service-card i { display:inline-block; margin-left:.25rem; font-style:normal; transition:transform .2s; }.premium-service-card:hover h3,.premium-service-card:hover p,.premium-service-card:hover b { color:white; }.premium-service-card:hover i { transform:translateX(4px); }.all-services-link { display:inline-block; margin-top:2rem; color:var(--green); font-size:.87rem; font-weight:800; }.all-services-link span { margin-left:.25rem; }
.method-section { display:grid; grid-template-columns:.72fr 1.05fr; gap:9rem; background:var(--green); color:white; }.method-heading h2 { margin:0; color:white; font-size:clamp(3rem,5.2vw,4.8rem); line-height:.96; letter-spacing:-.06em; }.method-list { margin:0; padding:0; list-style:none; }.method-list li { display:grid; grid-template-columns:70px 1fr; gap:1.2rem; padding:1.85rem 0; border-top:1px solid rgba(255,255,255,.2); }.method-list span { color:var(--lime); font-family:"DM Mono",monospace; font-size:.72rem; }.method-list h3 { margin-bottom:.35rem; color:white; font-size:1.25rem; letter-spacing:-.04em; }.method-list p { max-width:470px; margin:0; color:#c8d7cf; font-size:.88rem; }
.fit-section { display:grid; grid-template-columns:1fr .85fr; gap:6rem; align-items:stretch; }.fit-panel { display:flex; min-height:470px; flex-direction:column; justify-content:flex-end; padding:3.5rem; background:#ded5c7; }.fit-panel h2 { margin-bottom:2rem; }.fit-list { display:flex; flex-direction:column; justify-content:center; }.fit-list > div { display:flex; gap:1.2rem; padding:1.1rem 0; border-bottom:1px solid var(--line); }.fit-list p { margin:0; color:var(--green); font-size:1.02rem; font-weight:800; letter-spacing:-.025em; }
.assessment { display:grid; grid-template-columns:.76fr 1.24fr; gap:7rem; align-items:start; background:#edf0e7; }.assessment-copy > p:not(.eyebrow) { max-width:410px; color:#526158; }.assessment form { display:grid; gap:.95rem; padding:2rem; background:white; border:1px solid var(--line); box-shadow:14px 14px 0 #cad8ca; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.95rem; } label { display:grid; gap:.43rem; color:#304337; font-size:.72rem; font-weight:800; } input,select,textarea { width:100%; padding:.75rem .8rem; border:1px solid #c4cec4; border-radius:0; background:white; color:var(--ink); font-size:.86rem; font-weight:500; } input:focus,select:focus,textarea:focus { outline:2px solid var(--lime); border-color:var(--green); } textarea { resize:vertical; }.hidden { display:none; }.form-helper { margin:.2rem 0 0; color:#68766e; font-size:.72rem; }
footer { display:grid; grid-template-columns:1fr 1fr auto; gap:2rem; align-items:center; padding-top:2.6rem; padding-bottom:2.6rem; background:#061c15; color:#dbe7df; font-size:.78rem; } footer p { margin:0; } footer a:hover { color:var(--lime); } .muted { color:#95a79c !important; font-size:.78rem !important; }.mobile-whatsapp { display:none; }
@media (max-width:920px) { .premium-service-grid { grid-template-columns:repeat(2,1fr); } .assurance-bar > div { padding-left:1.5rem; padding-right:1.5rem; } .introduction,.method-section,.fit-section,.assessment { gap:3.2rem; } }
@media (max-width:760px) { html { scroll-padding-top:70px; } main > section { scroll-margin-top:70px; } .site-header { min-height:70px; } .menu-button { display:block; } nav { position:absolute; top:70px; left:0; right:0; z-index:5; display:none; flex-direction:column; align-items:stretch; gap:0; padding:1rem 1.4rem 1.4rem; background:var(--paper); border-bottom:1px solid var(--line); } nav.open { display:flex; } nav a { padding:.7rem 0; } nav .button { margin-top:.5rem; } .premium-hero { display:block; min-height:0; padding-top:4rem; padding-bottom:3rem; } .premium-hero-image { object-position:62% center; } .premium-hero-shade { background:linear-gradient(90deg,rgba(5,20,14,.93),rgba(5,20,14,.48)); }.premium-hero-content { position:relative; width:100%; }.premium-hero h1 { font-size:clamp(3.6rem,15vw,5rem); }.hero-lead { font-size:1rem; }.hero-card { position:relative; right:auto; bottom:auto; width:min(100%,260px); margin:2rem 0 0 auto; padding:1.25rem; }.hero-card span { margin-bottom:1.5rem; }.hero-card strong { font-size:1.35rem; }.assurance-bar { grid-template-columns:1fr; }.assurance-bar > div { min-height:0; padding:1.35rem 1.4rem; }.section { padding-top:4.6rem; padding-bottom:4.6rem; }.introduction,.method-section,.fit-section,.assessment { grid-template-columns:1fr; gap:2.6rem; }.introduction h2,.section-heading h2,.fit-panel h2,.assessment h2 { font-size:2.65rem; }.premium-service-grid { grid-template-columns:1fr; }.premium-service-card { min-height:240px; }.premium-service-card h3 { margin-top:2rem; }.method-section { padding-top:4.6rem; padding-bottom:4.6rem; }.fit-panel { min-height:0; padding:2.2rem; }.assessment form { padding:1.3rem; box-shadow:8px 8px 0 #cad8ca; }.form-row { grid-template-columns:1fr; } footer { grid-template-columns:1fr; gap:1rem; padding-bottom:5.7rem; }.mobile-whatsapp { position:fixed; right:1rem; bottom:1rem; z-index:9; display:flex; align-items:center; gap:.8rem; padding:.78rem 1rem; background:var(--lime); color:var(--green); box-shadow:0 8px 22px rgba(0,0,0,.18); font-size:.78rem; font-weight:800; }.mobile-whatsapp b { font-size:1rem; } }

/* Service-page layout */
.hero { display:grid; grid-template-columns:1.25fr .7fr; gap:4rem; align-items:stretch; min-height:570px; padding-top:5.8rem; padding-bottom:5.8rem; background:linear-gradient(115deg,var(--cream) 0%,var(--cream) 70%,#dce7db 70%); } .hero-copy { align-self:center; max-width:720px; } .hero h1 { margin-bottom:1.25rem; color:var(--green); font-size:clamp(3rem,5.8vw,5.5rem); line-height:.96; }.lead { max-width:570px; margin-bottom:2rem; color:#4e5c53; font-size:1.04rem; }.hero-panel { display:flex; flex-direction:column; justify-content:center; padding:2rem; color:#eef4df; background:var(--green); box-shadow:12px 12px 0 #c5d8c5; }.panel-label { margin:0 0 1rem; color:var(--lime); font-family:"DM Mono",monospace; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }.panel-stat { padding:1.15rem 0; border-top:1px solid rgba(255,255,255,.18); }.panel-stat strong { display:block; margin-bottom:.25rem; color:white; font-size:1.22rem; }.panel-stat span { display:block; color:#c7d8cd; font-size:.77rem; }
.intro { border-bottom:1px solid var(--line); }.split-heading { display:grid; grid-template-columns:1.1fr .75fr; gap:5rem; align-items:end; }.split-heading h2,.process h2,.coverage h2 { color:var(--green); font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.06; letter-spacing:-.05em; }.split-heading p { max-width:470px; color:#506056; font-size:1rem; }.services { background:var(--mist); }.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }.service-grid article { min-height:210px; padding:1.65rem; background:var(--paper); }.service-grid article span { color:var(--warm); font-family:"DM Mono",monospace; font-size:.7rem; }.service-grid h3 { margin:2rem 0 .65rem; color:var(--green); font-size:1.22rem; letter-spacing:-.035em; }.service-grid p { margin:0; color:#5b685f; font-size:.83rem; }.process { display:grid; grid-template-columns:.9fr 1.1fr; gap:6rem; background:var(--green); color:white; }.process h2 { color:white; }.process ol { margin:0; padding:0; list-style:none; }.process li { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding:1.5rem 0; border-top:1px solid rgba(255,255,255,.2); }.process strong { color:var(--lime); font-size:1rem; }.process p { margin:0; color:#cbd8cf; font-size:.85rem; }.coverage { display:grid; grid-template-columns:1.1fr .7fr; gap:5rem; align-items:start; }.coverage-card { padding:2.7rem; background:#eee7db; }.coverage-card h3 { margin:1.5rem 0 .35rem; color:var(--green); font-size:1rem; }.coverage-card p { color:#526057; }.check-list { margin:0; padding:0; list-style:none; }.check-list li { padding:1rem 0; border-bottom:1px solid var(--line); color:var(--green); font-size:.9rem; font-weight:800; }.check-list li::before { content:"+"; display:inline-block; width:1.4rem; color:var(--warm); }
@media (max-width:760px) { .hero { grid-template-columns:1fr; gap:2.5rem; min-height:0; padding-top:4.5rem; padding-bottom:4.5rem; background:var(--cream); }.hero-panel { box-shadow:8px 8px 0 #c5d8c5; }.split-heading,.process,.coverage { grid-template-columns:1fr; gap:2.5rem; }.service-grid { grid-template-columns:1fr; }.process li { grid-template-columns:1fr; gap:.45rem; }.coverage-card { padding:2rem; } }

.audience-switch { display:grid; grid-template-columns:1fr 1fr; gap:1px; padding-top:0; padding-bottom:0; background:var(--line); }
.audience-card { min-height:460px; display:flex; flex-direction:column; justify-content:flex-end; padding:3.3rem; color:white; transition:filter .2s,transform .2s; }
.audience-card:hover { filter:brightness(1.06); }
.audience-home { background:linear-gradient(135deg,#21493a,#0d3226); }
.audience-business { background:linear-gradient(135deg,#172a24,#0a1d17); }
.audience-card span { margin-bottom:auto; color:var(--lime); font-family:"DM Mono",monospace; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.audience-card h2 { max-width:550px; margin-bottom:1rem; color:white; font-size:clamp(2.35rem,3.7vw,3.8rem); line-height:1.02; letter-spacing:-.055em; }
.audience-card p { max-width:450px; color:#d2ded5; font-size:.94rem; }
.audience-card b { margin-top:1.4rem; color:var(--lime); font-size:.8rem; }
.audience-card i { display:inline-block; margin-left:.35rem; font-style:normal; transition:transform .2s; }
.audience-card:hover i { transform:translateX(5px); }
@media (max-width:760px) { .audience-switch { grid-template-columns:1fr; }.audience-card { min-height:350px; padding:2.2rem; }.audience-card h2 { font-size:2.5rem; } }
