﻿:root {
    color-scheme: light;
    --ink: #15212b;
    --muted: #64717d;
    --teal: #075e63;
    --teal-soft: #d8f0ed;
    --sun: #f3b43f;
    --coral: #e86f61;
    --mint: #dff7ec;
    --cloud: #f6f8fb;
    --line: #dfe7ed;
    --white: #fff;
    --shadow: 0 22px 70px rgba(21, 33, 43, .12)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--cloud);
    color: var(--ink)
}

a {
    color: inherit
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 14px clamp(18px, 4vw, 64px);
    background: rgba(255, 255, 255, .9);
    border-bottom: 1px solid rgba(223, 231, 237, .9);
    backdrop-filter: blur(18px)
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: 0
}

.brand-mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 8px;
    background: var(--teal);
    color: var(--white);
    box-shadow: 0 10px 28px rgba(7, 94, 99, .22)
}

.brand-logo {
    height: 80px;
    width: auto;
    display: block;
}

.nav-links {
    display: flex;
    gap: 18px;
    margin-left: auto;
    color: var(--muted);
    font-size: .94rem
}

.nav-links a {
    text-decoration: none
}

.language-select {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: .85rem
}

select,
input,
button {
    font: inherit
}

select,
input {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 10px 12px;
    background: var(--white);
    color: var(--ink)
}

button,
.primary-action,
.secondary-action {
    min-height: 44px;
    border: 0;
    border-radius: 8px;
    padding: 12px 18px;
    cursor: pointer;
    font-weight: 750;
    text-decoration: none
}

.primary-action,
button {
    background: var(--teal);
    color: var(--white);
    box-shadow: 0 14px 32px rgba(7, 94, 99, .22)
}

.secondary-action {
    background: var(--white);
    color: var(--teal);
    border: 1px solid var(--line)
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
    gap: clamp(28px, 6vw, 76px);
    min-height: calc(100vh - 67px);
    padding: clamp(48px, 8vw, 96px) clamp(18px, 5vw, 82px) 42px;
    align-items: center;
    background: linear-gradient(112deg, rgba(216, 240, 237, .85) 0%, rgba(246, 248, 251, .7) 42%, rgba(255, 255, 255, .95) 100%), url("assets/hero-pattern.svg");
    background-size: cover
}

.eyebrow {
    margin: 0 0 12px;
    color: var(--teal);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase
}

h1,
h2,
h3,
p {
    overflow-wrap: anywhere
}

h1 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(2.55rem, 7vw, 5.9rem);
    line-height: .96;
    letter-spacing: 0
}

h2 {
    margin: 0;
    font-size: clamp(1.85rem, 4vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: 0
}

h3 {
    margin: 0;
    font-size: 1.1rem;
    letter-spacing: 0
}

.hero-text {
    max-width: 690px;
    margin: 24px 0 0;
    color: #3f4e59;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.65
}

.hero-actions,
.trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px
}

.trust-row span {
    padding: 8px 11px;
    border: 1px solid rgba(7, 94, 99, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .7);
    color: #315057;
    font-size: .9rem
}

.hero-panel {
    min-height: 520px;
    display: grid;
    align-content: space-between;
    gap: 22px;
    padding: clamp(22px, 4vw, 36px);
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(21, 33, 43, .92), rgba(7, 94, 99, .92)), url("assets/dashboard-lines.svg");
    background-size: cover;
    color: var(--white);
    box-shadow: var(--shadow)
}

.panel-top,
.mini-results {
    display: flex;
    justify-content: space-between;
    gap: 16px
}

.panel-top span,
.mini-results span {
    color: rgba(255, 255, 255, .72)
}

.panel-top strong {
    font-size: 3rem
}

