/* The Consultant — Broker / Finance / Projects. Bright formal office. Re-skin via :root */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&family=Public+Sans:wght@400;500;600;700&display=swap');
:root{--navy:#0b2545;--navy2:#13315c;--green:#0fa968;--green2:#0a8a55;--amber:#f4b43a;--bg:#f4f8fc;--card:#fff;--line:#dce6f0;--ink:#0f1c2e;--mute:#5b6b80;--hd:'Source Serif 4',Georgia,serif;--bd:'Public Sans',system-ui,sans-serif;--ease:cubic-bezier(.2,.8,.2,1);--pad:clamp(20px,4vw,52px);--r:10px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font:400 1rem/1.7 var(--bd);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;background:var(--bg) linear-gradient(rgba(11,37,69,.035) 1px,transparent 1px) 0 0/44px 44px}body.lock{overflow:hidden}
img{display:block;max-width:100%;background:linear-gradient(135deg,#dbe6f2,#c4d4e6)}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.c{width:100%;max-width:1280px;margin:auto;padding-inline:var(--pad)}section{padding:clamp(60px,8vw,108px) 0}.off{display:none!important}
h1,h2,h3{font-family:var(--hd);font-weight:600;line-height:1.1;letter-spacing:-.015em;color:var(--navy)}h1{font-size:clamp(2.5rem,5.4vw,4.7rem);font-weight:700;line-height:1.04}h2{font-size:clamp(2rem,3.8vw,3.2rem)}h3{font-size:1.35rem;line-height:1.2}
p{color:var(--mute);max-width:62ch}.tc{text-align:center}.tc p,.tc .eb{margin-inline:auto}em{font-style:normal;color:var(--green)}
.eb{display:inline-flex;align-items:center;gap:12px;font:700 .76rem var(--bd);letter-spacing:.16em;text-transform:uppercase;color:var(--green2);margin-bottom:16px}.eb::before{content:"";width:28px;height:3px;background:var(--green);border-radius:2px}.tc .eb::after{content:"";width:28px;height:3px;background:var(--green);border-radius:2px}
.dk{background:var(--navy);color:#e6edf6}.dk h2,.dk h3{color:#fff}.dk p{color:#a9b9cf}.dk .eb{color:#5fe0a6}.dk em{color:#5fe0a6}
/* buttons */
.bt{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;border-radius:8px;background:var(--green);color:#fff;font:600 .95rem var(--bd);border:0;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .4s var(--ease),box-shadow .4s}
.bt::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:translateY(101%);transition:transform .5s var(--ease)}.bt:hover::before{transform:none}.bt:hover{transform:translateY(-3px);box-shadow:0 14px 26px -12px rgba(11,37,69,.55)}.bt svg{transition:transform .4s var(--ease)}.bt:hover svg{transform:translateX(5px)}
.bt.nv2{background:var(--navy)}.bt.nv2::before{background:var(--green)}.bt.o{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}.bt.o:hover{color:#fff}.dk .bt.o{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}.dk .bt.o::before{background:#fff}.dk .bt.o:hover{color:var(--navy)}
/* ticker + header */
.tk{background:var(--navy);color:#cfe0f5;font:500 .82rem var(--bd);overflow:hidden;white-space:nowrap}.tk div{display:flex;gap:48px;width:max-content;padding:10px 0;animation:mq 40s linear infinite}.tk:hover div{animation-play-state:paused}.tk span{display:inline-flex;align-items:center;gap:8px}.tk b{color:#fff}.tk svg{color:#5fe0a6}@keyframes mq{to{transform:translateX(-50%)}}
.hd{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.hd .c{display:flex;align-items:center;justify-content:space-between;height:84px}
.brand{display:flex;align-items:center;gap:13px}.brand .lg{width:46px;height:46px;border-radius:9px;background:var(--navy);color:#5fe0a6;display:grid;place-items:center;box-shadow:inset 0 -4px 0 var(--green)}.brand b{display:block;font:700 1.5rem var(--hd);color:var(--navy);letter-spacing:-.02em;line-height:1}.tg{display:flex;align-items:center;gap:7px;margin-top:6px;font:600 .66rem var(--bd);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.tg i{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block}
.nv{display:flex;align-items:center;gap:2px}.nv a.l{display:inline-flex;align-items:center;gap:6px;padding:10px 15px;font-weight:500;font-size:.94rem;position:relative}.nv a.l::after{content:"";position:absolute;left:15px;right:15px;bottom:2px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.nv a.l:hover::after,.nv a.l.on::after{transform:scaleX(1)}.nv a.l.on{color:var(--green2)}.nv .bt{margin-left:12px;padding:13px 22px}
.dd{position:relative;padding:28px 0;margin:-28px 0}.dd>a svg{transition:transform .4s var(--ease)}.dd:hover>a svg{transform:rotate(180deg)}.sub{position:absolute;top:100%;left:0;min-width:250px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:0 0 10px 10px;padding:8px;box-shadow:0 30px 50px -24px rgba(11,37,69,.35);opacity:0;visibility:hidden;transform:translateY(10px);transition:.35s var(--ease)}.dd:hover .sub,.dd:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border-radius:6px;font-size:.92rem;transition:background .3s,padding .3s}.sub a:hover{background:var(--bg);padding-left:20px}.sub small{font:700 .6rem var(--bd);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--green);padding:3px 8px;border-radius:99px}
.bg{display:none;width:46px;height:46px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;place-items:center}.bg .x{display:none}body.lock .bg .x{display:block}body.lock .bg .m{display:none}
.mm{position:fixed;inset:0;z-index:90;background:var(--navy);color:#fff;padding:120px var(--pad) 40px;overflow-y:auto;visibility:hidden;opacity:0;transition:opacity .4s,visibility 0s .4s}.mm.open{visibility:visible;opacity:1;transition:opacity .4s}
.mm a{display:block;font:600 clamp(1.8rem,7vw,2.5rem) var(--hd);padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14)}.mm .ms{padding:0 0 10px 16px}.mm .ms a{font:500 1.05rem var(--bd);border:0;padding:6px 0;color:#a9b9cf}.mm a.on{color:#5fe0a6}.mm p{margin-top:26px;color:#a9b9cf}
/* hero */
.hero{padding:clamp(40px,6vw,84px) 0 clamp(60px,7vw,100px);background:linear-gradient(180deg,#fff,#eaf2fb 70%)}.hero .c{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}.hero p.lead{font-size:1.18rem;margin:24px 0 32px;max-width:52ch}.acts{display:flex;gap:12px;flex-wrap:wrap}
.hero .eb,.hero h1,.hero .lead,.hero .acts,.pts{animation:up .9s var(--ease) both}.hero h1{animation-delay:.08s}.hero .lead{animation-delay:.16s}.hero .acts{animation-delay:.24s}.pts{animation-delay:.34s}@keyframes up{from{opacity:0;transform:translateY(22px)}}
.pts{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap}.pts div{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.92rem}.pts svg{color:var(--green)}
.hv{position:relative;aspect-ratio:1/1.02}.hv .pic{position:absolute;inset:0 0 10% 12%;border-radius:12px;overflow:hidden;box-shadow:0 40px 70px -34px rgba(11,37,69,.6)}.hv .pic img{width:100%;height:100%;object-fit:cover;animation:zm 20s ease-in-out infinite alternate}@keyframes zm{to{transform:scale(1.07)}}.hv::before{content:"";position:absolute;left:4%;top:6%;width:70%;height:78%;border:2px solid var(--green);border-radius:12px;z-index:0}
.fc{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;box-shadow:0 28px 50px -26px rgba(11,37,69,.5)}.fc small{display:block;font:700 .66rem var(--bd);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.fc b{display:block;font:700 1.8rem var(--hd);color:var(--navy);line-height:1.1;letter-spacing:-.02em}.fc b i{font:600 .85rem var(--bd);font-style:normal;color:var(--green2)}
.fc.a{left:-2%;bottom:0;width:60%;animation:fl 7s ease-in-out infinite}.fc.b{right:-3%;top:8%;display:flex;gap:14px;align-items:center;animation:fl 6s ease-in-out -3s infinite}.fc.c{left:0;top:16%;padding:12px 18px;display:flex;gap:10px;align-items:center;font:700 .9rem var(--bd);color:var(--navy);animation:fl 5s ease-in-out -1.5s infinite}@keyframes fl{50%{transform:translateY(-10px)}}
.fc.c i{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(15,169,104,.5);animation:pl 2s infinite}@keyframes pl{to{box-shadow:0 0 0 12px rgba(15,169,104,0)}}
.ring{width:76px;height:76px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:8;stroke-linecap:round}.ring .t{stroke:#e5edf6}.ring .p{stroke:var(--green);stroke-dasharray:201;stroke-dashoffset:16;transition:stroke-dashoffset 2s var(--ease)}.js .rg2:not(.in) .p{stroke-dashoffset:201}
.ln path.l{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:0;transition:stroke-dashoffset 2.2s var(--ease)}.js .ln:not(.in) path.l{stroke-dashoffset:420}.ln path.f{fill:url(#g2);transition:opacity 1.5s .5s}.js .ln:not(.in) path.f{opacity:0}
.rv{transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s)}.js .rv{opacity:0;transform:translateY(30px)}.js .rv.in{opacity:1;transform:none}
/* stats strip */
.sbar{background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 30px 50px -36px rgba(11,37,69,.4);margin-top:-50px;position:relative;z-index:3}.sbar>div{padding:30px 28px;border-right:1px solid var(--line)}.sbar>div:last-child{border:0}.sbar b{display:block;font:700 2.6rem var(--hd);color:var(--navy);line-height:1;letter-spacing:-.03em}.sbar b i{font-style:normal;color:var(--green)}.sbar span{font-size:.88rem;color:var(--mute)}
.sec{margin-bottom:50px}.sec.sp{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}.sec p{margin-top:14px}
/* cards */
.cd{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;transition:transform .5s var(--ease),box-shadow .5s,border-color .4s;overflow:hidden}.cd::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}a.cd:hover,.cd.h:hover{transform:translateY(-8px);box-shadow:0 36px 50px -30px rgba(11,37,69,.45);border-color:#b9ccdf}a.cd:hover::before,.cd.h:hover::before{transform:none}
.ico{width:56px;height:56px;border-radius:10px;display:grid;place-items:center;color:var(--green2);background:#e7f7ef;margin-bottom:22px;transition:.5s var(--ease)}.cd:hover .ico{background:var(--green);color:#fff;transform:translateY(-3px)}.cd .mr{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--green2);margin-top:6px}.cd .mr svg{transition:transform .4s var(--ease)}.cd:hover .mr svg{transform:translateX(6px)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.g3 .cd p{margin:12px 0 18px;font-size:.96rem}.pl3 .n{font:700 3.2rem var(--hd);color:#dbe6f2;line-height:1;transition:color .4s}.pl3 .cd:hover .n{color:var(--green)}.pl3 li{display:flex;gap:10px;padding:5px 0;font-weight:500;font-size:.94rem}.pl3 li svg{color:var(--green);flex:none;margin-top:4px}
.ab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}.ab .ph2{position:relative}.ab .ph2>img{width:100%;aspect-ratio:5/5.2;object-fit:cover;border-radius:12px}.ab .ph2::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid var(--green);border-radius:12px;z-index:-1}.ab .bdg{position:absolute;left:-20px;bottom:28px;background:var(--navy);color:#fff;padding:20px 26px;border-radius:10px}.ab .bdg b{display:block;font:700 2.6rem var(--hd);color:#5fe0a6;line-height:1}.ab p{margin:16px 0}
.ck li{display:flex;gap:12px;padding:7px 0;font-weight:500}.ck svg{color:var(--green);flex:none;margin-top:4px}
/* process */
.stp{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}.stp>div{padding:0 26px 0 0;position:relative}.stp .n{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--green);font:700 1.3rem var(--hd);color:var(--navy);margin-bottom:22px;position:relative;z-index:2;transition:.4s var(--ease)}.stp>div:hover .n{background:var(--green);color:#fff;transform:scale(1.1)}.stp>div::before{content:"";position:absolute;left:56px;right:0;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--green) 0 8px,transparent 8px 14px)}.stp>div:last-child::before{display:none}.stp h3{margin-bottom:8px}.dk .stp .n{background:var(--navy2);color:#fff}
/* calculator */
.cal{display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 40px 60px -40px rgba(11,37,69,.45)}.cal .in{padding:clamp(26px,4vw,48px);display:grid;gap:22px;align-content:start}.cal label{display:flex;justify-content:space-between;font:600 .9rem var(--bd);color:var(--navy);margin-bottom:8px}.cal label output{color:var(--green2);font-weight:700}
.cal input[type=range]{width:100%;accent-color:var(--green);height:6px}.cal .out{background:var(--navy);color:#fff;padding:clamp(26px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:6px}.cal .out small{font:700 .7rem var(--bd);letter-spacing:.14em;text-transform:uppercase;color:#8fb0d6}.cal .out b{font:700 3.2rem var(--hd);color:#5fe0a6;line-height:1.05;letter-spacing:-.03em}.cal .row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(255,255,255,.14);color:#cfe0f5}.cal .row b{font:700 1.15rem var(--hd);color:#fff}.cal .nt{font-size:.78rem;color:#8fb0d6;margin-top:14px}
/* projects */
.pjg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.pj{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s}.pj:hover{transform:translateY(-8px);box-shadow:0 40px 56px -32px rgba(11,37,69,.5)}.pj .im{position:relative;aspect-ratio:4/3;overflow:hidden}.pj .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.pj:hover .im img{transform:scale(1.08)}.pj .im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(11,37,69,.7));opacity:0;transition:opacity .5s}.pj:hover .im::after{opacity:1}
.pj .st{position:absolute;left:14px;top:14px;z-index:2;padding:6px 12px;border-radius:99px;background:#fff;font:700 .72rem var(--bd);letter-spacing:.06em;text-transform:uppercase;color:var(--green2)}.pj .b{padding:24px 26px 26px}.pj .tg2{font:700 .72rem var(--bd);letter-spacing:.12em;text-transform:uppercase;color:var(--green2)}.pj h3{margin:8px 0 14px}.pj .kv{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:16px;border-top:1px dashed var(--line)}.pj .kv span{font-size:.8rem;color:var(--mute);display:block}.pj .kv b{font:700 1.25rem var(--hd);color:var(--navy)}
.flt{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}.flt button{padding:11px 22px;border-radius:99px;border:1px solid var(--line);background:#fff;font:600 .88rem var(--bd);cursor:pointer;transition:.3s var(--ease)}.flt button:hover{border-color:var(--green);transform:translateY(-2px)}.flt .on{background:var(--navy);color:#fff;border-color:var(--navy)}
/* reviews, posts, faq */
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.rc{padding:32px}.stars{display:flex;gap:3px;color:var(--amber);margin-bottom:16px}.rc blockquote{font:500 1.15rem/1.55 var(--hd);color:var(--navy)}.who{display:flex;gap:14px;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.who img{width:50px;height:50px;border-radius:50%;object-fit:cover}.who b{display:block;line-height:1.2}.who span{font-size:.85rem;color:var(--mute)}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.po{display:block}.po .im{aspect-ratio:16/10;border-radius:12px;overflow:hidden}.po .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.po:hover .im img{transform:scale(1.08)}.po .m{margin:18px 0 8px;font:700 .72rem var(--bd);letter-spacing:.14em;text-transform:uppercase;color:var(--green2)}.po h3{display:inline;background:linear-gradient(var(--green),var(--green)) 0 100%/0 2px no-repeat;transition:background-size .6s var(--ease)}.po:hover h3{background-size:100% 2px}.po p{margin-top:10px;font-size:.94rem}
.fp{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:40px}.fp .im{min-height:380px;overflow:hidden}.fp .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.fp:hover .im img{transform:scale(1.06)}.fp .b{padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;justify-content:center;gap:16px;align-items:flex-start}.fp h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.faq{max-width:900px;margin:auto;display:grid;gap:12px}.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:2px 26px;transition:border-color .3s}.faq details[open],.faq details:hover{border-color:var(--green)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 1.15rem var(--hd);color:var(--navy)}.faq summary::-webkit-details-marker{display:none}.faq summary svg{flex:none;color:var(--green);transition:transform .4s var(--ease)}.faq details[open] summary svg{transform:rotate(45deg)}.faq p{padding-bottom:22px}
/* contact + forms */
.ct{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,5vw,70px);align-items:start}.inf{display:grid;gap:0;margin-top:28px}.inf div{display:flex;gap:16px;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.14)}.inf .ic{width:48px;height:48px;border-radius:9px;display:grid;place-items:center;background:rgba(95,224,166,.14);color:#5fe0a6;flex:none}.inf small{display:block;color:#8fb0d6}
.fm{display:grid;gap:14px;padding:clamp(26px,4vw,42px);background:#fff;border-radius:14px;color:var(--ink);box-shadow:0 40px 60px -36px rgba(0,0,0,.5)}.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fm label{display:block;font:700 .72rem var(--bd);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;color:var(--mute)}.fm input,.fm textarea,.fm select{width:100%;padding:14px 16px;border-radius:8px;border:1.5px solid var(--line);background:var(--bg);font:inherit;color:var(--ink);transition:border-color .3s,box-shadow .3s,background .3s}.fm input:focus,.fm textarea:focus,.fm select:focus{outline:0;border-color:var(--green);background:#fff;box-shadow:0 0 0 4px rgba(15,169,104,.15)}.note{color:var(--green2);font-weight:600;min-height:1.4em}.disc{font-size:.8rem;color:var(--mute);max-width:none}.dk .disc{color:#8fb0d6}
.cta{padding:0 0 clamp(60px,8vw,100px)}.cta .bx{border-radius:16px;padding:clamp(40px,6vw,76px);background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden}.cta .bx::after{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;border:40px solid rgba(15,169,104,.25)}.cta h2{color:#fff;max-width:14em}.cta p{color:#a9b9cf;margin-top:12px}.cta .bt{position:relative;z-index:2}
/* inner pages */
.ph{padding:clamp(40px,6vw,76px) 0 clamp(50px,6vw,80px);background:linear-gradient(180deg,#fff,#eaf2fb);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.ph::after{content:"";position:absolute;right:-60px;bottom:-120px;width:380px;height:380px;border-radius:50%;border:44px solid rgba(15,169,104,.12)}.ph .c{position:relative;z-index:2}.ph h1{font-size:clamp(2.3rem,4.8vw,4rem);max-width:15em}.ph p{margin-top:16px;font-size:1.1rem}
.bc{display:flex;gap:8px;font-size:.86rem;color:var(--mute);margin-bottom:18px;flex-wrap:wrap}.bc a:hover{color:var(--green2)}.bc span::before{content:"/";margin-right:8px;opacity:.5}
.tm{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.tm .im{aspect-ratio:4/4.6;overflow:hidden;border-radius:12px}.tm img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform 1.2s var(--ease)}.tm>div:hover img{filter:none;transform:scale(1.05)}.tm h3{margin-top:16px;font-size:1.2rem}.tm p{font-size:.9rem}
.tl>div{display:grid;grid-template-columns:140px 1fr;gap:26px;padding:26px 0;border-top:1px solid var(--line);transition:padding .4s var(--ease)}.tl>div:hover{padding-left:12px}.tl b{font:700 2.2rem var(--hd);color:var(--green);line-height:1}.tl h3{margin-bottom:6px}
.chips{display:flex;gap:10px;flex-wrap:wrap}.chips span{padding:11px 20px;border-radius:99px;background:#fff;border:1px solid var(--line);font:600 .9rem var(--bd);transition:.3s var(--ease)}.chips span:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:.95rem}th{background:var(--navy);color:#fff;text-align:left;padding:14px 18px;font:700 .74rem var(--bd);letter-spacing:.1em;text-transform:uppercase}td{padding:14px 18px;border-top:1px solid var(--line);color:var(--ink)}tbody tr{transition:background .3s}tbody tr:hover{background:#eef6fb}td:first-child{font-weight:600;color:var(--navy)}.tw{overflow-x:auto;border-radius:10px}
.two{display:grid;grid-template-columns:1fr 360px;gap:clamp(28px,5vw,64px);align-items:start}.art p{font-size:1.07rem;margin-bottom:1.1em;max-width:none}.art h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:46px 0 18px}.art .hi{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:12px;margin-bottom:32px}
.kp{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.kp .cd{padding:22px}.kp b{font:700 2.1rem var(--hd);color:var(--green);display:block;line-height:1;letter-spacing:-.03em}.kp span{font-size:.86rem;color:var(--mute)}
.facts{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.facts h3{padding:20px 24px;background:var(--navy);color:#fff;font-size:1.1rem}.facts div{display:flex;justify-content:space-between;gap:16px;padding:13px 24px;border-top:1px solid var(--line);font-size:.93rem}.facts div span{color:var(--mute)}.facts div b{color:var(--navy);text-align:right}
aside{position:sticky;top:110px;display:grid;gap:18px}.al a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-top:1px solid var(--line);font-weight:600;transition:padding .3s,color .3s}.al a:first-child{border:0}.al a:hover,.al a.on{color:var(--green2);padding-left:12px}.side{padding:26px}.side.dk{background:var(--navy);border-radius:12px}.side.dk p{margin:10px 0 20px}
.gl3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.gl3 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;transition:transform .8s var(--ease)}.gl3 img:hover{transform:scale(1.04)}
.prose{max-width:780px;margin:0 auto}.prose p{color:#39475a;font-size:1.12rem;line-height:1.85;margin-bottom:1.2em;max-width:none}.prose>p:first-of-type{font:500 1.4rem/1.55 var(--hd);color:var(--navy)}.prose h2{font-size:2rem;margin:42px 0 16px}.prose blockquote{padding:24px 30px;margin:34px 0;border-left:5px solid var(--green);background:#fff;border-radius:0 10px 10px 0;font:600 1.35rem/1.4 var(--hd);color:var(--navy)}.prose .tw{margin:26px 0}.hero-img{aspect-ratio:21/9;border-radius:14px;overflow:hidden;margin-bottom:46px}.hero-img img{width:100%;height:100%;object-fit:cover}
.by{display:flex;gap:12px;align-items:center;margin-top:24px}.by img{width:50px;height:50px;border-radius:50%;object-fit:cover}.by b{display:block;line-height:1.2}.by span{font-size:.85rem;color:var(--mute)}.sh{display:flex;gap:10px;align-items:center;padding:22px 0;border-block:1px solid var(--line);margin-top:40px}.sh a{width:44px;height:44px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;background:#fff;transition:.3s}.sh a:hover{background:var(--green);border-color:var(--green);color:#fff}
.of{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.map{width:100%;height:auto;border-radius:14px;border:1px solid var(--line);background:#fff;margin-top:30px}.map .pin{animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{r:6;opacity:.8}100%{r:32;opacity:0}}
/* footer */
.ft{background:var(--navy);color:#b9c8dc;padding:84px 0 28px}.ft p{color:#8fa4bf}.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px}.fg h4{font:700 .78rem var(--bd);letter-spacing:.14em;text-transform:uppercase;color:#5fe0a6;margin-bottom:16px}.fg a,.fg span{display:block;padding:5px 0;transition:color .3s,transform .3s var(--ease)}.fg a:hover{color:#fff;transform:translateX(5px)}.ft .brand b{color:#fff}.ft .tg{color:#8fa4bf}.ft .brand .lg{background:var(--green);color:#fff;box-shadow:none}.ft .brand{margin-bottom:16px}
.so{display:flex;gap:10px;margin-top:20px}.so a{width:42px;height:42px;border-radius:8px;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;padding:0}.so a:hover{background:var(--green);border-color:var(--green);color:#fff;transform:translateY(-3px)}.cp2{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:24px;font-size:.84rem;color:#7d93b0}.cp2 .r{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px}
@media(max-width:980px){.nv{display:none}.bg{display:grid}.hero .c,.ab,.cal,.fp,.two,.ct,.f2{grid-template-columns:1fr}.g3,.pjg,.rg,.pg,.of,.fg,.kp{grid-template-columns:1fr}.sbar,.stp,.tm{grid-template-columns:1fr 1fr}.sbar>div{border-bottom:1px solid var(--line)}.stp>div::before{display:none}.stp>div{padding:0 0 24px}aside{position:static}.hv{max-width:520px;margin:auto}.tl>div{grid-template-columns:1fr;gap:6px}.ab .ph2::after{display:none}.ab .bdg{left:10px}.gl3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sbar,.stp,.tm,.gl3{grid-template-columns:1fr}.tg{font-size:.58rem;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}.js .ln:not(.in) path.l{stroke-dashoffset:0}.js .ln:not(.in) path.f{opacity:1}.js .rg2:not(.in) .p{stroke-dashoffset:16}}
.two>*,.ct>*,.ab>*,.cal>*,.hero .c>*{min-width:0}
@media(max-width:560px){.cal .out b{font-size:2.4rem}.cal label{flex-wrap:wrap;gap:4px}}
