:root{
 --nv:#1d3557; --nv-d:#13243d; --nv-l:#2c4a72; --rd:#b23a48; --rd-d:#8e2a37; --rd-l:#f8e7e8;
 --gd:#f2c14e; --gd-d:#d9a52c; --sn:#fbf7ef; --fr:#eaf0f7; --ink:#1c2433; --muted:#5d6676; --line:#e7e2d6;
 --hf:'Corben',Georgia,serif; --bf:'Spline Sans',system-ui,sans-serif;
 --r:22px; --sh:0 22px 44px -28px rgba(19,36,61,.55);
 --arch:50% 50% 16px 16px / 34% 34% 16px 16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:var(--bf);color:var(--ink);background:#fff;font-size:17px;line-height:1.72;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:var(--hf);font-weight:700;color:var(--nv);line-height:1.18}
h1 em,h2 em{font-style:normal;color:var(--rd);position:relative}
a{color:var(--rd);text-decoration:none;transition:.2s}
a:hover{color:var(--rd-d)}
img{max-width:100%}
.sec{padding:96px 0;position:relative}
.bg-snow{background:var(--sn)}
.bg-frost{background:var(--fr)}

/* folk ribbon */
.ribbon{height:10px;background:
 linear-gradient(135deg,var(--nv) 25%,transparent 25%) -10px 0/20px 20px,
 linear-gradient(225deg,var(--nv) 25%,transparent 25%) -10px 0/20px 20px,
 linear-gradient(315deg,var(--nv) 25%,transparent 25%) 0 0/20px 20px,
 linear-gradient(45deg,var(--nv) 25%,transparent 25%) 0 0/20px 20px,var(--rd)}

/* buttons */
.btn-hv,.btn-ghost{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;font-weight:600;font-size:16px;border:2px solid transparent;border-radius:14px;transition:.25s;cursor:pointer;line-height:1.2;background:none;white-space:nowrap;font-family:var(--bf)}
.btn-hv{background:var(--rd);color:#fff;border-color:var(--rd);box-shadow:0 5px 0 var(--rd-d)}
.btn-hv:hover{background:var(--rd-d);border-color:var(--rd-d);color:#fff;transform:translateY(2px);box-shadow:0 2px 0 var(--rd-d)}
.btn-hv.gold{background:var(--gd);border-color:var(--gd);color:var(--nv-d);box-shadow:0 5px 0 var(--gd-d)}
.btn-hv.gold:hover{background:#fff;border-color:#fff;color:var(--nv);box-shadow:0 2px 0 #d8dde6}
.btn-hv.sm,.btn-ghost.sm{padding:9px 18px;font-size:15px}
.btn-ghost{color:var(--nv);border-color:var(--nv)}
.btn-ghost:hover{background:var(--nv);color:#fff}
.btn-ghost.light{color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ghost.light:hover{background:#fff;color:var(--nv);border-color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* eyebrow + titles */
.ey{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rd);margin-bottom:14px}
.ey i{font-size:15px}
.ey.light{color:var(--gd)}
.tt{margin-bottom:46px;max-width:720px}
.tt.c{margin-left:auto;margin-right:auto;text-align:center}
.tt h2{font-size:clamp(30px,3.6vw,44px);margin-bottom:14px}
.tt p{color:var(--muted);margin:0}
.tt.light h2{color:#fff}.tt.light p{color:#c9d3e3}

/* header */
.hv-head{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--line);transition:.25s}
.hv-head.scrolled{box-shadow:0 12px 30px -22px rgba(19,36,61,.5)}
.hv-head .navbar{padding:14px 0}
.logo{display:inline-flex;align-items:center;gap:11px;white-space:nowrap;flex-wrap:nowrap}
.logo .mk{width:44px;height:44px;border-radius:50%;background:var(--rd);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;box-shadow:inset 0 0 0 3px var(--rd),inset 0 0 0 5px #fff;flex:none}
.logo .tx{font-family:var(--hf);font-weight:700;font-size:24px;color:var(--nv);line-height:1;white-space:nowrap}
.logo .tx span{color:var(--rd)}
.hv-head .nav-link{font-weight:600;font-size:16px;color:var(--ink);padding:8px 15px !important;position:relative}
.hv-head .nav-link::after{content:"";position:absolute;left:50%;bottom:-2px;width:7px;height:7px;border-radius:50%;background:var(--rd);transform:translateX(-50%) scale(0);transition:.25s}
.hv-head .nav-link:hover,.hv-head .nav-link.active{color:var(--rd)}
.hv-head .nav-link:hover::after,.hv-head .nav-link.active::after{transform:translateX(-50%) scale(1)}
.hact{display:flex;align-items:center;gap:18px}
.hcall{display:flex;align-items:center;gap:10px;color:var(--nv);font-weight:700;white-space:nowrap}
.hcall .ci{width:40px;height:40px;border-radius:12px;background:var(--fr);display:inline-flex;align-items:center;justify-content:center;color:var(--rd)}
.hcall .ct{display:flex;flex-direction:column;line-height:1.2;font-size:15px}
.hcall small{font-size:12px;color:var(--muted);font-weight:500}
.navbar-toggler{border:2px solid var(--nv);border-radius:12px;padding:6px 10px;font-size:24px;color:var(--nv);box-shadow:none !important}
@media (max-width:1199.98px){.hcall .ct{display:none}.hv-head .nav-link{padding:8px 10px !important}}
@media (max-width:991.98px){
 .hv-head .navbar-collapse{padding:16px 0 8px}
 .hv-head .nav-link::after{left:0;bottom:50%;transform:translateY(50%) scale(0)}
 .hv-head .nav-link:hover::after,.hv-head .nav-link.active::after{transform:translateY(50%) scale(1)}
 .hv-head .nav-link{padding-left:16px !important}
 .hact{margin-top:12px}
 .hcall .ct{display:flex}
}

/* photo fallback */
.ph{position:relative;overflow:hidden;background:linear-gradient(140deg,var(--fr),#f5ecda)}
.ph .fb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;color:rgba(29,53,87,.22)}
.ph img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}
.arch{border-radius:var(--arch)}

/* snow flakes pattern */
.flakes{position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.35) 1.5px,transparent 2px),radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.5px);background-size:46px 46px,23px 23px;background-position:0 0,11px 15px}
.scal-b{position:absolute;left:0;right:0;bottom:-1px;height:22px;background:radial-gradient(circle at 18px 0,transparent 17px,var(--nb,#fff) 18px) 0 0/36px 22px repeat-x;z-index:2}

/* hero */
.hero-hv{background:var(--nv);color:#dfe6f1;padding:84px 0 120px;position:relative;overflow:hidden}
.hero-hv h1{color:#fff;font-size:clamp(38px,5vw,62px);margin-bottom:20px}
.hero-hv h1 em{color:var(--gd)}
.hero-hv p{font-size:18px;max-width:560px}
.htxt{position:relative;z-index:2}
.vista{position:relative;padding:0 40px 40px 60px;z-index:2}
.v-main{aspect-ratio:4/4.4;border-radius:var(--arch);border:8px solid #fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.v-round{position:absolute;left:0;bottom:30px;width:42%;aspect-ratio:1;border-radius:50%;border:7px solid var(--gd)}
.v-snow{position:absolute;right:0;top:12%;width:30%;aspect-ratio:3/4;border-radius:var(--arch);border:6px solid var(--rd)}
.badge-hv{position:absolute;right:20px;bottom:0;background:var(--rd);color:#fff;font-weight:700;font-size:15px;padding:10px 18px;border-radius:14px;display:inline-flex;gap:8px;align-items:center;box-shadow:0 5px 0 var(--rd-d);z-index:3}

/* seasons */
.seasons-sec{padding-top:80px}
.sz{border-radius:var(--r);padding:28px 24px;height:100%;border:2px solid var(--line);background:#fff;transition:.3s}
.sz.sz:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.sz i{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}
.sz h3{font-size:22px;margin-bottom:8px}
.sz p{color:var(--muted);margin:0;font-size:15.5px}
.sz-sp i{background:#e5f1e4;color:#3f7a45}.sz-su i{background:#fdf1d2;color:#b9831a}.sz-fa i{background:var(--rd-l);color:var(--rd)}.sz-wi i{background:var(--fr);color:var(--nv)}
.sz-wi{background:var(--nv);border-color:var(--nv)}.sz-wi h3{color:#fff}.sz-wi p{color:#c9d3e3}.sz-wi i{background:rgba(255,255,255,.12);color:#fff}

/* service cards */
.svc-intro{height:100%;display:flex;flex-direction:column;justify-content:center;padding-right:10px}
.svc-intro .tt{margin-bottom:16px}
.svc-intro p{color:var(--muted);margin-bottom:24px}
.svc-intro .btn-hv{align-self:flex-start}
.sc{background:#fff;border-radius:var(--r);padding:14px 14px 0;height:100%;display:flex;flex-direction:column;box-shadow:0 1px 0 var(--line),0 14px 30px -26px rgba(19,36,61,.5);border:1px solid var(--line);transition:.3s}
.sc.sc:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.sc .arch{aspect-ratio:4/3}
.tag{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);background:#fff;color:var(--nv);font-size:13px;font-weight:700;padding:5px 14px;border-radius:999px;white-space:nowrap}
.sc .bd{padding:4px 10px 22px;display:flex;flex-direction:column;flex:1;text-align:center;align-items:center}
.ico{width:50px;height:50px;border-radius:50%;background:var(--rd);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:21px;margin:-22px 0 12px;position:relative;z-index:3;border:4px solid #fff}
.sc h3{font-size:21px;margin-bottom:8px}
.sc p{color:var(--muted);font-size:15.5px;margin-bottom:18px}
.sc .ft{margin-top:auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.more{font-weight:700;font-size:15px;color:var(--nv);display:inline-flex;gap:6px;align-items:center}
.more:hover{color:var(--rd)}
.svc-end{height:100%;border-radius:var(--r);background:var(--nv);color:#c9d3e3;padding:40px 30px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;overflow:hidden}
.svc-end>i{font-size:40px;color:var(--gd);margin-bottom:14px}
.svc-end h3{color:#fff;font-size:24px}
.svc-end p{margin-bottom:20px}

/* promise bar */
.promise{background:var(--rd);color:#fff;padding:20px 0}
.promise ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-around;gap:12px 28px}
.promise li{display:flex;align-items:center;gap:10px;font-weight:600}
.promise i{color:var(--gd);font-size:20px}

/* compass */
.compass{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--sh);border:1px solid var(--line)}
.cp-in{padding:36px}
.cp-step{display:flex;gap:16px;margin-bottom:26px}
.cp-step .num{width:42px;height:42px;border-radius:50%;background:var(--fr);color:var(--rd);display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.cp-step h4{font-size:19px;margin:8px 0 12px}
.cp-step .hint{font-size:14px;color:var(--muted);margin:-6px 0 10px}
.achips,.gchips{display:flex;flex-wrap:wrap;gap:8px}
.achip,.gchip{cursor:pointer;margin:0}
.achip input,.gchip input{position:absolute;opacity:0;pointer-events:none}
.achip span,.gchip span{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:12px;border:2px solid var(--line);font-size:14.5px;font-weight:600;color:var(--ink);transition:.2s;background:#fff}
.achip span:hover,.gchip span:hover{border-color:var(--nv)}
.achip input:checked+span{background:var(--nv);border-color:var(--nv);color:#fff}
.gchip input:checked+span{background:var(--rd-l);border-color:var(--rd);color:var(--rd-d)}
.achip input:focus-visible+span,.gchip input:focus-visible+span{outline:3px solid var(--gd);outline-offset:2px}
.cp-pic{aspect-ratio:16/9;margin-top:6px}
.cp-out{background:var(--nv);color:#c9d3e3;height:100%;padding:36px;display:flex;flex-direction:column;position:relative}
.cp-top{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.needle{width:58px;height:58px;border-radius:50%;background:var(--gd);color:var(--nv);display:inline-flex;align-items:center;justify-content:center;font-size:28px;flex:none}
.cp-top .ey{margin-bottom:4px}
.cp-top strong{display:block;font-family:var(--hf);color:#fff;font-size:21px;line-height:1.3}
.buckets{display:grid;gap:14px}
.bk{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px 18px}
.bk h5{color:var(--gd);font-family:var(--bf);font-size:14px;text-transform:uppercase;letter-spacing:.1em;display:flex;gap:8px;align-items:center;margin-bottom:12px}
.bk[data-bk=next] h5{color:#a9c1e8}.bk[data-bk=later] h5{color:#e8b3b9}
.bl{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.sgi{display:flex;gap:10px;align-items:flex-start;background:#fff;color:var(--ink);border-radius:14px;padding:12px 14px}
.sgi>i{width:34px;height:34px;border-radius:10px;background:var(--rd-l);color:var(--rd);display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:16px}
.sgi strong{display:block;font-size:15px;line-height:1.3;color:var(--nv)}
.sgi .gt{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:3px}
.sgi .se{display:flex;gap:5px;font-size:12.5px;color:var(--rd-d);margin-top:4px;line-height:1.35}
.bk .none{font-size:14px;color:#9fb0c8;margin:0}
.cp-empty{color:#fff;display:flex;gap:8px;align-items:center}
.cp-note{font-size:14px;margin:20px 0 22px;display:flex;gap:8px}
.cp-out .btn-hv{align-self:flex-start;margin-top:auto}

/* about duo */
.duo{position:relative;padding:0 70px 70px 0}
.duo .d1{aspect-ratio:4/4.6}
.duo .d2{position:absolute;right:0;bottom:0;width:48%;aspect-ratio:3/3.8;border:8px solid #fff;box-shadow:var(--sh)}
.heart{position:absolute;left:22px;bottom:40px;width:62px;height:62px;border-radius:50%;background:var(--gd);color:var(--rd);display:flex;align-items:center;justify-content:center;font-size:26px;z-index:3;box-shadow:0 5px 0 var(--gd-d)}
.chk{list-style:none;padding:0;margin:22px 0 30px}
.chk li{display:flex;gap:12px;margin-bottom:12px;font-weight:500}
.chk i{width:26px;height:26px;border-radius:50%;background:var(--rd);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none;margin-top:2px}

/* trail */
.trail{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.trail::before{content:"";position:absolute;top:38px;left:12%;right:12%;border-top:3px dashed rgba(29,53,87,.25)}
.tr{text-align:center;position:relative}
.tr .dot{width:78px;height:78px;border-radius:50%;background:#fff;border:3px solid var(--rd);color:var(--rd);display:inline-flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:18px;position:relative;z-index:1;transition:.3s}
.tr.tr:hover .dot{background:var(--rd);color:#fff}
.tr h3{font-size:21px}
.tr p{color:var(--muted);font-size:15.5px;max-width:250px;margin:0 auto}

/* blog card */
.bc{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:var(--r);border:1px solid var(--line);padding:14px;color:var(--ink);transition:.3s}
.bc.bc:hover{transform:translateY(-6px);box-shadow:var(--sh);color:var(--ink)}
.bc .arch{aspect-ratio:16/11;display:block}
.cap{display:flex;flex-direction:column;padding:18px 8px 6px;flex:1}
.cap .tag{position:static;transform:none;align-self:flex-start;background:var(--rd-l);color:var(--rd-d);display:inline-flex;gap:6px;align-items:center;margin-bottom:12px}
.cap .h{font-family:var(--hf);font-weight:700;color:var(--nv);font-size:20px;line-height:1.3;margin-bottom:10px}
.cap .ex{color:var(--muted);font-size:15.5px;margin-bottom:16px}
.cap .lk{margin-top:auto;font-weight:700;color:var(--rd);display:inline-flex;gap:6px;align-items:center}

/* CTA */
.cta-sec{padding-top:20px}
.cta-hv{background:var(--nv);border-radius:32px;padding:56px;color:#c9d3e3;position:relative;overflow:hidden}
.cta-hv h2{color:#fff;font-size:clamp(28px,3.4vw,42px)}
.cta-hv h2 em{color:var(--gd)}
.folk{position:absolute;inset:auto 0 0 0;height:14px;background:
 linear-gradient(135deg,var(--gd) 25%,transparent 25%) -7px 0/14px 14px,
 linear-gradient(225deg,var(--gd) 25%,transparent 25%) -7px 0/14px 14px,
 linear-gradient(315deg,var(--gd) 25%,transparent 25%) 0 0/14px 14px,
 linear-gradient(45deg,var(--gd) 25%,transparent 25%) 0 0/14px 14px,var(--rd)}
.cta-hv .row{position:relative;z-index:1}
.cta-arch{aspect-ratio:4/3.4;border-radius:var(--arch);border:7px solid rgba(255,255,255,.14)}

/* footer */
.hv-foot{margin-top:40px;position:relative}
.scal{height:22px;background:radial-gradient(circle at 18px 22px,var(--nv-d) 17px,transparent 18px) 0 0/36px 22px repeat-x}
.fbody{background:var(--nv-d);color:#a9b6ca;padding:30px 0 50px}
.fnews{background:var(--nv);border-radius:22px;padding:26px 30px;margin-bottom:56px;border:1px solid rgba(255,255,255,.08)}
.fnews h4{color:#fff;font-size:21px;display:flex;gap:10px;align-items:center;margin-bottom:4px}
.fnews h4 i{color:var(--gd)}
.fnews p{margin:0;font-size:15px}
.nlf{display:flex;gap:8px;background:#fff;padding:6px;border-radius:14px}
.nlf input{flex:1;min-width:0;border:0;outline:0;padding:8px 12px;font-size:15px;background:transparent}
.nlf button{background:var(--rd);color:#fff;border:0;border-radius:10px;padding:10px 18px;font-weight:700;white-space:nowrap;transition:.2s}
.nlf button:hover{background:var(--rd-d)}
.hv-foot h5{color:#fff;font-size:19px;margin-bottom:18px}
.hv-foot ul{list-style:none;padding:0;margin:0}
.hv-foot li{margin-bottom:9px}
.hv-foot a{color:#a9b6ca}
.hv-foot a:hover{color:var(--gd)}
.hv-foot ul.two{columns:2;column-gap:24px}
.hv-foot ul.two li{break-inside:avoid;font-size:15.5px}
.f-logo .tx{color:#fff}
.f-logo .mk{box-shadow:inset 0 0 0 3px var(--rd),inset 0 0 0 5px var(--nv-d)}
.hv-foot .main p{margin:18px 0 20px;font-size:15.5px}
.soc{display:flex;gap:10px}
.soc a{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.soc a:hover{background:var(--rd);color:#fff}
.fc{display:flex;gap:10px;align-items:center;margin-bottom:12px;white-space:nowrap}
.fc i{color:var(--gd)}
.bottom{background:var(--nv-d);border-top:1px solid rgba(255,255,255,.08);padding:20px 0;color:#8494ab;font-size:14.5px}
.bottom-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
.lkk{display:flex;flex-wrap:wrap;gap:20px}
.lkk a{color:#a9b6ca}.lkk a:hover{color:var(--gd)}
.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:14px;border:0;background:var(--rd);color:#fff;font-size:20px;opacity:0;visibility:hidden;transition:.3s;z-index:999;box-shadow:0 5px 0 var(--rd-d)}
.to-top.show{opacity:1;visibility:visible}

/* page header */
.ph-hv{background:var(--nv);padding:70px 0 96px;position:relative;overflow:hidden;color:#c9d3e3}
.ph-hv:has(+ .bg-frost){--nb:var(--fr)}
.ph-hv .container{position:relative;z-index:2}
.ph-hv h1{color:#fff;font-size:clamp(34px,4.4vw,54px);margin-bottom:14px}
.ph-hv h1 em{color:var(--gd)}
.ph-hv p{font-size:18px;margin:0;max-width:640px}
.crumb{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border-radius:999px;padding:6px 16px;font-size:14.5px;margin-bottom:20px;flex-wrap:wrap}
.crumb a{color:#fff;display:inline-flex;gap:6px;align-items:center}
.crumb span{color:var(--gd)}
.pwin{position:absolute;right:7%;bottom:0;width:210px;height:250px;border:8px solid rgba(255,255,255,.12);border-bottom:0;border-radius:105px 105px 0 0;z-index:1}
.pwin::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:6px solid rgba(255,255,255,.12);transform:translateX(-50%)}
.pwin::after{content:"";position:absolute;left:0;right:0;top:55%;border-top:6px solid rgba(255,255,255,.12)}
.pwin i{position:absolute;left:28%;top:22%;width:22px;height:22px;border-radius:50%;background:var(--gd);opacity:.8}
.meta{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:14px;font-size:15px}
.meta span{display:inline-flex;gap:8px;align-items:center}
.meta i{color:var(--gd)}
@media (max-width:991.98px){.pwin{width:130px;height:160px;right:-20px;opacity:.6}}

/* values */
.vc{background:#fff;border-radius:var(--r);padding:30px;height:100%;border:1px solid var(--line);transition:.3s}
.vc.vc:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.vi{width:56px;height:56px;border-radius:50% 50% 12px 12px;background:var(--rd);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px}
.vc h3{font-size:21px}
.vc p{color:var(--muted);margin:0}

/* services zigzag */
.jump{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.jump a{display:inline-flex;gap:8px;align-items:center;padding:9px 16px;border-radius:12px;background:var(--fr);color:var(--nv);font-weight:600;font-size:15px}
.jump a:hover{background:var(--nv);color:#fff}
.zz{padding:40px 0;border-bottom:2px dashed var(--line)}
.zz:last-child{border-bottom:0}
.zz .arch{aspect-ratio:4/3.6}
.zz.flip .zimg{order:2}
.ztx .ico{margin:0 0 14px;border:0;width:56px;height:56px;font-size:24px}
.ztx h2{font-size:clamp(26px,3vw,36px)}
.lead-s{font-size:18px;color:var(--muted)}
.feat{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
.feat li{display:flex;gap:9px;align-items:center;font-weight:600}
.feat i{color:var(--rd)}
.info{display:grid;gap:10px;margin-bottom:24px}
.info>div{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;font-size:15.5px}
.info i{font-size:19px;margin-top:1px}
.tip{background:var(--sn);border-left:4px solid var(--gd)}
.tip i{color:var(--gd-d)}
.when{background:var(--fr);border-left:4px solid var(--nv)}
.when i{color:var(--nv)}
@media (max-width:991.98px){.zz.flip .zimg{order:0}}

/* blog list */
.bl-row{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:center;padding:30px;border-radius:28px;background:#fff;border:1px solid var(--line);margin-bottom:30px;color:var(--ink);transition:.3s}
.bl-row.bl-row:hover{box-shadow:var(--sh);transform:translateY(-4px);color:var(--ink)}
.bl-row .arch{aspect-ratio:4/3.4;display:block}
.bl-row.flip .arch{order:2}
.bl-row .cap{padding:0}
.bl-row .cap .h{font-size:clamp(22px,2.4vw,30px)}
.pts{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}
.pts span{display:flex;gap:8px;align-items:center;font-size:15px;font-weight:500}
.pts i{color:var(--rd)}
@media (max-width:991.98px){.bl-row{grid-template-columns:1fr;gap:20px;padding:18px}.bl-row.flip .arch{order:0}}
.nlband{background:var(--nv);border-radius:28px;padding:44px;color:#c9d3e3;position:relative;overflow:hidden}
.nlband h3{color:#fff;font-size:28px}

/* article */
.cover-hv{border-radius:var(--arch);aspect-ratio:16/9;margin-bottom:36px}
.article{font-size:17.5px}
.article .intro{font-size:20px;color:var(--nv);line-height:1.65;font-weight:500}
.article h2{font-size:27px;margin:38px 0 14px}
.article p{color:#3a4252}
.kp{background:var(--fr);border-radius:20px;padding:24px 28px;margin:28px 0}
.kp h5{font-size:19px;display:flex;gap:10px;align-items:center}
.kp h5 i{color:var(--rd)}
.kp ul{list-style:none;padding:0;margin:12px 0 0}
.kp li{display:flex;gap:10px;margin-bottom:8px;font-weight:500}
.kp li i{color:var(--rd)}
.dt{display:flex;gap:16px;background:var(--sn);border:2px dashed #e6d8b7;border-radius:18px;padding:20px 22px;margin:26px 0}
.dt>i{width:44px;height:44px;border-radius:50%;background:var(--gd);color:var(--nv);display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.dt strong{font-family:var(--hf);color:var(--nv);font-size:18px}
.dt p{margin:4px 0 0;font-size:16px}
.dq{margin:34px 0;padding:30px 34px;background:var(--nv);border-radius:var(--arch);border-radius:24px;color:#fff;font-family:var(--hf);font-size:22px;line-height:1.45;position:relative;text-align:center}
.dq::before{content:"\201C";display:block;font-size:60px;line-height:.6;color:var(--gd);margin-bottom:10px}
.aside-hv{position:sticky;top:110px;display:grid;gap:22px}
.aside-hv .box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.aside-hv .box h5{font-size:20px;margin-bottom:12px}
.svcb{padding:12px !important}
.svcb .arch{aspect-ratio:16/10}
.bx-in{padding:14px 10px 8px}
.bx-in h6{font-size:20px}
.bx-in p{color:var(--muted);font-size:15px}
.aside-hv .box.navy{background:var(--nv);border-color:var(--nv);color:#c9d3e3}
.aside-hv .box.navy h5{color:#fff}
.aside-hv .box.navy>i{font-size:32px;color:var(--gd)}
.mr{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);color:var(--nv);font-weight:600;font-size:15px;line-height:1.35}
.mr .ph{width:76px;height:64px;border-radius:12px;flex:none}
.mr:hover{color:var(--rd)}

/* contact */
.cinfo{background:var(--nv);color:#c9d3e3;border-radius:28px;padding:40px 34px 50px;height:100%;position:relative;overflow:hidden}
.cinfo h3{color:#fff;font-size:28px}
.cinfo>p{margin-bottom:26px}
.ci-row{display:flex;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
.ci-row>i{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.08);color:var(--gd);display:inline-flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.ci-row small{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--gd);font-weight:700}
.ci-row span,.ci-row a{color:#fff;font-weight:500;word-break:break-word}
.cform{background:#fff;border:1px solid var(--line);border-radius:28px;padding:40px;box-shadow:var(--sh)}
.cform .tt{margin-bottom:24px}
.form-label{font-weight:600;font-size:15px;color:var(--nv)}
.form-control,.form-select{border:2px solid var(--line);border-radius:12px;padding:11px 14px;font-size:16px;background-color:var(--sn)}
.form-control:focus,.form-select:focus{border-color:var(--nv);box-shadow:0 0 0 4px rgba(29,53,87,.1);background-color:#fff}
.form-check-input:checked{background-color:var(--rd);border-color:var(--rd)}
.form-check-label{font-size:15px}
.form-success{display:none;margin-top:16px;padding:14px 16px;border-radius:12px;background:#e7f3e8;color:#2f6b37;gap:10px;align-items:center;font-weight:500}
.form-success.show{display:flex}
.cmap{margin-top:40px;border-radius:28px;overflow:hidden;border:6px solid var(--fr);height:380px;background:var(--fr)}
.cmap iframe{width:100%;height:100%;border:0;display:block}

/* newsletter */
.nlbox{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--sh)}
.nlbox .frm{padding:44px}
.nlbox h3{font-size:30px}
.nlbox .sub{color:var(--muted)}
.perks{list-style:none;padding:0;margin:20px 0 24px}
.perks li{display:flex;gap:10px;margin-bottom:8px;font-weight:500}
.perks i{color:var(--rd)}
.nlside{height:100%;min-height:320px}
.nlq{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;background:var(--rd);color:#fff;padding:14px 18px;border-radius:14px;font-family:var(--hf);font-size:18px}
.emb{width:76px;height:76px;border-radius:50% 50% 16px 16px;background:var(--rd-l);color:var(--rd);display:inline-flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:18px}

/* legal */
.ltoc{position:sticky;top:110px;background:var(--sn);border-radius:var(--r);padding:24px}
.ltoc h5{font-size:19px;display:flex;gap:8px;align-items:center}
.ltoc h5 i{color:var(--rd)}
.ltoc .lst{display:flex;flex-direction:column;max-height:60vh;overflow:auto}
.ltoc a{padding:7px 0;border-bottom:1px dashed var(--line);color:var(--ink);font-size:15px}
.ltoc a:hover{color:var(--rd)}
.legal-hv .upd{display:inline-flex;gap:8px;align-items:center;background:var(--fr);border-radius:999px;padding:6px 16px;font-size:14.5px;font-weight:600;color:var(--nv);margin-bottom:12px}
.legal-hv section{padding-top:12px}
.legal-hv h2{font-size:26px;margin:24px 0 12px}
.legal-hv p,.legal-hv li{color:#3a4252}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* responsive */
@media (max-width:1199.98px){.logo .tx{font-size:22px}}
@media (max-width:991.98px){
 .sec{padding:72px 0}
 .hero-hv{padding:56px 0 100px}
 .vista{padding:0 24px 30px 40px;max-width:560px;margin:10px auto 0}
 .trail{grid-template-columns:repeat(2,1fr);row-gap:40px}
 .trail::before{display:none}
 .cp-out{border-radius:0}
 .cta-hv{padding:40px 30px}
 .aside-hv,.ltoc{position:static}
}
@media (max-width:575.98px){
 body{font-size:16px}
 .logo .tx{font-size:20px}.logo .mk{width:40px;height:40px;font-size:18px}
 .vista{padding:0 10px 30px 24px}
 .v-snow{display:none}
 .badge-hv{right:0;font-size:13.5px}
 .trail{grid-template-columns:1fr}
 .cp-in,.cp-out{padding:26px 20px}
 .duo{padding:0 40px 50px 0}
 .heart{left:12px;width:52px;height:52px;font-size:22px}
 .cform,.nlbox .frm{padding:26px 20px}
 .cinfo{padding:30px 22px 44px}
 .feat{grid-template-columns:1fr}
 .nlband{padding:30px 22px}
 .hv-foot ul.two{columns:1}
 .fnews{padding:22px 18px}
 .nlf button{padding:10px 12px}
 .cta-hv{padding:32px 20px}
 .sz{padding:22px 16px}
}
.sc .tag,.zz .tag{top:16px;bottom:auto}