.score-ring {
    width: min(300px, 76vw);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    justify-self: center;
    border-radius: 50%;
    background: radial-gradient(circle at center, #15212b 0 52%, transparent 53%), conic-gradient(var(--sun) 0 72%, rgba(255, 255, 255, .16) 72% 100%)
}

.score-ring span {
    color: var(--sun);
    font-weight: 850
}

.mini-results>div {
    flex: 1;
    min-width: 0;
    padding: 16px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .1)
}

.mini-results strong {
    display: block;
    margin-top: 6px
}

.section-block,
.tool-surface,
.split-section {
    padding: clamp(56px, 8vw, 96px) clamp(18px, 5vw, 82px)
}

.section-heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(280px, .6fr);
    gap: 28px;
    align-items: end;
    margin-bottom: 28px
}

.section-heading.compact {
    grid-template-columns: 1fr;
    max-width: 840px
}

.section-heading p:not(.eyebrow),
.surface-copy p,
.split-section p {
    color: var(--muted);
    line-height: 1.7
}

.tool-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px
}

.tool-card,
.calc-card,
.feature-list article,
.timeline article,
.result-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--white);
    box-shadow: 0 10px 34px rgba(21, 33, 43, .06)
}

.tool-card {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 22px
}

.tool-card p {
    color: var(--muted);
    line-height: 1.58
}

.tool-card a {
    margin-top: auto;
    color: var(--teal);
    font-weight: 800;
    text-decoration: none
}

.tool-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 8px;
    font-weight: 900
}

.accent-teal .tool-icon {
    background: var(--teal-soft);
    color: var(--teal)
}

.accent-coral .tool-icon {
    background: #ffe4df;
    color: #b83d31
}

.accent-sun .tool-icon {
    background: #fff2ce;
    color: #8b5b00
}

.accent-mint .tool-icon {
    background: var(--mint);
    color: #23634e
}

.tool-surface {
    display: grid;
    grid-template-columns: minmax(280px, .42fr) minmax(0, .58fr);
    gap: clamp(26px, 5vw, 64px);
    background: var(--ink);
    color: var(--white)
}

.tool-surface .surface-copy p {
    color: rgba(255, 255, 255, .72)
}

.calculator-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px
}

.calc-card {
    display: grid;
    gap: 14px;
    padding: 20px;
    color: var(--ink)
}

.calc-card label {
    display: grid;
    gap: 7px;
    color: #41505a;
    font-weight: 650;
    font-size: .92rem
}

.calc-card output {
    min-height: 54px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: var(--teal-soft);
    color: var(--teal);
    font-size: 1.25rem;
    font-weight: 850;
    text-align: center;
    padding: 12px
}

.wide-card {
    grid-column: 1/-1
}

.split-inputs,
.search-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px
}

.offer-section,
.seo-block {
    background: #fff
}

.search-panel {
    align-items: end;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--cloud)
}

.search-panel label {
    display: grid;
    gap: 8px;
    color: #41505a;
    font-weight: 700
}

.result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px
}

.result-card {
    padding: 18px
}

.result-card strong {
    display: block;
    margin-bottom: 8px
}

.result-card p {
    color: var(--muted);
    line-height: 1.55
}

.result-card span {
    display: inline-block;
    margin-top: 12px;
    color: var(--teal);
    font-weight: 800
}

.split-section {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(280px, .65fr);
    gap: clamp(28px, 6vw, 72px);
    align-items: center
}

.split-section.reverse {
    background: #edf6f5
}

.feature-list {
    display: grid;
    gap: 12px
}

.feature-list article {
    padding: 20px
}

.feature-list strong,
.feature-list span {
    display: block
}

.feature-list span {
    margin-top: 8px;
    color: var(--muted);
    line-height: 1.55
}

.timeline {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px
}

.timeline article {
    padding: 22px
}

.timeline span {
    color: var(--coral);
    font-weight: 900
}

.timeline p {
    color: var(--muted);
    line-height: 1.6
}

.site-footer {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 28px clamp(18px, 5vw, 82px);
    background: var(--ink);
    color: var(--white)
}

