/* JardinMagic.com. Ported from the locked design files in design-reference/.
   Phone layout below 900 px, desktop layout from 900 px. */

@font-face{font-family:'Nunito';src:url(fonts/nunito-latin.woff2) format('woff2');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:'Super Comic';src:url(fonts/super-comic.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:'Nunito',system-ui,sans-serif;font-weight:600;color:#1B2559;background:#FFF8EC;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
button,input{font-family:inherit}
h1,h2,h3{font-weight:900}
[hidden]{display:none!important}
.page{width:100%;overflow-x:clip;background:#FFF8EC}
.display{font-family:'Super Comic','Nunito',sans-serif;font-weight:400;text-transform:uppercase}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #1B2559;outline-offset:3px;box-shadow:0 0 0 7px #fff}
.skip{position:absolute;left:16px;top:-80px;z-index:300;padding:12px 22px;border-radius:999px;background:#FFD43B;color:#1B2559;font-weight:900;font-size:16px;text-decoration:none;box-shadow:0 5px 0 #D9A400}
.skip:focus{top:12px}

/* Shared motion */
.burst{position:absolute;pointer-events:none;transform-origin:50% 50%;animation:burstSpin 180s linear infinite}
@keyframes burstSpin{to{transform:rotate(360deg)}}
.streak{fill:none;stroke-linecap:round;stroke-dashoffset:0;animation-name:flow;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes flow{to{stroke-dashoffset:-60}}
.btn{transition:transform .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(2px)}
.nav-link{text-decoration:none}
.nav-link:hover{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:3px}
.foot-link{text-decoration:none}
.foot-link:hover{text-decoration:underline;text-underline-offset:5px}

/* Language pill */
.lang{display:flex;padding:4px;border-radius:999px;background:rgba(20,40,130,.35)}
.lang a{display:flex;align-items:center;height:40px;padding:0 18px;border-radius:999px;font-weight:900;font-size:15px;line-height:1;color:#fff;text-decoration:none}
.lang a[aria-current]{background:#fff;color:#1B2559}
.lang-foot{background:rgba(255,255,255,.14)}

/* ---------- Sticky top nav (home and the original page) ---------- */
.topnav{position:sticky;top:0;z-index:60;height:84px;margin-bottom:-84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px, 4vw, 56px);background:transparent;transition:background .3s ease,box-shadow .3s ease}
.topnav.is-solid{background:rgba(42,86,200,.94);box-shadow:0 8px 24px rgba(15,25,100,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.topnav .wm{font-size:clamp(24px, 2.6vw, 30px);line-height:1;color:#fff;text-decoration:none;text-shadow:0 3px 0 rgba(20,40,120,.3);opacity:0;transform:translateY(-8px);visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.topnav.is-solid .wm{opacity:1;transform:none;visibility:visible}
.topnav-links{display:flex;align-items:center;gap:clamp(14px, 2.4vw, 34px)}
.topnav .nav-link{font-weight:800;font-size:clamp(14px, 1.55vw, 17px);color:#fff;text-shadow:0 2px 6px rgba(20,40,120,.45);white-space:nowrap}
.topnav .nav-link[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:3px}
section[id]{scroll-margin-top:84px}

/* ---------- Home hero ---------- */
.hero-band{container-type:inline-size;margin-bottom:-2px;position:relative}
.hero{position:relative;container-type:inline-size;isolation:isolate;height:clamp(700px, 52cqw, 800px);overflow:hidden}
.hero-art{position:absolute;inset:0}
.hero-bg{position:absolute;z-index:0;inset:0;overflow:hidden;background:linear-gradient(100deg,#3a5cce 0%,#3f78df 38%,#2bbcf0 76%,#1ee3fa 100%)}
.hero-sun{position:absolute;left:26cqw;bottom:21.3cqw;width:0;height:0}
.hero-sun .burst{left:-150cqw;top:-150cqw;width:300cqw;height:300cqw}
.hero-sun .streak{stroke-width:2.2px!important}
.dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;opacity:0;animation:rise 10s linear infinite}
@keyframes rise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.8}100%{transform:translateY(-760px) translateX(40px) scale(1.1);opacity:0}}
.fox-box{position:absolute;z-index:3;inset:0;pointer-events:none;clip-path:inset(0 -100vw)}
.fox{position:absolute;left:3cqw;bottom:-2cqw;width:46cqw;height:auto;filter:drop-shadow(0 24px 40px rgba(15,25,100,.35));animation:foxBob 6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes foxBob{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-1.3cqw) rotate(.7deg)}}
.hero-wave{position:absolute;z-index:6;left:0;bottom:-1px;width:100%;height:84px;display:block}
.hero-wave-m{display:none}
.hero-text{position:absolute;z-index:2;left:51cqw;right:3cqw;top:84px;bottom:66px;display:flex;flex-direction:column;justify-content:center}
.hero-tagline{font-family:'Super Comic','Nunito',sans-serif;font-weight:400;font-size:clamp(13px, 1.6cqw, 24px);letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;color:#fff;margin:0 0 .6cqw 6px;text-shadow:0 3px 0 rgba(20,40,130,.35),0 0 24px rgba(20,40,130,.35)}
.hero-h1{margin:0;font-weight:400}
.hero-h1 span{display:block;font-size:clamp(78px, 9.2cqw, 140px);line-height:1;color:#fff;text-shadow:0 8px 0 rgba(30,60,170,.28),0 0 44px rgba(255,255,255,.35)}
.float-1{animation:floatT 6s ease-in-out infinite}
.float-2{animation:floatT 6s ease-in-out -3s infinite}
@keyframes floatT{0%,100%{transform:translateY(0) rotate(-1.4deg)}50%{transform:translateY(-14px) rotate(1.2deg)}}
.hero-headline{margin:2cqw 0 0 6px;max-width:46cqw;font-weight:900;font-size:clamp(22px, 2.3cqw, 33px);line-height:1.15;color:#10205F}
.hero-sub{margin:.7cqw 0 0 6px;max-width:38cqw;font-weight:700;font-size:clamp(16px, 1.5cqw, 21px);line-height:1.35;color:#10205F}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;margin:1.8cqw 0 0 6px}
.cta{height:clamp(50px, 4.2cqw, 64px);padding:0 clamp(16px, 1.9cqw, 34px);border:0;border-radius:999px;color:#1B2559;font-weight:900;font-size:clamp(14px, 1.3cqw, 20px);display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap}
.cta svg{flex:none}
.cta-soon{background:#FFD43B;cursor:default;box-shadow:0 5px 0 #D9A400;opacity:1}
.cta-news{background:#fff;box-shadow:0 5px 0 #AEBBEA}
.glow{animation:glow 2.8s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 5px 0 #D9A400,0 0 0 0 rgba(255,212,59,.6)}50%{box-shadow:0 5px 0 #D9A400,0 0 0 16px rgba(255,212,59,0)}}

/* ---------- Home sections ---------- */
.kicker{font-weight:900;font-size:15px;letter-spacing:.16em;color:#B84A05}
.features{background:#fff;padding:60px 40px 70px}
.wrap{max-width:1200px;margin:0 auto}
.feature{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:84px;align-items:center;padding:50px 0}
.feature-media{position:relative}
.feature:nth-child(even) .feature-media{order:2}
.feature-back{position:absolute;inset:-14px;border-radius:48px;background:var(--c);transform:rotate(var(--t))}
.feature-media img{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:36px;border:8px solid #fff;box-shadow:0 24px 50px rgba(27,37,89,.22)}
.feature h3{margin:12px 0 18px;font-size:46px;line-height:1.08}
.feature p{margin:0;font-weight:600;font-size:21px;line-height:1.6;color:#3C4778}

.agency-sec{background:#fff;padding:20px 40px 110px}
.agency{position:relative;max-width:1200px;margin:0 auto;border-radius:56px;background:#1B2559;padding:76px 80px;overflow:hidden;display:flex;align-items:center;gap:60px}
.agency .circ{position:absolute;border-radius:50%}
.agency .a1{right:-70px;top:-90px;width:340px;height:340px;background:#2A3680}
.agency .a2{right:150px;bottom:-120px;width:240px;height:240px;background:#F57A1F;opacity:.9}
.agency .a3{right:60px;bottom:40px;width:90px;height:90px;background:#FFD43B}
.agency-text{position:relative;flex:1 1 auto;max-width:760px}
.agency h2{margin:0 0 18px;font-size:62px;line-height:1.02;color:#FFD43B;font-weight:400}
.agency p{margin:0;font-weight:700;font-size:25px;line-height:1.5;color:#fff}

.shots{background:#FFF8EC;padding:90px 40px 120px}
.sec-head{text-align:center;margin-bottom:56px}
.sec-head h2{margin:12px 0 0;font-size:56px;line-height:1.05}
.shot-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:36px 28px;margin:0;padding:0;list-style:none}
.shot{margin:0;transition:transform .25s ease,box-shadow .25s ease}
.shot:hover{transform:translateY(-6px) rotate(-.6deg)}
.shot-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:28px;text-align:left;color:inherit}
.shot img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:28px;border:6px solid #fff;box-shadow:0 16px 36px rgba(27,37,89,.18)}
.shot figcaption{margin:14px 6px 0;font-weight:800;font-size:19px}

.trailer{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#3F4DB8 0%,#2D3792 100%);padding:120px 40px 130px}
.trailer-in{position:relative;z-index:1;max-width:1040px;margin:0 auto;text-align:center}
.trailer .kicker{color:#FFD43B}
.trailer h2{margin:12px 0 48px;font-size:56px;line-height:1.05;color:#fff}
.poster{position:relative;aspect-ratio:16/9;border-radius:44px;overflow:hidden;border:8px solid #fff;box-shadow:0 14px 0 rgba(10,15,70,.35),0 40px 90px rgba(5,10,60,.5)}
.poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,30,110,.05),rgba(20,30,110,.4))}
.play{position:absolute;left:50%;top:50%;margin:-62px 0 0 -62px;width:124px;height:124px;border-radius:50%;border:0;background:#FFD43B;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 0 #D9A400,0 24px 50px rgba(5,10,60,.45)}
.play svg{width:52px;height:52px;margin-left:6px}

.news{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(110deg,#3a5cce 0%,#3f78df 45%,#25c4f2 100%);padding:190px 40px 130px}
.news-sun{position:absolute;z-index:0;left:50%;top:55%;width:0;height:0}
.news-sun .burst{left:-1600px;top:-1600px;width:3200px;height:3200px}
.news-in{position:relative;z-index:1;max-width:780px;margin:0 auto}
.fox-s{position:absolute;z-index:1;top:-142px;right:60px;width:200px;height:auto;filter:drop-shadow(0 10px 20px rgba(15,25,100,.3));animation:foxBobS 5s ease-in-out infinite;transform-origin:50% 100%}
@keyframes foxBobS{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-9px) rotate(.8deg)}}
.news-card{position:relative;z-index:2;background:#fff;border-radius:44px;padding:58px 60px 50px;box-shadow:0 12px 0 rgba(20,30,110,.2),0 40px 90px rgba(10,20,90,.35)}
.badge-soon{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:#FFD43B;color:#1B2559;font-weight:900;font-size:14px;letter-spacing:.14em}
.news-card h2{margin:20px 0 14px;font-size:46px;line-height:1.06}
.news-card .news-body{margin:0 0 30px;font-weight:600;font-size:20px;line-height:1.55;color:#3C4778}
.sender-wrap{min-height:150px}
.form-status{margin:0;font-weight:700;font-size:16px;line-height:1.5;color:#3C4778}
.form-status a{color:#1B2559;font-weight:800}
.form-load{display:inline-flex;align-items:center;height:62px;padding:0 34px;border:0;border-radius:999px;background:#FFD43B;color:#1B2559;font-weight:900;font-size:19px;cursor:pointer;box-shadow:0 5px 0 #D9A400}
.consent{margin:22px 0 0;font-weight:600;font-size:16px;line-height:1.5;color:#3C4778}

/* The design's own newsletter form (Main.dc.html / Mobile.dc.html), sent to Sender by /subscribe/ */
.news-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.news-row{display:flex;flex-wrap:wrap;gap:12px}
.news-row input{flex:1 1 280px;min-width:0;height:62px;padding:0 26px;border-radius:999px;border:3px solid #C9D3F5;background:#F6F8FF;color:#1B2559;font-weight:700;font-size:19px}
.news-row input::placeholder{color:#7A84AE;opacity:1}
.news-row button{height:62px;padding:0 34px;border:0;border-radius:999px;background:#FFD43B;color:#1B2559;font-weight:900;font-size:19px;cursor:pointer;box-shadow:0 5px 0 #D9A400}
.news-row button[disabled]{opacity:.7;cursor:progress}
.news-check{display:flex;align-items:flex-start;gap:12px;margin-top:22px;cursor:pointer}
.news-check input{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:#1B2559}
.news-check span{font-weight:600;font-size:16px;line-height:1.5;color:#3C4778}
.news-check a{color:#1B2559;font-weight:800}
.news-err{margin:16px 0 0;font-weight:800;font-size:16px;color:#B3261E}
.news-ok{text-align:center;padding:20px 0 10px}
.news-ok-icon{width:96px;height:96px;margin:0 auto 22px;border-radius:50%;background:#B6E38A;display:flex;align-items:center;justify-content:center}
.news-ok h2{margin:0 0 12px;font-size:44px;line-height:1.08}
.news-ok p{margin:0;font-weight:600;font-size:20px;line-height:1.55;color:#3C4778}

/* Sender's embedded form, restyled to the design's field and button (Main.dc.html, newsletter).
   Sender's own class names are not documented, so these rules target plain elements inside the
   form slot. If Sender draws the form inside a shadow root, site.js copies these rules into it. */
.sender-form-field *{font-family:'Nunito',system-ui,sans-serif!important;box-sizing:border-box}
.sender-form-field div,.sender-form-field form,.sender-form-field section{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;min-height:0!important;padding:0!important;margin-left:0!important;margin-right:0!important}
.sender-form-field form{display:flex!important;flex-direction:column;gap:12px;width:100%!important}
.sender-form-field h1,.sender-form-field h2,.sender-form-field h3,.sender-form-field h4,.sender-form-field h5,.sender-form-field h6{display:none!important}
.sender-form-field label:not(:has(input)){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.sender-form-field input[type="email"],.sender-form-field input[type="text"]{display:block!important;width:100%!important;min-width:0!important;height:62px!important;margin:0!important;padding:0 26px!important;border:3px solid #C9D3F5!important;border-radius:999px!important;background:#F6F8FF!important;color:#1B2559!important;font-weight:700!important;font-size:19px!important;line-height:1.2!important;box-shadow:none!important;outline:none}
.sender-form-field input[type="email"]::placeholder,.sender-form-field input[type="text"]::placeholder{color:#7A84AE!important;opacity:1}
.sender-form-field input[type="email"]:focus-visible,.sender-form-field input[type="text"]:focus-visible{outline:3px solid #1B2559!important;outline-offset:3px!important;box-shadow:0 0 0 7px #fff!important}
.sender-form-field button,.sender-form-field input[type="submit"]{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;height:62px!important;margin:0!important;padding:0 34px!important;border:0!important;border-radius:999px!important;background:#FFD43B!important;color:#1B2559!important;font-weight:900!important;font-size:19px!important;line-height:1!important;white-space:nowrap;cursor:pointer;box-shadow:0 5px 0 #D9A400!important;transition:transform .15s ease}
.sender-form-field button:hover,.sender-form-field input[type="submit"]:hover{transform:translateY(-2px)}
.sender-form-field button:active,.sender-form-field input[type="submit"]:active{transform:translateY(2px)}
.sender-form-field button:focus-visible,.sender-form-field input[type="submit"]:focus-visible{outline:3px solid #1B2559!important;outline-offset:3px!important}
.sender-form-field input[type="checkbox"]{width:24px!important;height:24px!important;margin:1px 10px 0 0!important;accent-color:#1B2559;flex:none}
.sender-form-field p,.sender-form-field small,.sender-form-field span,.sender-form-field label{color:#3C4778!important;font-weight:600!important;font-size:15px!important;line-height:1.5!important;text-align:left!important}
.sender-form-field a{color:#1B2559!important;font-weight:800!important}
.sender-form-field button span,.sender-form-field button *{color:#1B2559!important;font-weight:900!important;font-size:inherit!important}
.sender-form-field img{max-width:100%;height:auto}
@media (min-width:900px){
  /* Desktop: the field and the button side by side, as in the design. */
  .sender-form-field form{flex-direction:row;flex-wrap:wrap;align-items:flex-start}
  .sender-form-field form > *{flex:1 1 100%}
  .sender-form-field form > :has(input[type="email"]),.sender-form-field form > input[type="email"]{flex:1 1 280px!important;min-width:0}
  .sender-form-field form > :has(> button),.sender-form-field form > :has(> input[type="submit"]),.sender-form-field form > button,.sender-form-field form > input[type="submit"]{flex:0 0 auto!important}
  .sender-form-field form > :has(input[type="email"]):has(button){display:flex!important;flex-wrap:wrap;gap:12px}
  .sender-form-field form > :has(input[type="email"]):has(button) > *{flex:1 1 280px}
  .sender-form-field form > :has(input[type="email"]):has(button) > :has(> button){flex:0 0 auto}
}
.consent a{color:#1B2559;font-weight:800}

/* Heritage block */
.heritage{position:relative;scroll-margin-top:84px;background:linear-gradient(180deg,#35B52E 0%,#2FA828 100%);padding:110px 40px 110px}
.hill{position:absolute;left:0;top:-59px;width:100%;height:60px;display:block}
.heritage-in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:72px;align-items:center}
.heritage figure{margin:0}
.heritage figcaption{margin-top:16px;text-align:center;font-weight:700;font-size:15px;letter-spacing:.05em;color:#F1FFE9;text-shadow:0 2px 0 rgba(20,90,20,.35)}
.heritage .kicker{color:#FFE766}
.heritage h2{margin:12px 0 18px;font-size:44px;line-height:1.1;color:#fff;text-shadow:0 4px 0 #1D6B16}
.heritage p{margin:0 0 28px;font-weight:700;font-size:20px;line-height:1.6;color:#F1FFE9}
.btn-yellow{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:8px 28px;border-radius:999px;border:0;background:#FFD43B;color:#1B2559;font-weight:900;font-size:18px;text-decoration:none;box-shadow:0 5px 0 #D9A400}
.btn-yellow svg{flex:none}

/* Old browser window frame (heritage block and the original page) */
.win{border:2px solid #5E6A52;border-radius:10px;background:#D7DCCB;box-shadow:6px 8px 0 rgba(20,70,20,.25)}
.heritage .win{box-shadow:8px 10px 0 rgba(20,70,20,.25)}
.win-bar{display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 12px;border-bottom:2px solid #5E6A52;background:linear-gradient(#E6EBDC,#CBD3BC);border-radius:8px 8px 0 0}
.win-title{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;line-height:1;color:#2F3B26}
.win-icon{width:14px;height:14px;border-radius:3px;background:#5CB83A;border:2px solid #2E7A1C;flex:none}
.win-btns{display:flex;gap:6px}
.win-btns span{width:14px;height:14px;border:2px solid #5E6A52;background:#EEF2E6}
.win img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:0 0 8px 8px}
.win-body{position:relative;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#DDE8CF,#DDE8CF 12px,#D3E0C3 12px,#D3E0C3 24px);border-radius:0 0 8px 8px;color:#3F5233;font-weight:800;font-size:15px;letter-spacing:.06em;text-align:center}
.win-body.ph{aspect-ratio:3/2;padding:12px}
.win-sm{box-shadow:4px 6px 0 rgba(20,70,20,.25)}
.win-sm .win-bar{height:30px;padding:0 10px}
.win-sm .win-title{font-size:12px}
.win-sm .win-icon,.win-sm .win-btns span{width:11px;height:11px}

/* ---------- Footers ---------- */
.foot{background:#141B47;color:#fff;padding:72px 56px 44px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px 40px}
.foot-wm{font-size:38px;line-height:1;color:#fff;text-decoration:none}
.foot-tag{margin:12px 0 0;font-weight:700;font-size:18px;color:#C7D0FF}
.foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px 36px}
.foot-links .foot-link{font-weight:800;font-size:17px;color:#fff}
.foot-links .foot-link[aria-current]{color:#FFD43B}
.foot-rights{margin-top:48px;padding-top:26px;border-top:2px solid rgba(255,255,255,.14);font-weight:600;font-size:15px;color:#C7D0FF}
.foot-sub{padding:48px clamp(18px, 4vw, 56px) 40px}
.foot-sub .foot-top{align-items:center;gap:20px 40px}
.foot-sub .foot-wm{font-size:30px}
.foot-sub .foot-links{gap:12px 32px}
.foot-sub .foot-rights{margin-top:32px;padding-top:22px}

/* ---------- Sub page header (privacy, legal, contact, 404) ---------- */
.phead{position:relative;overflow:hidden;isolation:isolate;min-height:330px;background:linear-gradient(100deg,#3a5cce 0%,#3f78df 45%,#25c4f2 100%)}
.phead-sun{position:absolute;z-index:0;left:50%;top:60%;width:0;height:0}
.phead-sun .burst{left:-1600px;top:-1600px;width:3200px;height:3200px;opacity:.8}
.pnav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px clamp(18px, 4vw, 56px)}
.pnav .wm{font-size:30px;line-height:1;color:#fff;text-decoration:none;text-shadow:0 3px 0 rgba(20,40,120,.3)}
.pnav-right{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.pnav .nav-link{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;color:#fff;text-shadow:0 2px 6px rgba(20,40,120,.45)}
.phead-in{position:relative;z-index:2;max-width:820px;margin:34px auto 0;padding:0 clamp(18px, 4vw, 40px) 70px}
.phead-in.wide{max-width:980px}
.phead h1{margin:0;font-size:clamp(26px, 7.4vw, 66px);line-height:1;color:#fff;text-shadow:0 6px 0 rgba(30,60,170,.28),0 0 40px rgba(255,255,255,.3);overflow-wrap:break-word}
.phead-in.wide h1{font-size:clamp(34px, 8vw, 78px)}
.phead-sub{margin:16px 0 0;font-weight:800;font-size:19px;color:#10205F}
.phead-in.wide .phead-sub{font-size:21px}
.pwave{position:absolute;z-index:3;left:0;bottom:-1px;width:100%;height:60px;display:block}

.pmain{max-width:820px;margin:0 auto;padding:30px clamp(18px, 4vw, 40px) 90px}
.pintro{margin:0 0 40px;font-weight:600;font-size:21px;line-height:1.65;color:#3C4778}
.psec{display:flex;gap:22px;padding:26px 0;border-top:2px solid #EADFC9}
.pnum{flex:none;width:52px;height:52px;border-radius:50%;background:#FFE17A;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:#1B2559}
.psec > div:last-child{min-width:0}
.psec h2{margin:4px 0 10px;font-size:28px;line-height:1.15}
.psec p{margin:0;font-weight:600;font-size:18px;line-height:1.7;color:#3C4778;overflow-wrap:break-word}
.pcard{margin-top:34px;padding:34px 38px;border-radius:32px;background:#fff;box-shadow:0 8px 0 rgba(27,37,89,.07),0 24px 48px rgba(27,37,89,.08)}
.pcard h2{margin:0 0 8px;font-size:26px}
.pcard p{margin:0 0 18px;font-weight:600;font-size:18px;line-height:1.65;color:#3C4778}
.pcard-btns{display:flex;flex-wrap:wrap;gap:14px}
.pbtn{display:inline-flex;align-items:center;height:52px;padding:0 26px;border-radius:999px;background:#FFD43B;color:#1B2559;font-weight:900;font-size:17px;text-decoration:none;box-shadow:0 5px 0 #D9A400}
.pbtn-lg{height:54px;padding:0 28px;font-size:18px}
.pbtn-white{background:#fff;border:3px solid #C9D3F5;box-shadow:0 5px 0 #AEBBEA}

/* Inline email reveal (privacy and legal texts) */
.email-inline{display:inline;padding:2px 12px;margin:0 2px;border:2px solid #C9D3F5;border-radius:999px;background:#fff;color:#1B2559;font-weight:800;font-size:.9em;line-height:1.5;cursor:pointer;box-shadow:0 3px 0 #AEBBEA}
.email-inline:hover{background:#F6F8FF}
a.email-addr{color:#1B2559;font-weight:800;overflow-wrap:anywhere}

/* Contact */
.cmain{max-width:980px;margin:0 auto;padding:30px clamp(18px, 4vw, 40px) 100px}
.cgrid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:28px}
.ccard{background:#fff;border-radius:36px;padding:38px 36px;box-shadow:0 8px 0 rgba(27,37,89,.07),0 28px 56px rgba(27,37,89,.08);transition:transform .2s ease;min-width:0}
.ccard:hover{transform:translateY(-4px)}
.cicon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ccard h2{margin:22px 0 10px;font-size:28px;line-height:1.15}
.ccard p{margin:0 0 20px;font-weight:600;font-size:18px;line-height:1.6;color:#3C4778;overflow-wrap:break-word}
.ccard p a{color:#1B2559;font-weight:800}
.cbtn{display:inline-flex;align-items:center;min-height:52px;max-width:100%;padding:8px 26px;border:0;border-radius:999px;background:#FFD43B;color:#1B2559;font-weight:900;font-size:17px;text-decoration:none;cursor:pointer;box-shadow:0 5px 0 #D9A400;overflow-wrap:anywhere;text-align:left}
.cbtn-white{background:#fff;border:3px solid #C9D3F5;box-shadow:0 5px 0 #AEBBEA}
.cbtn.is-ph{cursor:default}

/* 404 */
/* 404: the blue sky and the sunburst of the home page, a big 404 and the fox */
/* 404: the home page's blue sky and sunburst; 404, title, line and button centered, the fox peeking over the wave */
.nf-hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(100deg,#3a5cce 0%,#3f78df 38%,#2bbcf0 76%,#1ee3fa 100%)}
.nf-sun{position:absolute;z-index:0;left:50%;top:44%;width:0;height:0}
.nf-sun .burst{left:-1600px;top:-1600px;width:3200px;height:3200px}
.nf-sun .streak{stroke-width:2.2px!important}
.nf-main{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:820px;margin:0 auto;padding:0 clamp(18px, 4vw, 40px)}
.nf-main:focus{outline:none}
.nf-num{display:block;font-size:clamp(110px, 15vw, 200px);line-height:.9;color:#fff;text-shadow:0 10px 0 rgba(30,60,170,.28),0 0 44px rgba(255,255,255,.35)}
.nf-text{order:2;padding:14px 0 30px}
.nf-text h1{margin:0 0 14px;font-size:clamp(38px, 5vw, 60px);line-height:1;color:#fff;text-shadow:0 6px 0 rgba(30,60,170,.28),0 0 40px rgba(255,255,255,.3)}
.nf-text p{margin:0 0 26px;font-weight:800;font-size:21px;line-height:1.5;color:#10205F}
.nf-btn{min-height:60px;padding:8px 32px;font-size:19px}
.nf-fox{order:3;display:block;width:min(320px, 70%);height:auto;margin:0 0 -30px;filter:drop-shadow(0 20px 34px rgba(15,25,100,.35));animation:foxBobS 5s ease-in-out infinite;transform-origin:50% 100%}
.nf-wave{position:relative;z-index:6;display:block;width:100%;height:70px;margin-top:-69px}

/* ---------- The original page ---------- */
.orig{background:#35B52E;color:#25461C}
.orig .page{background:#35B52E}
.hdr{position:relative;overflow:hidden;isolation:isolate;min-height:340px;background:linear-gradient(180deg,#1E8BFF 0%,#5BB8FF 38%,#FFE766 74%,#7FCB34 100%)}
.hdr-sun{position:absolute;z-index:0;left:50%;top:78%;width:0;height:0}
.hdr-sun .burst{left:-1600px;top:-1600px;width:3200px;height:3200px}
.hwrap{position:relative;z-index:2;max-width:1000px;margin:104px auto 0;padding:0 clamp(18px, 4vw, 40px) 76px}
.hdr h1{margin:0;font-size:clamp(34px, 8vw, 78px);line-height:1;color:#fff;text-shadow:0 6px 0 rgba(20,90,170,.45),0 0 40px rgba(255,255,255,.35)}
.hsub{margin:16px 0 0;font-weight:900;font-size:22px;color:#14392A;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.hdr .pwave path{fill:#35B52E}
.omain{max-width:1000px;margin:0 auto;padding:6px clamp(14px, 4vw, 40px) 70px;display:flex;flex-direction:column;gap:34px}
.panel{background:#B3E0AA;border:3px solid #D6D93A;border-radius:24px;padding:0 0 38px;box-shadow:0 8px 0 rgba(20,90,20,.28);overflow:hidden;scroll-margin-top:84px}
.tabrow{display:flex;flex-wrap:wrap;margin:0 0 30px}
.tab{padding:11px 22px;color:#fff;font-weight:900;font-size:15px;letter-spacing:.1em;text-transform:uppercase}
.pbody{padding:0 40px}
.o-h{margin:0 0 14px;font-size:36px;line-height:1.12;color:#173D12}
.o-p{margin:0;font-weight:700;font-size:20px;line-height:1.65;color:#25461C}
.cap{margin:10px 4px 0;font-weight:800;font-size:15px;color:#25461C}
.quote{margin:30px 0 0;padding:28px 32px;border-left:8px solid #D6D93A;border-radius:6px 20px 20px 6px;background:#E6F5DF}
.qb{margin:0;font-weight:900;font-size:26px;line-height:1.3;color:#173D12}
.qb + .qo + .qb,.qb + .qb{margin-top:14px}
.qo{margin:10px 0 0;font-weight:700;font-size:17px;line-height:1.4;font-style:italic;color:#3F5233}
.qs{margin:14px 0 0;font-weight:800;font-size:15px;letter-spacing:.04em;color:#3F5233}
.cmp{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:26px;margin-top:30px}
.cmpa{padding:28px 30px 32px;border:3px solid #D6D93A;border-radius:24px;background:#E6F5DF}
.cmpa .display{font-size:34px;line-height:1;color:#0E7F0E}
.cmpa p{margin:14px 0 0;font-weight:800;font-size:20px;line-height:1.5;color:#25461C}
.cmpb{padding:28px 30px 32px;border-radius:24px;background:#1B2559;box-shadow:0 8px 0 rgba(27,37,89,.3)}
.cmpb .display{font-size:34px;line-height:1;color:#FFD43B}
.cmpb p{margin:14px 0 0;font-weight:800;font-size:20px;line-height:1.5;color:#fff}
.oend{text-align:center;padding:28px 0 8px}
.endh{text-wrap:balance;margin:0 0 28px;font-size:clamp(30px, 5.2vw, 54px);line-height:1.05;color:#fff;text-shadow:0 5px 0 #1D6B16}
.btn-end{min-height:60px;padding:8px 34px;font-size:19px}
.intro{display:grid;grid-template-columns:minmax(0, 1fr) 240px;gap:40px;align-items:center}
.badge{background:#1F6E19;border:3px solid #D6D93A;border-radius:22px;padding:22px 18px 24px;box-shadow:0 8px 0 rgba(20,70,20,.3);text-align:center}
.bk{font-weight:900;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#BFE8B3}
.bn{margin-top:12px;font-size:40px;line-height:1;color:#FFE766;white-space:nowrap}
.bp{margin-top:10px;font-weight:800;font-size:17px;line-height:1.3;color:#fff}
.growh{margin:38px 0 8px;font-size:26px;line-height:1.2;color:#173D12}
.chart{margin-top:22px;padding:26px 24px 20px;border:3px solid #D6D93A;border-radius:20px;background:#E6F5DF}
.grow{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px;border-bottom:8px solid #7FCB34}
.gcol{height:270px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}
.gnum{font-size:40px;line-height:1;margin-bottom:12px;white-space:nowrap}
.gbar{position:relative;width:min(88px, 72%);height:calc(var(--h) * 1.9px);border-radius:16px 16px 0 0;transform-origin:50% 100%;box-shadow:inset -8px 0 0 rgba(0,0,0,.08)}
.chart.is-waiting .gbar{transform:scaleY(0)}
.chart.is-growing .gbar{animation:growUp 1s cubic-bezier(.2,.8,.2,1) both}
.gcol:nth-child(2) .gbar{animation-delay:.12s}.gcol:nth-child(3) .gbar{animation-delay:.24s}.gcol:nth-child(4) .gbar{animation-delay:.36s}
@keyframes growUp{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.c1{color:#0B5CB0}.c2{color:#0E7F0E}.c3{color:#C44F00}.c4{color:#D80F10}
.b1{background:linear-gradient(#3C8BE0,#0B5CB0)}.b2{background:linear-gradient(#36AE2E,#0E7F0E)}.b3{background:linear-gradient(#F07F2C,#C44F00)}.b4{background:linear-gradient(#F04A44,#D80F10)}
.glab{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:18px;margin-top:14px;text-align:center}
.gd{font-weight:900;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#3E7A1F}
.gp{text-wrap:balance;margin-top:4px;font-weight:800;font-size:15px;line-height:1.35;color:#25461C}
.vid-body{aspect-ratio:16/9;flex-direction:column;gap:10px;padding:24px}
.vid-body.has-video{padding:0;background:#000}
.vid-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0 0 8px 8px}
.vid-msg{font-weight:700;letter-spacing:0}
.oplay{position:absolute;left:50%;top:50%;margin:-40px 0 0 -40px;width:80px;height:80px;border-radius:50%;border:3px solid #2E7A1C;background:#FFE766;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 0 #B89B00}
.oplay svg{width:34px;height:34px;margin-left:4px}
.sites{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:30px 26px;margin-top:30px}
.sites figure,.ogrid figure{margin:0}
.ogrid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:30px 26px;margin-top:34px;padding:0;list-style:none}
.ogrid .shot-open{border-radius:10px}

/* ---------- Dialogs (trailer, video, lightbox) ---------- */
.modal{position:fixed;inset:0;z-index:200;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:rgba(10,15,60,.84);color:#fff;overflow:auto}
.modal[open]{display:flex;align-items:center;justify-content:center}
.modal::backdrop{background:transparent}
.modal-green{background:rgba(10,45,10,.86)}
.modal-x{position:absolute;z-index:2;top:20px;right:20px;width:56px;height:56px;border-radius:50%;border:0;background:#FFD43B;color:#1B2559;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 #D9A400}
.player{position:relative;width:min(1000px, 100%);aspect-ratio:16/9;border-radius:32px;overflow:hidden;border:6px solid #fff;background:#141B47;box-shadow:0 30px 80px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;text-align:center}
.player > img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.player-msg{position:relative;padding:24px;color:#fff;font-weight:800;font-size:clamp(18px, 2.4vw, 28px)}
.player iframe,.player video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vwin{position:relative;width:min(1000px, 100%)}
.vwin .win-body{aspect-ratio:16/9;padding:24px}
.vwin .win-body iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0 0 8px 8px;background:#000}
.lb-fig{margin:0;width:min(1200px, 100%);display:flex;flex-direction:column;align-items:center}
.lb-img{display:block;max-width:100%;max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px);width:auto;height:auto;border-radius:28px;border:6px solid #fff;background:#141B47;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lb-cap{margin:18px 70px 0;text-align:center;font-weight:800;font-size:19px;line-height:1.4;color:#fff}
.lb-nav{position:absolute;z-index:2;top:50%;width:56px;height:56px;margin-top:-28px;border-radius:50%;border:0;background:#FFD43B;color:#1B2559;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 #D9A400}
.lb-prev{left:20px}
.lb-next{right:20px}
body.has-modal{overflow:hidden}

/* ---------- Phone layout ---------- */
@media (max-width:899px){
  .topnav{height:56px;margin-bottom:-56px;padding:0 18px}
  .topnav .wm{font-size:22px;text-shadow:0 2px 0 rgba(20,40,120,.3);transform:translateY(-6px)}
  .topnav.is-solid{box-shadow:0 6px 18px rgba(15,25,100,.25)}
  .topnav .nav-link{display:none}
  .topnav .lang{padding:3px}
  .topnav .lang a{height:36px;padding:0 15px;font-size:14px}
  section[id],.heritage,.panel{scroll-margin-top:56px}

  .hero-band{background:#fff}
  .hero{max-width:520px;margin:0 auto;height:auto;overflow:visible}
  .hero-art{position:relative;height:127cqw}
  .hero-bg{inset:0 auto 0 50%;width:100vw;transform:translateX(-50%);background:linear-gradient(165deg,#3a5cce 0%,#3f78df 48%,#25c4f2 100%)}
  .hero-sun{left:50%;top:84cqw;bottom:auto}
  .hero-sun .burst{left:-210cqw;top:-210cqw;width:420cqw;height:420cqw}
  .hero-sun .streak{stroke-width:2.6px!important}
  .dot{display:none}
  .fox{left:10cqw;top:44cqw;bottom:auto;width:80cqw;filter:drop-shadow(0 16px 26px rgba(15,25,100,.35));animation-name:mFoxBob}
  @keyframes mFoxBob{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-2.2cqw) rotate(.7deg)}}
  .hero-wave{display:none}
  .hero-wave-m{display:block;left:50%;width:100vw;transform:translateX(-50%);height:min(23cqw, 120px)}
  .hero-text{position:static;display:flex;flex-direction:column;padding:4px 20px 40px;background:#fff}
  .hero-title{position:absolute;z-index:2;top:13.5cqw;left:0;right:0;text-align:center}
  .hero-tagline{font-size:clamp(12px, 3.9cqw, 17px);letter-spacing:.08em;margin:0 0 2cqw;text-shadow:0 2px 0 rgba(20,40,130,.4),0 0 16px rgba(20,40,130,.4)}
  .hero-h1 span{font-size:14.6cqw;text-shadow:0 5px 0 rgba(30,60,170,.28),0 0 30px rgba(255,255,255,.35)}
  .float-1,.float-2{animation-name:mFloatT}
  @keyframes mFloatT{0%,100%{transform:translateY(0) rotate(-1.4deg)}50%{transform:translateY(-8px) rotate(1.2deg)}}
  .hero-headline{order:1;margin:0 0 16px;max-width:none;text-align:center;font-size:22px;line-height:1.2;color:#1B2559}
  .hero-ctas{order:2;flex-direction:column;flex-wrap:nowrap;gap:12px;margin:0}
  .hero-sub{order:3;margin:18px 6px 0;max-width:none;text-align:center;font-size:17px;line-height:1.4;color:#3C4778}
  .cta{height:56px;padding:0 16px;font-size:18px;justify-content:center}
  .cta-news{border:3px solid #C9D3F5}
  @keyframes glow{0%,100%{box-shadow:0 5px 0 #D9A400,0 0 0 0 rgba(255,212,59,.6)}50%{box-shadow:0 5px 0 #D9A400,0 0 0 14px rgba(255,212,59,0)}}
  .btn:hover{transform:none}
  .btn:active{transform:translateY(2px)}

  .kicker{font-size:13px}
  .features{padding:36px max(20px, calc((100% - 480px) / 2)) 40px}
  .feature{display:block;padding:26px 0 34px}
  .feature-media{margin:0 6px 30px}
  .feature-back{inset:-9px;border-radius:34px}
  .feature-media img{border-radius:26px;border-width:6px;box-shadow:0 14px 30px rgba(27,37,89,.22)}
  .feature h3{margin:10px 0 12px;font-size:32px;line-height:1.1}
  .feature p{font-size:18px}

  .agency-sec{padding:10px max(20px, calc((100% - 480px) / 2)) 60px}
  .agency{display:block;border-radius:36px;padding:40px 28px 44px}
  .agency .a1{right:-50px;top:-60px;width:190px;height:190px}
  .agency .a2{right:30px;bottom:-60px;width:120px;height:120px;opacity:1}
  .agency .a3{right:140px;bottom:14px;width:34px;height:34px}
  .agency h2{margin:0 0 14px;font-size:33px;line-height:1.1}
  .agency p{font-size:19px}

  .shots{padding:50px 0 70px}
  .sec-head{padding:0 20px;margin-bottom:30px}
  .sec-head h2{margin:10px 0 0;font-size:34px;line-height:1.08}
  .shot-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(20px, calc((100% - 480px) / 2)) 20px;scrollbar-width:none}
  .shot-grid::-webkit-scrollbar{display:none}
  .shot{flex:none;width:290px;scroll-snap-align:center}
  .shot:hover{transform:none}
  .shot-open{border-radius:24px}
  .shot img{aspect-ratio:4/3;border-radius:24px;border-width:5px;box-shadow:0 12px 26px rgba(27,37,89,.18)}
  .shot figcaption{margin:12px 6px 0;font-size:17px}

  .trailer{padding:60px max(20px, calc((100% - 480px) / 2)) 64px}
  .trailer h2{margin:10px 0 28px;font-size:34px;line-height:1.08}
  .poster{border-radius:28px;border-width:5px;box-shadow:0 8px 0 rgba(10,15,70,.35),0 24px 50px rgba(5,10,60,.5)}
  .play{margin:-36px 0 0 -36px;width:72px;height:72px;box-shadow:0 5px 0 #D9A400,0 14px 30px rgba(5,10,60,.45)}
  .play svg{width:32px;height:32px;margin-left:4px}

  .news{background:linear-gradient(165deg,#3a5cce 0%,#3f78df 50%,#25c4f2 100%);padding:130px max(16px, calc((100% - 488px) / 2)) 60px}
  .news-sun .burst{left:-1000px;top:-1000px;width:2000px;height:2000px}
  .fox-s{top:-98px;right:26px;width:140px;filter:drop-shadow(0 8px 14px rgba(15,25,100,.3));animation-name:mFoxBobS}
  @keyframes mFoxBobS{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-6px) rotate(.8deg)}}
  .news-card{border-radius:34px;padding:34px 24px 28px;box-shadow:0 8px 0 rgba(20,30,110,.2),0 26px 56px rgba(10,20,90,.35)}
  .badge-soon{padding:7px 14px;font-size:12px}
  .badge-soon svg{width:14px;height:14px}
  .news-card h2{margin:16px 0 12px;font-size:33px;line-height:1.08}
  .news-card .news-body{margin:0 0 22px;font-size:17px}
  .consent{margin-top:18px;font-size:15px}
  .news-row{flex-direction:column}
  .news-row input{flex:none;width:100%;height:58px;padding:0 22px;font-size:17px}
  .news-row button{height:58px;padding:0 20px;font-size:18px}
  .news-check{margin-top:18px}
  .news-check input{margin-top:1px}
  .news-check span{font-size:15px}
  .news-err{margin-top:14px;font-size:15px}
  .news-ok{padding:10px 0 4px}
  .news-ok-icon{width:80px;height:80px;margin-bottom:18px}
  .news-ok-icon svg{width:44px;height:44px}
  .news-ok h2{margin-bottom:10px;font-size:32px;line-height:1.1}
  .news-ok p{font-size:17px}
  .sender-form-field input[type="email"],.sender-form-field input[type="text"]{height:58px!important;padding:0 22px!important;font-size:17px!important}
  .sender-form-field button,.sender-form-field input[type="submit"]{width:100%!important;height:58px!important;font-size:18px!important}
  .form-load{width:100%;justify-content:center;height:58px;font-size:18px}

  .heritage{padding:92px max(20px, calc((100% - 480px) / 2)) 64px}
  .heritage-in{display:block}
  .heritage figure{margin:0 6px 36px}
  .heritage .win{border-radius:8px;box-shadow:6px 8px 0 rgba(20,70,20,.25)}
  .heritage .win-bar{height:32px;padding:0 10px;border-radius:6px 6px 0 0}
  .heritage .win-title{gap:7px;font-size:13px}
  .heritage .win-icon,.heritage .win-btns span{width:12px;height:12px}
  .heritage .win-btns{gap:5px}
  .heritage .win img{border-radius:0 0 6px 6px}
  .heritage figcaption{margin-top:14px;font-size:14px}
  .heritage h2{margin:10px 0 14px;font-size:32px;line-height:1.12;text-shadow:0 3px 0 #1D6B16}
  .heritage p{margin:0 0 24px;font-size:18px}
  .heritage .btn-yellow{min-height:54px;padding:8px 24px;font-size:17px}

  .foot{padding:48px max(24px, calc((100% - 472px) / 2)) 32px}
  .foot-home .foot-top{display:block}
  .foot-home .foot-wm{display:block;font-size:32px}
  .foot-home .foot-tag{margin:10px 0 0;font-size:17px}
  .foot-home .foot-links{display:block;margin-top:26px}
  .foot-home .foot-links .foot-link{display:block;padding:10px 0;margin-bottom:6px}
  .foot-home .lang{display:inline-flex;margin-top:12px;padding:3px}
  .foot-home .lang a{height:36px;padding:0 15px;font-size:14px}
  .foot-home .foot-rights{margin-top:30px;padding-top:20px;font-size:14px;line-height:1.5}
  .foot-sub{padding:48px clamp(18px, 4vw, 56px) 40px}

  .hwrap{margin-top:76px}
  .nf-sun{top:34%}
  .nf-text{padding:10px 0 26px}
  .nf-text p{font-size:18px}
  .nf-fox{width:min(260px, 70%);margin-bottom:-20px}
  .nf-wave{height:46px;margin-top:-45px}
  .lb-cap{margin:14px 8px 0;font-size:16px}
  .lb-nav{top:auto;bottom:20px;margin-top:0;width:52px;height:52px}
  .lb-img{max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px);border-radius:20px;border-width:4px}
  .lb-fig{padding-bottom:64px}
  .modal{padding:16px;background:rgba(10,15,60,.86)}
  .modal-green{background:rgba(10,45,10,.86)}
  .modal-x{top:14px;right:14px;width:52px;height:52px}
  .player{width:100%;border-radius:22px;border-width:4px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
  .player-msg{padding:16px;font-size:17px;line-height:1.3}
}

@media (max-width:760px){
  .intro{grid-template-columns:minmax(0, 1fr);gap:26px}
  .badge{width:100%;max-width:320px}
  .growh{font-size:22px}
  .chart{padding:20px 10px 16px}
  .grow{gap:8px}
  .gcol{height:200px}
  .gnum{font-size:18px;margin-bottom:8px}
  .gbar{width:78%;height:calc(var(--h) * 1.35px)}
  .glab{gap:8px}
  .gd{font-size:10px;letter-spacing:.05em}
  .gp{font-size:12px}
  .ogrid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:700px){
  .cgrid{grid-template-columns:minmax(0, 1fr)}
}
@media (max-width:560px){
  /* Small phones: tighter panels so the text keeps a readable width (not in the design files, which stop at desktop and 390 px). */
  .pbody{padding:0 22px}
  .o-h{font-size:30px}
  .o-p{font-size:18px}
  .sites,.cmp{grid-template-columns:minmax(0, 1fr)}
  .quote{padding:22px 20px}
  .qb{font-size:22px}
  .psec{gap:16px}
  .pnum{width:44px;height:44px;font-size:20px}
  .psec h2{font-size:24px}
  .pcard{padding:28px 24px}
  .ccard{padding:32px 26px}
}
@media (max-width:520px){
  .ogrid{grid-template-columns:minmax(0, 1fr)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .chart.is-waiting .gbar{transform:none}
}
