
:root{
    --bg:#021721;
    --bg2:#052936;
    --bg3:#0a3443;
    --cyan:#1bb8d8;
    --cyan2:#7fe1ee;
    --green:#91ba45;
    --lime:#c5db72;
    --white:#fff;
    --muted:#9db2ba;
    --line:rgba(255,255,255,.12);
    --max:1520px;
}

/* THEME ISOLATION */
body.hlw-definitive-page{
    margin:0!important;
    padding:0!important;
    overflow-x:hidden;
    background:var(--bg)!important;
}

body.hlw-definitive-page .wp-site-blocks{padding:0!important}

body.hlw-definitive-page .wp-site-blocks > header,
body.hlw-definitive-page header.wp-block-template-part,
body.hlw-definitive-page .site-header,
body.hlw-definitive-page .wp-block-post-title,
body.hlw-definitive-page .entry-title,
body.hlw-definitive-page .page-title,
body.hlw-definitive-page .wp-site-blocks > footer,
body.hlw-definitive-page footer.wp-block-template-part,
body.hlw-definitive-page .site-footer{
    display:none!important;
}

body.hlw-definitive-page main.wp-block-group,
body.hlw-definitive-page main.wp-block-post-content,
body.hlw-definitive-page .wp-block-post-content,
body.hlw-definitive-page .entry-content,
body.hlw-definitive-page .wp-block-shortcode{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}

body.hlw-definitive-page .wp-block-post-content > *,
body.hlw-definitive-page .entry-content > *{
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
}

