/* ==========================================================
   UkraineType · Public Home Parity V2
   Home is the visual source of truth.
   ========================================================== */

body.uk-public-body.ut-v2{
    --ut-navy:#0b3048;
    --ut-navy-dark:#06263a;
    --ut-blue:#176da8;
    --ut-yellow:#ffd34d;

    --ut-paper:#fbfbf9;
    --ut-white:#ffffff;
    --ut-soft:#f5f8fa;
    --ut-blue-soft:#eef7fe;
    --ut-warm:#fbf5f0;

    --ut-text:#163348;
    --ut-muted:#657986;
    --ut-line:#e2e8eb;

    --ut-radius:12px;
    --ut-shadow:
        0 12px 34px rgba(12,43,62,.055);

    margin:0 !important;
    background:var(--ut-paper) !important;
    color:var(--ut-text) !important;

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif !important;

    font-size:14px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body.uk-public-body.ut-v2 .uk-public-main{
    background:var(--ut-paper) !important;
}


/* ==========================================================
   WIDTH / RHYTHM
   ========================================================== */

body.uk-public-body.ut-v2 .uk-shell{
    width:min(1320px,calc(100% - 72px)) !important;
    margin-inline:auto !important;
}

body.uk-public-body.ut-v2 .uk-section{
    padding:72px 0 !important;
    background:#fff;
}

body.uk-public-body.ut-v2 .uk-section-soft{
    background:#f7f9fa !important;
    border-top:1px solid var(--ut-line);
    border-bottom:1px solid var(--ut-line);
}

body.uk-public-body.ut-v2 .uk-section-warm{
    background:var(--ut-warm) !important;
    border-top:1px solid #eee6df;
    border-bottom:1px solid #eee6df;
}


/* ==========================================================
   HEADER — HOME LANGUAGE
   ========================================================== */

body.uk-public-body.ut-v2 .uk-site-header{
    position:sticky !important;
    top:0;
    z-index:1000;
    height:58px !important;
    border-bottom:1px solid var(--ut-line) !important;

    background:
        rgba(255,255,255,.94) !important;

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

body.uk-public-body.ut-v2 .uk-header-inner{
    width:min(1360px,calc(100% - 72px)) !important;
    height:58px !important;
    margin:auto !important;
    gap:22px !important;
}

body.uk-public-body.ut-v2 .uk-brand{
    color:var(--ut-navy) !important;
}

body.uk-public-body.ut-v2 .uk-brand strong{
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:27px !important;
    line-height:.9 !important;
    font-weight:500 !important;
    letter-spacing:-1.2px !important;
}

body.uk-public-body.ut-v2 .uk-brand small{
    margin-top:4px;
    color:#78909d !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:1.3px !important;
}

body.uk-public-body.ut-v2 .uk-header-nav{
    gap:22px !important;
}

body.uk-public-body.ut-v2 .uk-header-nav a{
    color:#455d6a !important;
    font-size:12px !important;
    font-weight:700 !important;
}

body.uk-public-body.ut-v2 .uk-header-nav a:hover{
    color:var(--ut-blue) !important;
}

body.uk-public-body.ut-v2 .uk-header-cta{
    min-height:36px !important;
    padding:0 15px !important;
    border-radius:6px !important;
    background:var(--ut-navy) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:800 !important;
}


/* ==========================================================
   TYPOGRAPHY — EXACT HOME FAMILY / SCALE
   ========================================================== */

body.uk-public-body.ut-v2 .uk-kicker,
body.uk-public-body.ut-v2 .uk-card-number{
    color:var(--ut-blue);
    font-size:9px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    letter-spacing:2.5px !important;
    text-transform:uppercase;
}

body.uk-public-body.ut-v2 .uk-section-head{
    gap:60px !important;
    margin-bottom:34px !important;
}

body.uk-public-body.ut-v2 .uk-section-head h2{
    margin:0 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    color:var(--ut-text) !important;

    font-size:
        clamp(38px,4.1vw,58px) !important;

    line-height:.98 !important;
    font-weight:500 !important;
    letter-spacing:-2px !important;
}

body.uk-public-body.ut-v2 .uk-section-head p{
    margin:0 !important;
    color:var(--ut-muted) !important;
    font-size:14px !important;
    line-height:1.7 !important;
}


/* ==========================================================
   HERO
   ========================================================== */

body.uk-public-body.ut-v2 .uk-page-hero,
body.uk-public-body.ut-v2 .uk-destination-detail-hero{
    padding:78px 0 72px !important;

    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(255,211,77,.13),
            transparent 27rem
        ),
        linear-gradient(
            135deg,
            #082b42,
            #0a4769
        ) !important;

    color:#fff !important;
}

body.uk-public-body.ut-v2 .uk-page-hero-grid{
    gap:60px !important;
    align-items:center !important;
}

body.uk-public-body.ut-v2 .uk-page-hero h1,
body.uk-public-body.ut-v2 .uk-destination-detail-hero h1,
body.uk-public-body.ut-v2 .uk-journey-hero h1{
    margin:0 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:
        clamp(46px,5.3vw,72px) !important;

    line-height:.96 !important;
    font-weight:500 !important;
    letter-spacing:-2.5px !important;
}

body.uk-public-body.ut-v2 .uk-page-hero p,
body.uk-public-body.ut-v2 .uk-destination-detail-hero p{
    max-width:680px;
    color:rgba(255,255,255,.78) !important;
    font-size:14px !important;
    line-height:1.72 !important;
}

body.uk-public-body.ut-v2 .uk-hero-note,
body.uk-public-body.ut-v2 .uk-journey-route-card{
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    box-shadow:none;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

body.uk-public-body.ut-v2 .uk-button,
body.uk-public-body.ut-v2 .uk-journey-button{
    min-height:42px !important;
    padding:0 18px !important;

    border-radius:6px !important;

    font-size:11px !important;
    line-height:1 !important;
    font-weight:800 !important;
}

body.uk-public-body.ut-v2 .uk-button-primary,
body.uk-public-body.ut-v2 .uk-journey-button-primary{
    border:1px solid var(--ut-navy) !important;
    background:var(--ut-navy) !important;
    color:#fff !important;
}

body.uk-public-body.ut-v2 .uk-button-yellow{
    border:1px solid var(--ut-yellow) !important;
    background:var(--ut-yellow) !important;
    color:#17384b !important;
}

body.uk-public-body.ut-v2 .uk-button-outline,
body.uk-public-body.ut-v2 .uk-button-outline-dark,
body.uk-public-body.ut-v2 .uk-journey-button-secondary{
    border:1px solid #bdcbd4 !important;
    background:#fff !important;
    color:var(--ut-navy) !important;
}


/* ==========================================================
   GENERAL CARDS
   Safety/status colours intentionally NOT overridden.
   ========================================================== */

body.uk-public-body.ut-v2 .uk-card,
body.uk-public-body.ut-v2 .uk-contact-card,
body.uk-public-body.ut-v2 .uk-destination-card,
body.uk-public-body.ut-v2 .uk-destination-summary-card,
body.uk-public-body.ut-v2 .uk-destination-source-card,
body.uk-public-body.ut-v2 .uk-context-card,
body.uk-public-body.ut-v2 .uk-context-summary-grid article,
body.uk-public-body.ut-v2 .uk-planning-check,
body.uk-public-body.ut-v2 .uk-interpretation-panel{
    border-radius:var(--ut-radius) !important;
    box-shadow:var(--ut-shadow) !important;
}

body.uk-public-body.ut-v2 .uk-card,
body.uk-public-body.ut-v2 .uk-contact-card,
body.uk-public-body.ut-v2 .uk-destination-summary-card,
body.uk-public-body.ut-v2 .uk-destination-source-card,
body.uk-public-body.ut-v2 .uk-context-card{
    border:1px solid var(--ut-line) !important;
    background:#fff !important;
}

body.uk-public-body.ut-v2 .uk-card h3,
body.uk-public-body.ut-v2 .uk-contact-card h3,
body.uk-public-body.ut-v2 .uk-context-card h3,
body.uk-public-body.ut-v2 .uk-destination-summary-card h3,
body.uk-public-body.ut-v2 .uk-destination-source-card h3{
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    color:var(--ut-text) !important;
    font-weight:500 !important;
}

body.uk-public-body.ut-v2 .uk-card p,
body.uk-public-body.ut-v2 .uk-contact-card p,
body.uk-public-body.ut-v2 .uk-context-card > p,
body.uk-public-body.ut-v2 .uk-destination-summary-card p,
body.uk-public-body.ut-v2 .uk-destination-source-card p{
    color:var(--ut-muted);
    font-size:13px !important;
    line-height:1.68 !important;
}


/* ==========================================================
   DESTINATIONS
   ========================================================== */

body.uk-public-body.ut-v2 .uk-destination-region{
    color:var(--ut-blue) !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:1.4px !important;
    text-transform:uppercase;
}

body.uk-public-body.ut-v2 .uk-tag-row span{
    border-radius:999px !important;
    font-size:10px !important;
}


/* ==========================================================
   JOURNEY — TYPOGRAPHY / SHAPE ONLY
   No verified / pending / amber / red semantics changed.
   ========================================================== */

body.uk-public-body.ut-v2 .uk-journey-stage-head h2,
body.uk-public-body.ut-v2 .uk-journey-stage-head h3,
body.uk-public-body.ut-v2 .uk-journey-interpretation h3{
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-weight:500 !important;
}

body.uk-public-body.ut-v2 .uk-journey-stage-number{
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:1.5px !important;
}

body.uk-public-body.ut-v2 .uk-journey-principle-grid article,
body.uk-public-body.ut-v2 .uk-journey-layer-card,
body.uk-public-body.ut-v2 .uk-journey-corridor-grid article,
body.uk-public-body.ut-v2 .uk-journey-essential-grid article,
body.uk-public-body.ut-v2 .uk-journey-live-metric{
    border-radius:12px !important;
    box-shadow:var(--ut-shadow) !important;
}


/* ==========================================================
   LEGAL
   ========================================================== */

body.uk-public-body.ut-v2 .uk-legal{
    max-width:900px !important;
}

body.uk-public-body.ut-v2 .uk-legal h2,
body.uk-public-body.ut-v2 .uk-legal h3{
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    color:var(--ut-text) !important;
    font-weight:500 !important;
}

body.uk-public-body.ut-v2 .uk-legal p,
body.uk-public-body.ut-v2 .uk-legal li{
    color:var(--ut-muted) !important;
    font-size:14px !important;
    line-height:1.78 !important;
}


/* ==========================================================
   FOOTER
   ========================================================== */

body.uk-public-body.ut-v2 .uk-site-footer{
    background:var(--ut-navy-dark) !important;
    color:#fff !important;
    border-top:0 !important;
}

body.uk-public-body.ut-v2 .uk-footer-shell{
    width:min(1320px,calc(100% - 72px)) !important;
}

body.uk-public-body.ut-v2 .uk-footer-brand strong{
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:28px !important;
    font-weight:500 !important;
}

body.uk-public-body.ut-v2 .uk-footer-brand p,
body.uk-public-body.ut-v2 .uk-footer-links a,
body.uk-public-body.ut-v2 .uk-footer-bottom{
    color:#aac0cf !important;
}

body.uk-public-body.ut-v2 .uk-footer-heading{
    color:#fff !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:1.5px !important;
}


/* ==========================================================
   ACCESSIBILITY
   ========================================================== */

body.uk-public-body.ut-v2 a:focus-visible,
body.uk-public-body.ut-v2 button:focus-visible{
    outline:
        3px solid rgba(23,109,168,.26) !important;

    outline-offset:3px !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media(max-width:1000px){

    body.uk-public-body.ut-v2 .uk-shell,
    body.uk-public-body.ut-v2 .uk-header-inner,
    body.uk-public-body.ut-v2 .uk-footer-shell{
        width:
            min(100% - 40px,1320px) !important;
    }

    body.uk-public-body.ut-v2 .uk-section-head{
        gap:32px !important;
    }
}

@media(max-width:760px){

    body.uk-public-body.ut-v2 .uk-shell,
    body.uk-public-body.ut-v2 .uk-header-inner,
    body.uk-public-body.ut-v2 .uk-footer-shell{
        width:
            min(100% - 28px,1320px) !important;
    }

    body.uk-public-body.ut-v2 .uk-page-hero,
    body.uk-public-body.ut-v2 .uk-destination-detail-hero{
        padding:58px 0 52px !important;
    }

    body.uk-public-body.ut-v2 .uk-page-hero h1,
    body.uk-public-body.ut-v2 .uk-destination-detail-hero h1,
    body.uk-public-body.ut-v2 .uk-journey-hero h1{
        font-size:
            clamp(39px,11vw,56px) !important;

        letter-spacing:-1.8px !important;
    }

    body.uk-public-body.ut-v2 .uk-section{
        padding:56px 0 !important;
    }

    body.uk-public-body.ut-v2 .uk-section-head h2{
        font-size:
            clamp(34px,9vw,46px) !important;
    }
}

@media(max-width:520px){

    body.uk-public-body.ut-v2 .uk-shell,
    body.uk-public-body.ut-v2 .uk-header-inner,
    body.uk-public-body.ut-v2 .uk-footer-shell{
        width:
            min(100% - 22px,1320px) !important;
    }

    body.uk-public-body.ut-v2{
        font-size:13px;
    }

    body.uk-public-body.ut-v2 .uk-section{
        padding:48px 0 !important;
    }
}

@media(prefers-reduced-motion:reduce){

    body.uk-public-body.ut-v2 *,
    body.uk-public-body.ut-v2 *::before,
    body.uk-public-body.ut-v2 *::after{
        transition:none !important;
        animation-duration:.01ms !important;
    }
}