.site-footer p {
    max-width: 720px;
    margin: 8px 0 0;
    color: rgba(255, 255, 255, .68)
}

@media (max-width:1050px) {
    .nav-links {
        display: none
    }

    .hero,
    .tool-surface,
    .split-section,
    .section-heading {
        grid-template-columns: 1fr
    }

    .hero {
        min-height: auto
    }

    .tool-grid,
    .timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width:720px) {
    .site-header {
        flex-wrap: wrap
    }

    .language-select {
        width: 100%
    }

    .hero-panel {
        min-height: 410px
    }

    .tool-grid,
    .calculator-grid,
    .split-inputs,
    .search-panel,
    .result-grid,
    .timeline {
        grid-template-columns: 1fr
    }

    .mini-results {
        flex-direction: column
    }

    .site-footer {
        flex-direction: column
    }
}
body{overflow-x:hidden}.hero-copy,.hero-panel{min-width:0}.hero-panel{width:100%}.language-select select{min-width:0}@media (max-width:720px){.language-select{display:grid;grid-template-columns:auto minmax(0,1fr)}h1{font-size:clamp(2.35rem,12vw,3.2rem)}}
@media (max-width:720px){.site-header{display:grid;grid-template-columns:1fr;gap:14px}.brand{width:max-content}.hero{display:block;padding:48px 20px 42px}.hero-text{max-width:100%}.hero-panel{margin-top:36px}.panel-top,.mini-results{width:100%}}
@media (max-width:900px){.site-header{display:grid;grid-template-columns:1fr;gap:14px}.brand{width:max-content}.language-select{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}.hero{display:block;padding:48px 20px 42px;overflow:hidden}.hero-copy{max-width:100%}.hero-text{max-width:100%}.hero-panel{margin-top:36px;width:100%;max-width:100%}.trust-row{max-width:100%}.trust-row span{max-width:100%}}