.hlw-site{
    width:100%;
    overflow:hidden;
    background:
      radial-gradient(circle at 85% 8%,rgba(27,184,216,.08),transparent 28%),
      linear-gradient(180deg,#021721 0%,#052733 50%,#021721 100%);
    color:#fff;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.hlw-site *,
.hlw-site *::before,
.hlw-site *::after{box-sizing:border-box}

.hlw-site a{text-decoration:none}
.hlw-site button{font:inherit}

.hlw-eyebrow{
    margin:0 0 16px;
    color:var(--cyan);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}

[data-reveal]{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);
}
[data-reveal].is-visible{opacity:1;transform:none}

/* HEADER */
.hlw-header{
    position:fixed;
    z-index:100;
    top:18px;
    left:50%;
    width:min(calc(100% - 44px),var(--max));
    height:78px;
    padding:0 22px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:28px;
    transform:translateX(-50%);
    border:1px solid rgba(255,255,255,.13);
    border-radius:19px;
    background:rgba(2,22,31,.38);
    box-shadow:0 22px 70px rgba(0,0,0,.2);
    backdrop-filter:blur(24px) saturate(1.25);
    transition:.35s ease;
}
.admin-bar .hlw-header{top:50px}
.hlw-header.is-scrolled{
    top:10px;
    background:rgba(2,24,33,.91);
    box-shadow:0 24px 70px rgba(0,0,0,.36);
}
.admin-bar .hlw-header.is-scrolled{top:42px}

.hlw-brand{display:flex;align-items:center;gap:13px;color:#fff;min-width:0}
.hlw-brand-symbol{
    width:51px;height:51px;padding:5px;border-radius:13px;
    display:grid;place-items:center;background:rgba(255,255,255,.94)
}
.hlw-brand-symbol img{width:100%;height:100%;object-fit:contain}
.hlw-brand-copy{display:grid;gap:2px;min-width:0}
.hlw-brand-copy strong{font:500 1.02rem/1 Georgia,"Times New Roman",serif;letter-spacing:.035em}
.hlw-brand-copy small{
    overflow:hidden;color:#adc0c6;font-size:.64rem;white-space:nowrap;text-overflow:ellipsis
}

.hlw-nav{display:flex;align-items:center;gap:33px}
.hlw-menu-item{position:relative}
.hlw-nav button,.hlw-nav-map{
    padding:10px 0;border:0;background:none;color:#fff;
    font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer
}
.hlw-nav button span{margin-left:4px;color:var(--cyan2)}
.hlw-menu-panel{
    position:absolute;top:44px;left:50%;width:220px;padding:10px;
    display:none;transform:translateX(-50%);
    border:1px solid var(--line);border-radius:14px;
    background:rgba(3,29,39,.98);box-shadow:0 28px 60px rgba(0,0,0,.38)
}
.hlw-menu-item.is-open .hlw-menu-panel{display:block}
.hlw-menu-panel a{
    display:block;padding:11px 12px;border-radius:9px;color:#e3eff2;font-size:.75rem
}
.hlw-menu-panel a:hover{background:rgba(27,184,216,.13);color:#fff}
.hlw-header-right{justify-self:end;display:flex;align-items:center;gap:17px}
.hlw-language{font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#e4eef1}
.hlw-mobile-toggle{display:none}

/* HERO */
.hlw-hero{
    position:relative;
    min-height:100svh;
    overflow:hidden;
    isolation:isolate;
    background:#02131b
}
.hlw-hero-slides,.hlw-hero-slide,.hlw-hero-shade,.hlw-noise,.hlw-contours{
    position:absolute;inset:0
}
.hlw-hero-slides{z-index:-5}
.hlw-hero-slide{
    opacity:0;
    background-image:var(--image);
    background-size:cover;
    background-position:center;
    transform:scale(1.13);
    transition:opacity 1.2s ease,transform 8s ease
}
.hlw-hero-slide.is-active{opacity:1;transform:scale(1.035)}
.hlw-hero-shade{
    z-index:-4;
    background:
      linear-gradient(90deg,rgba(2,19,27,.98) 0%,rgba(2,19,27,.76) 29%,rgba(2,19,27,.27) 58%,rgba(2,19,27,.18) 100%),
      linear-gradient(0deg,rgba(2,19,27,.97) 0%,rgba(2,19,27,.06) 48%,rgba(2,19,27,.34) 100%)
}
.hlw-noise{
    z-index:-3;opacity:.11;mix-blend-mode:overlay;
    background-image:radial-gradient(rgba(255,255,255,.55) .7px,transparent .7px);
    background-size:5px 5px
}
.hlw-contours{
    z-index:-2;width:40%;right:auto;opacity:.11;
    background:
      radial-gradient(ellipse at -12% 20%,transparent 0 70px,rgba(255,255,255,.7) 71px 72px,transparent 73px 100px,rgba(255,255,255,.4) 101px 102px,transparent 103px),
      radial-gradient(ellipse at 5% 77%,transparent 0 105px,rgba(255,255,255,.5) 106px 107px,transparent 108px 145px,rgba(255,255,255,.28) 146px 147px,transparent 148px)
}

.hlw-hero-main{
    width:min(calc(100% - 64px),var(--max));
    min-height:100svh;
    margin:0 auto;
    padding:185px 0 330px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:60px;
    align-items:center
}
.hlw-hero-copy{max-width:940px}
.hlw-hero-copy h1{
    margin:0;color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(4.8rem,7.4vw,9.2rem);
    line-height:.82;font-weight:500;letter-spacing:-.065em
}
.hlw-hero-copy h1 em{font-style:normal;color:var(--cyan)}
.hlw-hero-copy h1 i{font-style:normal;color:var(--green)}
.hlw-hero-intro{
    max-width:650px;margin:35px 0 0;color:#d4e2e6;font-size:1.02rem;line-height:1.78
}
.hlw-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}

.hlw-primary-cta,.hlw-secondary-cta{
    min-height:52px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;gap:18px;
    border-radius:4px;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
    transition:transform .25s ease,border-color .25s ease,background .25s ease
}
.hlw-primary-cta{background:var(--cyan);border:1px solid var(--cyan);color:#022431}
.hlw-secondary-cta{background:rgba(2,30,41,.31);border:1px solid rgba(255,255,255,.33);color:#fff;backdrop-filter:blur(10px)}
.hlw-primary-cta:hover,.hlw-secondary-cta:hover{transform:translateY(-2px)}
.hlw-secondary-cta:hover{border-color:#fff}

.hlw-hero-caption{
    align-self:end;margin-bottom:150px;min-width:190px;
    padding-left:18px;border-left:1px solid rgba(255,255,255,.32)
}
.hlw-hero-caption p{margin:0 0 7px;color:var(--cyan2);font-size:.58rem;font-weight:800;letter-spacing:.13em}
.hlw-hero-caption strong{display:block;font:500 2.1rem/1 Georgia,"Times New Roman",serif}
.hlw-hero-caption span{display:block;margin-top:6px;color:#99adb5;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em}

/* EXACT ROUTE CONSTELLATION */
.hlw-route-constellation{
    position:absolute;z-index:10;left:50%;bottom:28px;
    width:min(calc(100% - 80px),1450px);height:260px;
    transform:translateX(-50%)
}
.hlw-route-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hlw-route-glow{
    fill:none;stroke:rgba(27,184,216,.28);stroke-width:17;filter:url(#hlwRouteGlow)
}
.hlw-route-path{
    fill:none;stroke:url(#hlwRouteGradient);stroke-width:4;stroke-linecap:round;
    stroke-dasharray:12 10;animation:routeDash 11s linear infinite
}
@keyframes routeDash{to{stroke-dashoffset:-220}}
.hlw-route-traveller{fill:#fff;filter:drop-shadow(0 0 8px #1bb8d8)}

.hlw-route-node{
    position:absolute;width:132px;padding:0;border:0;background:none;color:#fff;cursor:pointer;
    transform:translate(-50%,-50%)
}
/* These percentages exactly match the SVG coordinates above */
.node-corfu{left:7%;top:61.538%}
.node-zagori{left:34%;top:50%}
.node-matera{left:66%;top:53.846%}
.node-aspromonte{left:93%;top:38.462%}

.hlw-route-photo{
    position:relative;width:108px;height:108px;margin:0 auto;display:block;border-radius:50%
}
.hlw-route-photo::before,.hlw-route-photo::after{
    content:"";position:absolute;inset:-8px;border:1px solid rgba(27,184,216,.35);border-radius:50%;
    transition:.35s ease
}
.hlw-route-photo::after{inset:-16px;opacity:.18}
.hlw-route-node:nth-of-type(3) .hlw-route-photo::before,
.hlw-route-node:nth-of-type(4) .hlw-route-photo::before{border-color:rgba(145,186,69,.45)}
.hlw-route-photo img{
    width:100%;height:100%;object-fit:cover;border-radius:50%;border:3px solid rgba(255,255,255,.96);
    box-shadow:0 20px 55px rgba(0,0,0,.38);transition:transform .4s ease
}
.hlw-route-node:hover .hlw-route-photo img,.hlw-route-node.is-active .hlw-route-photo img{transform:scale(1.09)}
.hlw-route-node:hover .hlw-route-photo::before,.hlw-route-node.is-active .hlw-route-photo::before{inset:-13px;opacity:.8}
.hlw-route-copy{display:grid;justify-items:center;margin-top:16px;text-shadow:0 3px 12px rgba(0,0,0,.85)}
.hlw-route-copy b{font:500 1rem/1 Georgia,"Times New Roman",serif}
.hlw-route-copy small{margin-top:4px;color:#a0b5bc;font-size:.53rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}

/* DESTINATIONS */
.hlw-destinations{
    width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:150px 0 130px
}
.hlw-section-heading{max-width:1080px;margin-bottom:62px}
.hlw-section-heading h2,.hlw-values-heading h2,.hlw-project-content h2,.hlw-news-heading h2,.hlw-partners-heading h2{
    margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3.6rem,5.8vw,7rem);line-height:.9;font-weight:500;letter-spacing:-.05em
}
.hlw-section-heading h2 span,.hlw-project-content h2 span,.hlw-partners-heading h2 span{color:#9db3bb}

.hlw-destination-stage{height:720px;display:flex;gap:14px}
.hlw-destination-panel{
    position:relative;flex:1;overflow:hidden;border:1px solid var(--line);border-radius:24px;color:#fff;
    transition:flex .75s cubic-bezier(.2,.75,.2,1),filter .4s ease
}
.hlw-destination-panel img,.hlw-destination-shade{position:absolute;inset:0;width:100%;height:100%}
.hlw-destination-panel img{object-fit:cover;transform:scale(1.04);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.hlw-destination-panel:hover,.hlw-destination-panel.is-active{flex:2.35}
.hlw-destination-panel:hover img,.hlw-destination-panel.is-active img{transform:scale(1.1)}
.hlw-destination-shade{background:linear-gradient(180deg,rgba(2,19,27,.03),rgba(2,19,27,.13) 47%,rgba(2,19,27,.96) 100%)}
.hlw-destination-label{position:absolute;z-index:3;left:28px;right:28px;bottom:30px}
.hlw-destination-label small{color:#b1dce4;font-size:.57rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.hlw-destination-label h3{margin:9px 0 0;font:500 clamp(2.7rem,4vw,5.2rem)/.9 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.hlw-destination-label p{margin:10px 0 0;color:#d5e3e7;font-size:.83rem}
.hlw-destination-label span{display:inline-block;margin-top:18px;color:var(--cyan2);font-size:.63rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}

/* PEOPLE & PLACES — NEW THEMATIC PHOTOGRAPHY */
.hlw-values-section{
    width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:118px 0 135px
}
.hlw-values-heading{
    max-width:920px;margin:0 auto 52px;text-align:center
}
.hlw-values-heading h2,
.hlw-calendar-heading h2{
    margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3.1rem,4.8vw,5.6rem);line-height:.94;font-weight:500;letter-spacing:-.045em
}
.hlw-values-heading>p:last-child{
    max-width:760px;margin:23px auto 0;color:#aebfc5;font-size:.93rem;line-height:1.78
}
.hlw-values-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hlw-value-panel{
    position:relative;min-height:520px;overflow:hidden;border:1px solid var(--line);border-radius:23px;color:#fff;
    background-image:var(--value-image);background-size:cover;background-position:center;
    box-shadow:0 34px 85px rgba(0,0,0,.18);
    transition:transform .45s ease,border-color .45s ease
}
.hlw-value-panel:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.22)}
.hlw-value-panel::before{
    content:"";position:absolute;inset:0;background-image:var(--value-image);
    background-size:cover;background-position:center;transform:scale(1.03);
    transition:transform .85s cubic-bezier(.2,.7,.2,1)
}
.hlw-value-panel:hover::before{transform:scale(1.09)}
.hlw-value-wash{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,rgba(2,22,30,.03),rgba(2,22,30,.17) 37%,rgba(2,22,30,.96) 100%)
}
.value-shared .hlw-value-wash{box-shadow:inset 0 -180px 190px rgba(27,184,216,.09)}
.value-sustainable .hlw-value-wash{box-shadow:inset 0 -180px 190px rgba(145,186,69,.1)}
.value-access .hlw-value-wash{box-shadow:inset 0 -180px 190px rgba(221,123,51,.1)}
.hlw-value-content{position:absolute;z-index:3;left:29px;right:29px;bottom:29px}
.hlw-value-content>span{color:var(--cyan2);font-size:.6rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.value-sustainable .hlw-value-content>span{color:#d0e38a}
.value-access .hlw-value-content>span{color:#f0b07b}
.hlw-value-content h3{margin:11px 0 12px;font:500 2.25rem/1 Georgia,"Times New Roman",serif}
.hlw-value-content p{margin:0;color:#cbd9dd;font-size:.84rem;line-height:1.65}
.hlw-value-content b{display:inline-block;margin-top:18px;color:#fff;font-size:.6rem;letter-spacing:.07em;text-transform:uppercase}

/* DIGITAL TWIN / WEBGIS — COMPACT BESPOKE ILLUSTRATION */
.hlw-atlas-gateway{
    position:relative;
    width:min(calc(100% - 64px),var(--max));
    min-height:360px;
    margin:0 auto 110px;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(500px,.9fr) 1.1fr;
    border:1px solid var(--line);
    border-radius:26px;
    background:
      radial-gradient(circle at 15% 50%,rgba(27,184,216,.13),transparent 30%),
      radial-gradient(circle at 80% 20%,rgba(145,186,69,.07),transparent 27%),
      linear-gradient(135deg,#082e3c,#031d28);
    box-shadow:0 42px 100px rgba(0,0,0,.24)
}
.hlw-twin-visual{
    position:relative;min-height:360px;overflow:hidden;
    border-right:1px solid rgba(255,255,255,.09);
    background:
      radial-gradient(circle at 45% 45%,rgba(27,184,216,.08),transparent 38%),
      linear-gradient(145deg,rgba(1,24,34,.25),rgba(1,24,34,.62))
}
.hlw-twin-visual::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background-image:radial-gradient(rgba(139,221,235,.24) .7px,transparent .7px);
    background-size:13px 13px;opacity:.22;mask-image:linear-gradient(90deg,#000,transparent)
}
.hlw-twin-visual svg{position:absolute;inset:0;width:100%;height:100%}
.twin-grid path{fill:none;stroke:rgba(100,203,221,.1);stroke-width:1}
.terrain-line{fill:none;stroke:rgba(178,231,238,.23);stroke-width:1.2}
.city-blocks path{fill:rgba(177,233,241,.16);stroke:rgba(190,238,244,.42);stroke-width:1}
.twin-route-glow{fill:none;stroke:rgba(27,184,216,.2);stroke-width:14;filter:url(#hlwTwinGlow)}
.twin-route{fill:none;stroke:url(#hlwTwinRoute);stroke-width:4;stroke-dasharray:10 8;animation:twinDash 9s linear infinite}
@keyframes twinDash{to{stroke-dashoffset:-180}}
.twin-packet{fill:#fff;filter:drop-shadow(0 0 7px #1bb8d8)}
.twin-node>circle:first-child{fill:#fff;stroke:var(--cyan);stroke-width:4}
.twin-node.node-gr>circle:first-child{stroke:var(--green)}
.node-ring{fill:none;stroke:rgba(127,225,238,.35);stroke-width:1.5}
.twin-label text{fill:#a9c7ce;font:700 10px Inter,system-ui,sans-serif;letter-spacing:1.2px}
.hlw-data-chip{
    position:absolute;padding:8px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;
    background:rgba(3,33,44,.72);color:#c9e7ec;font-size:.54rem;font-weight:800;letter-spacing:.08em;
    backdrop-filter:blur(12px)
}
.chip-gis{left:5%;top:12%}
.chip-twin{right:6%;top:13%;color:#d9e99b}
.chip-data{left:12%;bottom:10%}
.chip-api{right:7%;bottom:11%}

.hlw-atlas-copy{
    min-height:360px;padding:45px 50px;display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center
}
.hlw-atlas-copy h2{
    margin:0;color:#fff;font:500 clamp(2.55rem,3.7vw,4.3rem)/.95 Georgia,"Times New Roman",serif;
    letter-spacing:-.04em
}
.hlw-atlas-copy>div:first-child>p:last-child{
    max-width:660px;margin:18px 0 0;color:#aebfc5;font-size:.85rem;line-height:1.72
}
.hlw-atlas-actions{display:grid;gap:10px}
.hlw-atlas-actions a{white-space:nowrap}

/* PROJECT — SMALLER, CROSS-BORDER AND COHERENT */
.hlw-project-compact{
    width:min(calc(100% - 64px),var(--max));
    min-height:430px;
    margin:0 auto 120px;
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:26px;
    background:#062733;
    box-shadow:0 36px 90px rgba(0,0,0,.2)
}
.hlw-project-photo{position:relative;min-height:430px;overflow:hidden}
.hlw-project-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.hlw-project-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,20,28,.04),rgba(2,20,28,.7))}
.hlw-project-photo>span{
    position:absolute;left:24px;bottom:22px;padding:8px 11px;border:1px solid rgba(255,255,255,.2);
    border-radius:999px;background:rgba(2,25,34,.5);color:#fff;font-size:.58rem;font-weight:800;letter-spacing:.1em
}
.hlw-project-compact-copy{
    padding:48px 52px;
    display:grid;
    grid-template-columns:1fr;
    align-content:center
}
.hlw-project-compact-copy h2{
    margin:0;color:#fff;font:500 clamp(2.7rem,4vw,4.8rem)/.94 Georgia,"Times New Roman",serif;letter-spacing:-.045em
}
.hlw-project-compact-copy>div:first-child>p:last-child{max-width:760px;margin:18px 0 0;color:#b7c8ce;font-size:.87rem;line-height:1.7}
.hlw-project-compact-facts{
    max-width:620px;margin-top:24px;padding:17px 0;
    display:grid;grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.hlw-project-compact-facts span{display:flex;align-items:baseline;gap:8px}
.hlw-project-compact-facts b{font:500 2rem/1 Georgia,"Times New Roman",serif}
.hlw-project-compact-facts small{color:#8fa6ad;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hlw-text-link{
    display:inline-flex;align-items:center;gap:14px;width:max-content;margin-top:22px;color:#a8e2eb;
    font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}

/* DYNAMIC NEWS & EVENTS CALENDAR */
.hlw-calendar-section{
    width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:25px 0 125px
}
.hlw-calendar-heading{
    margin-bottom:34px;display:flex;align-items:end;justify-content:space-between;gap:35px
}
.hlw-calendar-heading h2{font-size:clamp(2.9rem,4.3vw,5rem)}
.hlw-calendar-heading>a{color:#a5d9e2;font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.hlw-calendar-shell{
    display:grid;grid-template-columns:420px 1fr;gap:14px;
    min-height:355px
}
.hlw-mini-calendar,.hlw-calendar-digest{
    border:1px solid var(--line);border-radius:22px;
    background:linear-gradient(145deg,rgba(9,48,62,.76),rgba(3,28,38,.82));
    box-shadow:0 25px 75px rgba(0,0,0,.14)
}
.hlw-mini-calendar{padding:22px}
.hlw-calendar-toolbar{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:18px}
.hlw-calendar-toolbar button{
    width:36px;height:36px;border:1px solid rgba(255,255,255,.12);border-radius:50%;
    background:rgba(255,255,255,.03);color:#d8e8eb;cursor:pointer
}
.hlw-cal-title{text-align:center;font:500 1.25rem/1 Georgia,"Times New Roman",serif}
.hlw-weekdays,.hlw-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.hlw-weekdays{margin-bottom:6px}
.hlw-weekdays span{text-align:center;color:#698992;font-size:.5rem;font-weight:800;letter-spacing:.07em}
.hlw-calendar-day{
    position:relative;aspect-ratio:1;display:grid;place-items:center;border-radius:9px;
    color:#b5c8cd;font-size:.67rem;border:1px solid transparent
}
.hlw-calendar-day.is-muted{opacity:.22}
.hlw-calendar-day.is-today{border-color:rgba(27,184,216,.5);color:#fff}
.hlw-calendar-day.has-item{
    background:rgba(27,184,216,.1);color:#fff;font-weight:800
}
.hlw-calendar-day.has-event{background:rgba(145,186,69,.12)}
.hlw-calendar-day.has-item::after{
    content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--cyan)
}
.hlw-calendar-day.has-event::after{background:var(--green)}
.hlw-calendar-digest{padding:24px 26px}
.hlw-calendar-digest-head{
    display:flex;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--line)
}
.hlw-calendar-digest-head>span{color:#dce9ec;font-size:.67rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.hlw-calendar-digest-head small{color:#708d96;font-size:.61rem}
.hlw-calendar-list{display:grid}
.hlw-calendar-item{
    min-height:86px;padding:13px 0;display:grid;grid-template-columns:58px 1fr 22px;gap:16px;align-items:center;
    border-bottom:1px solid rgba(255,255,255,.08);color:#fff
}
.hlw-calendar-item:last-child{border-bottom:0}
.hlw-calendar-date{
    width:54px;height:54px;display:grid;place-content:center;justify-items:center;border:1px solid rgba(255,255,255,.12);
    border-radius:13px;background:rgba(255,255,255,.03)
}
.hlw-calendar-date b{font:500 1.45rem/1 Georgia,"Times New Roman",serif}
.hlw-calendar-date small{margin-top:3px;color:#77cbd9;font-size:.5rem;font-weight:800;text-transform:uppercase}
.hlw-calendar-item-copy{display:grid;gap:4px}
.hlw-calendar-item-copy small{color:#78cbd9;font-size:.52rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.hlw-calendar-item-copy strong{font:500 1rem/1.2 Georgia,"Times New Roman",serif}
.hlw-calendar-item i{justify-self:end;color:#8ed6e1;font-style:normal}
.hlw-calendar-empty{padding:32px 0;display:grid;gap:8px;color:#9fb4bb}
.hlw-calendar-empty strong{color:#fff;font:500 1.2rem Georgia,"Times New Roman",serif}

/* PARTNERS */
.hlw-partners-section{
    width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:120px 0 70px
}
.hlw-partners-heading{max-width:1030px;margin-bottom:54px}
.hlw-partners-heading h2{
    margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3.5rem,5.2vw,6.4rem);line-height:.9;font-weight:500;letter-spacing:-.05em
}
.hlw-partners-heading h2 span{color:#9db3bb}
.hlw-partners-heading p:last-child{max-width:720px;margin:23px 0 0;color:#9eb1b8;line-height:1.7}
.hlw-partners-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.hlw-partner-card{
    position:relative;min-height:300px;padding:18px;display:flex;flex-direction:column;
    overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:20px;
    background:radial-gradient(circle at 90% 0%,rgba(27,184,216,.1),transparent 35%),linear-gradient(155deg,rgba(10,52,66,.72),rgba(3,29,39,.82));
    color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.15);transition:transform .4s ease,border-color .4s ease
}
.hlw-partner-card:hover{transform:translateY(-8px);border-color:rgba(27,184,216,.38)}
.hlw-partner-logo{
    height:168px;padding:22px;display:grid;place-items:center;border-radius:14px;
    background:linear-gradient(145deg,#f8f7f3,#ecefec)
}
.hlw-partner-logo img{
    display:block;max-width:82%;max-height:105px;width:auto;height:auto;
    object-fit:contain;object-position:center;margin:auto
}
.hlw-partner-content{min-height:84px;margin-top:auto;padding:18px 30px 0 0;display:grid;align-content:end;gap:6px}
.hlw-partner-content small{color:#78cad9;font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hlw-partner-content b{font:500 1.08rem/1.12 Georgia,"Times New Roman",serif}
.hlw-partner-card>i{position:absolute;right:18px;bottom:20px;color:#9ad7e1;font-style:normal}
.hlw-institutional-band{
    margin-top:16px;padding:20px;display:grid;grid-template-columns:320px 1fr auto;gap:30px;align-items:center;
    border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)
}
.hlw-eu-logo{min-height:100px;padding:14px;display:grid;place-items:center;border-radius:12px;background:#fff}
.hlw-eu-logo img{display:block;max-width:100%;max-height:74px;width:auto;height:auto;object-fit:contain;margin:auto}
.hlw-project-id{display:grid;gap:4px}
.hlw-project-id small{color:var(--cyan);font-size:.59rem;font-weight:800;letter-spacing:.09em}
.hlw-project-id strong{font:500 1.25rem/1.1 Georgia,"Times New Roman",serif}
.hlw-project-id span{color:var(--green);font-size:.72rem;font-weight:800}
.hlw-institutional-band>a{color:#9fdce6;font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}

.hlw-photo-credits{
    width:min(calc(100% - 64px),var(--max));margin:0 auto;padding:20px 0 8px;
    display:flex;flex-wrap:wrap;gap:7px 14px;border-top:1px solid rgba(255,255,255,.08);
    color:#5f7a84;font-size:.52rem;line-height:1.5
}
.hlw-photo-credits a{color:#7699a3}
/* FOOTER */
.hlw-footer{
    width:min(calc(100% - 64px),var(--max));min-height:145px;margin:0 auto;padding:32px 0 48px;
    display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;border-top:1px solid var(--line)
}
.hlw-footer-brand{display:flex;align-items:center;gap:12px;color:#fff}
.hlw-footer-brand img{width:47px;height:47px;padding:5px;object-fit:contain;border-radius:11px;background:#fff}
.hlw-footer-brand span{display:grid;gap:2px}
.hlw-footer-brand b{font:500 .9rem/1 Georgia,"Times New Roman",serif}
.hlw-footer-brand small{color:#75919b;font-size:.58rem}
.hlw-footer>p{margin:0;color:#6f8992;font-size:.61rem}
.hlw-footer>div{justify-self:end;display:flex;gap:20px}
.hlw-footer>div a{color:#98adb5;font-size:.61rem}

/* RESPONSIVE */
@media (max-width:1180px){
    .hlw-brand-copy small{display:none}
    .hlw-nav{gap:18px}
    .hlw-route-photo{width:92px;height:92px}
    .hlw-destination-stage{height:640px}
    .hlw-values-triptych{grid-template-columns:1fr}
    .hlw-value-panel{min-height:460px}
    .hlw-atlas-copy{margin-left:36%;grid-template-columns:1fr;gap:25px}
    .hlw-atlas-network{width:40%}
    .hlw-partners-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:920px){
    .hlw-header{grid-template-columns:1fr auto}
    .hlw-nav,.hlw-language{display:none}
    .hlw-mobile-toggle{
        width:44px;height:44px;padding:0;display:grid;place-content:center;gap:7px;
        border:0;border-radius:50%;background:rgba(255,255,255,.07)
    }
    .hlw-mobile-toggle span{width:20px;height:1px;display:block;background:#fff}
    .hlw-header.is-menu-open .hlw-nav{
        position:absolute;top:88px;right:0;width:300px;padding:22px;
        display:flex;flex-direction:column;align-items:stretch;gap:4px;
        border:1px solid var(--line);border-radius:18px;background:rgba(3,29,39,.98)
    }
    .hlw-header.is-menu-open .hlw-nav button,.hlw-header.is-menu-open .hlw-nav>a{
        width:100%;padding:12px;text-align:left
    }
    .hlw-header.is-menu-open .hlw-menu-panel{
        position:static;width:100%;transform:none;border:0;background:rgba(255,255,255,.03);box-shadow:none
    }

    .hlw-hero-main{grid-template-columns:1fr}
    .hlw-hero-caption{display:none}
    .hlw-route-constellation{height:220px}
    .hlw-route-node{width:110px}
    .hlw-route-photo{width:78px;height:78px}

    .hlw-destination-stage{height:auto;display:grid;grid-template-columns:1fr 1fr}
    .hlw-destination-panel{min-height:520px}
    .hlw-destination-panel:hover,.hlw-destination-panel.is-active{flex:unset}

    .hlw-atlas-gateway{min-height:360px}
    .hlw-atlas-network{width:100%;opacity:.42}
    .hlw-atlas-copy{min-height:360px;margin-left:0;padding:48px;grid-template-columns:1fr}
    .hlw-atlas-actions{justify-items:start}

    .hlw-project-image-secondary{display:none}
    .hlw-news-grid{grid-template-columns:1fr 1fr}
    .hlw-news-card.is-featured{grid-column:1/-1}

    .hlw-institutional-band{grid-template-columns:1fr}
    .hlw-footer{grid-template-columns:1fr;justify-items:start}
    .hlw-footer>div{justify-self:start}
}

@media (max-width:680px){
    .hlw-header{top:10px;width:calc(100% - 20px);height:68px;padding:0 12px;border-radius:15px}
    .admin-bar .hlw-header{top:42px}
    .hlw-brand-symbol{width:44px;height:44px}
    .hlw-brand-copy strong{font-size:.86rem}

    .hlw-hero-main{width:calc(100% - 30px);padding:150px 0 260px}
    .hlw-hero-copy h1{font-size:clamp(3.55rem,16vw,5.4rem)}
    .hlw-hero-intro{font-size:.9rem}

    .hlw-route-constellation{width:calc(100% - 20px);height:180px;bottom:22px}
    .hlw-route-node{width:90px}
    .hlw-route-photo{width:58px;height:58px}
    .hlw-route-copy b{font-size:.72rem}
    .hlw-route-copy small{display:none}

    .hlw-destinations,.hlw-values-section,.hlw-news-section,.hlw-partners-section,.hlw-footer{
        width:calc(100% - 30px)
    }
    .hlw-destinations{padding:100px 0}
    .hlw-section-heading h2,.hlw-values-heading h2,.hlw-news-heading h2,.hlw-partners-heading h2{font-size:3.1rem}
    .hlw-destination-stage{grid-template-columns:1fr}
    .hlw-destination-panel{min-height:500px}

    .hlw-values-section{padding:90px 0 110px}
    .hlw-value-panel{min-height:440px}

    .hlw-atlas-gateway{width:calc(100% - 30px);margin-bottom:110px}
    .hlw-atlas-copy{padding:38px 24px}
    .hlw-atlas-copy h2{font-size:2.65rem}
    .hlw-atlas-actions a{width:100%;white-space:normal}

    .hlw-project-content{width:calc(100% - 30px);padding:120px 0}
    .hlw-project-content h2{font-size:3.45rem}
    .hlw-project-facts{grid-template-columns:1fr;gap:16px}

    .hlw-news-heading{display:block}
    .hlw-news-heading>a{display:inline-block;margin-top:20px}
    .hlw-news-grid{grid-template-columns:1fr}
    .hlw-news-card,.hlw-news-card.is-featured{min-height:450px;grid-column:auto}

    .hlw-partners-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
    .hlw-route-path,.atlas-beam,.hlw-atlas-network path{animation:none!important}
    [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
}


/* V5 RESPONSIVE OVERRIDES */
@media (max-width:1180px){
    .hlw-values-triptych{grid-template-columns:1fr 1fr}
    .hlw-value-panel:last-child{grid-column:1/-1;min-height:430px}
    .hlw-atlas-gateway{grid-template-columns:1fr}
    .hlw-twin-visual{min-height:330px;border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}
    .hlw-atlas-copy{min-height:auto}
    .hlw-calendar-shell{grid-template-columns:380px 1fr}
    .hlw-partners-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:920px){
    .hlw-values-triptych{grid-template-columns:1fr}
    .hlw-value-panel,.hlw-value-panel:last-child{grid-column:auto;min-height:470px}
    .hlw-project-compact{grid-template-columns:1fr}
    .hlw-project-photo{min-height:340px}
    .hlw-calendar-shell{grid-template-columns:1fr}
    .hlw-mini-calendar{max-width:520px;width:100%}
    .hlw-atlas-copy{grid-template-columns:1fr}
    .hlw-atlas-actions{justify-items:start}
}
@media (max-width:680px){
    .hlw-values-section,.hlw-atlas-gateway,.hlw-project-compact,.hlw-calendar-section,.hlw-partners-section,.hlw-photo-credits{
        width:calc(100% - 30px)
    }
    .hlw-values-section{padding:85px 0 100px}
    .hlw-values-heading h2,.hlw-calendar-heading h2{font-size:3rem}
    .hlw-value-panel{min-height:430px}
    .hlw-twin-visual{min-height:280px}
    .hlw-data-chip{font-size:.46rem;padding:6px 8px}
    .hlw-atlas-copy{padding:34px 22px}
    .hlw-atlas-copy h2{font-size:2.55rem}
    .hlw-atlas-actions a{width:100%;white-space:normal}
    .hlw-project-compact-copy{padding:38px 24px}
    .hlw-project-compact-copy h2{font-size:3rem}
    .hlw-project-compact-facts{grid-template-columns:1fr;gap:12px}
    .hlw-calendar-heading{display:block}
    .hlw-calendar-heading>a{display:inline-block;margin-top:18px}
    .hlw-mini-calendar,.hlw-calendar-digest{padding:18px}
    .hlw-calendar-digest-head{display:grid}
    .hlw-calendar-item{grid-template-columns:52px 1fr 18px;gap:12px}
    .hlw-partners-grid{grid-template-columns:1fr}
}


/* =========================================================
   v5.1 — THEMATIC IMAGE READABILITY
   ========================================================= */
.hlw-value-panel{
    min-height:535px;
}
.hlw-value-wash{
    background:
        linear-gradient(180deg,
            rgba(2,22,30,.02) 0%,
            rgba(2,22,30,.07) 33%,
            rgba(2,22,30,.42) 58%,
            rgba(2,22,30,.97) 100%);
}
.hlw-value-content{
    left:22px;
    right:22px;
    bottom:22px;
    padding:23px 24px 22px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:linear-gradient(145deg,rgba(3,27,37,.89),rgba(3,27,37,.73));
    box-shadow:0 18px 45px rgba(0,0,0,.2);
    backdrop-filter:blur(11px);
    -webkit-backdrop-filter:blur(11px);
}
.hlw-value-content h3{
    max-width:95%;
    margin:10px 0 11px;
    color:#fff;
    font-size:clamp(1.75rem,2.25vw,2.45rem);
    line-height:1.02;
    text-shadow:0 2px 18px rgba(0,0,0,.45);
}
.hlw-value-content p{
    color:#dce7ea;
    text-shadow:0 2px 12px rgba(0,0,0,.3);
}
.hlw-value-content b{
    color:#fff;
}
.value-shared::after,
.value-sustainable::after,
.value-access::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.value-shared .hlw-value-content{border-color:rgba(27,184,216,.23)}
.value-sustainable .hlw-value-content{border-color:rgba(145,186,69,.25)}
.value-access .hlw-value-content{border-color:rgba(232,184,108,.24)}

/* =========================================================
   v5.1 — CROSS-BORDER DIGITAL TWIN / DATA TRANSFER
   ========================================================= */
.hlw-twin-visual{
    min-height:390px;
    background:
      radial-gradient(circle at 50% 47%,rgba(91,217,229,.12),transparent 22%),
      radial-gradient(circle at 18% 64%,rgba(27,184,216,.09),transparent 25%),
      radial-gradient(circle at 82% 55%,rgba(145,186,69,.08),transparent 25%),
      linear-gradient(145deg,rgba(1,24,34,.22),rgba(1,24,34,.7));
}
.hlw-transfer-title{
    position:absolute;
    z-index:4;
    left:28px;
    right:28px;
    top:21px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    color:#9cc0c8;
    font-size:.54rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.hlw-transfer-title span:last-child{text-align:right}
.hlw-transfer-title b{
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    color:#d9edf1;
    background:rgba(3,32,43,.55);
    font-size:.5rem;
    font-weight:800;
}
.digital-territory .territory-shadow{
    fill:rgba(0,0,0,.28);
    transform:translateY(10px);
}
.territory-contour{
    fill:none;
    stroke:rgba(192,237,243,.25);
    stroke-width:1.25;
}
.digital-buildings path{
    fill:rgba(189,236,243,.14);
    stroke:rgba(202,240,246,.5);
    stroke-width:1;
}
.greece-territory .digital-buildings path{
    fill:rgba(213,234,174,.14);
    stroke:rgba(215,238,179,.5);
}
.layer-stack path{
    fill:rgba(27,184,216,.035);
    stroke:rgba(92,213,226,.2);
    stroke-width:1;
}
.greece-stack path{
    fill:rgba(145,186,69,.035);
    stroke:rgba(178,210,105,.22);
}
.territory-anchor{
    fill:#fff;
    stroke:var(--cyan);
    stroke-width:4;
    filter:drop-shadow(0 0 8px rgba(27,184,216,.8));
}
.territory-anchor.green{
    stroke:var(--green);
    filter:drop-shadow(0 0 8px rgba(145,186,69,.8));
}
.anchor-ring{
    fill:none;
    stroke:rgba(127,225,238,.35);
    stroke-width:1.5;
    transform-box:fill-box;
    transform-origin:center;
    animation:anchorPulse 2.8s ease-out infinite;
}
.anchor-ring.green{
    stroke:rgba(178,215,105,.38);
    animation-delay:-1.2s;
}
@keyframes anchorPulse{
    0%{transform:scale(.7);opacity:.9}
    70%{transform:scale(1.35);opacity:.15}
    100%{transform:scale(1.35);opacity:0}
}
.transfer-glow{
    fill:none;
    stroke:rgba(87,216,228,.24);
    stroke-width:18;
    filter:url(#hlwTransferGlow);
}
.transfer-line{
    fill:none;
    stroke:url(#hlwTransfer);
    stroke-width:4;
    stroke-linecap:round;
    stroke-dasharray:11 8;
    animation:transferDash 4.6s linear infinite;
}
.transfer-secondary{
    fill:none;
    stroke:rgba(94,204,218,.26);
    stroke-width:1.5;
    stroke-dasharray:5 7;
}
.transfer-return{
    fill:none;
    stroke:rgba(163,204,83,.52);
    stroke-width:2;
    stroke-linecap:round;
    stroke-dasharray:6 8;
    animation:transferDashReverse 5.4s linear infinite;
}
@keyframes transferDash{to{stroke-dashoffset:-95}}
@keyframes transferDashReverse{to{stroke-dashoffset:95}}
.packet{
    stroke:#fff;
    stroke-width:1.5;
}
.packet-cyan{
    fill:var(--cyan);
    filter:drop-shadow(0 0 7px rgba(27,184,216,.9));
}
.packet-green{
    fill:var(--green);
    filter:drop-shadow(0 0 7px rgba(145,186,69,.9));
}
.exchange-hub circle:first-child{
    fill:rgba(4,43,56,.9);
    stroke:rgba(127,225,238,.24);
    stroke-width:1;
    filter:drop-shadow(0 0 18px rgba(27,184,216,.25));
}
.exchange-hub circle:nth-child(2){
    fill:none;
    stroke:rgba(255,255,255,.34);
    stroke-width:1;
    stroke-dasharray:3 4;
    animation:hubRotate 6s linear infinite;
    transform-box:fill-box;
    transform-origin:center;
}
.exchange-hub path{
    fill:none;
    stroke:#dff8fb;
    stroke-width:1.6;
    stroke-linecap:round;
}
@keyframes hubRotate{to{transform:rotate(360deg)}}
.territory-labels text{
    fill:#9bbbc3;
    font:700 9px Inter,system-ui,sans-serif;
    letter-spacing:1.15px;
}
.hlw-stream-label{
    position:absolute;
    z-index:5;
    padding:6px 8px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:8px;
    background:rgba(3,32,43,.78);
    color:#d8eef2;
    font-size:.47rem;
    font-weight:800;
    letter-spacing:.08em;
    box-shadow:0 8px 20px rgba(0,0,0,.2);
    backdrop-filter:blur(8px);
}
.stream-gis{left:34%;top:34%;animation:chipFloat 3.4s ease-in-out infinite}
.stream-3d{left:44%;top:56%;animation:chipFloat 3.4s -.8s ease-in-out infinite}
.stream-docs{left:53%;top:29%;animation:chipFloat 3.4s -1.6s ease-in-out infinite}
.stream-api{left:61%;top:51%;animation:chipFloat 3.4s -2.3s ease-in-out infinite}
@keyframes chipFloat{50%{transform:translateY(-7px);opacity:.72}}
.hlw-transfer-status{
    position:absolute;
    z-index:5;
    left:50%;
    bottom:18px;
    display:flex;
    gap:14px;
    transform:translateX(-50%);
    white-space:nowrap;
}
.hlw-transfer-status span{
    display:flex;
    align-items:center;
    gap:6px;
    color:#809ca4;
    font-size:.48rem;
    font-weight:700;
    letter-spacing:.055em;
}
.hlw-transfer-status i{
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--cyan);
    box-shadow:0 0 7px rgba(27,184,216,.75);
}
.hlw-transfer-status span:nth-child(2) i{background:#d5edf2}
.hlw-transfer-status span:nth-child(3) i{
    background:var(--green);
    box-shadow:0 0 7px rgba(145,186,69,.7);
}

@media (max-width:680px){
    .hlw-value-content{
        left:14px;
        right:14px;
        bottom:14px;
        padding:19px;
    }
    .hlw-transfer-title{
        left:14px;
        right:14px;
        top:14px;
    }
    .hlw-transfer-title b{display:none}
    .hlw-stream-label,
    .hlw-transfer-status{display:none}
}


/* =========================================================
   v5.2 — ACCESSIBILITY: UNESCO + CLEAR INCLUSIVE ACCESS
   ========================================================= */
.value-access::before{
    background-position:center 36%;
}
.value-access .hlw-value-wash{
    background:
      linear-gradient(180deg,
        rgba(3,24,33,.01) 0%,
        rgba(3,24,33,.08) 36%,
        rgba(3,24,33,.45) 60%,
        rgba(3,24,33,.98) 100%);
}
.value-access .hlw-value-content{
    border-color:rgba(92,211,228,.26);
}

/* =========================================================
   v5.2 — WOW ITALY ↔ GREECE COMMUNICATION BRIDGE
   ========================================================= */
.hlw-data-bridge{
    min-height:430px;
    background:
      radial-gradient(circle at 50% 40%,rgba(67,206,222,.13),transparent 24%),
      radial-gradient(circle at 17% 52%,rgba(27,184,216,.10),transparent 28%),
      radial-gradient(circle at 83% 52%,rgba(145,186,69,.10),transparent 28%),
      linear-gradient(155deg,#021c27,#052d3b 54%,#031c26);
}
.hlw-data-bridge::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.19;
    background:
      linear-gradient(rgba(121,211,225,.07) 1px,transparent 1px),
      linear-gradient(90deg,rgba(121,211,225,.07) 1px,transparent 1px);
    background-size:34px 34px;
    mask-image:radial-gradient(circle at center,#000 0 58%,transparent 88%);
}
.hlw-bridge-kicker{
    position:absolute;
    z-index:6;
    left:26px;
    right:26px;
    top:20px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:18px;
    color:#a9c4ca;
    font-size:.54rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.hlw-bridge-kicker span:last-child{text-align:right}
.hlw-bridge-kicker b{
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(3,31,42,.65);
    color:#e1f1f4;
    font-size:.5rem;
    letter-spacing:.11em;
    box-shadow:0 9px 24px rgba(0,0,0,.16);
    backdrop-filter:blur(10px);
}

.country-portal .portal-orbit{
    fill:none;
    stroke:rgba(134,220,232,.22);
    stroke-width:1.1;
    stroke-dasharray:4 7;
    transform-box:fill-box;
    transform-origin:center;
    animation:portalSpin 14s linear infinite;
}
.country-portal .portal-orbit-inner{
    stroke:rgba(255,255,255,.13);
    animation-direction:reverse;
    animation-duration:10s;
}
@keyframes portalSpin{to{transform:rotate(360deg)}}

.portal-core{
    stroke-width:1.6;
}
.portal-core-it{
    fill:rgba(8,65,80,.68);
    stroke:rgba(93,218,232,.42);
}
.portal-core-gr{
    fill:rgba(58,83,43,.58);
    stroke:rgba(175,212,102,.45);
}
.portal-terrain path{
    fill:none;
    stroke:rgba(181,235,242,.30);
    stroke-width:1;
}
.portal-terrain-gr path{
    stroke:rgba(218,233,182,.28);
}
.portal-buildings path{
    fill:rgba(179,235,243,.16);
    stroke:rgba(201,241,246,.55);
    stroke-width:1;
}
.portal-buildings-gr path{
    fill:rgba(211,233,174,.15);
    stroke:rgba(222,240,187,.55);
}
.portal-anchor{
    fill:#fff;
    stroke-width:4;
}
.portal-anchor-it{
    stroke:var(--cyan);
    filter:drop-shadow(0 0 8px rgba(27,184,216,.92));
}
.portal-anchor-gr{
    stroke:var(--green);
    filter:drop-shadow(0 0 8px rgba(145,186,69,.92));
}
.portal-country{
    fill:#eef8fa;
    font:700 14px Inter,system-ui,sans-serif;
    letter-spacing:2.3px;
}
.portal-caption{
    fill:#7899a2;
    font:700 8px Inter,system-ui,sans-serif;
    letter-spacing:1px;
}

.bridge-glow{
    fill:none;
    stroke:rgba(76,220,233,.23);
    stroke-width:22;
    filter:url(#bridgeGlow);
}
.bridge-main{
    fill:none;
    stroke:url(#bridgeMain);
    stroke-width:5;
    stroke-linecap:round;
    stroke-dasharray:13 9;
    animation:bridgeDash 4.2s linear infinite;
}
.bridge-lane{
    fill:none;
    stroke:rgba(151,228,236,.34);
    stroke-width:1.6;
    stroke-dasharray:5 8;
}
.lane-upper{animation:bridgeDash 5.4s linear infinite}
.lane-lower{animation:bridgeDashReverse 6.1s linear infinite}
.bridge-return{
    fill:none;
    stroke:url(#bridgeReturn);
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-dasharray:7 9;
    animation:bridgeDashReverse 4.8s linear infinite;
}
@keyframes bridgeDash{to{stroke-dashoffset:-110}}
@keyframes bridgeDashReverse{to{stroke-dashoffset:110}}

.bridge-packet{
    stroke:#fff;
    stroke-width:1.3;
}
.packet-white{
    fill:#fff;
    filter:drop-shadow(0 0 9px rgba(255,255,255,.95));
}
.packet-cyan{
    fill:var(--cyan);
    filter:drop-shadow(0 0 9px rgba(27,184,216,.95));
}
.packet-soft{
    fill:#a7edf3;
    filter:drop-shadow(0 0 7px rgba(120,222,233,.85));
}
.packet-green{
    fill:var(--green);
    filter:drop-shadow(0 0 9px rgba(145,186,69,.95));
}

.interop-hub .hub-outer{
    fill:rgba(3,36,47,.84);
    stroke:rgba(126,224,239,.25);
    stroke-width:1.2;
    filter:drop-shadow(0 0 20px rgba(27,184,216,.25));
}
.interop-hub .hub-middle{
    fill:none;
    stroke:rgba(255,255,255,.28);
    stroke-width:1;
    stroke-dasharray:4 5;
    transform-box:fill-box;
    transform-origin:center;
    animation:hubSpin 7s linear infinite;
}
.interop-hub .hub-core{
    fill:rgba(27,184,216,.13);
    stroke:rgba(126,224,239,.55);
    stroke-width:1.2;
}
.interop-hub path{
    fill:none;
    stroke:#effcff;
    stroke-width:1.8;
    stroke-linecap:round;
}
@keyframes hubSpin{to{transform:rotate(360deg)}}
.hub-label{
    fill:#dcedf0;
    font:800 9px Inter,system-ui,sans-serif;
    letter-spacing:1.2px;
}
.hub-sub{
    fill:#71939c;
    font:700 7px Inter,system-ui,sans-serif;
    letter-spacing:.8px;
}

.bridge-satellite circle{
    fill:rgba(3,34,45,.88);
    stroke:rgba(255,255,255,.17);
    stroke-width:1;
}
.bridge-satellite text{
    fill:#cde9ed;
    font:800 8px Inter,system-ui,sans-serif;
    letter-spacing:.5px;
}
.sat-gis{animation:satelliteFloat 3.1s ease-in-out infinite}
.sat-3d{animation:satelliteFloat 3.5s -.8s ease-in-out infinite}
.sat-api{animation:satelliteFloat 3.2s -1.4s ease-in-out infinite}
.sat-heritage{animation:satelliteFloat 3.8s -2s ease-in-out infinite}
@keyframes satelliteFloat{50%{transform:translateY(-8px)}}

.bridge-background-grid path{
    fill:none;
    stroke:rgba(107,196,210,.07);
    stroke-width:1;
}
.hlw-bridge-status{
    position:absolute;
    z-index:6;
    left:50%;
    bottom:17px;
    display:flex;
    gap:14px;
    align-items:center;
    transform:translateX(-50%);
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(3,28,38,.53);
    color:#819da5;
    font-size:.47rem;
    font-weight:700;
    letter-spacing:.04em;
    white-space:nowrap;
    backdrop-filter:blur(10px);
}
.hlw-bridge-status .status-live{
    color:#cdf1d7;
    font-weight:800;
}
.hlw-bridge-status .status-live i{
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:#64e68a;
    box-shadow:0 0 8px rgba(100,230,138,.8);
    animation:livePulse 1.7s ease-in-out infinite;
}
@keyframes livePulse{50%{opacity:.35;transform:scale(.75)}}

@media (max-width:680px){
    .hlw-bridge-kicker{
        left:14px;
        right:14px;
        top:14px;
    }
    .hlw-bridge-kicker b{display:none}
    .hlw-bridge-status{display:none}
}


/* =========================================================
   v5.3 — DESTINATION NAMES: PURE WHITE
   ========================================================= */
.hlw-destination-label h3,
.hlw-destination-label h3 *,
.hlw-destination-panel h3,
.hlw-destination-panel h3 *,
.hlw-wall-label h3,
.hlw-wall-label h3 *{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    text-shadow:0 4px 24px rgba(0,0,0,.55);
}

/* =========================================================
   v5.3 — ITALY ↔ GREECE MAP DATA COMMUNICATION
   ========================================================= */
.hlw-country-flow{
    min-height:440px;
    background:
      radial-gradient(circle at 50% 45%,rgba(83,219,231,.11),transparent 23%),
      radial-gradient(circle at 17% 51%,rgba(27,184,216,.12),transparent 27%),
      radial-gradient(circle at 83% 51%,rgba(145,186,69,.12),transparent 27%),
      linear-gradient(155deg,#021a25,#052f3d 52%,#031b25);
}
.hlw-country-flow::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.2;
    background:
      radial-gradient(rgba(117,213,227,.28) .65px,transparent .65px);
    background-size:13px 13px;
    mask-image:radial-gradient(circle at center,#000 0 61%,transparent 90%);
}
.hlw-flow-kicker{
    position:absolute;
    z-index:8;
    left:27px;
    right:27px;
    top:20px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:15px;
    color:#d9edf0;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.hlw-flow-kicker span:last-child{text-align:right}
.hlw-flow-kicker b{
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(3,31,42,.67);
    color:#fff;
    font-size:.49rem;
    letter-spacing:.11em;
    box-shadow:0 8px 24px rgba(0,0,0,.18);
    backdrop-filter:blur(9px);
}

.flow-sea-grid path{
    fill:none;
    stroke:rgba(104,198,212,.07);
    stroke-width:1;
}

/* Country silhouettes */
.country-halo{
    fill:none;
    stroke:rgba(83,218,231,.20);
    stroke-width:20;
    filter:url(#mapGlow);
}
.country-map-gr .country-halo{
    stroke:rgba(157,201,79,.21);
}
.country-shape{
    stroke:rgba(203,244,249,.58);
    stroke-width:1.5;
    filter:drop-shadow(0 20px 30px rgba(0,0,0,.18));
}
.country-map-gr .country-shape{
    stroke:rgba(226,239,191,.56);
}
.country-island{
    stroke-width:1;
}
.it-island{
    fill:#0a687d;
    stroke:rgba(184,235,242,.5);
}
.gr-island{
    fill:#6d983d;
    stroke:rgba(221,239,187,.5);
}
.country-mesh path{
    fill:none;
    stroke:rgba(218,248,251,.17);
    stroke-width:1;
}
.country-map-gr .country-mesh path{
    stroke:rgba(235,245,213,.18);
}

/* Heritage nodes */
.heritage-node text{
    fill:#ffffff;
    font:800 9px Inter,system-ui,sans-serif;
    letter-spacing:.9px;
}
.node-dot{
    fill:#fff;
    stroke-width:4;
}
.node-dot-it{
    stroke:var(--cyan);
    filter:drop-shadow(0 0 8px rgba(27,184,216,.9));
}
.node-dot-gr{
    stroke:var(--green);
    filter:drop-shadow(0 0 8px rgba(145,186,69,.9));
}
.node-pulse{
    fill:none;
    stroke:rgba(126,226,239,.34);
    stroke-width:1.4;
    transform-box:fill-box;
    transform-origin:center;
    animation:mapNodePulse 2.5s ease-out infinite;
}
.node-pulse-green{
    stroke:rgba(185,220,111,.36);
    animation-delay:-1.2s;
}
@keyframes mapNodePulse{
    0%{transform:scale(.65);opacity:.9}
    75%{transform:scale(1.45);opacity:.12}
    100%{transform:scale(1.45);opacity:0}
}
.country-name{
    fill:#ffffff;
    font:800 14px Inter,system-ui,sans-serif;
    letter-spacing:2px;
}
.country-subline{
    fill:#76969f;
    font:700 8px Inter,system-ui,sans-serif;
    letter-spacing:.9px;
}

/* Main communication flows */
.country-flow-glow{
    fill:none;
    stroke:rgba(71,217,230,.23);
    stroke-width:20;
    filter:url(#mapGlow);
}
.country-flow-main{
    fill:none;
    stroke:url(#flowGradient);
    stroke-width:5;
    stroke-linecap:round;
    stroke-dasharray:13 9;
    animation:countryFlowForward 4s linear infinite;
}
.country-flow-secondary{
    fill:none;
    stroke:rgba(157,211,96,.66);
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-dasharray:7 9;
    animation:countryFlowForward 5.3s linear infinite;
}
.country-flow-return{
    fill:none;
    stroke:url(#returnGradient);
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-dasharray:6 8;
    animation:countryFlowReverse 4.7s linear infinite;
}
@keyframes countryFlowForward{to{stroke-dashoffset:-115}}
@keyframes countryFlowReverse{to{stroke-dashoffset:115}}

/* Moving packets */
.map-packet{
    stroke:#fff;
    stroke-width:1.2;
}
.map-packet-white{
    fill:#fff;
    filter:drop-shadow(0 0 9px rgba(255,255,255,.95));
}
.map-packet-cyan{
    fill:var(--cyan);
    filter:drop-shadow(0 0 9px rgba(27,184,216,.95));
}
.map-packet-green{
    fill:var(--green);
    filter:drop-shadow(0 0 9px rgba(145,186,69,.95));
}
.map-packet-soft{
    fill:#c8f3f6;
    filter:drop-shadow(0 0 8px rgba(159,229,237,.9));
}

/* Central interoperability hub */
.comms-hub-outer{
    fill:rgba(3,37,48,.88);
    stroke:rgba(126,224,239,.25);
    stroke-width:1.2;
    filter:drop-shadow(0 0 20px rgba(27,184,216,.23));
}
.comms-hub-ring{
    fill:none;
    stroke:rgba(255,255,255,.3);
    stroke-width:1;
    stroke-dasharray:4 5;
    transform-box:fill-box;
    transform-origin:center;
    animation:mapHubSpin 6.5s linear infinite;
}
.comms-hub-core{
    fill:rgba(27,184,216,.12);
    stroke:rgba(127,225,238,.56);
    stroke-width:1.2;
}
.map-comms-hub path{
    fill:none;
    stroke:#effcff;
    stroke-width:1.8;
    stroke-linecap:round;
}
@keyframes mapHubSpin{to{transform:rotate(360deg)}}
.comms-hub-label{
    fill:#e7f5f7;
    font:800 9px Inter,system-ui,sans-serif;
    letter-spacing:1.15px;
}
.comms-hub-sub{
    fill:#71949d;
    font:700 7px Inter,system-ui,sans-serif;
    letter-spacing:.75px;
}

/* Data satellites */
.map-data-chip circle{
    fill:rgba(3,34,45,.9);
    stroke:rgba(255,255,255,.17);
    stroke-width:1;
}
.map-data-chip text{
    fill:#d6eef1;
    font:800 8px Inter,system-ui,sans-serif;
    letter-spacing:.5px;
}
.chip-map-gis{animation:mapChipFloat 3.2s ease-in-out infinite}
.chip-map-3d{animation:mapChipFloat 3.5s -.8s ease-in-out infinite}
.chip-map-api{animation:mapChipFloat 3.3s -1.55s ease-in-out infinite}
.chip-map-heritage{animation:mapChipFloat 3.8s -2.15s ease-in-out infinite}
@keyframes mapChipFloat{50%{transform:translateY(-8px)}}

.hlw-map-flow-status{
    position:absolute;
    z-index:8;
    left:50%;
    bottom:15px;
    display:flex;
    gap:14px;
    align-items:center;
    transform:translateX(-50%);
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    background:rgba(3,28,38,.57);
    color:#819da5;
    font-size:.47rem;
    font-weight:700;
    letter-spacing:.04em;
    white-space:nowrap;
    backdrop-filter:blur(10px);
}
.hlw-map-flow-status .status-live{
    color:#d0f3d9;
    font-weight:800;
}
.hlw-map-flow-status .status-live i{
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:#64e68a;
    box-shadow:0 0 8px rgba(100,230,138,.8);
    animation:mapLivePulse 1.7s ease-in-out infinite;
}
@keyframes mapLivePulse{50%{opacity:.35;transform:scale(.75)}}

@media (max-width:680px){
    .hlw-flow-kicker{
        left:14px;
        right:14px;
        top:14px;
    }
    .hlw-flow-kicker b{display:none}
    .hlw-map-flow-status{display:none}
}


/* =========================================================
   v5.4 — REAL EXAMPLE MAP, ITALY ↔ GREECE
   ========================================================= */
.hlw-real-map-flow{
    position:relative;
    min-height:440px;
    overflow:hidden;
    background:#041d27;
}
.hlw-real-map-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.94;
    filter:saturate(.95) contrast(1.04);
}
.hlw-real-map-flow::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(180deg,rgba(2,19,27,.10),rgba(2,19,27,.01) 45%,rgba(2,19,27,.46)),
      radial-gradient(circle at 58% 50%,transparent 0 38%,rgba(2,19,27,.10) 78%,rgba(2,19,27,.32) 100%);
}
.hlw-real-map-topline{
    position:absolute;
    z-index:8;
    left:26px;
    right:26px;
    top:20px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:15px;
    align-items:center;
    color:#ffffff;
    font-size:.54rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-shadow:0 3px 12px rgba(0,0,0,.65);
}
.hlw-real-map-topline span:last-child{text-align:right}
.hlw-real-map-topline b{
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:999px;
    background:rgba(3,28,38,.68);
    color:#fff;
    font-size:.49rem;
    letter-spacing:.1em;
    backdrop-filter:blur(10px);
}

.hlw-real-map-overlay{
    position:absolute;
    z-index:5;
    inset:0;
    width:100%;
    height:100%;
    overflow:visible;
}
.real-flow-glow{
    fill:none;
    stroke:rgba(64,215,228,.23);
    stroke-width:25;
    filter:url(#realMapGlow);
}
.real-flow-main{
    fill:none;
    stroke:url(#realFlowMain);
    stroke-width:5;
    stroke-linecap:round;
    stroke-dasharray:14 10;
    animation:realFlowForward 4s linear infinite;
}
.real-flow-secondary{
    fill:none;
    stroke:rgba(115,218,229,.58);
    stroke-width:2.3;
    stroke-linecap:round;
    stroke-dasharray:7 10;
    animation:realFlowForward 5.1s linear infinite;
}
.real-flow-green{
    fill:none;
    stroke:rgba(162,205,85,.8);
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-dasharray:8 9;
    animation:realFlowForward 4.8s linear infinite;
}
.real-flow-return{
    fill:none;
    stroke:url(#realFlowReturn);
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-dasharray:7 9;
    animation:realFlowReverse 5.3s linear infinite;
}
@keyframes realFlowForward{to{stroke-dashoffset:-120}}
@keyframes realFlowReverse{to{stroke-dashoffset:120}}

.real-packet{stroke:#fff;stroke-width:1.4}
.real-packet.packet-white{
    fill:#fff;
    filter:drop-shadow(0 0 9px rgba(255,255,255,.95));
}
.real-packet.packet-cyan{
    fill:#1bb8d8;
    filter:drop-shadow(0 0 10px rgba(27,184,216,.95));
}
.real-packet.packet-soft{
    fill:#a9eef4;
    filter:drop-shadow(0 0 8px rgba(124,226,236,.9));
}
.real-packet.packet-green{
    fill:#91ba45;
    filter:drop-shadow(0 0 10px rgba(145,186,69,.95));
}

.real-map-location text{
    fill:#ffffff;
    font:800 16px Inter,system-ui,sans-serif;
    letter-spacing:1px;
    paint-order:stroke;
    stroke:#031b25;
    stroke-width:5px;
    stroke-linejoin:round;
}
.real-location-dot{fill:#fff;stroke-width:5}
.italy-dot{
    stroke:#1bb8d8;
    filter:drop-shadow(0 0 9px rgba(27,184,216,.95));
}
.greece-dot{
    stroke:#91ba45;
    filter:drop-shadow(0 0 9px rgba(145,186,69,.95));
}
.real-location-pulse{
    fill:none;
    stroke-width:2;
    transform-box:fill-box;
    transform-origin:center;
    animation:realLocationPulse 2.7s ease-out infinite;
}
.italy-pulse{stroke:rgba(77,220,233,.5)}
.greece-pulse{stroke:rgba(174,211,98,.55);animation-delay:-1.1s}
@keyframes realLocationPulse{
    0%{transform:scale(.62);opacity:.95}
    75%{transform:scale(1.55);opacity:.12}
    100%{transform:scale(1.55);opacity:0}
}

.real-hub-outer{
    fill:rgba(3,36,47,.88);
    stroke:rgba(151,230,240,.33);
    stroke-width:2;
    filter:drop-shadow(0 0 22px rgba(27,184,216,.28));
}
.real-hub-ring{
    fill:none;
    stroke:rgba(255,255,255,.42);
    stroke-width:1.4;
    stroke-dasharray:5 6;
    transform-box:fill-box;
    transform-origin:center;
    animation:realHubSpin 6.5s linear infinite;
}
.real-hub-core{
    fill:rgba(27,184,216,.16);
    stroke:#9fe8f0;
    stroke-width:1.5;
}
.real-map-hub path{
    fill:none;
    stroke:#fff;
    stroke-width:2;
    stroke-linecap:round;
}
@keyframes realHubSpin{to{transform:rotate(360deg)}}

.hlw-real-map-hub-label{
    position:absolute;
    z-index:8;
    left:58%;
    top:57%;
    transform:translate(-50%,-50%);
    display:grid;
    justify-items:center;
    gap:3px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:11px;
    background:rgba(3,29,39,.72);
    box-shadow:0 11px 30px rgba(0,0,0,.22);
    backdrop-filter:blur(10px);
    pointer-events:none;
}
.hlw-real-map-hub-label strong{
    color:#fff;
    font-size:.52rem;
    letter-spacing:.09em;
}
.hlw-real-map-hub-label span{
    color:#8eb0b8;
    font-size:.45rem;
    letter-spacing:.05em;
}
.hlw-real-map-status{
    position:absolute;
    z-index:8;
    left:50%;
    bottom:14px;
    display:flex;
    align-items:center;
    gap:14px;
    transform:translateX(-50%);
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
    background:rgba(3,28,38,.72);
    color:#a1b8be;
    font-size:.47rem;
    font-weight:700;
    letter-spacing:.04em;
    white-space:nowrap;
    backdrop-filter:blur(10px);
}
.hlw-real-map-status .status-live{
    color:#d4f4dc;
    font-weight:800;
}
.hlw-real-map-status .status-live i{
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:#62e68b;
    box-shadow:0 0 8px rgba(98,230,139,.9);
    animation:realLivePulse 1.7s ease-in-out infinite;
}
@keyframes realLivePulse{50%{opacity:.35;transform:scale(.7)}}

@media (max-width:680px){
    .hlw-real-map-topline{left:14px;right:14px;top:14px}
    .hlw-real-map-topline b{display:none}
    .hlw-real-map-hub-label,
    .hlw-real-map-status{display:none}
}


/* =========================================================
   v5.5 — REAL CARTOGRAPHIC MAP + EXACT PROJECT POINTS
   ========================================================= */
.hlw-real-map-v55{
    position:relative;
    min-height:470px;
    overflow:hidden;
    background:#041c27;
}
.hlw-v55-map{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:100%;
}
.v55-map-tint{
    fill:rgba(2,19,27,.12);
}

.hlw-v55-topline{
    position:absolute;
    z-index:8;
    left:25px;
    right:25px;
    top:20px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    color:#fff;
    font-size:.54rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-shadow:0 3px 14px rgba(0,0,0,.8);
}
.hlw-v55-topline span:last-child{text-align:right}
.hlw-v55-topline b{
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(3,29,39,.72);
    color:#fff;
    font-size:.48rem;
    letter-spacing:.105em;
    box-shadow:0 9px 30px rgba(0,0,0,.18);
    backdrop-filter:blur(10px);
}

.v55-flow-glow{
    fill:none;
    stroke:rgba(50,207,223,.25);
    stroke-width:25;
    filter:url(#v55Glow);
}
.v55-flow-main{
    fill:none;
    stroke:url(#v55FlowItalyGreece);
    stroke-width:5;
    stroke-linecap:round;
    stroke-dasharray:14 10;
    animation:v55FlowForward 4s linear infinite;
}
.v55-flow-secondary{
    fill:none;
    stroke:rgba(172,210,92,.83);
    stroke-width:2.7;
    stroke-linecap:round;
    stroke-dasharray:8 10;
    animation:v55FlowForward 5s linear infinite;
}
.v55-flow-blue{
    fill:none;
    stroke:rgba(74,210,224,.67);
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-dasharray:7 10;
    animation:v55FlowForward 5.2s linear infinite;
}
.v55-flow-return{
    fill:none;
    stroke:url(#v55FlowReturn);
    stroke-width:2.4;
    stroke-linecap:round;
    stroke-dasharray:7 9;
    animation:v55FlowReverse 5.1s linear infinite;
}
@keyframes v55FlowForward{to{stroke-dashoffset:-120}}
@keyframes v55FlowReverse{to{stroke-dashoffset:120}}

.v55-packet{
    stroke:#fff;
    stroke-width:1.4;
}
.v55-packet.packet-white{
    fill:#fff;
    filter:drop-shadow(0 0 10px rgba(255,255,255,.98));
}
.v55-packet.packet-cyan{
    fill:#1bb8d8;
    filter:drop-shadow(0 0 11px rgba(27,184,216,.98));
}
.v55-packet.packet-soft{
    fill:#b5f0f4;
    filter:drop-shadow(0 0 9px rgba(153,232,240,.95));
}
.v55-packet.packet-green{
    fill:#a4ca50;
    filter:drop-shadow(0 0 11px rgba(164,202,80,.98));
}

/* Markers are intentionally large and unambiguous */
.v55-marker .v55-marker-pulse{
    fill:none;
    stroke-width:2;
    transform-box:fill-box;
    transform-origin:center;
    animation:v55MarkerPulse 2.6s ease-out infinite;
}
.marker-italy .v55-marker-pulse{stroke:rgba(44,213,231,.60)}
.marker-greece .v55-marker-pulse{
    stroke:rgba(183,220,102,.66);
    animation-delay:-1.15s;
}
@keyframes v55MarkerPulse{
    0%{transform:scale(.55);opacity:.95}
    72%{transform:scale(1.45);opacity:.12}
    100%{transform:scale(1.45);opacity:0}
}
.v55-marker-ring{
    fill:rgba(3,28,38,.83);
    stroke-width:4;
}
.marker-italy .v55-marker-ring{stroke:#28c8df}
.marker-greece .v55-marker-ring{stroke:#a7ce56}

.v55-marker-core{
    fill:#fff;
}
.marker-italy .v55-marker-core{
    filter:drop-shadow(0 0 11px rgba(27,184,216,.98));
}
.marker-greece .v55-marker-core{
    filter:drop-shadow(0 0 11px rgba(165,204,82,.98));
}

.v55-label rect{
    fill:rgba(2,24,33,.90);
    stroke:rgba(255,255,255,.18);
    stroke-width:1;
}
.v55-label text{
    fill:#ffffff;
    font:800 14px Inter,system-ui,sans-serif;
    letter-spacing:.9px;
}

.v55-hub-outer{
    fill:rgba(3,35,46,.93);
    stroke:rgba(126,226,239,.36);
    stroke-width:2;
    filter:drop-shadow(0 0 24px rgba(27,184,216,.28));
}
.v55-hub-ring{
    fill:none;
    stroke:rgba(255,255,255,.42);
    stroke-width:1.5;
    stroke-dasharray:5 6;
    transform-box:fill-box;
    transform-origin:center;
    animation:v55HubSpin 6.5s linear infinite;
}
.v55-hub-core{
    fill:rgba(27,184,216,.16);
    stroke:#9ae6ef;
    stroke-width:1.6;
}
.v55-hub path{
    fill:none;
    stroke:#fff;
    stroke-width:2.2;
    stroke-linecap:round;
}
@keyframes v55HubSpin{to{transform:rotate(360deg)}}

.hlw-v55-hub-label{
    position:absolute;
    z-index:8;
    left:54.3%;
    top:53%;
    transform:translate(-50%,-50%);
    padding:8px 11px;
    display:grid;
    justify-items:center;
    gap:3px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    background:rgba(3,28,38,.76);
    backdrop-filter:blur(9px);
    pointer-events:none;
}
.hlw-v55-hub-label strong{
    color:#fff;
    font-size:.5rem;
    letter-spacing:.08em;
}
.hlw-v55-hub-label span{
    color:#8ca9b1;
    font-size:.43rem;
    letter-spacing:.045em;
}

.hlw-v55-status{
    position:absolute;
    z-index:8;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    padding:8px 13px;
    display:flex;
    align-items:center;
    gap:13px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    background:rgba(3,28,38,.76);
    color:#a2b9bf;
    font-size:.46rem;
    font-weight:700;
    white-space:nowrap;
    backdrop-filter:blur(10px);
}
.hlw-v55-status .status-live{
    color:#d3f2da;
    font-weight:800;
}
.hlw-v55-status .status-live i{
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:#67e78c;
    box-shadow:0 0 8px rgba(103,231,140,.9);
    animation:v55Live 1.7s ease-in-out infinite;
}
@keyframes v55Live{50%{opacity:.35;transform:scale(.72)}}

@media (max-width:680px){
    .hlw-real-map-v55{min-height:390px}
    .hlw-v55-topline{left:13px;right:13px;top:13px}
    .hlw-v55-topline b{display:none}
    .hlw-v55-hub-label,
    .hlw-v55-status{display:none}
}


/* =========================================================
   v5.6 — REALISTIC RELIEF MAP + PRECISE PROJECT LOCATIONS
   ========================================================= */
.hlw-real-map-v56{
    position:relative;
    min-height:490px;
    overflow:hidden;
    background:#061d28;
}
.hlw-v56-map{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}
.v56-map-overlay{
    fill:rgba(2,19,27,.15);
}

.hlw-v56-topline{
    position:absolute;
    z-index:9;
    left:26px;
    right:26px;
    top:20px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    color:#fff;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-shadow:0 3px 14px rgba(0,0,0,.9);
}
.hlw-v56-topline span:last-child{text-align:right}
.hlw-v56-topline b{
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(3,28,38,.74);
    color:#fff;
    font-size:.48rem;
    letter-spacing:.105em;
    backdrop-filter:blur(10px);
}

.v56-flow-glow{
    fill:none;
    stroke:rgba(47,210,226,.22);
    stroke-width:26;
    filter:url(#v56Glow);
}
.v56-flow-main{
    fill:none;
    stroke:url(#v56FlowA);
    stroke-width:5;
    stroke-linecap:round;
    stroke-dasharray:14 10;
    animation:v56Forward 4s linear infinite;
}
.v56-flow-green{
    fill:none;
    stroke:rgba(166,207,81,.88);
    stroke-width:2.8;
    stroke-linecap:round;
    stroke-dasharray:8 10;
    animation:v56Forward 5s linear infinite;
}
.v56-flow-secondary{
    fill:none;
    stroke:rgba(82,215,229,.72);
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-dasharray:7 10;
    animation:v56Forward 5.3s linear infinite;
}
.v56-flow-return{
    fill:none;
    stroke:url(#v56FlowB);
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-dasharray:7 9;
    animation:v56Reverse 5.2s linear infinite;
}
@keyframes v56Forward{to{stroke-dashoffset:-120}}
@keyframes v56Reverse{to{stroke-dashoffset:120}}

.v56-packet{stroke:#fff;stroke-width:1.4}
.v56-packet.packet-white{
    fill:#fff;
    filter:drop-shadow(0 0 11px rgba(255,255,255,.98));
}
.v56-packet.packet-cyan{
    fill:#19bedb;
    filter:drop-shadow(0 0 11px rgba(25,190,219,.98));
}
.v56-packet.packet-soft{
    fill:#c1f2f5;
    filter:drop-shadow(0 0 9px rgba(174,236,242,.96));
}
.v56-packet.packet-green{
    fill:#a6cf51;
    filter:drop-shadow(0 0 11px rgba(166,207,81,.98));
}

/* Clear, exact marker design */
.v56-pin .v56-pulse{
    fill:none;
    stroke-width:2.2;
    transform-box:fill-box;
    transform-origin:center;
    animation:v56Pulse 2.6s ease-out infinite;
}
.pin-italy .v56-pulse{stroke:rgba(48,215,232,.68)}
.pin-greece .v56-pulse{
    stroke:rgba(184,221,103,.72);
    animation-delay:-1.15s;
}
@keyframes v56Pulse{
    0%{transform:scale(.55);opacity:1}
    72%{transform:scale(1.5);opacity:.11}
    100%{transform:scale(1.5);opacity:0}
}
.v56-ring{
    fill:rgba(2,22,31,.90);
    stroke-width:4.5;
}
.pin-italy .v56-ring{stroke:#22c7df}
.pin-greece .v56-ring{stroke:#a9d058}
.v56-core{fill:#ffffff}
.pin-italy .v56-core{
    filter:drop-shadow(0 0 12px rgba(27,184,216,1));
}
.pin-greece .v56-core{
    filter:drop-shadow(0 0 12px rgba(166,207,81,1));
}
.v56-cross{
    fill:none;
    stroke:rgba(255,255,255,.64);
    stroke-width:1.7;
    stroke-linecap:round;
}
.v56-label rect{
    fill:rgba(1,18,26,.93);
    stroke:rgba(255,255,255,.24);
    stroke-width:1;
}
.v56-label text{
    fill:#ffffff;
    font:800 15px Inter,system-ui,sans-serif;
    letter-spacing:.9px;
}

.v56-node-outer{
    fill:rgba(3,35,46,.9);
    stroke:rgba(129,227,239,.34);
    stroke-width:2;
    filter:drop-shadow(0 0 22px rgba(27,184,216,.28));
}
.v56-node-ring{
    fill:none;
    stroke:rgba(255,255,255,.42);
    stroke-width:1.5;
    stroke-dasharray:5 6;
    transform-box:fill-box;
    transform-origin:center;
    animation:v56NodeSpin 6.5s linear infinite;
}
.v56-node-core{
    fill:rgba(27,184,216,.17);
    stroke:#a4e9f0;
    stroke-width:1.6;
}
.v56-data-node path{
    fill:none;
    stroke:#fff;
    stroke-width:2.2;
    stroke-linecap:round;
}
@keyframes v56NodeSpin{to{transform:rotate(360deg)}}

.hlw-v56-status{
    position:absolute;
    z-index:9;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    padding:8px 13px;
    display:flex;
    align-items:center;
    gap:13px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:rgba(3,28,38,.78);
    color:#a5bbc0;
    font-size:.46rem;
    font-weight:700;
    white-space:nowrap;
    backdrop-filter:blur(10px);
}
.hlw-v56-status .status-live{
    color:#d5f4dc;
    font-weight:800;
}
.hlw-v56-status .status-live i{
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:#67e78c;
    box-shadow:0 0 8px rgba(103,231,140,.9);
    animation:v56Live 1.7s ease-in-out infinite;
}
@keyframes v56Live{50%{opacity:.35;transform:scale(.72)}}

@media (max-width:680px){
    .hlw-real-map-v56{min-height:410px}
    .hlw-v56-topline{left:13px;right:13px;top:13px}
    .hlw-v56-topline b{display:none}
    .hlw-v56-status{display:none}
}


/* =========================================================
   v5.7 — FULL VECTOR MAP: CRISP AT ANY ZOOM
   ========================================================= */
.hlw-real-map-v57{
    position:relative;
    min-height:500px;
    overflow:hidden;
    background:#031923;
}
.hlw-v57-map{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.v57-gridline{
    stroke:rgba(198,233,236,.10);
    stroke-width:1;
    stroke-dasharray:3 8;
    vector-effect:non-scaling-stroke;
}

.v57-land-shape{
    fill:url(#v57LandFill);
    stroke:none;
}
.v57-land-texture .v57-land-shape{
    fill:url(#v57LandTexture);
    opacity:.58;
}
.v57-coastline{
    fill:none;
    stroke:#d0dfdc;
    stroke-width:1.65;
    vector-effect:non-scaling-stroke;
    opacity:.96;
}
.v57-country-border{
    fill:none;
    stroke:#8da19d;
    stroke-width:1;
    stroke-dasharray:4 4;
    vector-effect:non-scaling-stroke;
    opacity:.68;
}

.v57-context-city circle{fill:#fff;opacity:.7}
.v57-context-city text{
    fill:#d9e6e4;
    font:700 12px Inter,system-ui,sans-serif;
    letter-spacing:.6px;
    opacity:.72;
    paint-order:stroke;
    stroke:#031923;
    stroke-width:4px;
}
.v57-country-title{
    fill:#fff;
    font:800 17px Inter,system-ui,sans-serif;
    letter-spacing:2.4px;
    opacity:.78;
    paint-order:stroke;
    stroke:#031923;
    stroke-width:5px;
}
.v57-sea-label{
    fill:#90adb2;
    font:700 13px Inter,system-ui,sans-serif;
    letter-spacing:1.4px;
    opacity:.5;
}

.hlw-v57-topline{
    position:absolute;
    z-index:9;
    left:26px;
    right:26px;
    top:20px;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    color:#fff;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-shadow:0 3px 14px rgba(0,0,0,.9);
}
.hlw-v57-topline span:last-child{text-align:right}
.hlw-v57-topline b{
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(3,28,38,.76);
    color:#fff;
    font-size:.48rem;
    letter-spacing:.105em;
    backdrop-filter:blur(10px);
}

.v57-flow-glow{
    fill:none;
    stroke:rgba(47,210,226,.22);
    stroke-width:28;
    filter:url(#v57Glow);
}
.v57-flow-main{
    fill:none;
    stroke:url(#v57FlowA);
    stroke-width:5.5;
    stroke-linecap:round;
    stroke-dasharray:14 10;
    animation:v57Forward 4s linear infinite;
}
.v57-flow-green{
    fill:none;
    stroke:rgba(168,207,82,.9);
    stroke-width:3;
    stroke-linecap:round;
    stroke-dasharray:8 10;
    animation:v57Forward 5s linear infinite;
}
.v57-flow-secondary{
    fill:none;
    stroke:rgba(82,215,229,.74);
    stroke-width:2.7;
    stroke-linecap:round;
    stroke-dasharray:7 10;
    animation:v57Forward 5.3s linear infinite;
}
.v57-flow-return{
    fill:none;
    stroke:url(#v57FlowB);
    stroke-width:2.7;
    stroke-linecap:round;
    stroke-dasharray:7 9;
    animation:v57Reverse 5.2s linear infinite;
}
@keyframes v57Forward{to{stroke-dashoffset:-120}}
@keyframes v57Reverse{to{stroke-dashoffset:120}}

.v57-packet{stroke:#fff;stroke-width:1.4}
.v57-packet.packet-white{
    fill:#fff;
    filter:drop-shadow(0 0 11px rgba(255,255,255,.98));
}
.v57-packet.packet-cyan{
    fill:#19bedb;
    filter:drop-shadow(0 0 11px rgba(25,190,219,.98));
}
.v57-packet.packet-soft{
    fill:#c1f2f5;
    filter:drop-shadow(0 0 9px rgba(174,236,242,.96));
}
.v57-packet.packet-green{
    fill:#a6cf51;
    filter:drop-shadow(0 0 11px rgba(166,207,81,.98));
}

.v57-pin .v57-pulse{
    fill:none;
    stroke-width:2.2;
    transform-box:fill-box;
    transform-origin:center;
    animation:v57Pulse 2.6s ease-out infinite;
}
.pin-italy .v57-pulse{stroke:rgba(48,215,232,.72)}
.pin-greece .v57-pulse{
    stroke:rgba(184,221,103,.76);
    animation-delay:-1.15s;
}
@keyframes v57Pulse{
    0%{transform:scale(.55);opacity:1}
    72%{transform:scale(1.52);opacity:.11}
    100%{transform:scale(1.52);opacity:0}
}
.v57-ring{
    fill:rgba(2,22,31,.92);
    stroke-width:4.8;
}
.pin-italy .v57-ring{stroke:#22c7df}
.pin-greece .v57-ring{stroke:#a9d058}
.v57-core{fill:#fff}
.pin-italy .v57-core{filter:drop-shadow(0 0 12px rgba(27,184,216,1))}
.pin-greece .v57-core{filter:drop-shadow(0 0 12px rgba(166,207,81,1))}
.v57-cross{
    fill:none;
    stroke:rgba(255,255,255,.68);
    stroke-width:1.8;
    stroke-linecap:round;
}
.v57-label rect{
    fill:rgba(1,18,26,.95);
    stroke:rgba(255,255,255,.25);
    stroke-width:1;
}
.v57-label text{
    fill:#fff;
    font:800 15px Inter,system-ui,sans-serif;
    letter-spacing:.9px;
}

.hlw-v57-status{
    position:absolute;
    z-index:9;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    padding:8px 13px;
    display:flex;
    align-items:center;
    gap:13px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:999px;
    background:rgba(3,28,38,.80);
    color:#a5bbc0;
    font-size:.46rem;
    font-weight:700;
    white-space:nowrap;
    backdrop-filter:blur(10px);
}
.hlw-v57-status .status-live{
    color:#d5f4dc;
    font-weight:800;
}
.hlw-v57-status .status-live i{
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:5px;
    border-radius:50%;
    background:#67e78c;
    box-shadow:0 0 8px rgba(103,231,140,.9);
    animation:v57Live 1.7s ease-in-out infinite;
}
@keyframes v57Live{50%{opacity:.35;transform:scale(.72)}}

@media (max-width:680px){
    .hlw-real-map-v57{min-height:420px}
    .hlw-v57-topline{left:13px;right:13px;top:13px}
    .hlw-v57-topline b{display:none}
    .hlw-v57-status{display:none}
}


/* =========================================================
   v5.8 — TEXT WIDTH REFINEMENT + CLEAN FOOTER
   ========================================================= */

/* 1. HERO: use the available horizontal space before wrapping.
   The text can now visually reach below the right-hand part of
   the main title, including the "Italy" area. */
.hlw-hero-intro{
    width:min(100%, 840px);
    max-width:840px;
}

/* 2. DIGITAL HERITAGE PLATFORM:
   heading and buttons stay on the first row,
   descriptive subtitle uses the full width below them. */
.hlw-atlas-copy{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
        "heading actions"
        "intro intro";
    row-gap:20px;
    column-gap:42px;
    align-items:center;
}
.hlw-atlas-heading{
    grid-area:heading;
    min-width:0;
}
.hlw-atlas-actions{
    grid-area:actions;
}
.hlw-atlas-intro{
    grid-area:intro;
    width:100%;
    max-width:none;
    margin:0;
    color:#aebfc5;
    font-size:.85rem;
    line-height:1.72;
}

/* Neutralise the old selector from previous versions. */
.hlw-atlas-copy>div:first-child>p:last-child{
    max-width:none;
}

/* 3. Visible photography credit strip removed.
   This is defensive in case cached HTML survives temporarily. */
.hlw-photo-credits{
    display:none!important;
}

@media (max-width:920px){
    .hlw-atlas-copy{
        grid-template-columns:1fr;
        grid-template-areas:
            "heading"
            "intro"
            "actions";
        gap:20px;
    }
    .hlw-atlas-intro{
        max-width:760px;
    }
}

@media (max-width:680px){
    .hlw-hero-intro{
        width:100%;
        max-width:100%;
    }
}


/* =========================================================
   v5.9 — SECTION RHYTHM / PARTNERSHIP COPY WIDTH
   ========================================================= */

/* 1. DESTINATIONS -> A ROUTE FOR PEOPLE AND PLACES
   Remove the oversized 248px combined gap while preserving
   a deliberate cinematic pause between the two sections. */
.hlw-destinations{
    padding-bottom:56px;
}
.hlw-values-section{
    padding-top:54px;
}

/* 2. NEWS & EVENTS -> PARTNERSHIP
   Same vertical rhythm: compact, but not visually crowded. */
.hlw-calendar-section{
    padding-bottom:54px;
}
.hlw-partners-section{
    padding-top:56px;
}

/* 3. Partnership subtitle:
   use almost the whole heading width instead of stopping at 720px. */
.hlw-partners-heading{
    max-width:1180px;
}
.hlw-partners-heading p:last-child{
    width:100%;
    max-width:1040px;
    font-size:.94rem;
    line-height:1.72;
}

/* Keep the compact rhythm responsive.
   Mobile already has intentionally smaller section spacing,
   so only tune tablet widths here. */
@media (max-width:920px){
    .hlw-destinations{
        padding-bottom:48px;
    }
    .hlw-values-section{
        padding-top:48px;
    }
    .hlw-calendar-section{
        padding-bottom:48px;
    }
    .hlw-partners-section{
        padding-top:48px;
    }
    .hlw-partners-heading p:last-child{
        max-width:860px;
    }
}

@media (max-width:680px){
    .hlw-destinations{
        padding-bottom:40px;
    }
    .hlw-values-section{
        padding-top:40px;
    }
    .hlw-calendar-section{
        padding-bottom:40px;
    }
    .hlw-partners-section{
        padding-top:44px;
    }
    .hlw-partners-heading p:last-child{
        max-width:100%;
    }
}


/* =========================================================
   v6.0 — CINEMATIC JOURNEY
   Stable V5.9 content + new narrative architecture
   ========================================================= */

body.hlw-definitive-page{
    scroll-behavior:smooth;
}
.hlw-site{
    --v6-rail-x:max(20px,calc((100vw - var(--max))/2 - 48px));
    position:relative;
    background:
      radial-gradient(circle at 50% 22%,rgba(27,184,216,.055),transparent 35%),
      radial-gradient(circle at 65% 66%,rgba(145,186,69,.04),transparent 30%),
      linear-gradient(180deg,#01141d 0%,#042734 43%,#021923 100%);
}

/* GLOBAL JOURNEY THREAD */
.hlw-journey-rail{
    position:fixed;
    z-index:80;
    right:18px;
    top:50%;
    width:50px;
    height:310px;
    transform:translateY(-50%);
    display:grid;
    grid-template-rows:auto 1fr auto auto;
    justify-items:center;
    gap:12px;
    pointer-events:none;
    opacity:.82;
    transition:opacity .3s ease;
}
.hlw-journey-rail-kicker{
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    color:#6d929b;
    font-size:.45rem;
    font-weight:800;
    letter-spacing:.18em;
}
.hlw-journey-rail-track{
    position:relative;
    width:1px;
    min-height:190px;
    background:rgba(255,255,255,.14);
}
.hlw-journey-rail-progress{
    position:absolute;
    inset:0 0 auto;
    height:var(--hlw-journey-progress,0%);
    background:linear-gradient(180deg,var(--cyan),var(--green));
    box-shadow:0 0 12px rgba(27,184,216,.35);
}
.hlw-journey-rail-dot{
    position:absolute;
    top:var(--hlw-journey-progress,0%);
    left:50%;
    width:9px;
    height:9px;
    transform:translate(-50%,-50%);
    border:2px solid #fff;
    border-radius:50%;
    background:var(--cyan);
    box-shadow:0 0 0 5px rgba(27,184,216,.12),0 0 16px rgba(27,184,216,.65);
    transition:top .18s linear,background .35s ease;
}
.hlw-journey-rail strong{
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    color:#fff;
    font:500 .7rem/1 Georgia,"Times New Roman",serif;
    letter-spacing:.06em;
}
.hlw-journey-rail small{
    color:#75949d;
    font-size:.48rem;
    font-weight:800;
    letter-spacing:.08em;
}

/* SCENE ID — tiny editorial marker */
.hlw-v6-scene{position:relative}
.hlw-v6-scene::before{
    content:attr(data-journey-index);
    position:absolute;
    z-index:12;
    left:max(20px,calc((100vw - var(--max))/2 - 36px));
    top:58px;
    color:rgba(190,218,224,.28);
    font:700 .58rem/1 Inter,system-ui,sans-serif;
    letter-spacing:.14em;
}
.hlw-hero.hlw-v6-scene::before{top:126px;color:rgba(255,255,255,.35)}

/* HERO — preserve slideshow, intensify cinematic depth */
.hlw-hero{min-height:108svh}
.hlw-hero-slide{
    filter:saturate(.92) contrast(1.04);
    transform:scale(1.16);
}
.hlw-hero-slide.is-active{transform:scale(1.045)}
.hlw-hero-shade{
    background:
      linear-gradient(90deg,rgba(1,15,22,.99) 0%,rgba(1,15,22,.78) 30%,rgba(1,15,22,.22) 64%,rgba(1,15,22,.12) 100%),
      linear-gradient(0deg,rgba(1,15,22,.99) 0%,rgba(1,15,22,.02) 54%,rgba(1,15,22,.38) 100%);
}
.hlw-hero-copy h1{max-width:1050px}
.hlw-hero-intro{max-width:900px}
.hlw-route-constellation{bottom:34px}

/* DESTINATIONS — sticky cinematic stack, no content loss */
.hlw-destinations{
    width:min(calc(100% - 80px),var(--max));
    padding-top:145px;
    padding-bottom:85px;
}
.hlw-section-heading{max-width:1220px;margin-bottom:75px}
.hlw-v6-section-intro{
    max-width:850px;
    margin:26px 0 0;
    color:#9fb5bc;
    font-size:.94rem;
    line-height:1.75;
}
.hlw-destination-stage{
    height:auto;
    display:block;
    position:relative;
}
.hlw-destination-panel{
    position:sticky;
    top:112px;
    width:100%;
    height:min(76vh,780px);
    min-height:600px;
    margin:0 0 11vh;
    display:block;
    border-radius:30px;
    border-color:rgba(255,255,255,.14);
    box-shadow:0 40px 120px rgba(0,0,0,.32);
    transform-origin:center top;
    transition:filter .5s ease,transform .5s ease,border-color .5s ease;
}
.hlw-destination-panel:nth-child(2){top:126px}
.hlw-destination-panel:nth-child(3){top:140px}
.hlw-destination-panel:nth-child(4){top:154px;margin-bottom:0}
.hlw-destination-panel:hover,.hlw-destination-panel.is-active,.hlw-destination-panel.is-v6-current{
    flex:unset;
    border-color:rgba(255,255,255,.25);
}
.hlw-destination-panel img{
    transform:scale(1.015);
    transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.hlw-destination-panel:hover img,.hlw-destination-panel.is-active img,.hlw-destination-panel.is-v6-current img{
    transform:scale(1.065);
}
.hlw-destination-shade{
    background:
      linear-gradient(90deg,rgba(1,17,24,.82),rgba(1,17,24,.12) 58%),
      linear-gradient(0deg,rgba(1,17,24,.95),rgba(1,17,24,.02) 62%);
}
.hlw-destination-label{
    left:clamp(30px,5vw,80px);
    right:auto;
    bottom:clamp(34px,6vh,72px);
    max-width:720px;
}
.hlw-destination-label small{font-size:.64rem;letter-spacing:.11em}
.hlw-destination-label h3{font-size:clamp(4.3rem,8vw,8.6rem);line-height:.82}
.hlw-destination-label p{max-width:540px;font-size:1rem;line-height:1.65}
.hlw-destination-label span{margin-top:24px}

/* EXPERIENCE — editorial asymmetry instead of three equal cards */
.hlw-values-section{
    width:min(calc(100% - 80px),var(--max));
    padding-top:105px;
    padding-bottom:130px;
}
.hlw-values-heading{
    max-width:1180px;
    margin:0 0 62px;
    text-align:left;
}
.hlw-values-heading h2 span{color:#91a9b1}
.hlw-values-heading>p:last-child{max-width:900px;margin:24px 0 0}
.hlw-values-triptych{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    grid-template-rows:repeat(2,minmax(320px,1fr));
    gap:16px;
    min-height:760px;
}
.hlw-value-panel{min-height:0;border-radius:28px}
.hlw-value-panel:nth-child(1){grid-column:1;grid-row:1 / span 2}
.hlw-value-panel:nth-child(2){grid-column:2;grid-row:1}
.hlw-value-panel:nth-child(3){grid-column:2;grid-row:2}
.hlw-value-panel:nth-child(1) .hlw-value-content{max-width:610px}
.hlw-value-panel:nth-child(1) .hlw-value-content h3{font-size:clamp(2.8rem,4.2vw,5rem)}
.hlw-value-panel:nth-child(n+2) .hlw-value-content h3{font-size:clamp(1.7rem,2.3vw,2.7rem)}

/* DIGITAL — turn map into the full scene, copy floats over it */
.hlw-atlas-gateway{
    width:min(calc(100% - 80px),var(--max));
    min-height:760px;
    margin-bottom:115px;
    display:block;
    border-radius:32px;
    isolation:isolate;
}
.hlw-twin-visual{
    position:absolute;
    inset:0;
    min-height:0;
    border:0;
}
.hlw-twin-visual::after{
    background:
      linear-gradient(90deg,rgba(1,18,26,.12),rgba(1,18,26,.02) 55%,rgba(1,18,26,.56)),
      linear-gradient(0deg,rgba(1,18,26,.82),transparent 58%);
    opacity:1;
    mask-image:none;
}
.hlw-atlas-copy{
    position:absolute;
    z-index:12;
    left:38px;
    right:38px;
    bottom:35px;
    min-height:0;
    padding:28px 30px;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"heading actions" "intro intro";
    gap:18px 36px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:22px;
    background:rgba(2,26,36,.74);
    box-shadow:0 22px 70px rgba(0,0,0,.28);
    backdrop-filter:blur(22px) saturate(1.15);
}
.hlw-atlas-heading{grid-area:heading}
.hlw-atlas-actions{grid-area:actions;align-self:center}
.hlw-atlas-intro{grid-area:intro;max-width:1120px!important;color:#c0d0d4!important}
.hlw-atlas-copy h2{font-size:clamp(3rem,4.6vw,5.7rem)}

/* PROJECT — strong numerical interlude */
.hlw-project-compact{
    min-height:520px;
    margin-bottom:105px;
    grid-template-columns:.92fr 1.08fr;
    border-radius:30px;
}
.hlw-project-compact-copy{padding:56px 62px}
.hlw-project-compact-facts{max-width:none;margin-top:32px;padding:22px 0}
.hlw-project-compact-facts b{font-size:clamp(2.8rem,4.2vw,4.6rem);color:#fff}
.hlw-project-compact-facts small{font-size:.58rem}

/* STORIES — compact editorial rhythm */
.hlw-calendar-section{padding-top:35px;padding-bottom:78px}
.hlw-calendar-shell{grid-template-columns:360px 1fr;min-height:310px}
.hlw-mini-calendar{padding:18px}
.hlw-calendar-digest{padding:18px 24px}
.hlw-calendar-item{min-height:76px}

/* PARTNERSHIP NETWORK — centre the project, orbit partner cards around it */
.hlw-partners-section{padding-top:88px}
.hlw-partners-heading{max-width:1260px;margin-bottom:52px}
.hlw-partners-network{
    position:relative;
    min-height:650px;
    padding:38px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:32px;
    background:
      radial-gradient(circle at center,rgba(27,184,216,.12),transparent 24%),
      radial-gradient(circle at center,transparent 0 31%,rgba(255,255,255,.045) 31.2% 31.5%,transparent 31.7%),
      radial-gradient(circle at center,transparent 0 47%,rgba(145,186,69,.035) 47.2% 47.5%,transparent 47.7%),
      linear-gradient(145deg,rgba(8,46,59,.58),rgba(2,25,34,.75));
    overflow:hidden;
}
.hlw-partners-network::before,
.hlw-partners-network::after{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:76%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(127,225,238,.18),transparent);
    transform-origin:center;
}
.hlw-partners-network::before{transform:translate(-50%,-50%) rotate(20deg)}
.hlw-partners-network::after{transform:translate(-50%,-50%) rotate(-18deg)}
.hlw-partner-network-core{
    position:absolute;
    z-index:4;
    left:50%;top:50%;
    width:230px;height:230px;
    transform:translate(-50%,-50%);
    display:grid;
    place-content:center;
    justify-items:center;
    text-align:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(2,28,38,.86);
    box-shadow:0 0 0 18px rgba(27,184,216,.035),0 28px 80px rgba(0,0,0,.25);
    backdrop-filter:blur(18px);
}
.hlw-partner-network-core span{color:var(--cyan2);font-size:.54rem;font-weight:800;letter-spacing:.12em}
.hlw-partner-network-core strong{margin:10px 0 8px;font:500 2rem/.86 Georgia,"Times New Roman",serif;letter-spacing:-.04em}
.hlw-partner-network-core small{color:#8ba4ac;font-size:.58rem}
.hlw-partners-grid{
    position:relative;
    z-index:5;
    height:574px;
    display:block;
}
.hlw-partner-card{
    position:absolute;
    width:250px;
    min-height:215px;
    padding:13px;
    border-radius:18px;
}
.hlw-partner-logo{height:115px;padding:15px}
.hlw-partner-logo img{max-height:78px}
.hlw-partner-content{min-height:70px;padding-top:13px}
.hlw-partner-card:nth-child(1){left:4%;top:4%}
.hlw-partner-card:nth-child(2){right:4%;top:4%}
.hlw-partner-card:nth-child(3){left:2%;bottom:3%}
.hlw-partner-card:nth-child(4){left:50%;bottom:0;transform:translateX(-50%)}
.hlw-partner-card:nth-child(4):hover{transform:translateX(-50%) translateY(-8px)}
.hlw-partner-card:nth-child(5){right:2%;bottom:3%}
.hlw-institutional-band{margin-top:18px}

/* Small cinematic continuity marks */
.hlw-values-section::after,
.hlw-project-compact::after{
    content:"";
    position:absolute;
    z-index:0;
    left:50%;bottom:-70px;
    width:1px;height:70px;
    background:linear-gradient(180deg,rgba(127,225,238,.24),transparent);
}

@media (max-width:1180px){
    .hlw-journey-rail{display:none}
    .hlw-v6-scene::before{display:none}
    .hlw-destination-panel{height:680px;min-height:560px}
    .hlw-partners-network{min-height:auto;padding:24px}
    .hlw-partner-network-core{position:relative;left:auto;top:auto;transform:none;margin:0 auto 24px;width:190px;height:190px}
    .hlw-partners-grid{height:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .hlw-partner-card,.hlw-partner-card:nth-child(n){position:relative;inset:auto;width:auto;transform:none;min-height:240px}
    .hlw-partner-card:nth-child(4):hover{transform:translateY(-8px)}
}

@media (max-width:920px){
    .hlw-destinations,.hlw-values-section,.hlw-atlas-gateway{width:calc(100% - 40px)}
    .hlw-destination-panel,.hlw-destination-panel:nth-child(n){position:relative;top:auto;height:620px;min-height:0;margin-bottom:18px}
    .hlw-values-triptych{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
    .hlw-value-panel:nth-child(n){grid-column:auto;grid-row:auto;min-height:520px}
    .hlw-atlas-gateway{min-height:680px}
    .hlw-atlas-copy{left:20px;right:20px;bottom:20px;grid-template-columns:1fr;grid-template-areas:"heading" "intro" "actions"}
    .hlw-atlas-actions{grid-template-columns:1fr 1fr}
    .hlw-calendar-shell{grid-template-columns:1fr}
    .hlw-partners-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:680px){
    .hlw-hero{min-height:100svh}
    .hlw-destinations,.hlw-values-section,.hlw-atlas-gateway{width:calc(100% - 30px)}
    .hlw-destination-panel,.hlw-destination-panel:nth-child(n){height:520px}
    .hlw-destination-label h3{font-size:3.4rem}
    .hlw-value-panel:nth-child(n){min-height:480px}
    .hlw-atlas-gateway{min-height:640px}
    .hlw-atlas-copy{padding:20px}
    .hlw-atlas-actions{grid-template-columns:1fr}
    .hlw-partners-grid{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
    .hlw-destination-panel{position:relative!important;top:auto!important}
    .hlw-route-path,.v57-flow-main,.v57-flow-green,.v57-flow-secondary,.v57-flow-return{animation:none!important}
}


/* =========================================================
   v6.1 — RESTORE DESTINATIONS + PARTNERSHIP TO v5.9 VISUALS
   ========================================================= */

/* ---------------------------------------------------------
   EXPLORE THE DESTINATIONS — v5.9
   --------------------------------------------------------- */
.hlw-destinations{
    width:min(calc(100% - 64px),var(--max));
    margin:0 auto;
    padding:150px 0 56px;
}
.hlw-destinations .hlw-section-heading{
    max-width:1080px;
    margin-bottom:62px;
}
.hlw-destination-stage{
    position:relative;
    height:720px;
    display:flex;
    gap:14px;
}
.hlw-destination-panel,
.hlw-destination-panel:nth-child(n){
    position:relative;
    inset:auto;
    top:auto;
    width:auto;
    height:auto;
    min-height:0;
    margin:0;
    display:block;
    flex:1;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:24px;
    color:#fff;
    box-shadow:none;
    transform:none;
    transform-origin:center;
    transition:flex .75s cubic-bezier(.2,.75,.2,1),filter .4s ease;
}
.hlw-destination-panel:hover,
.hlw-destination-panel.is-active{
    flex:2.35;
    border-color:var(--line);
}
.hlw-destination-panel img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.04);
    transition:transform 1s cubic-bezier(.2,.7,.2,1);
}
.hlw-destination-panel:hover img,
.hlw-destination-panel.is-active img{
    transform:scale(1.1);
}
.hlw-destination-shade{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    background:linear-gradient(
        180deg,
        rgba(2,19,27,.03),
        rgba(2,19,27,.13) 47%,
        rgba(2,19,27,.96) 100%
    );
}
.hlw-destination-label{
    position:absolute;
    z-index:3;
    left:28px;
    right:28px;
    bottom:30px;
    max-width:none;
}
.hlw-destination-label small{
    color:#b1dce4;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.hlw-destination-label h3{
    margin:9px 0 0;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font:500 clamp(2.7rem,4vw,5.2rem)/.9 Georgia,"Times New Roman",serif;
    letter-spacing:-.045em;
}
.hlw-destination-label p{
    max-width:none;
    margin:10px 0 0;
    color:#d5e3e7;
    font-size:.83rem;
    line-height:normal;
}
.hlw-destination-label span{
    display:inline-block;
    margin-top:18px;
    color:var(--cyan2);
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

/* ---------------------------------------------------------
   THE PARTNERSHIP — v5.9
   --------------------------------------------------------- */
.hlw-partners-section{
    width:min(calc(100% - 64px),var(--max));
    margin:0 auto;
    padding:56px 0 70px;
}
.hlw-partners-heading{
    max-width:1180px;
    margin-bottom:54px;
}
.hlw-partners-heading h2{
    margin:0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3.5rem,5.2vw,6.4rem);
    line-height:.9;
    font-weight:500;
    letter-spacing:-.05em;
}
.hlw-partners-heading h2 span{
    color:#9db3bb;
}
.hlw-partners-heading p:last-child{
    width:100%;
    max-width:1040px;
    margin:23px 0 0;
    color:#9eb1b8;
    font-size:.94rem;
    line-height:1.72;
}
.hlw-partners-grid{
    position:static;
    z-index:auto;
    width:auto;
    height:auto;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
}
.hlw-partner-card,
.hlw-partner-card:nth-child(n){
    position:relative;
    inset:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:auto;
    min-height:300px;
    padding:18px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:
        radial-gradient(circle at 90% 0%,rgba(27,184,216,.1),transparent 35%),
        linear-gradient(155deg,rgba(10,52,66,.72),rgba(3,29,39,.82));
    color:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.15);
    transform:none;
    transition:transform .4s ease,border-color .4s ease;
}
.hlw-partner-card:hover,
.hlw-partner-card:nth-child(4):hover{
    transform:translateY(-8px);
    border-color:rgba(27,184,216,.38);
}
.hlw-partner-logo{
    height:168px;
    padding:22px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:linear-gradient(145deg,#f8f7f3,#ecefec);
}
.hlw-partner-logo img{
    display:block;
    max-width:82%;
    max-height:105px;
    width:auto;
    height:auto;
    object-fit:contain;
    object-position:center;
    margin:auto;
}
.hlw-partner-content{
    min-height:84px;
    margin-top:auto;
    padding:18px 30px 0 0;
    display:grid;
    align-content:end;
    gap:6px;
}
.hlw-partner-content small{
    color:#78cad9;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.hlw-partner-content b{
    font:500 1.08rem/1.12 Georgia,"Times New Roman",serif;
}
.hlw-partner-card>i{
    position:absolute;
    right:18px;
    bottom:20px;
    color:#9ad7e1;
    font-style:normal;
}
.hlw-institutional-band{
    margin-top:16px;
    padding:20px;
    display:grid;
    grid-template-columns:320px 1fr auto;
    gap:30px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:18px;
    background:rgba(255,255,255,.025);
}

/* v6 network elements are not used in v6.1, defensive only */
.hlw-partners-network,
.hlw-partner-network-core{
    all:unset;
}

/* ---------------------------------------------------------
   RESPONSIVE — v5.9 behavior
   --------------------------------------------------------- */
@media (max-width:1180px){
    .hlw-destination-stage{
        height:640px;
    }
    .hlw-destination-panel,
    .hlw-destination-panel:nth-child(n){
        height:auto;
        min-height:0;
    }

    .hlw-partners-grid{
        height:auto;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:12px;
    }
    .hlw-partner-card,
    .hlw-partner-card:nth-child(n){
        position:relative;
        inset:auto;
        width:auto;
        min-height:300px;
        transform:none;
    }
    .hlw-partner-card:nth-child(4):hover{
        transform:translateY(-8px);
    }
}

@media (max-width:920px){
    .hlw-destinations{
        width:min(calc(100% - 64px),var(--max));
        padding-bottom:48px;
    }
    .hlw-destination-stage{
        height:auto;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:14px;
    }
    .hlw-destination-panel,
    .hlw-destination-panel:nth-child(n){
        position:relative;
        top:auto;
        height:auto;
        min-height:520px;
        margin:0;
    }
    .hlw-destination-panel:hover,
    .hlw-destination-panel.is-active{
        flex:unset;
    }

    .hlw-partners-section{
        padding-top:48px;
    }
    .hlw-partners-heading p:last-child{
        max-width:860px;
    }
    .hlw-partners-grid{
        grid-template-columns:repeat(3,1fr);
    }
    .hlw-institutional-band{
        grid-template-columns:1fr;
    }
}

@media (max-width:680px){
    .hlw-destinations{
        width:calc(100% - 30px);
        padding:100px 0 40px;
    }
    .hlw-destinations .hlw-section-heading{
        margin-bottom:62px;
    }
    .hlw-destination-stage{
        grid-template-columns:1fr;
    }
    .hlw-destination-panel,
    .hlw-destination-panel:nth-child(n){
        height:auto;
        min-height:500px;
    }
    .hlw-destination-label h3{
        font-size:3.1rem;
    }

    .hlw-partners-section{
        width:calc(100% - 30px);
        padding-top:44px;
    }
    .hlw-partners-heading p:last-child{
        max-width:100%;
    }
    .hlw-partners-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v6.2 — DIGITAL MAP CLEANUP
   ========================================================= */
.hlw-v57-status,
.hlw-v56-status,
.hlw-v55-status{
    display:none!important;
}


/* =========================================================
   v7.0 — LIVING ROUTE
   Premium editorial / cinematic art direction.
   Destinations and Partnership retain the v5.9 architecture.
   ========================================================= */

.hlw-v7{
    --v7-cyan:#27c8df;
    --v7-green:#a6cc52;
    --v7-ink:#031923;
    --v7-glass:rgba(3,28,38,.72);
    --v7-soft:#9fb5bc;
    position:relative;
    background:
        radial-gradient(circle at 12% 17%,rgba(39,200,223,.075),transparent 26%),
        radial-gradient(circle at 88% 47%,rgba(166,204,82,.055),transparent 25%),
        radial-gradient(circle at 44% 82%,rgba(39,200,223,.045),transparent 30%),
        linear-gradient(180deg,#01131c 0%,#032633 42%,#021a24 72%,#01151e 100%);
}

/* A much calmer narrative rail: no decorative step numbers. */
.hlw-v7 .hlw-v6-scene::before{
    display:none!important;
}
.hlw-v7 .hlw-journey-rail{
    right:22px;
    width:42px;
    opacity:.68;
    grid-template-rows:auto 1fr auto;
}
.hlw-v7 .hlw-journey-rail small{
    display:none;
}
.hlw-v7 .hlw-journey-rail-kicker{
    color:#73949c;
    letter-spacing:.22em;
}
.hlw-v7 .hlw-journey-rail-track{
    background:rgba(255,255,255,.10);
}
.hlw-v7 .hlw-journey-rail-progress{
    width:2px;
    left:-.5px;
    background:linear-gradient(180deg,#27c8df 0%,#68d6d5 48%,#a6cc52 100%);
    box-shadow:0 0 18px rgba(39,200,223,.3);
}
.hlw-v7 .hlw-journey-rail-dot{
    width:8px;
    height:8px;
    border-width:1.5px;
    background:#fff;
    box-shadow:
        0 0 0 5px rgba(39,200,223,.10),
        0 0 18px rgba(39,200,223,.7);
}
.hlw-v7 .hlw-journey-rail strong{
    color:#c9d9dc;
    font-size:.64rem;
}

/* ---------------------------------------------------------
   HEADER — floating premium navigation
   --------------------------------------------------------- */
.hlw-v7 .hlw-header{
    height:74px;
    top:20px;
    width:min(calc(100% - 52px),1460px);
    padding:0 20px;
    border-color:rgba(255,255,255,.11);
    border-radius:22px;
    background:
        linear-gradient(180deg,rgba(6,35,45,.52),rgba(3,24,33,.46));
    box-shadow:
        0 20px 70px rgba(0,0,0,.20),
        inset 0 1px 0 rgba(255,255,255,.035);
    backdrop-filter:blur(28px) saturate(1.22);
}
.hlw-v7 .hlw-header.is-scrolled{
    background:rgba(2,23,32,.92);
    border-color:rgba(255,255,255,.12);
    box-shadow:0 24px 80px rgba(0,0,0,.36);
}
.hlw-v7 .hlw-nav button,
.hlw-v7 .hlw-nav-map{
    position:relative;
}
.hlw-v7 .hlw-nav button::after,
.hlw-v7 .hlw-nav-map::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:4px;
    height:1px;
    background:linear-gradient(90deg,var(--v7-cyan),var(--v7-green));
    transition:right .35s cubic-bezier(.2,.7,.2,1);
}
.hlw-v7 .hlw-nav button:hover::after,
.hlw-v7 .hlw-nav-map:hover::after{
    right:0;
}

/* ---------------------------------------------------------
   HERO — editorial depth, no additional dependencies
   --------------------------------------------------------- */
.hlw-v7 .hlw-hero{
    min-height:108svh;
}
.hlw-v7 .hlw-hero::after{
    content:"";
    position:absolute;
    z-index:1;
    inset:auto 0 0;
    height:220px;
    pointer-events:none;
    background:linear-gradient(180deg,transparent,#011923 88%);
}
.hlw-v7 .hlw-hero-slide{
    filter:saturate(.92) contrast(1.06) brightness(.9);
    transform:scale(1.12);
    transition:
        opacity 1.35s cubic-bezier(.22,.72,.2,1),
        transform 8.5s cubic-bezier(.17,.67,.22,1);
    will-change:opacity,transform;
}
.hlw-v7 .hlw-hero-slide.is-active{
    transform:scale(1.025);
}
.hlw-v7 .hlw-hero-shade{
    background:
        radial-gradient(circle at 72% 42%,transparent 0 16%,rgba(2,18,26,.10) 43%,rgba(2,18,26,.25) 66%),
        linear-gradient(90deg,rgba(1,15,22,.995) 0%,rgba(1,15,22,.84) 28%,rgba(1,15,22,.27) 61%,rgba(1,15,22,.10) 100%),
        linear-gradient(0deg,rgba(1,15,22,.995) 0%,rgba(1,15,22,.04) 52%,rgba(1,15,22,.36) 100%);
}
.hlw-v7 .hlw-noise{
    opacity:.075;
}
.hlw-v7 .hlw-contours{
    width:48%;
    opacity:.12;
}
.hlw-v7 .hlw-hero-main{
    position:relative;
    z-index:3;
    padding-top:190px;
}
.hlw-v7 .hlw-hero-copy{
    max-width:1080px;
}
.hlw-v7 .hlw-hero-copy h1{
    max-width:1080px;
    font-size:clamp(4.9rem,7.35vw,9.4rem);
    line-height:.81;
    letter-spacing:-.067em;
    text-wrap:balance;
}
.hlw-v7 .hlw-hero-copy h1 em{
    color:#32c7df;
    text-shadow:0 0 45px rgba(39,200,223,.12);
}
.hlw-v7 .hlw-hero-copy h1 i{
    color:#a6cc52;
    text-shadow:0 0 45px rgba(166,204,82,.11);
}
.hlw-v7 .hlw-hero-intro{
    width:min(100%,920px);
    max-width:920px;
    margin-top:31px;
    color:#cfdee2;
    font-size:1.01rem;
    line-height:1.76;
}
.hlw-v7-hero-meta{
    margin-top:20px;
    display:flex;
    align-items:center;
    gap:12px;
    color:#9fb7be;
    font-size:.6rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.hlw-v7-hero-meta i{
    width:24px;
    height:1px;
    background:linear-gradient(90deg,var(--v7-cyan),var(--v7-green));
    opacity:.62;
}
.hlw-v7 .hlw-hero-actions{
    margin-top:29px;
}
.hlw-v7 .hlw-primary-cta,
.hlw-v7 .hlw-secondary-cta{
    border-radius:6px;
    min-height:54px;
    transition:
        transform .3s cubic-bezier(.2,.7,.2,1),
        box-shadow .3s ease,
        border-color .3s ease,
        background .3s ease;
}
.hlw-v7 .hlw-primary-cta:hover{
    transform:translateY(-3px);
    box-shadow:0 17px 42px rgba(27,184,216,.18);
}
.hlw-v7 .hlw-secondary-cta:hover{
    transform:translateY(-3px);
    background:rgba(6,42,54,.58);
}
.hlw-v7 .hlw-hero-caption{
    position:relative;
    padding:18px 0 18px 22px;
    border-left-color:rgba(255,255,255,.28);
}
.hlw-v7 .hlw-hero-caption::before{
    content:"";
    position:absolute;
    left:-1px;
    top:0;
    width:1px;
    height:32px;
    background:var(--v7-cyan);
    box-shadow:0 0 14px rgba(39,200,223,.45);
}
.hlw-v7-hero-dots{
    margin-top:17px;
    display:flex;
    gap:7px;
}
.hlw-v7-hero-dots i{
    width:18px;
    height:2px;
    border-radius:999px;
    background:rgba(255,255,255,.22);
    transition:width .35s ease,background .35s ease,box-shadow .35s ease;
}
.hlw-v7-hero-dots i.is-active{
    width:35px;
    background:linear-gradient(90deg,var(--v7-cyan),var(--v7-green));
    box-shadow:0 0 12px rgba(39,200,223,.35);
}
.hlw-v7-scroll-cue{
    position:absolute;
    z-index:20;
    left:50%;
    bottom:19px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:11px;
    color:#88a2aa;
    font-size:.52rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}
.hlw-v7-scroll-cue i{
    position:relative;
    width:1px;
    height:30px;
    overflow:hidden;
    background:rgba(255,255,255,.15);
}
.hlw-v7-scroll-cue i::after{
    content:"";
    position:absolute;
    left:0;
    top:-12px;
    width:1px;
    height:12px;
    background:#fff;
    animation:v7ScrollCue 2s ease-in-out infinite;
}
@keyframes v7ScrollCue{
    0%{transform:translateY(0);opacity:0}
    25%{opacity:1}
    75%{opacity:1}
    100%{transform:translateY(42px);opacity:0}
}

/* Route constellation: cleaner and more luxurious. */
.hlw-v7 .hlw-route-constellation{
    z-index:11;
    bottom:30px;
}
.hlw-v7 .hlw-route-glow{
    stroke-width:14;
    opacity:.62;
}
.hlw-v7 .hlw-route-path{
    stroke-width:3.2;
    stroke-dasharray:11 9;
}
.hlw-v7 .hlw-route-photo{
    width:104px;
    height:104px;
}
.hlw-v7 .hlw-route-photo img{
    border-width:2px;
    box-shadow:
        0 22px 60px rgba(0,0,0,.42),
        0 0 0 1px rgba(255,255,255,.16);
}
.hlw-v7 .hlw-route-node.is-active .hlw-route-photo::before{
    border-color:rgba(255,255,255,.62);
    box-shadow:0 0 32px rgba(39,200,223,.22);
}

/* ---------------------------------------------------------
   SECTION CONTINUITY — one journey instead of isolated blocks
   --------------------------------------------------------- */
.hlw-v7 .hlw-destinations,
.hlw-v7 .hlw-values-section,
.hlw-v7 .hlw-atlas-gateway,
.hlw-v7 .hlw-project-compact,
.hlw-v7 .hlw-calendar-section,
.hlw-v7 .hlw-partners-section{
    position:relative;
}
.hlw-v7 .hlw-destinations::before,
.hlw-v7 .hlw-values-section::before,
.hlw-v7 .hlw-calendar-section::before,
.hlw-v7 .hlw-partners-section::before{
    content:"";
    position:absolute;
    left:50%;
    top:-34px;
    width:min(74vw,1080px);
    height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(127,225,238,.13),rgba(166,204,82,.08),transparent);
}
.hlw-v7 .hlw-section-heading,
.hlw-v7 .hlw-values-heading,
.hlw-v7 .hlw-calendar-heading,
.hlw-v7 .hlw-partners-heading{
    position:relative;
    z-index:2;
}
.hlw-v7 .hlw-eyebrow{
    color:#30c4dc;
    letter-spacing:.19em;
}

/* ---------------------------------------------------------
   DESTINATIONS — preserve the v5.9 layout, refine only surface
   --------------------------------------------------------- */
.hlw-v7 .hlw-destination-panel{
    border-color:rgba(255,255,255,.105);
    box-shadow:0 24px 70px rgba(0,0,0,.13);
}
.hlw-v7 .hlw-destination-panel:hover,
.hlw-v7 .hlw-destination-panel.is-active{
    border-color:rgba(255,255,255,.22);
    box-shadow:0 32px 90px rgba(0,0,0,.24);
}
.hlw-v7 .hlw-destination-shade{
    background:
        linear-gradient(180deg,rgba(2,19,27,.02),rgba(2,19,27,.10) 43%,rgba(2,19,27,.96) 100%),
        linear-gradient(90deg,rgba(2,19,27,.11),transparent 55%);
}
.hlw-v7 .hlw-destination-label span{
    position:relative;
}
.hlw-v7 .hlw-destination-label span::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:1px;
    background:currentColor;
    transition:width .35s ease;
}
.hlw-v7 .hlw-destination-panel:hover .hlw-destination-label span::after{
    width:100%;
}

/* ---------------------------------------------------------
   EXPERIENCE — editorial magazine composition
   --------------------------------------------------------- */
.hlw-v7 .hlw-values-section{
    padding-top:92px;
    padding-bottom:118px;
}
.hlw-v7 .hlw-values-heading{
    max-width:1220px;
    margin-bottom:54px;
}
.hlw-v7 .hlw-values-heading h2{
    max-width:1180px;
    font-size:clamp(3.8rem,5.9vw,7rem);
    line-height:.88;
}
.hlw-v7 .hlw-values-heading>p:last-child{
    max-width:1000px;
    margin-top:25px;
}
.hlw-v7 .hlw-values-triptych{
    gap:14px;
    min-height:790px;
}
.hlw-v7 .hlw-value-panel{
    border-radius:30px;
    border-color:rgba(255,255,255,.11);
    box-shadow:0 38px 100px rgba(0,0,0,.20);
}
.hlw-v7 .hlw-value-panel::after{
    content:"";
    position:absolute;
    z-index:2;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.hlw-v7 .hlw-value-panel:hover{
    transform:translateY(-5px);
}
.hlw-v7 .hlw-value-content{
    position:relative;
    z-index:4;
}
.hlw-v7 .hlw-value-content h3{
    text-wrap:balance;
}

/* ---------------------------------------------------------
   DIGITAL — hero scene for the technological story
   --------------------------------------------------------- */
.hlw-v7 .hlw-atlas-gateway{
    min-height:790px;
    margin-bottom:98px;
    border-radius:34px;
    border-color:rgba(255,255,255,.12);
    box-shadow:
        0 44px 130px rgba(0,0,0,.27),
        inset 0 1px 0 rgba(255,255,255,.035);
    transform:perspective(1600px)
        rotateX(var(--v7-map-x,0deg))
        rotateY(var(--v7-map-y,0deg));
    transition:transform .22s ease-out,box-shadow .35s ease;
    transform-style:preserve-3d;
}
.hlw-v7 .hlw-atlas-gateway:hover{
    box-shadow:
        0 52px 145px rgba(0,0,0,.31),
        inset 0 1px 0 rgba(255,255,255,.045);
}
.hlw-v7 .hlw-v57-map{
    transform:scale(1.012);
}
.hlw-v7 .hlw-atlas-copy{
    left:34px;
    right:34px;
    bottom:30px;
    padding:30px 32px;
    border-radius:24px;
    border-color:rgba(255,255,255,.15);
    background:
        linear-gradient(135deg,rgba(4,39,49,.79),rgba(2,25,35,.72));
    box-shadow:
        0 28px 80px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.045);
    backdrop-filter:blur(26px) saturate(1.2);
    transform:translateZ(28px);
}
.hlw-v7 .hlw-atlas-copy h2{
    max-width:880px;
    font-size:clamp(3.2rem,4.9vw,6rem);
    line-height:.87;
}
.hlw-v7 .hlw-atlas-intro{
    max-width:1250px!important;
    font-size:.9rem;
}
.hlw-v7 .hlw-atlas-actions{
    min-width:265px;
}

/* ---------------------------------------------------------
   PROJECT — visual manifesto + animated facts
   --------------------------------------------------------- */
.hlw-v7 .hlw-project-compact{
    min-height:540px;
    border-radius:32px;
    border-color:rgba(255,255,255,.105);
    box-shadow:0 36px 100px rgba(0,0,0,.17);
}
.hlw-v7 .hlw-project-photo{
    min-height:540px;
}
.hlw-v7 .hlw-project-photo img{
    transform:scale(1.025);
    transition:transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.hlw-v7 .hlw-project-compact:hover .hlw-project-photo img{
    transform:scale(1.07);
}
.hlw-v7 .hlw-project-compact-copy{
    padding:58px 64px;
}
.hlw-v7 .hlw-project-compact-copy h2{
    max-width:850px;
    font-size:clamp(3.1rem,4.7vw,5.7rem);
    line-height:.88;
}
.hlw-v7 .hlw-project-compact-facts{
    position:relative;
    margin-top:31px;
    padding:24px 0 20px;
    border-top:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
}
.hlw-v7 .hlw-project-compact-facts span{
    position:relative;
}
.hlw-v7 .hlw-project-compact-facts span:not(:last-child)::after{
    content:"";
    position:absolute;
    right:0;
    top:12%;
    width:1px;
    height:76%;
    background:linear-gradient(180deg,transparent,rgba(255,255,255,.14),transparent);
}
.hlw-v7 .hlw-project-compact-facts b{
    display:block;
    font-size:clamp(3.2rem,4.7vw,5.1rem);
    line-height:.85;
    letter-spacing:-.06em;
}
.hlw-v7 .hlw-project-compact-facts small{
    margin-top:10px;
    display:block;
    color:#89a4ac;
    letter-spacing:.12em;
}

/* ---------------------------------------------------------
   NEWS & EVENTS — cleaner cultural editorial panel
   --------------------------------------------------------- */
.hlw-v7 .hlw-calendar-section{
    padding-top:52px;
    padding-bottom:70px;
}
.hlw-v7 .hlw-calendar-heading{
    align-items:end;
}
.hlw-v7 .hlw-calendar-heading h2{
    max-width:1000px;
    font-size:clamp(3.4rem,5vw,6rem);
}
.hlw-v7 .hlw-calendar-shell{
    overflow:hidden;
    border-radius:28px;
    border-color:rgba(255,255,255,.10);
    background:
        linear-gradient(145deg,rgba(8,48,61,.50),rgba(3,28,38,.74));
    box-shadow:0 34px 90px rgba(0,0,0,.16);
}
.hlw-v7 .hlw-mini-calendar{
    background:rgba(1,22,31,.25);
}
.hlw-v7 .hlw-calendar-day{
    transition:transform .2s ease,background .2s ease,color .2s ease;
}
.hlw-v7 .hlw-calendar-day:hover:not(.is-muted){
    transform:translateY(-2px);
    background:rgba(39,200,223,.09);
}
.hlw-v7 .hlw-calendar-item{
    border-radius:13px;
}
.hlw-v7 .hlw-calendar-item:hover{
    background:rgba(39,200,223,.075);
}

/* ---------------------------------------------------------
   PARTNERSHIP — preserve the v5.9 card architecture
   --------------------------------------------------------- */
.hlw-v7 .hlw-partners-section{
    padding-top:62px;
}
.hlw-v7 .hlw-partner-card{
    border-color:rgba(255,255,255,.095);
    background:
        radial-gradient(circle at 90% 0%,rgba(39,200,223,.09),transparent 36%),
        linear-gradient(155deg,rgba(9,50,63,.70),rgba(3,28,38,.84));
    box-shadow:0 25px 70px rgba(0,0,0,.13);
}
.hlw-v7 .hlw-partner-card:hover{
    border-color:rgba(39,200,223,.30);
    box-shadow:0 35px 90px rgba(0,0,0,.22);
}
.hlw-v7 .hlw-institutional-band{
    border-radius:21px;
    background:
        linear-gradient(90deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
}

/* ---------------------------------------------------------
   FOOTER — stronger final signature
   --------------------------------------------------------- */
.hlw-v7 .hlw-footer{
    position:relative;
    border-top-color:rgba(255,255,255,.085);
}
.hlw-v7 .hlw-footer::before{
    content:"";
    position:absolute;
    top:-1px;
    left:0;
    width:150px;
    height:1px;
    background:linear-gradient(90deg,var(--v7-cyan),var(--v7-green),transparent);
}

/* ---------------------------------------------------------
   REVEAL: slightly more sophisticated, still accessible
   --------------------------------------------------------- */
.hlw-v7 [data-reveal]{
    transform:translateY(24px) scale(.992);
    filter:blur(2px);
    transition:
        opacity .92s cubic-bezier(.2,.7,.2,1),
        transform .92s cubic-bezier(.2,.7,.2,1),
        filter .92s ease;
}
.hlw-v7 [data-reveal].is-visible{
    transform:none;
    filter:none;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */
@media (max-width:1180px){
    .hlw-v7 .hlw-header{
        width:min(calc(100% - 36px),1460px);
    }
    .hlw-v7 .hlw-atlas-gateway{
        transform:none!important;
    }
    .hlw-v7 .hlw-atlas-copy{
        transform:none;
    }
}
@media (max-width:920px){
    .hlw-v7 .hlw-hero-copy h1{
        font-size:clamp(4.2rem,10vw,7rem);
    }
    .hlw-v7 .hlw-v7-hero-meta{
        flex-wrap:wrap;
    }
    .hlw-v7 .hlw-project-compact-copy{
        padding:44px 38px;
    }
}
@media (max-width:680px){
    .hlw-v7 .hlw-header{
        top:10px;
        width:calc(100% - 20px);
        border-radius:17px;
    }
    .hlw-v7 .hlw-hero-main{
        padding-top:145px;
    }
    .hlw-v7 .hlw-hero-copy h1{
        font-size:clamp(3.55rem,16vw,5.3rem);
        line-height:.84;
    }
    .hlw-v7 .hlw-hero-intro{
        font-size:.92rem;
    }
    .hlw-v7-hero-meta{
        gap:8px;
        font-size:.52rem;
    }
    .hlw-v7-scroll-cue{
        display:none;
    }
    .hlw-v7 .hlw-atlas-copy{
        left:16px;
        right:16px;
        bottom:16px;
        padding:20px;
    }
    .hlw-v7 .hlw-project-compact-copy{
        padding:34px 24px;
    }
    .hlw-v7 .hlw-project-compact-facts span:not(:last-child)::after{
        display:none;
    }
}
@media (prefers-reduced-motion:reduce){
    .hlw-v7-scroll-cue i::after{
        animation:none!important;
    }
    .hlw-v7 .hlw-atlas-gateway{
        transform:none!important;
    }
    .hlw-v7 [data-reveal]{
        filter:none!important;
    }
}

.hlw-v7 .hlw-header.is-v7-traveling{
    transform:translateX(-50%) translateY(-5px);
    opacity:.93;
}


/* ============================================================
   v7.1 — EXPERIENCE CONTINUUM
   Replaces the previous People & Places triptych with one
   integrated cinematic landscape.
   ============================================================ */

.hlw-v7 .hlw-v71-experience{
    width:min(calc(100% - 64px),var(--max));
    margin:0 auto;
    padding:78px 0 110px;
}

.hlw-v7 .hlw-v71-experience::before{
    top:-18px;
}

.hlw-v71-experience-shell{
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.105);
    border-radius:38px;
    background:
        radial-gradient(circle at 14% 8%,rgba(39,200,223,.10),transparent 27%),
        radial-gradient(circle at 91% 15%,rgba(166,204,82,.075),transparent 25%),
        linear-gradient(145deg,rgba(8,47,60,.58),rgba(2,25,34,.93) 57%,rgba(2,21,30,.98));
    box-shadow:
        0 46px 130px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.035);
}

.hlw-v71-experience-shell::before{
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,transparent,rgba(255,255,255,.025),transparent 64%),
        radial-gradient(circle at 50% 0%,rgba(255,255,255,.04),transparent 35%);
}

.hlw-v71-experience-lead{
    position:relative;
    z-index:3;
    min-height:280px;
    padding:58px 64px 50px;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
    gap:70px;
    align-items:end;
}

.hlw-v71-experience-lead h2{
    max-width:980px;
    margin:10px 0 0;
    color:#fff;
    font:500 clamp(3.9rem,5.6vw,6.9rem)/.86 Georgia,"Times New Roman",serif;
    letter-spacing:-.058em;
    text-wrap:balance;
}

.hlw-v71-experience-lead h2 span{
    display:block;
    color:#93aab2;
}

.hlw-v71-experience-intro{
    max-width:610px;
    margin:0 0 8px;
    color:#a9bdc3;
    font-size:.96rem;
    line-height:1.76;
}

.hlw-v71-experience-stage{
    position:relative;
    isolation:isolate;
    height:680px;
    display:flex;
    overflow:hidden;
    margin:0;
    border-top:1px solid rgba(255,255,255,.075);
    background:#031923;
}

.hlw-v71-experience-stage::before{
    content:"";
    position:absolute;
    z-index:8;
    inset:0;
    pointer-events:none;
    box-shadow:
        inset 0 55px 75px rgba(1,18,26,.34),
        inset 0 -90px 130px rgba(1,18,26,.45);
}

.hlw-v71-experience-stage::after{
    content:"";
    position:absolute;
    z-index:9;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,
            rgba(2,20,28,.14) 0%,
            transparent 15%,
            transparent 83%,
            rgba(2,20,28,.12) 100%);
}

.hlw-v71-experience-panel{
    position:relative;
    z-index:2;
    flex:1 1 0;
    min-width:0;
    overflow:hidden;
    color:#fff;
    text-decoration:none;
    background:#092833;
    transition:
        flex .9s cubic-bezier(.16,.75,.2,1),
        filter .55s ease;
}

.hlw-v71-experience-panel + .hlw-v71-experience-panel{
    border-left:1px solid rgba(255,255,255,.10);
}

.hlw-v71-experience-panel::before{
    content:"";
    position:absolute;
    z-index:5;
    top:0;
    bottom:0;
    left:0;
    width:1px;
    opacity:.0;
    background:linear-gradient(180deg,transparent,#fff,transparent);
    transition:opacity .4s ease;
}

.hlw-v71-experience-panel:hover,
.hlw-v71-experience-panel:focus-visible{
    flex:1.42 1 0;
    filter:saturate(1.06);
}

.hlw-v71-experience-panel:hover::before,
.hlw-v71-experience-panel:focus-visible::before{
    opacity:.26;
}

.hlw-v71-experience-panel img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.90) contrast(1.04);
    transform:scale(1.045);
    transition:
        transform 1.35s cubic-bezier(.17,.72,.2,1),
        filter .55s ease;
}

.hlw-v71-experience-panel:hover img,
.hlw-v71-experience-panel:focus-visible img{
    transform:scale(1.095);
    filter:saturate(1.04) contrast(1.04);
}

.hlw-v71-shared img{
    object-position:54% 55%;
}

.hlw-v71-sustainable img{
    object-position:52% 48%;
}

.hlw-v71-access img{
    object-position:50% 50%;
}

.hlw-v71-panel-shade{
    position:absolute;
    z-index:3;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(2,18,25,.10) 0%,rgba(2,18,25,.02) 34%,rgba(2,18,25,.76) 79%,rgba(2,18,25,.97) 100%),
        linear-gradient(90deg,rgba(2,18,25,.47),transparent 65%);
}

.hlw-v71-sustainable .hlw-v71-panel-shade{
    background:
        linear-gradient(180deg,rgba(2,18,25,.09) 0%,rgba(2,18,25,.02) 36%,rgba(2,18,25,.75) 80%,rgba(2,18,25,.97) 100%),
        linear-gradient(90deg,rgba(22,42,28,.36),transparent 68%);
}

.hlw-v71-access .hlw-v71-panel-shade{
    background:
        linear-gradient(180deg,rgba(2,18,25,.08) 0%,rgba(2,18,25,.01) 36%,rgba(2,18,25,.77) 80%,rgba(2,18,25,.97) 100%),
        linear-gradient(90deg,rgba(32,28,18,.30),transparent 70%);
}

.hlw-v71-panel-index{
    position:absolute;
    z-index:12;
    top:32px;
    left:32px;
}

.hlw-v71-panel-index span{
    display:inline-flex;
    min-height:27px;
    padding:0 10px;
    align-items:center;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(2,22,31,.35);
    color:#cceff4;
    font-size:.47rem;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
    backdrop-filter:blur(10px);
}

.hlw-v71-sustainable .hlw-v71-panel-index span{
    color:#d5e8a7;
}

.hlw-v71-access .hlw-v71-panel-index span{
    color:#f2d8a0;
}

.hlw-v71-panel-copy{
    position:absolute;
    z-index:13;
    left:clamp(28px,3vw,48px);
    right:clamp(26px,3vw,46px);
    bottom:38px;
    max-width:560px;
    transform:translateY(0);
    transition:transform .5s cubic-bezier(.2,.7,.2,1);
}

.hlw-v71-experience-panel:hover .hlw-v71-panel-copy,
.hlw-v71-experience-panel:focus-visible .hlw-v71-panel-copy{
    transform:translateY(-8px);
}

.hlw-v71-panel-kicker{
    color:#61d0e0;
    font-size:.57rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.hlw-v71-sustainable .hlw-v71-panel-kicker{
    color:#b5d767;
}

.hlw-v71-access .hlw-v71-panel-kicker{
    color:#efc777;
}

.hlw-v71-panel-copy h3{
    max-width:510px;
    margin:10px 0 0;
    color:#fff;
    font:500 clamp(2.25rem,3vw,3.9rem)/.94 Georgia,"Times New Roman",serif;
    letter-spacing:-.045em;
    text-wrap:balance;
    text-shadow:0 6px 26px rgba(0,0,0,.42);
}

.hlw-v71-panel-copy p{
    max-width:500px;
    margin:16px 0 0;
    color:#c3d2d6;
    font-size:.82rem;
    line-height:1.68;
    opacity:.94;
}

.hlw-v71-panel-copy b{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:20px;
    color:#fff;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.085em;
    text-transform:uppercase;
}

.hlw-v71-panel-copy b::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-7px;
    height:1px;
    background:linear-gradient(90deg,#27c8df,#a6cc52);
    transition:right .4s ease;
}

.hlw-v71-experience-panel:hover .hlw-v71-panel-copy b::after,
.hlw-v71-experience-panel:focus-visible .hlw-v71-panel-copy b::after{
    right:0;
}

.hlw-v71-panel-copy b i{
    font-style:normal;
    transition:transform .3s ease;
}

.hlw-v71-experience-panel:hover .hlw-v71-panel-copy b i,
.hlw-v71-experience-panel:focus-visible .hlw-v71-panel-copy b i{
    transform:translate(3px,-3px);
}

/* One line crosses all three themes and visually binds the composition. */
.hlw-v71-route-layer{
    position:absolute;
    z-index:10;
    inset:0;
    pointer-events:none;
    mix-blend-mode:screen;
}

.hlw-v71-route-layer svg{
    width:100%;
    height:100%;
}

.hlw-v71-route-glow{
    fill:none;
    stroke:rgba(62,215,229,.20);
    stroke-width:24;
    filter:url(#hlwV71ExperienceGlow);
}

.hlw-v71-route-main{
    fill:none;
    stroke:url(#hlwV71ExperienceRoute);
    stroke-width:3;
    stroke-linecap:round;
    stroke-dasharray:11 10;
    opacity:.94;
    animation:hlwV71RouteFlow 7s linear infinite;
}

@keyframes hlwV71RouteFlow{
    to{stroke-dashoffset:-126}
}

.hlw-v71-route-packet{
    fill:#fff;
    stroke:#27c8df;
    stroke-width:2;
    filter:drop-shadow(0 0 9px rgba(39,200,223,.95));
}

.hlw-v71-route-packet-alt{
    fill:#c7e780;
    stroke:#a6cc52;
    filter:drop-shadow(0 0 9px rgba(166,204,82,.95));
}

.hlw-v71-route-node>circle:first-child{
    fill:#fff;
    stroke:#27c8df;
    stroke-width:4;
    filter:drop-shadow(0 0 10px rgba(39,200,223,.95));
}

.hlw-v71-route-node.sustainable>circle:first-child{
    stroke:#a6cc52;
    filter:drop-shadow(0 0 10px rgba(166,204,82,.95));
}

.hlw-v71-route-node.access>circle:first-child{
    stroke:#efc777;
    filter:drop-shadow(0 0 10px rgba(239,199,119,.85));
}

.hlw-v71-route-node .pulse{
    fill:none;
    stroke:#27c8df;
    stroke-width:2;
    opacity:.0;
    transform-box:fill-box;
    transform-origin:center;
    animation:hlwV71NodePulse 3s ease-out infinite;
}

.hlw-v71-route-node.sustainable .pulse{
    stroke:#a6cc52;
    animation-delay:-1s;
}

.hlw-v71-route-node.access .pulse{
    stroke:#efc777;
    animation-delay:-2s;
}

@keyframes hlwV71NodePulse{
    0%{transform:scale(.4);opacity:.8}
    72%{transform:scale(1.7);opacity:0}
    100%{transform:scale(1.7);opacity:0}
}

.hlw-v71-experience-caption{
    position:absolute;
    z-index:14;
    right:24px;
    bottom:18px;
    display:flex;
    align-items:center;
    gap:10px;
    pointer-events:none;
    color:rgba(224,239,241,.58);
    font-size:.43rem;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.hlw-v71-experience-caption i{
    width:32px;
    height:1px;
    background:linear-gradient(90deg,#27c8df,#a6cc52);
    opacity:.55;
}

/* Smooth visual bridge to the Digital section below. */
.hlw-v7 .hlw-v71-experience + .hlw-atlas-gateway{
    margin-top:-28px;
}

.hlw-v7 .hlw-v71-experience + .hlw-atlas-gateway::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:12%;
    right:12%;
    top:-70px;
    height:150px;
    background:radial-gradient(ellipse at center,rgba(39,200,223,.07),transparent 67%);
    pointer-events:none;
}

/* Existing old triptych rules are not used in the v7.1 markup. */
.hlw-v71-experience .hlw-values-triptych{
    display:none!important;
}

/* Tablet */
@media (max-width:1080px){
    .hlw-v71-experience-lead{
        grid-template-columns:1fr;
        gap:24px;
        padding:50px 46px 42px;
    }

    .hlw-v71-experience-intro{
        max-width:850px;
    }

    .hlw-v71-experience-stage{
        height:760px;
    }

    .hlw-v71-panel-copy h3{
        font-size:clamp(2rem,3.5vw,3rem);
    }

    .hlw-v71-panel-copy p{
        font-size:.76rem;
    }
}

/* Mobile / narrow tablet: preserve the story, remove risky expanding interaction. */
@media (max-width:820px){
    .hlw-v7 .hlw-v71-experience{
        width:calc(100% - 30px);
        padding:52px 0 76px;
    }

    .hlw-v71-experience-shell{
        border-radius:26px;
    }

    .hlw-v71-experience-lead{
        min-height:0;
        padding:38px 26px 34px;
    }

    .hlw-v71-experience-lead h2{
        font-size:clamp(3rem,11vw,4.8rem);
    }

    .hlw-v71-experience-stage{
        height:auto;
        display:grid;
        grid-template-columns:1fr;
    }

    .hlw-v71-experience-panel,
    .hlw-v71-experience-panel:hover,
    .hlw-v71-experience-panel:focus-visible{
        min-height:500px;
        flex:none;
        border-left:0;
        border-top:1px solid rgba(255,255,255,.09);
    }

    .hlw-v71-experience-panel:first-of-type{
        border-top:0;
    }

    .hlw-v71-route-layer,
    .hlw-v71-experience-caption{
        display:none;
    }

    .hlw-v71-panel-copy{
        left:25px;
        right:25px;
        bottom:28px;
    }

    .hlw-v71-panel-copy h3{
        font-size:clamp(2.8rem,10vw,4.5rem);
    }

    .hlw-v71-panel-copy p{
        max-width:620px;
        font-size:.88rem;
    }

    .hlw-v71-panel-index{
        left:25px;
        top:25px;
    }

    .hlw-v7 .hlw-v71-experience + .hlw-atlas-gateway{
        margin-top:0;
    }
}

@media (prefers-reduced-motion:reduce){
    .hlw-v71-route-main,
    .hlw-v71-route-node .pulse{
        animation:none!important;
    }

    .hlw-v71-experience-panel,
    .hlw-v71-experience-panel img,
    .hlw-v71-panel-copy{
        transition:none!important;
    }
}


/* ============================================================
   v7.2 — EXPERIENCE CONTINUUM CLEANUP
   Animated continuous route removed from People & Places.
   ============================================================ */
.hlw-v71-route-layer,
.hlw-v71-route-glow,
.hlw-v71-route-main,
.hlw-v71-route-packet,
.hlw-v71-route-node{
    display:none!important;
}


/* =========================================================
   v7.2.1 — HERO ROUTE INTERACTION FIX
   ========================================================= */

/* Decorative route must never intercept pointer interaction. */
.hlw-route-svg{
    pointer-events:none!important;
}

/* Route nodes are now real links, visually identical to old buttons. */
a.hlw-route-node{
    text-decoration:none!important;
    -webkit-tap-highlight-color:transparent;
}

/* Remove the browser/theme rectangular focus box shown after mouse click. */
.hlw-route-node:focus,
.hlw-route-node:active{
    outline:none!important;
    box-shadow:none!important;
}

/* Keyboard users retain a clean circular focus state instead of a rectangle. */
.hlw-route-node:focus-visible{
    outline:none!important;
    box-shadow:none!important;
}
.hlw-route-node:focus-visible .hlw-route-photo::after{
    inset:-19px;
    opacity:.78;
    border-color:rgba(255,255,255,.82);
    box-shadow:
        0 0 0 3px rgba(39,200,223,.12),
        0 0 30px rgba(39,200,223,.30);
}

/* Keep all decorative children inside the link from changing hit behaviour. */
.hlw-route-node .hlw-route-photo::before,
.hlw-route-node .hlw-route-photo::after,
.hlw-route-node .hlw-route-copy{
    pointer-events:none;
}

/* =========================================================
   v7.3.1 — MANAGED NEWS & EVENTS POPUP
   ========================================================= */
body.hlw-modal-open{
    overflow:hidden!important;
}

.hlw-calendar-data{
    display:none!important;
}

.hlw-v7 button.hlw-calendar-day{
    margin:0;
    padding:0;
    border:1px solid transparent;
    appearance:none;
    -webkit-appearance:none;
    background:transparent;
    font:inherit;
    cursor:default;
}

.hlw-v7 button.hlw-calendar-day.has-item{
    cursor:pointer;
}

.hlw-v7 button.hlw-calendar-day:disabled{
    opacity:1;
}

.hlw-v7 button.hlw-calendar-day.has-item:focus-visible{
    outline:2px solid rgba(127,225,238,.88);
    outline-offset:2px;
}

.hlw-v7 button.hlw-calendar-item{
    width:100%;
    margin:0;
    padding:13px 10px;
    border:0;
    appearance:none;
    -webkit-appearance:none;
    background:transparent;
    color:#fff;
    text-align:left;
    font:inherit;
    cursor:pointer;
}

.hlw-v7 button.hlw-calendar-item:focus-visible{
    outline:2px solid rgba(127,225,238,.72);
    outline-offset:-2px;
}

.hlw-news-modal[hidden]{
    display:none!important;
}

.hlw-news-modal{
    position:fixed;
    z-index:10000;
    inset:0;
    padding:clamp(32px,5vw,64px);
    display:grid;
    place-items:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .24s ease;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.hlw-news-modal.is-open{
    opacity:1;
    pointer-events:auto;
}

.hlw-news-modal-backdrop{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 76% 18%,rgba(27,184,216,.15),transparent 30%),
        rgba(0,12,18,.82);
    backdrop-filter:blur(14px) saturate(1.12);
    cursor:zoom-out;
}

.hlw-news-modal-dialog{
    position:relative;
    z-index:1;
    width:min(1060px,100%);
    max-height:min(760px,calc(100svh - clamp(64px,10vw,128px)));
    overflow:hidden;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    border:1px solid rgba(255,255,255,.15);
    border-radius:26px;
    background:
        radial-gradient(circle at 92% 5%,rgba(39,200,223,.10),transparent 30%),
        linear-gradient(145deg,rgba(7,45,58,.985),rgba(2,24,33,.995));
    color:#fff;
    box-shadow:0 46px 140px rgba(0,0,0,.62);
    transform:translateY(22px) scale(.985);
    transition:transform .3s cubic-bezier(.2,.75,.2,1);
    outline:none;
}

.hlw-news-modal.is-open .hlw-news-modal-dialog{
    transform:none;
}

.hlw-news-modal-close{
    position:absolute;
    z-index:10;
    top:15px;
    right:15px;
    width:42px;
    height:42px;
    padding:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.19);
    border-radius:50%;
    background:rgba(2,24,33,.72);
    color:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.24);
    backdrop-filter:blur(12px);
    cursor:pointer;
    transition:background .2s ease,transform .2s ease,border-color .2s ease;
}

.hlw-news-modal-close span{
    transform:translateY(-1px);
    font-size:1.75rem;
    font-weight:300;
    line-height:1;
}

.hlw-news-modal-close:hover,
.hlw-news-modal-close:focus-visible{
    transform:rotate(5deg);
    border-color:rgba(127,225,238,.58);
    background:rgba(10,70,84,.92);
    outline:none;
}

.hlw-news-modal-picker{
    min-width:0;
    padding:18px 76px 16px 22px;
    border-bottom:1px solid rgba(255,255,255,.10);
    background:rgba(1,20,28,.48);
}

.hlw-news-modal-picker-head{
    margin-bottom:11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.hlw-news-modal-picker-head span{
    color:#dcebed;
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.hlw-news-modal-picker-head small{
    color:#708f98;
    font-size:.6rem;
}

.hlw-news-modal-picker-list{
    display:flex;
    gap:9px;
    overflow-x:auto;
    padding-bottom:3px;
    scrollbar-width:thin;
}

.hlw-news-modal-picker-item{
    flex:0 0 min(270px,72vw);
    min-width:0;
    margin:0;
    padding:7px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:13px;
    background:rgba(255,255,255,.035);
    color:#fff;
    text-align:left;
    cursor:pointer;
    transition:border-color .2s ease,background .2s ease,transform .2s ease;
}

.hlw-news-modal-picker-item:hover,
.hlw-news-modal-picker-item.is-active{
    transform:translateY(-1px);
    border-color:rgba(39,200,223,.42);
    background:rgba(39,200,223,.10);
}

.hlw-news-modal-picker-item:focus-visible{
    outline:2px solid rgba(127,225,238,.82);
    outline-offset:2px;
}

.hlw-news-modal-picker-item img{
    width:54px;
    height:48px;
    display:block;
    object-fit:cover;
    border-radius:9px;
}

.hlw-news-modal-picker-item>span{
    min-width:0;
    display:grid;
    gap:4px;
}

.hlw-news-modal-picker-item small{
    color:#72d2df;
    font-size:.48rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.hlw-news-modal-picker-item strong{
    overflow:hidden;
    color:#fff;
    font:500 .82rem/1.2 Georgia,"Times New Roman",serif;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.hlw-news-modal-detail{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(300px,40%) minmax(0,1fr);
}

.hlw-news-modal-visual{
    position:relative;
    min-height:500px;
    overflow:hidden;
    background:#071f28;
}

.hlw-news-modal-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transform:scale(1.005);
}

.hlw-news-modal-image-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(2,18,25,.08),rgba(2,18,25,.12) 48%,rgba(2,18,25,.88) 100%),
        linear-gradient(90deg,transparent 65%,rgba(2,24,33,.18));
}

.hlw-news-modal-type{
    position:absolute;
    left:20px;
    bottom:20px;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;
    background:rgba(2,24,33,.68);
    color:#8fe1eb;
    font-size:.57rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
    backdrop-filter:blur(13px);
}

.hlw-news-modal-type[data-kind="event"]{
    color:#d4e99b;
    border-color:rgba(197,219,114,.34);
}

.hlw-news-modal-content{
    min-width:0;
    overflow-y:auto;
    padding:clamp(28px,4vw,48px) clamp(24px,4vw,50px) 32px;
    overscroll-behavior:contain;
}

.hlw-news-modal-topline{
    min-height:20px;
    padding-right:36px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px 18px;
    color:#7bd2df;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.hlw-news-modal-categories{
    color:#91aab1;
}

.hlw-news-modal-content h2{
    max-width:760px;
    margin:14px 0 0;
    color:#fff;
    font:500 clamp(1.9rem,3.1vw,3.25rem)/.98 Georgia,"Times New Roman",serif;
    letter-spacing:-.045em;
}

.hlw-news-modal-summary{
    max-width:720px;
    margin:16px 0 0;
    color:#b6cbd0;
    font-size:clamp(.86rem,1.05vw,.98rem);
    line-height:1.6;
}

.hlw-news-modal-meta{
    margin:17px 0 0;
    padding:0 0 16px;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:8px 24px;
    overflow:visible;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.10);
    border-radius:0;
    background:transparent;
}

.hlw-news-modal-meta>div{
    min-width:0;
    padding:0;
    display:flex;
    align-items:baseline;
    gap:7px;
    background:transparent;
}

.hlw-news-modal-meta dt{
    margin:0;
    color:#6fc9d7;
    font-size:.49rem;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
    white-space:nowrap;
}

.hlw-news-modal-meta dd{
    margin:0;
    color:#c8d9dd;
    font-size:.74rem;
    line-height:1.45;
}

.hlw-news-modal-body{
    max-width:760px;
    margin-top:18px;
    padding-top:0;
    border-top:0;
    color:#b8cbd0;
    font-size:.86rem;
    line-height:1.65;
}

.hlw-news-modal-body>*:first-child{margin-top:0!important}
.hlw-news-modal-body>*:last-child{margin-bottom:0!important}
.hlw-news-modal-body h1,
.hlw-news-modal-body h2,
.hlw-news-modal-body h3,
.hlw-news-modal-body h4{
    margin:1.5em 0 .55em;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:500;
    line-height:1.12;
}
.hlw-news-modal-body h2{font-size:1.8rem;letter-spacing:-.025em}
.hlw-news-modal-body h3{font-size:1.35rem}
.hlw-news-modal-summary,
.hlw-news-modal-body p,
.hlw-news-modal-body li{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
}
.hlw-news-modal-body p{margin:0 0 1.05em}
.hlw-news-modal-body a{color:#83dce7;text-decoration:underline;text-underline-offset:3px}
.hlw-news-modal-body img,
.hlw-news-modal-body video,
.hlw-news-modal-body iframe,
.hlw-news-modal-body figure{
    max-width:100%!important;
}
.hlw-news-modal-body img,
.hlw-news-modal-body video{
    height:auto;
    border-radius:15px;
}
.hlw-news-modal-body blockquote{
    margin:1.4em 0;
    padding:5px 0 5px 20px;
    border-left:2px solid var(--cyan);
    color:#dce9eb;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.1rem;
}

.hlw-news-modal-actions{
    margin-top:24px;
    padding-top:20px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    border-top:1px solid rgba(255,255,255,.10);
}

.hlw-news-modal-primary,
.hlw-news-modal-secondary{
    min-height:42px;
    padding:0 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    border-radius:999px;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
}

.hlw-news-modal-primary{
    border:1px solid rgba(127,225,238,.40);
    background:linear-gradient(135deg,rgba(27,184,216,.22),rgba(27,184,216,.09));
    color:#dffbff;
}

.hlw-news-modal-primary:hover{
    border-color:rgba(127,225,238,.78);
    background:linear-gradient(135deg,rgba(27,184,216,.34),rgba(27,184,216,.15));
}

.hlw-news-modal-secondary{
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.035);
    color:#a9bdc2;
}

.hlw-news-modal-secondary:hover{
    border-color:rgba(255,255,255,.24);
    color:#fff;
}

.hlw-news-modal-primary:focus-visible,
.hlw-news-modal-secondary:focus-visible{
    outline:2px solid rgba(127,225,238,.82);
    outline-offset:3px;
}

@media (max-width:900px){
    .hlw-news-modal{
        padding:12px;
    }
    .hlw-news-modal-dialog{
        max-height:calc(100svh - 24px);
        overflow-y:auto;
        display:block;
        border-radius:23px;
    }
    .hlw-news-modal-picker{
        position:sticky;
        z-index:5;
        top:0;
        padding:14px 68px 13px 14px;
        backdrop-filter:blur(18px);
    }
    .hlw-news-modal-picker-head small{
        display:none;
    }
    .hlw-news-modal-detail{
        display:block;
    }
    .hlw-news-modal-visual{
        min-height:clamp(220px,38vh,340px);
    }
    .hlw-news-modal-content{
        overflow:visible;
        padding:26px 22px 28px;
    }
    .hlw-news-modal-content h2{
        font-size:clamp(1.9rem,8vw,3rem);
    }
}

@media (max-width:560px){
    .hlw-news-modal-close{
        top:12px;
        right:12px;
        width:42px;
        height:42px;
    }
    .hlw-news-modal-picker-head{
        margin-bottom:8px;
    }
    .hlw-news-modal-picker-item{
        flex-basis:230px;
    }
    .hlw-news-modal-visual{
        min-height:210px;
    }
    .hlw-news-modal-type{
        left:17px;
        bottom:17px;
    }
    .hlw-news-modal-content{
        padding:24px 18px 26px;
    }
    .hlw-news-modal-topline{
        padding-right:0;
    }
    .hlw-news-modal-meta{
        align-items:flex-start;
        gap:8px 18px;
    }
    .hlw-news-modal-actions{
        display:grid;
    }
    .hlw-news-modal-primary,
    .hlw-news-modal-secondary{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    .hlw-news-modal,
    .hlw-news-modal-dialog,
    .hlw-news-modal-picker-item,
    .hlw-news-modal-close{
        transition:none!important;
    }
}

/* =========================================================
   v7.3.2 — LOCALITY-COLOURED NEWS & EVENTS
   ========================================================= */
.hlw-v7{
    --hlw-corfu:#27c8df;
    --hlw-zagori:#a6cc52;
    --hlw-matera:#efc777;
    --hlw-aspromonte:#df806e;
}

/* Elegant locality wash for Latest / Upcoming rows. */
.hlw-v7 button.hlw-calendar-item.has-locality{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    margin:4px 0;
    padding:13px 14px;
    border:1px solid rgba(var(--hlw-locality-rgb),.16);
    border-radius:15px;
    background:
        linear-gradient(90deg,
            rgba(var(--hlw-locality-rgb),.16) 0%,
            rgba(var(--hlw-locality-rgb),.075) 33%,
            rgba(var(--hlw-locality-rgb),.018) 72%,
            transparent 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.018),
        0 12px 32px rgba(0,0,0,.035);
    transition:
        transform .28s cubic-bezier(.2,.7,.2,1),
        border-color .28s ease,
        background .28s ease,
        box-shadow .28s ease;
}
.hlw-v7 button.hlw-calendar-item.has-locality::before{
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    top:11px;
    bottom:11px;
    width:2px;
    border-radius:999px;
    background:var(--hlw-locality-color);
    box-shadow:0 0 16px rgba(var(--hlw-locality-rgb),.48);
}
.hlw-v7 button.hlw-calendar-item.has-locality::after{
    content:"";
    position:absolute;
    z-index:0;
    inset:-42% 28% -55% -8%;
    pointer-events:none;
    border-radius:50%;
    background:radial-gradient(circle,rgba(var(--hlw-locality-rgb),.13),transparent 68%);
    opacity:.72;
    transition:transform .45s ease,opacity .3s ease;
}
.hlw-v7 button.hlw-calendar-item.has-locality>*{
    position:relative;
    z-index:1;
}
.hlw-v7 button.hlw-calendar-item.has-locality:hover{
    transform:translateX(3px);
    border-color:rgba(var(--hlw-locality-rgb),.34);
    background:
        linear-gradient(90deg,
            rgba(var(--hlw-locality-rgb),.23) 0%,
            rgba(var(--hlw-locality-rgb),.105) 36%,
            rgba(var(--hlw-locality-rgb),.026) 74%,
            transparent 100%);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.028),
        0 16px 38px rgba(0,0,0,.08);
}
.hlw-v7 button.hlw-calendar-item.has-locality:hover::after{
    transform:translateX(9%);
    opacity:1;
}
.hlw-v7 .hlw-calendar-item.has-locality .hlw-calendar-date{
    border-color:rgba(var(--hlw-locality-rgb),.34);
    background:rgba(var(--hlw-locality-rgb),.075);
    box-shadow:inset 0 0 0 1px rgba(var(--hlw-locality-rgb),.025);
}
.hlw-v7 .hlw-calendar-item.has-locality .hlw-calendar-date small{
    color:var(--hlw-locality-color);
}
.hlw-v7 .hlw-calendar-item-copy>small{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
}
.hlw-v7 .hlw-calendar-item-copy>small span{
    color:#78cbd9;
}
.hlw-v7 .hlw-calendar-item-copy>small i{
    width:3px;
    height:3px;
    flex:0 0 auto;
    border-radius:50%;
    background:var(--hlw-locality-color,#78cbd9);
    box-shadow:0 0 8px rgba(var(--hlw-locality-rgb,120,203,217),.52);
}
.hlw-v7 .hlw-calendar-item-copy>small b{
    color:var(--hlw-locality-color,#78cbd9);
    font:inherit;
    letter-spacing:inherit;
}
.hlw-v7 .hlw-calendar-item.has-locality>i{
    color:var(--hlw-locality-color);
}

/* Legend aligned with and centred under the Latest / Upcoming panel. */
.hlw-calendar-legend-row{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    gap:14px;
    margin-top:13px;
}
.hlw-locality-legend{
    justify-self:center;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px 18px;
    min-height:32px;
    padding:6px 18px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:999px;
    background:rgba(3,28,38,.34);
    box-shadow:0 12px 34px rgba(0,0,0,.08);
    backdrop-filter:blur(12px);
}
.hlw-locality-legend-item{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#9fb4ba;
    font-size:.49rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    white-space:nowrap;
}
.hlw-locality-legend-item i{
    position:relative;
    width:14px;
    height:14px;
    flex:0 0 14px;
    border:1.5px solid var(--hlw-locality-color);
    border-radius:48% 55% 46% 53% / 55% 47% 56% 45%;
    transform:rotate(-8deg);
    box-shadow:0 0 9px rgba(var(--hlw-locality-rgb),.26);
}
.hlw-locality-legend-item i::after{
    content:"";
    position:absolute;
    inset:1px -2px -1px 1px;
    border-top:1px solid rgba(var(--hlw-locality-rgb),.55);
    border-right:1px solid rgba(var(--hlw-locality-rgb),.34);
    border-radius:55% 45% 52% 48%;
    transform:rotate(13deg);
}
.hlw-locality-legend-item b{
    color:inherit;
    font:inherit;
}

/* Hand-drawn locality ring around active calendar dates. */
.hlw-v7 button.hlw-calendar-day.has-locality{
    background:radial-gradient(circle,rgba(var(--hlw-locality-rgb),.055),transparent 67%);
    color:#f6fbfc;
    font-weight:800;
}
.hlw-v7 button.hlw-calendar-day.has-locality::before{
    content:"";
    position:absolute;
    inset:4px 5px 5px 4px;
    pointer-events:none;
    border:1.7px solid var(--hlw-locality-color);
    border-radius:47% 56% 44% 54% / 56% 45% 57% 44%;
    transform:rotate(-7deg);
    opacity:.92;
    box-shadow:
        0 0 9px rgba(var(--hlw-locality-rgb),.18),
        inset 0 0 5px rgba(var(--hlw-locality-rgb),.045);
}
.hlw-v7 button.hlw-calendar-day.has-locality::after{
    content:"";
    position:absolute;
    inset:6px 3px 4px 7px;
    width:auto;
    height:auto;
    bottom:auto;
    pointer-events:none;
    border:1px solid transparent;
    border-top-color:rgba(var(--hlw-locality-rgb-2),.72);
    border-right-color:rgba(var(--hlw-locality-rgb-2),.48);
    border-radius:56% 45% 54% 46% / 45% 57% 43% 56%;
    background:none;
    transform:rotate(10deg);
    opacity:.66;
}
.hlw-v7 button.hlw-calendar-day.has-multiple-localities::after{
    border-top-width:2px;
    border-right-width:1.5px;
    opacity:.92;
}
.hlw-v7 button.hlw-calendar-day.has-locality:hover{
    background:radial-gradient(circle,rgba(var(--hlw-locality-rgb),.13),transparent 70%);
}
.hlw-v7 button.hlw-calendar-day.has-locality:focus-visible{
    outline-color:rgba(var(--hlw-locality-rgb),.92);
}

@media (max-width:920px){
    .hlw-calendar-legend-row{
        grid-template-columns:1fr;
    }
    .hlw-calendar-legend-row>span{
        display:none;
    }
}

@media (max-width:680px){
    .hlw-locality-legend{
        width:100%;
        padding:9px 12px;
        gap:8px 13px;
        border-radius:17px;
    }
    .hlw-locality-legend-item{
        font-size:.46rem;
    }
    .hlw-v7 button.hlw-calendar-item.has-locality{
        padding:12px 10px;
    }
}

/* =========================================================
   v7.4.2 — SEPARATE NEWS / EVENTS STREAMS IN THE SAME BOX
   ========================================================= */
.hlw-v7 .hlw-calendar-digest{
    min-width:0;
    padding:15px;
    display:flex;
    align-items:stretch;
}
.hlw-v7 .hlw-calendar-streams{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.hlw-v7 .hlw-calendar-stream{
    --hlw-stream-accent:#7fe1ee;
    position:relative;
    min-width:0;
    padding:14px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(255,255,255,.075);
    border-radius:19px;
    background:
        radial-gradient(circle at 100% 0%,rgba(127,225,238,.055),transparent 42%),
        linear-gradient(155deg,rgba(7,42,54,.66),rgba(2,26,35,.72));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
    overflow:hidden;
}
.hlw-v7 .hlw-calendar-stream::before{
    content:"";
    position:absolute;
    top:0;
    left:20px;
    right:20px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--hlw-stream-accent),transparent);
    opacity:.42;
}
.hlw-v7 .hlw-calendar-stream-news{
    --hlw-stream-accent:#27c8df;
}
.hlw-v7 .hlw-calendar-stream-events{
    --hlw-stream-accent:#a6cc52;
}
.hlw-v7 .hlw-calendar-stream-head{
    min-height:48px;
    padding:1px 1px 11px;
    margin-bottom:4px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid rgba(255,255,255,.075);
}
.hlw-v7 .hlw-calendar-stream-head>div{
    min-width:0;
    display:grid;
    gap:5px;
}
.hlw-v7 .hlw-calendar-stream-head span{
    color:#eef8fa;
    font-size:.62rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.105em;
    text-transform:uppercase;
}
.hlw-v7 .hlw-calendar-stream-head small{
    color:#718e97;
    font-size:.54rem;
    line-height:1.35;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-list{
    min-width:0;
    display:grid;
    align-content:start;
    gap:6px;
}
.hlw-v7 .hlw-calendar-stream button.hlw-calendar-item,
.hlw-v7 .hlw-calendar-stream button.hlw-calendar-item.has-locality{
    width:100%;
    min-width:0;
    min-height:72px;
    margin:0;
    padding:10px 9px;
    grid-template-columns:44px minmax(0,1fr) 14px;
    gap:9px;
    border-bottom:0;
    border-radius:13px;
}
.hlw-v7 .hlw-calendar-stream button.hlw-calendar-item.has-locality::before{
    top:8px;
    bottom:8px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-date{
    width:42px;
    height:42px;
    border-radius:11px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-date b{
    font-size:1.12rem;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-date small{
    margin-top:2px;
    font-size:.42rem;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-item-copy{
    min-width:0;
    gap:4px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-item-copy>small{
    gap:5px;
    min-width:0;
    font-size:.44rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-item-copy>strong{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:.85rem;
    line-height:1.24;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-item>i{
    font-size:.72rem;
}
.hlw-v7 .hlw-calendar-empty-compact{
    min-height:150px;
    padding:22px 12px;
    place-content:center;
    text-align:center;
    border:1px dashed rgba(255,255,255,.09);
    border-radius:13px;
    background:rgba(255,255,255,.012);
}
.hlw-v7 .hlw-calendar-empty-compact strong{
    font-size:1rem;
}
.hlw-v7 .hlw-calendar-empty-compact span{
    max-width:210px;
    margin:0 auto;
    color:#718e97;
    font-size:.58rem;
    line-height:1.55;
}

@media (max-width:1180px) and (min-width:921px){
    .hlw-v7 .hlw-calendar-shell{
        grid-template-columns:330px minmax(0,1fr);
    }
    .hlw-v7 .hlw-calendar-streams{
        gap:9px;
    }
    .hlw-v7 .hlw-calendar-stream{
        padding:11px;
    }
    .hlw-v7 .hlw-calendar-stream button.hlw-calendar-item,
    .hlw-v7 .hlw-calendar-stream button.hlw-calendar-item.has-locality{
        grid-template-columns:40px minmax(0,1fr) 12px;
        gap:7px;
        padding:9px 7px;
    }
    .hlw-v7 .hlw-calendar-stream .hlw-calendar-date{
        width:38px;
        height:38px;
    }
}

@media (max-width:760px){
    .hlw-v7 .hlw-calendar-streams{
        grid-template-columns:1fr;
    }
    .hlw-v7 .hlw-calendar-stream{
        padding:13px;
    }
    .hlw-v7 .hlw-calendar-empty-compact{
        min-height:105px;
    }
}

@media (max-width:430px){
    .hlw-v7 .hlw-calendar-digest{
        padding:10px;
    }
    .hlw-v7 .hlw-calendar-stream{
        padding:10px;
        border-radius:15px;
    }
}


/* =========================================================
   v7.4.4 — MONTH-SYNCED STREAMS, THREE VISIBLE ITEMS
   ========================================================= */
.hlw-v7 .hlw-calendar-stream .hlw-calendar-list{
    max-height:228px; /* 3 cards × 72px + 2 gaps × 6px */
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(127,225,238,.34) rgba(255,255,255,.025);
    padding-right:3px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-list::-webkit-scrollbar{
    width:5px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-list::-webkit-scrollbar-track{
    background:rgba(255,255,255,.025);
    border-radius:999px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-list::-webkit-scrollbar-thumb{
    background:rgba(127,225,238,.30);
    border-radius:999px;
}
.hlw-v7 .hlw-calendar-stream .hlw-calendar-list-events::-webkit-scrollbar-thumb{
    background:rgba(166,204,82,.34);
}
.hlw-v7 .hlw-calendar-stream-head small{
    min-height:1.35em;
}

/* Description copy is always justified, including formatting pasted from
   Word or supplied through inline editor styles. Structural labels, headings
   and metadata intentionally keep their original alignment. */
.hlw-news-modal-summary,
.hlw-news-modal-body,
.hlw-news-modal-body p,
.hlw-news-modal-body li,
.hlw-news-modal-body div,
.hlw-news-modal-body blockquote,
.hlw-news-modal-body [style*="text-align"]{
    text-align:justify!important;
    text-justify:inter-word!important;
    -webkit-hyphens:auto;
    hyphens:auto;
    overflow-wrap:anywhere;
}

@media (max-width:760px){
    .hlw-v7 .hlw-calendar-stream .hlw-calendar-list{
        max-height:228px;
    }
}

/* =========================================================
   v7.4.6 — EVENTS-ONLY CALENDAR / CLEAN POPUP FLOW
   - no auto-generated duplicate excerpt
   - compact inline location metadata
   ========================================================= */


/* =========================================================
   v7.4.7 — DIRECT NAVIGATION TO NEWS & EVENTS
   Keeps the fixed header clear when the homepage is opened via hash.
   ========================================================= */
#news-events-calendar{
    scroll-margin-top:130px;
}

@media (max-width:760px){
    #news-events-calendar{
        scroll-margin-top:96px;
    }
}