.insight-box,.planner-output{border:1px solid var(--line);border-radius:8px;background:#f7fbfb;color:#2d3f49;padding:14px;line-height:1.55}.insight-box ul,.planner-output ol{margin:8px 0 0;padding-left:20px}.bar-row{display:grid;gap:6px;margin-bottom:10px}.bar-row span{font-size:.88rem;color:#41505a;font-weight:750}.bar-row div{height:10px;border-radius:999px;background:#e5edf0;overflow:hidden}.bar-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--sun))}.advanced-search{grid-template-columns:1.4fr repeat(4,minmax(130px,1fr)) auto}.gateway-summary{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#f7fbfb}.gateway-summary strong{color:var(--teal);font-size:1.1rem}.gateway-summary span{color:var(--muted)}.detailed-results{align-items:stretch}.detailed-card{position:relative;display:flex;flex-direction:column;gap:12px;min-height:330px;padding-top:24px}.score-badge{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--teal);color:#fff;font-weight:900;box-shadow:0 10px 24px rgba(7,94,99,.2)}.meta-row{display:flex;flex-wrap:wrap;gap:8px}.meta-row span{margin:0;padding:6px 8px;border-radius:999px;background:#eef7f6;color:#24565a;font-size:.78rem;font-weight:800;text-transform:capitalize}.detailed-card ol{margin:0;padding-left:20px;color:#41505a;line-height:1.55}.card-action{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:8px;background:var(--ink);color:#fff;text-decoration:none;font-weight:800}.travel-workbench{background:#fff}.jobs-workbench{background:#edf6f5}.workbench-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:end;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--cloud)}.workbench-grid label{display:grid;gap:8px;color:#41505a;font-weight:700}.workbench-grid button{width:100%}.plan-board{margin-top:16px}.plan-board article{border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 34px rgba(21,33,43,.06);padding:22px}.plan-board h3{margin-bottom:10px}.plan-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.plan-columns ul,.plan-columns ol{margin:8px 0 0;padding-left:20px;line-height:1.65}.plan-columns a{color:var(--teal);font-weight:750}.section-heading.compact p:not(.eyebrow){max-width:900px}@media (max-width:1200px){.advanced-search,.workbench-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workbench-grid button,.advanced-search button{grid-column:1/-1}}@media (max-width:820px){.advanced-search,.workbench-grid,.plan-columns{grid-template-columns:1fr}.gateway-summary{align-items:flex-start;flex-direction:column}.detailed-card{min-height:auto}.score-badge{position:static;margin-left:auto}.card-action{width:100%}}

@media (max-width:900px){html,body{width:100%;max-width:100%;overflow-x:hidden}.site-header,.hero,.section-block,.tool-surface,.split-section,.site-footer{width:100%;max-width:100%;overflow:hidden}.language-select{grid-template-columns:1fr}.language-select span{display:block}.trust-row{display:grid;grid-template-columns:1fr;align-items:start}.trust-row span{width:max-content;max-width:100%}.hero h1{font-size:clamp(2.25rem,11vw,3rem)}.hero-text{font-size:1rem;line-height:1.55}.score-ring{width:min(240px,68vw)}.panel-top strong{font-size:2.35rem}.mini-results>div{padding:14px}.section-block,.tool-surface,.split-section{padding-left:20px;padding-right:20px}}

@media (max-width:480px){.hero-copy{width:min(100%,330px)}.hero h1{max-width:320px;font-size:2.45rem;line-height:1.05}.hero-text,.hero-actions,.trust-row{max-width:320px}.hero-panel{max-width:calc(100vw - 40px);padding:20px;justify-items:stretch}.score-ring{width:220px}.panel-top strong{font-size:2rem}.site-header{padding-left:20px;padding-right:20px}.language-select select{max-width:100%}}

@media (max-width:480px){.hero-panel .panel-top{display:grid;grid-template-columns:1fr;gap:6px}.hero-panel .panel-top strong{justify-self:start}.mini-results{display:grid;grid-template-columns:1fr}.hero-panel{min-height:auto}.score-ring{justify-self:start}}

.legal-page{background:var(--cloud);min-height:70vh}.legal-hero{padding:clamp(56px,8vw,96px) clamp(20px,6vw,96px) 28px;background:linear-gradient(112deg,rgba(216,240,237,.95),rgba(255,255,255,.9));}.legal-hero h1{font-size:clamp(2.4rem,7vw,5rem);max-width:900px}.legal-hero p:not(.eyebrow){color:var(--muted);font-size:1.1rem;line-height:1.7}.legal-content{max-width:980px;margin:0 auto;padding:42px 20px 76px}.legal-content h2{font-size:1.35rem;margin-top:26px}.legal-content p{color:#41505a;line-height:1.75}.legal-content a{color:var(--teal);font-weight:800}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1120px}.contact-grid article{border:1px solid var(--line);border-radius:8px;background:#fff;padding:22px;box-shadow:0 10px 34px rgba(21,33,43,.06)}.footer-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.footer-links a{color:#fff;text-decoration:none}@media (max-width:820px){.contact-grid{grid-template-columns:1fr}.footer-links{align-items:flex-start;flex-direction:column}.legal-content{padding-top:28px}}

/* ── Google AdSense Ad Zones ── */
.ad-zone{width:100%;overflow:hidden;text-align:center;padding:12px clamp(18px,5vw,82px);background:var(--cloud);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ad-zone ins.adsbygoogle{display:block}
.ad-zone--leaderboard ins{min-height:90px}
.ad-zone--rectangle{padding:16px clamp(18px,5vw,82px)}
.ad-zone--rectangle ins{min-height:250px;max-width:336px;margin:0 auto}
.ad-zone--inarticle ins{min-height:280px}
@media(max-width:720px){.ad-zone--leaderboard ins{min-height:50px}}
