/* ---- 01-tokens.css ---- */
/* Design tokens: change the design language here first.
   Colours, fonts and the container width are used everywhere through these variables.
   EHH Studio > Page builder > Theme can override the colour and font tokens at runtime. */
:root{
  
  --navy:#0D2B55;
  --blue:#1D4ED8;
  --charcoal:#1F2937;
  --orange:#F97316;
  --midnight:#17171C;
  
  --paper:#F7F7F5;
  --white:#fff;
  --orange-text:#C2410C;
  --orange-soft:#FDBA74;
  --muted:#5B6270;
  --line:#E6E6E6;
  
  --head:"Poppins",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  
  --wrap:1170px;
  --r-btn:10px;
  --r-card:10px;
  
  color-scheme:light;
  box-sizing:border-box;
  
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  
}

/* ---- 02-base.css ---- */


*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--charcoal);font:400 16px/1.7 var(--body)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--orange-text)}
h1,h2,h3,h4{font-family:var(--head);color:#222;margin:0 0 .5em;line-height:1.25}
p{margin:0 0 1em}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--navy);color:#fff;padding:10px 16px;font-family:var(--head)}
.skip:focus{top:12px;color:#fff}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
.ico{width:1em;height:1em;flex:none;fill:currentColor;vertical-align:-.12em}
.hl{color:var(--orange-text)}
.dark .hl,.hl-soft{color:var(--orange-soft)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 30px;border:0;border-radius:2px;font:600 15px/1 var(--head);transition:background .2s}
.btn-orange{background:var(--orange);color:var(--navy)}
.btn-orange:hover{background:#EA6A0C;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:#0A2244;color:#fff}
.btn-sm{min-height:36px;padding:8px 18px;font-size:13px}
.btn-up{text-transform:uppercase;letter-spacing:.02em}

/* placeholders */
.ph{position:relative;overflow:hidden;background:var(--g,linear-gradient(135deg,#21497e,#0D2B55));min-height:120px}
.ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 2px,transparent 2px 22px),radial-gradient(circle at 70% 35%,rgba(255,255,255,.18),transparent 55%)}
.ph::after{content:attr(data-label);position:absolute;left:12px;bottom:10px;max-width:calc(100% - 24px);font:500 11px/1.3 var(--head);color:rgba(255,255,255,.85);background:rgba(13,43,85,.55);padding:4px 8px;border-radius:2px}
.ph.nolabel::after{display:none}
.t-lake{--g:linear-gradient(160deg,#3b7fb8,#1b4f86 55%,#0D2B55)}
.t-earth{--g:linear-gradient(150deg,#c98a4b,#8a4b22 60%,#4a2a17)}
.t-green{--g:linear-gradient(150deg,#6f9a4a,#3c6a2f 60%,#1f3d1c)}
.t-dusk{--g:linear-gradient(160deg,#f2a65a,#b5543a 50%,#3d2a4f)}
.t-navy{--g:linear-gradient(150deg,#2a4f86,#0D2B55)}
.t-sky{--g:linear-gradient(170deg,#9cc5e8,#5d93c4 60%,#2f5f93)}
.t-stone{--g:linear-gradient(150deg,#8b8f98,#4b4f59)}

/* sample flag */
.sample{display:inline-block;font:600 10.5px/1 var(--head);color:var(--navy);background:#FFF1E6;border:1px solid #FDBA74;padding:4px 7px;border-radius:2px;margin-bottom:8px}
.notice{background:#FFF7ED;border-bottom:1px solid #FED7AA;font:500 13px/1.5 var(--head);color:#7C2D12;text-align:center;padding:7px 16px}

/* ===== top bar ===== */
.topbar{background:var(--midnight);color:#fff;font:500 13px/1 var(--head)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:16px}
.topbar .l{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.topbar .l span{display:flex;align-items:center;gap:8px}
.topbar .l span+span{border-left:1px solid #4a4a52;padding-left:20px}
.topbar .ico{color:var(--orange)}
.topbar .r{display:flex;align-items:center;gap:16px}
.topbar .r a{display:flex;align-items:center;gap:7px;text-transform:uppercase;min-height:36px}
.topbar .r a:hover{color:var(--orange-soft)}

/* ===== header ===== */
.hdr{position:sticky;top:0;z-index:60;background:#fff;transition:box-shadow .2s}
.hdr.scrolled{box-shadow:0 2px 14px rgba(0,0,0,.09)}
.hdr .wrap{display:flex;align-items:center;gap:24px;min-height:80px}
.logo img{height:52px;width:auto}
nav.main{margin-left:auto}
nav.main>ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
nav.main>ul>li{position:relative}
nav.main>ul>li>a{display:flex;align-items:center;gap:6px;padding:28px 12px;font:500 14.5px/1 var(--head);color:#333}
nav.main>ul>li>a .chev{width:9px;height:9px;fill:#aaa}
nav.main>ul>li>a[aria-current],nav.main>ul>li>a:hover{color:var(--orange-text)}
.dd{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border-top:3px solid var(--orange);box-shadow:0 10px 26px rgba(0,0,0,.12);list-style:none;margin:0;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}
li:hover>.dd,li:focus-within>.dd{opacity:1;visibility:visible;transform:none}
.dd a{display:block;padding:10px 20px;font:500 14px/1.3 var(--head);color:#444}
.dd a:hover{background:#FFF7ED;color:var(--orange-text)}
.menu-btn{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center}
.menu-btn svg{width:22px;height:22px;fill:var(--navy)}

/* mobile menu */
.mnav{position:fixed;inset:0;z-index:90;background:var(--navy);color:#fff;padding:calc(env(safe-area-inset-top,0px) + 20px) 24px 40px;overflow:auto;display:none}
.mnav.open{display:block}
.mnav .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.mnav .top img{height:64px;width:64px}
.mnav button.x{width:46px;height:46px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:24px}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav li a{display:block;padding:12px 0;font:600 18px/1.3 var(--head);border-bottom:1px solid rgba(255,255,255,.1)}
.mnav li li a{font:500 15px/1.3 var(--head);padding:10px 0 10px 16px;color:#d6dbe4}
.mnav .btn{margin-top:24px;width:100%}

/* ===== page banner ===== */
.banner{position:relative;color:#fff;text-align:center;padding:62px 0 58px;overflow:hidden;background:#141821}
.banner .ph{position:absolute;inset:0;opacity:.55}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(13,20,35,.72),rgba(13,20,35,.82))}
.banner .wrap{position:relative;z-index:1}
.banner h1{color:#fff;font:600 clamp(26px,3.2vw,34px)/1.2 var(--head);margin:0 0 12px}
.crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;list-style:none;margin:0;padding:0;font-size:15px}
.crumbs li+li::before{content:"/";margin-right:12px}
.crumbs a:hover{color:var(--orange-soft)}

.sec{padding:80px 0}
.sec.tight{padding:60px 0}
.white{background:#fff}

/* section title */
.stitle{text-align:center;margin-bottom:28px}
.stitle h2{font:700 clamp(26px,3vw,34px)/1.15 var(--head);margin:0 0 4px;color:#222}
.stitle p{margin:0;color:#7a7f88;font-size:15px}

/* ===== HOME hero ===== */
.hero{position:relative;height:clamp(460px,62vw,640px);background:#0e1420;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s}
.slide.on{opacity:1;visibility:visible}
.slide .ph{position:absolute;inset:0}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,32,.85) 0%,rgba(10,18,32,.55) 50%,rgba(10,18,32,.25) 100%)}
.slide .cap{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-58%)}
.slide .l1{font:300 clamp(26px,3.6vw,44px)/1.1 var(--head);color:var(--orange-soft);margin:0 0 18px}
.slide .l2{font:700 clamp(40px,6.4vw,78px)/1.02 var(--head);color:#fff;margin:0 0 26px;max-width:14ch}
.slide .l2 .type{border-right:4px solid var(--orange);padding-right:6px}
.slide .lead{color:#E5E7EB;max-width:52ch;margin:0 0 28px;font-size:17px}
.hero-arrows{position:absolute;right:22px;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:10px}
.hero-arrows button{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center}
.hero-arrows svg{width:14px;height:14px;fill:var(--navy)}
.hero-dots{position:absolute;bottom:110px;left:0;right:0;z-index:5}
.hero-dots .wrap{display:flex;gap:8px}
.hero-dots button{width:30px;height:4px;border:0;background:rgba(255,255,255,.4);padding:0}
.hero-dots button[aria-current="true"]{background:var(--orange)}

.evstrip{position:relative;z-index:6;margin-top:-50px}
.evstrip .box{display:grid;grid-template-columns:118px 1fr auto auto;align-items:center;gap:28px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.1);padding-right:34px;min-height:120px}
.datebox{position:relative;align-self:stretch;display:grid;place-items:center;overflow:hidden;min-height:120px}
.datebox .ph{position:absolute;inset:0;min-height:0}
.datebox .ph::after{display:none}
.datebox b{position:relative;display:grid;place-items:center;background:var(--orange);color:var(--navy);width:62px;padding:8px 0;text-align:center;font:700 22px/1 var(--head)}
.datebox b small{display:block;font:600 10px/1.3 var(--head);margin-top:4px}
.evstrip h3{font:500 17px/1.35 var(--head);margin:0;max-width:26ch}
.cd{display:flex;align-items:flex-end}
.cd>div{text-align:center;padding:0 14px;position:relative}
.cd>div+div::before{content:"";position:absolute;left:0;top:18px;bottom:2px;border-left:1px dashed #c9c9c9}
.cd small{display:block;font:500 10.5px/1 var(--head);color:#777;margin-bottom:6px}
.cd b{font:600 21px/1 var(--head);color:var(--orange-text)}

/* story cards (home + stories page) */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.scard{background:#fff;border:1px solid #9ec5ea;padding:9px 9px 18px;border-bottom:6px solid var(--c,#7fb2e0);display:flex;flex-direction:column}
.scard .ph{height:210px}
.scard .loc{display:flex;align-items:center;gap:6px;color:var(--orange-text);font:500 13px/1 var(--head);margin:18px 0 8px}
.scard h3{font:600 18px/1.3 var(--head);margin:0 0 18px}
.money{display:grid;grid-template-columns:1fr auto;background:#f1f1f1;margin-top:auto;align-items:stretch}
.money span{padding:12px 16px;font:500 13px/1.2 var(--head);color:#666;align-self:center}
.money b{padding:12px 18px;font:700 18px/1.2 var(--head);color:var(--orange-text);background:#fff;border:1px solid #eee}

.stcard{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.stcard .ph{height:326px}
.stcard .body{padding:26px 26px 30px}
.stcard .loc{display:flex;align-items:center;gap:8px;color:var(--orange-text);font:400 16px/1 var(--body);margin-bottom:12px}
.stcard h3{font:600 clamp(20px,2vw,25px)/1.3 var(--head);margin:0}
.stcard .money{grid-template-columns:1fr 144px;background:#f4f4f4;border-top:1px solid var(--line)}
.stcard .money span{font:400 16px/1.2 var(--body)}
.stcard .money b{background:var(--orange);color:var(--navy);border:0;display:grid;place-items:center;font-size:22px;padding:16px}

/* cause panels */
.panels{display:grid;grid-template-columns:repeat(4,1fr)}
.panel{position:relative;height:clamp(300px,30vw,400px);color:#fff;overflow:hidden;display:block}
.panel .ph{position:absolute;inset:0;transition:transform .5s}
.panel .ph::after{top:12px;bottom:auto}
.panel:hover .ph{transform:scale(1.04)}
.panel::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(10,15,25,.88))}
.panel .in{position:absolute;z-index:2;left:28px;right:28px;bottom:22px}
.panel h3{color:#fff;font:600 19px/1.3 var(--head);margin:0 0 12px}
.bar{height:6px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.55);border-radius:3px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--orange);width:var(--p,0%)}
.panel .row{display:flex;justify-content:space-between;font:500 12px/1 var(--head);margin-top:12px}
.panel .row b{color:var(--orange-soft);font-weight:600}
.panel:hover{color:#fff}

/* events + volunteer */
.evwrap{display:grid;grid-template-columns:1fr 254px;gap:24px;align-items:start}
.lefthead{display:flex;align-items:flex-end;gap:16px;margin-bottom:16px}
.lefthead h2{font:700 24px/1 var(--head);margin:0}
.lefthead p{margin:6px 0 0;color:#777;font-size:14px}
.lefthead .rule{flex:1;height:2px;background:linear-gradient(90deg,var(--line) 0 40px,transparent 40px);margin-bottom:6px}
.acc{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.acc-item{display:grid;grid-template-columns:86px 1fr;border-bottom:1px solid var(--line)}
.acc-item:last-child{border-bottom:0}
.acc-date{border-right:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:18px 6px;font:500 10px/1.5 var(--head);color:#555;text-transform:uppercase}
.acc-date b{display:block;font:700 22px/1 var(--head);color:#222}
.acc-main{padding:18px 20px}
.acc-head{display:flex;align-items:center;gap:18px}
.acc-head button{flex:1;text-align:left;background:none;border:0;padding:0;font:500 16px/1.3 var(--head);color:#222;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:44px}
.acc-head .cd b{font-size:17px}
.acc-head .cd>div{padding:0 10px}
.acc-body{border-top:1px solid var(--line);margin-top:14px;padding-top:14px;color:#666;font-size:14.5px}
.acc-body[hidden]{display:none}
.caret{width:12px;height:12px;fill:#999;transition:transform .2s;flex:none}
button[aria-expanded="true"] .caret{transform:rotate(180deg)}
.volbox{position:relative;color:#fff;text-align:center;padding:48px 24px;overflow:hidden;background:#1a1d27}
.volbox .ph{position:absolute;inset:0;opacity:.35}
.volbox .ph::after{display:none}
.volbox>*:not(.ph){position:relative}
.volbox h3{color:#fff;font:700 24px/1.2 var(--head);margin-bottom:16px}
.volbox p{font-size:15px;color:#e3e5ea}

/* partners */
.partners{padding:56px 0 64px}
.plogos{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.plogos div{height:110px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;text-align:center;font:500 13px/1.3 var(--head);color:#9aa0a8;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.dots{display:flex;justify-content:center;gap:6px;margin-top:30px}
.dots i{width:7px;height:7px;border-radius:50%;background:#ddd}.dots i:first-child{background:var(--orange)}

/* ===== sidebar layout ===== */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:42px;align-items:start}
.side .w{margin-bottom:42px}
.side h3{font:700 27px/1.15 var(--head);margin:0 0 14px;color:#222}
.side label.t{display:block;font-size:15px;color:#555;margin-bottom:8px}
.sform{display:flex;gap:10px}
.sform input{flex:1;min-width:0;height:44px;border:1px solid #bbb;padding:0 10px;font:inherit;background:#fff}
.sform button{border:0;background:#ececec;padding:0 22px;font:500 14px var(--body);color:#333;min-height:44px}
.side ul{list-style:none;margin:0;padding:0}
.side .boxed li{background:#fff;border-bottom:1px solid #e5e5e5}
.side .boxed a{display:block;padding:14px 20px;color:#555;font-size:15px;line-height:1.45}
.side .boxed a:hover{color:var(--orange-text)}
.side .bul li{display:flex;align-items:center;gap:14px}
.side .bul li::before{content:"";width:5px;height:5px;border-radius:50%;background:#444;flex:none}
.side .bul a{flex:1;background:#fff;border-bottom:1px solid #e5e5e5;padding:13px 20px;color:#555;font-size:15px}

/* blog list */
.prow{display:grid;grid-template-columns:345px 1fr;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05);margin-bottom:25px;min-height:224px}
.prow .img{position:relative}
.prow .ph{height:100%;min-height:224px}
.prow .ph::after{top:10px;bottom:auto}
.dtag{position:absolute;right:0;bottom:0;display:flex;font:500 12.5px/1 var(--head)}
.dtag i{background:#fff;width:38px;display:grid;place-items:center;color:#666}
.dtag span{background:var(--orange);color:var(--navy);padding:12px 22px;font-weight:600}
.prow .txt{padding:36px 34px 28px}
.prow h3{font:600 20px/1.3 var(--head);margin:0 0 8px}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;font:500 13px/1.4 var(--head);color:#555;margin-bottom:12px}
.meta span{display:flex;align-items:center;gap:5px}
.meta .ico{color:var(--orange-text)}
.prow p{color:#666;font-size:15px;margin:0}
.loadmore{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;border:0;box-shadow:0 1px 3px rgba(0,0,0,.06);min-height:50px;font:600 15px var(--head);color:#555;text-transform:uppercase}
.loadmore:hover{color:var(--orange-text)}

/* detail pages */
.dtop{background:#fff;padding:24px 24px 26px;margin-bottom:36px}
.dtop>.ph{height:clamp(220px,34vw,290px)}
.when{display:flex;margin:-38px auto 0;width:max-content;max-width:100%;position:relative;z-index:2;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.when i{background:var(--orange);color:var(--navy);width:56px;display:grid;place-items:center}
.when i svg{width:26px;height:26px}
.when div{background:#fff;padding:12px 24px;font:500 14px/1.7 var(--head);border:1px solid #eee}
.when b{font-weight:600;margin-left:8px}
.dtop h2{font:600 clamp(21px,2.4vw,26px)/1.3 var(--head);margin:22px 0 10px}
.share{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:600 12.5px/1 var(--head);color:#333;text-transform:uppercase}
.share b{margin-right:14px}
.share a,.share button{display:grid;place-items:center;width:34px;height:34px;border:0;background:none;color:#666}
.share a:hover,.share button:hover{color:var(--orange-text)}
.share svg{width:13px;height:13px}
.org{display:flex;flex-wrap:wrap;align-items:center;gap:10px 36px;border-top:1px dashed #ccc;margin-top:18px;padding-top:18px;font:400 14px/1.4 var(--body);color:#555}
.org .ico{color:#777}
.org span{display:flex;align-items:center;gap:8px}
.org strong{font:600 13px var(--head);color:#222;text-transform:uppercase}
.org strong em{font-style:normal;color:var(--orange-text)}
.tblock{background:#fff;padding:30px 28px;margin-bottom:36px;color:#666;font-size:15.5px}
.tblock p:last-child{margin:0}
.gblock{background:#fff;padding:24px;margin-bottom:36px;display:grid;grid-template-columns:1fr 1fr}
.gblock .ph{height:210px;min-height:0}
.gblock.four .ph{height:175px}
.quote{background:#fff;margin:0 0 36px;padding:24px 28px 24px 28px;display:flex;gap:16px;align-items:flex-start}
.quote svg{width:66px;height:40px;fill:#ddd;flex:none}
.quote p{margin:0;font:italic 600 18px/1.4 var(--head);color:#444}
.quote p em{color:var(--orange-text)}

/* project detail */
.pd{max-width:804px;margin-inline:auto}
.pdtop{background:#fff;padding:22px 22px 0}
.pdtop .ph{height:clamp(220px,36vw,356px)}
.pdhead{display:grid;grid-template-columns:1fr 180px;gap:20px}
.pdhead .l{padding:24px 0 26px}
.pdhead h2{font:600 clamp(20px,2.3vw,24px)/1.3 var(--head);margin:6px 0 10px}
.need{text-align:center;align-self:start}
.need .amt{background:var(--midnight);color:var(--orange-soft);font:600 26px/1 var(--head);padding:16px 10px}
.need small{display:block;font:600 12px/1 var(--head);color:#222;margin:18px 0}
.need .track{height:16px;background:var(--midnight);position:relative}
.need .track i{position:absolute;left:0;top:0;bottom:0;width:var(--p,0%);background:var(--orange)}
.need .lab{font:500 11px/1.4 var(--head);color:#777;margin-top:6px}
.blank{background:#fff;height:44px;margin:32px 0}

/* events grid */
.ecard{background:#fff;border:1px solid #e3e3e3;box-shadow:0 2px 0 #e9e9e9}
.ecard .img{position:relative}
.ecard .ph{height:clamp(240px,26vw,336px)}
.ecard .ph::after{top:10px;bottom:auto}
.ecard .img::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(0,0,0,.6))}
.ecard .cd{position:absolute;z-index:2;bottom:18px;left:0;right:0;justify-content:space-around;padding:0 24px}
.ecard .cd>div{flex:1}
.ecard .cd>div+div::before{border-color:rgba(255,255,255,.7);top:4px}
.ecard .cd small{color:#fff;font-size:11px}
.ecard .cd b{color:#fff;font-size:23px}
.ecard h3{text-align:center;font:600 clamp(17px,1.6vw,20px)/1.35 var(--head);padding:24px 30px 26px;margin:0}

/* team */
.team .ph{aspect-ratio:1/1;min-height:0;--g:linear-gradient(150deg,#e6e6e4,#c6c7c5)}
.team .ph::after{background:rgba(0,0,0,.45)}
.team h3{text-align:center;font:600 22px/1.2 var(--head);margin:26px 0 6px}
.team p{text-align:center;color:#666;margin:0 0 50px}

/* contact */
.map{position:relative;height:clamp(300px,34vw,444px);background:#8fd0e8;overflow:hidden}
.map svg.land{position:absolute;inset:0;width:100%;height:100%}
.mapcard{position:absolute;top:10px;left:10px;background:#fff;padding:14px 18px;box-shadow:0 1px 4px rgba(0,0,0,.25);max-width:290px;font-size:14px;line-height:1.5}
.mapcard b{font-family:var(--head);display:block}
.mapcard a{color:var(--blue);font-weight:600}
.ccard{background:#fff;width:min(1150px,100% - 40px);margin:0 auto;padding:70px 74px 80px}
.ccard .stitle h2{font-size:38px}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:40px}
.cgrid>div>p{color:#666;font-size:17px;line-height:1.55}
.info{display:grid;grid-template-columns:1fr 1fr;gap:34px 30px;margin-top:56px}
.info h4{display:flex;align-items:center;gap:10px;font:600 16px/1 var(--head);text-transform:uppercase;margin:0 0 14px}
.info h4 .ico{color:var(--orange-text);width:18px;height:18px}
.info p{margin:0;color:#555;font-size:15px;overflow-wrap:anywhere}
.info a{color:var(--blue)}
.f{margin-bottom:12px}
.f label{display:block;font:500 13px var(--head);color:#444;margin-bottom:4px}
.f input,.f textarea,.f select{width:100%;border:1px solid #d6d6d6;min-height:50px;padding:12px 20px;font:inherit;font-size:16px;color:#222;background:#fff;border-radius:0}
.f textarea{min-height:128px;resize:vertical}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--blue);outline:2px solid rgba(29,78,216,.25)}
.f .err{color:#B91C1C;font-size:13px;margin-top:4px;display:none}
.f.bad .err{display:block}
.f.bad input,.f.bad textarea{border-color:#B91C1C}
.f label.chk,.chk{display:flex;font:400 14px/1.5 var(--body);gap:10px;align-items:flex-start;font-size:14px;color:#555}
.chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:none}
.hp{position:absolute;left:-9999px}
.status{margin-top:12px;font:500 14px/1.5 var(--head)}
.status.ok{color:#166534}.status.no{color:#B91C1C}

/* shop */
.prod{background:#fff;border:1px solid #e3e3e3;position:relative;text-align:center;box-shadow:0 2px 0 #eee}
.prod .ph{height:clamp(220px,24vw,306px);--g:linear-gradient(150deg,#f1f1ef,#d9dad6)}
.prod .ph::after{background:rgba(0,0,0,.45)}
.badge{position:absolute;z-index:2;left:-18px;top:-6px;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:600 10.5px var(--head)}
.stars{display:flex;justify-content:center;gap:2px;margin:22px 0 10px;color:#d1d5db}
.stars svg{width:14px;height:14px}
.prod h3{font:700 19px/1.2 var(--head);margin:0 0 8px}
.prod .price{font:600 14px var(--head);color:#333;padding-bottom:22px}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}
.gcol{display:flex;flex-direction:column;gap:46px}
.gcol.mid{gap:46px}
.gitem{position:relative;display:block;padding-bottom:58px;border:0;background:none;text-align:center;width:100%}
.gitem .ph{height:385px}
.gitem .ph::after{top:10px;bottom:auto}
.gitem.short .ph{height:326px}
.gitem .cap{position:absolute;left:11px;right:11px;bottom:0;background:#fff;padding:20px 16px 22px}
.gitem .cat{color:var(--orange-text);font-size:16px}
.gitem h3{font:500 clamp(18px,1.8vw,23px)/1.25 var(--head);margin:6px 0 0}
.lightbox{position:fixed;inset:0;z-index:95;background:rgba(10,14,22,.92);display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}
.lightbox .ph{width:min(900px,100%);height:min(70vh,560px)}
.lightbox button{position:absolute;top:calc(env(safe-area-inset-top,0px) + 16px);right:16px;width:46px;height:46px;background:#fff;border:0;font-size:24px;color:var(--navy)}

/* generic content */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .ph{height:420px}
.kicker{font:300 22px/1.2 var(--head);color:var(--orange-text);margin:0 0 6px}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.val{background:#fff;padding:34px 30px;border-bottom:6px solid var(--c)}
.val h3{font:600 22px var(--head)}
.val p{color:#666;margin:0}
.scripture{position:relative;text-align:center;color:#fff;padding:90px 0;overflow:hidden;background:var(--navy)}
.scripture .ph{position:absolute;inset:0;opacity:.35}
.scripture .ph::after{display:none}
.scripture>.wrap{position:relative}
.scripture blockquote{font:600 clamp(26px,3.4vw,40px)/1.25 var(--head);margin:0 auto 14px;max-width:24ch}
.scripture cite{font:500 15px var(--head);color:var(--orange-soft);font-style:normal;display:block;margin-bottom:22px}
.btn-ghost{background:transparent;color:#fff;border:2px solid #fff}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.legal{background:#fff;padding:44px 48px;max-width:860px;margin:0 auto}
.legal .pending{display:inline-block;background:#FFF7ED;border:1px solid #FDBA74;color:#7C2D12;font:600 13px var(--head);padding:6px 12px;margin-bottom:20px}
.legal h2{font-size:22px;margin-top:28px}
.legal p,.legal li{color:#555}
.empty{background:#fff;border:1px dashed #cfcfcf;padding:30px;text-align:center;color:#555}
.amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.amounts button{min-height:50px;border:1px solid #d6d6d6;background:#fff;font:600 15px var(--head);color:var(--navy)}
.amounts button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.toggle{display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px;border:1px solid var(--navy)}
.toggle button{min-height:46px;border:0;background:#fff;font:600 14px var(--head);color:var(--navy)}
.toggle button[aria-pressed="true"]{background:var(--navy);color:#fff}
.faq details{background:#fff;margin-bottom:10px;border:1px solid var(--line)}
.faq summary{padding:18px 22px;font:600 16px var(--head);cursor:pointer;min-height:44px}
.faq details p{padding:0 22px 18px;color:#555;margin:0}

/* ===== footer ===== */
.foot{position:relative;color:#d3d6dc;background:#1f2230;overflow:hidden}
.foot>.ph{position:absolute;inset:0;opacity:.18;--g:radial-gradient(circle at 20% 30%,#4a4f63,transparent 50%),radial-gradient(circle at 80% 70%,#3a3f52,transparent 45%),#1f2230}
.foot>.ph::after{display:none}
.foot .wrap{position:relative}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:84px 0 70px}
.foot h4{font:600 19px/1.2 var(--head);color:#fff;margin:0 0 24px}
.foot h4 span{color:var(--orange-soft)}
.foot p{font-size:15.5px;line-height:1.55;color:#e1e3e8}
.fcontact{list-style:none;margin:20px 0 0;padding:0;font:500 13px/1.4 var(--head);color:#fff}
.fcontact li{display:flex;gap:9px;margin-bottom:14px}
.fcontact .ico{color:var(--orange);margin-top:2px}
.fposts a{display:grid;grid-template-columns:70px 1fr;gap:14px;margin-bottom:20px;align-items:center}
.fposts .ph{height:70px;min-height:0}
.fposts .ph::after{display:none}
.fposts b{display:block;font:600 14px/1.35 var(--head);color:#fff}
.fposts small{display:flex;align-items:center;gap:6px;font:500 12px var(--head);color:#fff;margin-top:6px}
.fposts small .ico{color:var(--orange)}
.flist{list-style:none;margin:0;padding:0}
.flist li{position:relative;padding-left:18px;margin-bottom:12px;font:500 13px/1.4 var(--head)}
.flist li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;background:#8a8e9a}
.flist a{color:#fff}.flist a:hover{color:var(--orange-soft)}
.fgal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fgal .ph{aspect-ratio:1/1;min-height:0;height:auto}
.fgal .ph::after{display:none}
.fnews{margin-top:22px}
.fnews label{display:block;font:600 13px var(--head);color:#fff;margin-bottom:8px}
.fnews .row{display:flex}
.fnews input{flex:1;min-width:0;min-height:44px;border:0;padding:0 12px;font:inherit}
.fnews button{border:0;background:var(--orange);color:var(--navy);font:600 13px var(--head);padding:0 14px}
.fnews .status{color:#fff;font-size:13px}
.fbot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:26px 0 34px;font:500 13px var(--head)}
.fbot ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.fbot li+li::before{content:"";display:inline-block;width:1px;height:12px;background:#555;margin:0 14px;vertical-align:-1px}
.fbot a{color:#fff}.fbot a:hover{color:var(--orange-soft)}
.fbot p{margin:0;color:#e1e3e8;font-size:13px}
.fbot p span{color:var(--orange-soft)}

.totop{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);width:46px;height:46px;border:0;background:var(--orange);color:var(--navy);display:grid;place-items:center;z-index:50;opacity:0;visibility:hidden;transition:.2s}
.totop.show{opacity:1;visibility:visible}
.totop svg{width:16px;height:16px;fill:var(--navy);transform:rotate(180deg)}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:12px 20px;font:500 14px var(--head);opacity:0;transition:.2s;z-index:99;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ===== responsive ===== */
@media (max-width:1100px){
  nav.main>ul>li>a{padding:28px 8px;font-size:14px}
  .hdr .btn-donate{padding:10px 18px}
  .panels{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  nav.main,.hdr .btn-donate{display:none}
  .menu-btn{display:flex}
  .evstrip .box{grid-template-columns:100px 1fr;padding:0 0 20px;gap:16px 20px}
  .evstrip .box .cd,.evstrip .box .btn{grid-column:2}
  .evstrip .box .btn{justify-self:start}
  .evwrap,.layout{grid-template-columns:1fr}
  .grid3,.plogos,.gal{grid-template-columns:repeat(2,1fr)}
  .gal .gcol:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px}
  .fcols{grid-template-columns:1fr 1fr}
  .cgrid,.split{grid-template-columns:1fr}
  .ccard{padding:44px 26px 50px}
  .prow{grid-template-columns:260px 1fr}
  .vals{grid-template-columns:1fr}
}
@media (max-width:640px){
  .topbar .l span+span{display:none}
  .topbar .r .soc{display:none}
  .logo img{height:40px}
  .hdr .wrap{min-height:66px}
  .grid3,.grid2,.plogos,.gal,.panels,.fcols,.info{grid-template-columns:1fr}
  .gal .gcol:nth-child(3){grid-template-columns:1fr}
  .gcol{gap:30px}
  .prow{grid-template-columns:1fr}
  .prow .ph{min-height:200px;height:200px}
  .pdhead{grid-template-columns:1fr}
  .need{margin-bottom:22px}
  .gblock{grid-template-columns:1fr}
  .acc-head{flex-direction:column;align-items:flex-start;gap:8px}
  .acc-item{grid-template-columns:70px 1fr}
  .evstrip .box{grid-template-columns:1fr;padding:0 18px 20px}
  .evstrip .box .cd,.evstrip .box .btn{grid-column:1}
  .datebox{min-height:90px;margin:0 -18px}
  .cd>div{padding:0 10px}
  .hero-arrows{right:10px;top:auto;bottom:70px;transform:none;flex-direction:row}
  .hero{height:600px}.hero-dots{display:none}.slide .cap{transform:translateY(-62%)}
  .amounts{grid-template-columns:1fr 1fr}
  .legal{padding:30px 22px}
  .sec{padding:56px 0}
  .tblock{padding:24px 20px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.hdr,.foot,.totop,.notice,.hero-arrows{display:none!important}body{background:#fff}}

/* ---- 03-sections.css ---- */

/* ===== motion system ===== */
.progress{position:fixed;top:env(safe-area-inset-top,0px);left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(var(--sp,0));background:linear-gradient(90deg,var(--orange),#FDBA74);z-index:120;pointer-events:none}
[data-r]{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
[data-r="up"]{transform:translateY(34px)}
[data-r="left"]{transform:translateX(-46px)}
[data-r="right"]{transform:translateX(46px)}
[data-r="zoom"]{transform:scale(.92)}
[data-r="tilt"]{transform:perspective(900px) rotateX(10deg) translateY(30px)}
[data-r].in{opacity:1;transform:none}
.no-anim [data-r]{transition:none!important}
.no-js [data-r]{opacity:1;transform:none}

/* hero motion */
.slide .ph{transform:scale(1.12);transition:transform 9s ease-out}
.slide.on .ph{transform:scale(1)}
.slide .cap .l1,.slide .cap .l2,.slide .cap .lead,.slide .cap .btn{opacity:0;transform:translateY(26px);transition:.8s cubic-bezier(.2,.7,.2,1)}
.slide.on .cap .l1{opacity:1;transform:none;transition-delay:.15s}
.slide.on .cap .l2{opacity:1;transform:none;transition-delay:.3s}
.slide.on .cap .lead{opacity:1;transform:none;transition-delay:.45s}
.slide.on .cap .btn{opacity:1;transform:none;transition-delay:.6s}
.hero-dove{position:absolute;right:9%;top:16%;width:clamp(120px,16vw,220px);z-index:3;opacity:.9;animation:float 7s ease-in-out infinite;pointer-events:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}
.hero-dove img{border-radius:50%}
@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}
.slide .l2 .type{border:0;padding:0}
.hero-dots button{position:relative;overflow:hidden}
@keyframes fillbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.datebox b{animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.55)}60%{box-shadow:0 0 0 12px rgba(249,115,22,0)}}
.cd b.tickd{animation:tick .35s ease}
@keyframes tick{from{transform:translateY(-6px);opacity:.3}to{transform:none;opacity:1}}

/* hover effects */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:background .2s,transform .2s,box-shadow .2s}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.btn:hover::after{transform:translateX(120%)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(13,43,85,.55)}
.btn:active{transform:translateY(0)}
nav.main>ul>li>a{position:relative}
nav.main>ul>li>a::after{content:"";position:absolute;left:12px;right:12px;bottom:20px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .3s}
nav.main>ul>li>a:hover::after,nav.main>ul>li>a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.dd a{transition:background .2s,color .2s,padding .2s}
.dd a:hover{padding-left:26px}
.scard,.stcard,.ecard,.prod,.prow,.tcard,.val,.mv,.team>a,.plogos div,.imp{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.scard:hover,.stcard:hover,.ecard:hover,.prod:hover,.tcard:hover,.val:hover,.mv:hover{transform:translateY(-8px);box-shadow:0 22px 40px -18px rgba(13,43,85,.35)}
.prow:hover{transform:translateX(6px);box-shadow:0 14px 30px -18px rgba(13,43,85,.35)}
.scard .ph,.stcard .ph,.ecard .ph,.prod .ph,.prow .ph,.team .ph,.gitem .ph,.fposts .ph,.fgal .ph{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s}
.scard>.phw,.stcard .phw,.ecard .img,.prod .phw,.prow .img,.team .phw,.gitem .phw,.fposts .phw,.fgal .phw{overflow:hidden;position:relative}
.scard:hover .ph,.stcard:hover .ph,.ecard:hover .ph,.prod:hover .ph,.prow:hover .ph,.team a:hover .ph,.gitem:hover .ph,.fposts a:hover .ph,.fgal a:hover .ph{transform:scale(1.08)}
.scard h3,.stcard h3,.ecard h3,.prow h3 a,.prod h3{transition:color .25s}
.scard:hover h3,.stcard:hover h3,.ecard:hover h3,.prow:hover h3 a,.prod:hover h3{color:var(--orange-text)}
.plogos div:hover{transform:translateY(-4px);border-color:var(--orange)}
.gitem .cap{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.gitem:hover .cap{transform:translateY(-12px);box-shadow:0 14px 30px -14px rgba(0,0,0,.35)}
.gitem::before{content:"";position:absolute;z-index:3;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230D2B55'%3E%3Cpath d='M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6z'/%3E%3C/svg%3E") center/20px no-repeat;transform:scale(0) rotate(-90deg);transition:transform .35s}
.gitem:hover::before{transform:scale(1) rotate(0)}
.panel .in{transition:transform .4s}
.panel:hover .in{transform:translateY(-8px)}
.panel .bar i{transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.share a,.share button{transition:transform .2s,color .2s}
.share a:hover,.share button:hover{transform:translateY(-3px)}
.fposts a:hover b{color:var(--orange-soft)}
.flist a{transition:padding .2s,color .2s}.flist a:hover{padding-left:6px}
.phw{position:relative;overflow:hidden}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.ph.has-img::after{display:none}

/* ===== impact ===== */
.impact{position:relative;background:var(--navy);color:#fff;padding:84px 0;overflow:hidden}
.impact::before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 30% 40%,rgba(249,115,22,.22),transparent 40%),radial-gradient(circle at 75% 60%,rgba(29,78,216,.45),transparent 45%);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(6%,-4%) rotate(8deg)}}
.impact .wrap{position:relative}
.impact .stitle h2{color:#fff}.impact .stitle p{color:#c9d3e3}
.imps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.imp{text-align:center;padding:34px 18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.imp:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:var(--orange-soft)}
.imp .ring{width:84px;height:84px;margin:0 auto 18px;position:relative}
.imp .ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.imp .ring circle{fill:none;stroke-width:5}
.imp .ring .bg{stroke:rgba(255,255,255,.15)}
.imp .ring .fg{stroke:var(--orange);stroke-linecap:round;stroke-dasharray:226;stroke-dashoffset:226;transition:stroke-dashoffset 1.8s cubic-bezier(.2,.7,.2,1)}
.imp.in .ring .fg{stroke-dashoffset:40}
.imp .ring i{position:absolute;inset:0;display:grid;place-items:center;color:var(--orange-soft)}
.imp .ring i svg{width:30px;height:30px;transform:none;fill:currentColor}
.imp b{display:block;font:700 clamp(36px,4vw,52px)/1 var(--head);color:#fff}
.imp span{display:block;font:500 15px/1.4 var(--head);margin-top:10px}
.imp small{display:block;color:#aebbd0;font-size:12.5px;margin-top:6px}
.imp-note{text-align:center;color:#c9d3e3;font-size:13.5px;margin-top:26px}

/* ===== mission & vision ===== */
.mvgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.mv{position:relative;background:#fff;padding:46px 40px 40px;overflow:hidden;border-top:5px solid var(--c)}
.mv .bigico{position:absolute;right:-20px;bottom:-30px;width:180px;height:180px;fill:var(--c);opacity:.07;transition:transform .6s}
.mv:hover .bigico{transform:rotate(-12deg) scale(1.1)}
.mv .ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--c);margin-bottom:22px;transition:transform .5s}
.mv:hover .ic{transform:rotateY(180deg)}
.mv .ic svg{width:30px;height:30px;fill:#fff}
.mv h3{font:700 26px/1.2 var(--head)}
.mv p{color:#555;font-size:17px;margin:0;position:relative}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:46px;position:relative}
.timeline::before{content:"";position:absolute;left:0;right:0;top:22px;height:2px;background:linear-gradient(90deg,var(--orange),var(--blue))}
.tl{position:relative;padding:0 20px;text-align:center}
.tl b{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;border-radius:50%;background:#fff;border:3px solid var(--orange);font:700 14px var(--head);color:var(--navy);position:relative}
.tl h4{font:600 17px var(--head);margin:0 0 4px}
.tl p{color:#666;font-size:14.5px;margin:0}

/* ===== testimonials ===== */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tcard{position:relative;background:#fff;border:1px solid #e1e1e1;text-align:center;padding:56px 22px 46px;cursor:pointer;transform-style:preserve-3d;overflow:hidden}
.tcard::before{content:"\201C";position:absolute;left:50%;top:30px;transform:translateX(-50%);font:700 150px/1 Georgia,serif;color:#f1f1f1;transition:color .35s,transform .5s;pointer-events:none}
.tcard:hover::before{color:#FFE7D3;transform:translateX(-50%) translateY(-8px) scale(1.12)}
.tcard::after{content:"";position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--orange);transform:scaleX(0);transition:transform .4s}
.tcard:hover::after{transform:scaleX(1)}
.tcard p{position:relative;color:#666;font-size:16px;line-height:1.6;margin:0 0 28px}
.tcard .av{width:54px;height:54px;border-radius:50%;margin:0 auto 22px;position:relative;overflow:hidden;box-shadow:0 0 0 3px #fff,0 0 0 5px transparent;transition:box-shadow .35s,transform .35s}
.tcard:hover .av{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--orange);transform:scale(1.1)}
.tcard .av .ph{position:absolute;inset:0;min-height:0}
.tcard .av .ph::after{display:none}
.tcard h4{font:600 15px/1 var(--head);color:var(--orange-text);text-transform:uppercase;margin:0}
.tcard small{display:block;margin-top:8px;color:#888;font-size:13px}
.tcard .sample{position:absolute;top:12px;left:12px;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:40px}
.chips button{min-height:40px;padding:8px 20px;border:1px solid #d7d7d7;background:#fff;font:500 14px var(--head);color:#444;transition:.2s}
.chips button:hover{border-color:var(--orange)}
.chips button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.tcard.hide{display:none}
.spot{position:relative;background:var(--navy);color:#fff;padding:60px clamp(24px,6vw,90px) 54px;margin-bottom:56px;overflow:hidden;text-align:center}
.spot::before{content:"\201C";position:absolute;left:30px;top:-10px;font:700 220px/1 Georgia,serif;color:rgba(253,186,116,.16)}
.spot .q{position:relative;font:500 clamp(19px,2.2vw,26px)/1.5 var(--head);max-width:36ch;margin:0 auto 26px;min-height:3em;transition:opacity .4s,transform .4s}
.spot .q.swap{opacity:0;transform:translateY(12px)}
.spot .who{font:600 14px var(--head);color:var(--orange-soft);text-transform:uppercase}
.spot .ctrl{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:26px}
.spot .ctrl button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;display:grid;place-items:center;transition:.2s}
.spot .ctrl button:hover{background:var(--orange);border-color:var(--orange)}
.spot .ctrl svg{width:14px;height:14px;fill:#fff}
.spot .ctrl button:hover svg{fill:var(--navy)}
.spot .pips{display:flex;gap:6px}
.spot .pips i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);transition:.3s}
.spot .pips i.on{background:var(--orange);width:24px;border-radius:4px}
.tmodal{position:fixed;inset:0;z-index:96;background:rgba(10,14,22,.8);display:none;align-items:center;justify-content:center;padding:24px}
.tmodal.open{display:flex;animation:fadein .25s}
.tmodal .in{background:#fff;max-width:560px;width:100%;padding:56px 40px 40px;text-align:center;position:relative;animation:popin .35s cubic-bezier(.2,.7,.2,1)}
.tmodal .in p{font:500 20px/1.55 var(--head);color:#333}
.tmodal .x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:#f3f3f3;font-size:22px}
@keyframes fadein{from{opacity:0}}
@keyframes popin{from{opacity:0;transform:scale(.9) translateY(20px)}}
.tslider{position:relative}
.ttrack{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 4px 30px}
.ttrack::-webkit-scrollbar{display:none}
.ttrack .tcard{flex:0 0 calc((100% - 60px)/3);scroll-snap-align:start}
.tnav{display:flex;justify-content:center;gap:12px}
.tnav button{width:46px;height:46px;border:1px solid #d7d7d7;background:#fff;display:grid;place-items:center;transition:.2s}
.tnav button:hover{background:var(--orange);border-color:var(--orange)}
.tnav svg{width:14px;height:14px;fill:var(--navy)}

/* ===== FAQ ===== */
.faqwrap{display:grid;grid-template-columns:340px 1fr;gap:50px;align-items:start}
.faqside{position:sticky;top:110px}
.faqside h2{font:700 clamp(28px,3vw,36px)/1.15 var(--head)}
.faqside p{color:#666}
.faqside .search{display:flex;border:1px solid #d7d7d7;background:#fff;margin:22px 0}
.faqside .search input{flex:1;min-width:0;border:0;min-height:48px;padding:0 16px;font:inherit}
.faqside .search svg{width:18px;margin:0 14px;fill:#999}
.qa{background:#fff;border:1px solid var(--line);margin-bottom:12px;transition:border-color .25s,box-shadow .25s}
.qa:hover{border-color:#cfd6e2}
.qa.open{border-color:var(--orange);box-shadow:0 14px 30px -20px rgba(13,43,85,.4)}
.qa button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;background:none;border:0;padding:20px 24px;font:600 16.5px/1.35 var(--head);color:#222;min-height:56px}
.qa .pm{flex:none;width:30px;height:30px;border-radius:50%;background:#f3f3f3;position:relative;transition:background .25s,transform .35s}
.qa .pm::before,.qa .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--navy);transform:translate(-50%,-50%)}
.qa .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s}
.qa.open .pm{background:var(--orange);transform:rotate(180deg)}
.qa.open .pm::after{transform:translate(-50%,-50%) rotate(0)}
.qa .ans{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1)}
.qa.open .ans{grid-template-rows:1fr}
.qa .ans>div{overflow:hidden}
.qa .ans p{padding:0 24px 22px;margin:0;color:#555}
.qa .tag{display:inline-block;font:600 11px var(--head);color:var(--orange-text);margin-right:8px}
.faq-empty{display:none;padding:20px;text-align:center;color:#666;background:#fff;border:1px dashed #ccc}

/* ===== team detail ===== */
.team>a{display:block;color:inherit}
.team .phw{position:relative}
.team .ov{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:linear-gradient(transparent 50%,rgba(13,43,85,.75));opacity:0;transition:opacity .35s}
.team a:hover .ov{opacity:1}
.team .ov span{background:var(--orange);color:var(--navy);font:600 13px var(--head);padding:10px 18px;transform:translateY(16px);transition:transform .35s}
.team a:hover .ov span{transform:none}
.tdetail{display:grid;grid-template-columns:527px 1fr;background:#fff}
.tdetail .pic{position:relative;min-height:594px}
.tdetail .pic .ph{position:absolute;inset:0;--g:linear-gradient(150deg,#e6e6e4,#c3c4c1)}
.tdetail .pic .ph::after{background:rgba(0,0,0,.45)}
.ticons{position:absolute;z-index:3;top:24px;right:19px;display:flex;flex-direction:column;gap:10px}
.ticons a,.ticons span{width:55px;height:55px;background:#2b2b2b;color:#fff;display:grid;place-items:center;transition:background .25s,transform .25s}
.ticons a:hover{background:var(--orange);color:var(--navy);transform:translateX(-4px)}
.ticons svg{width:16px;height:16px;fill:currentColor}
.git{position:absolute;z-index:3;left:50%;bottom:46px;transform:translateX(-50%);display:flex;align-items:center;gap:22px;background:var(--orange);color:var(--navy);padding:0 24px;min-height:57px;font:500 16px var(--head);white-space:nowrap}
.git a{display:grid;place-items:center;width:28px;height:28px;transition:transform .2s}
.git a:hover{transform:translateY(-3px);color:#fff}
.git svg{width:16px;height:16px;fill:currentColor}
.tdetail .txt{padding:66px 44px 50px}
.tdetail h2{font:700 32px/1.1 var(--head);margin:0 0 6px}
.tdetail .role{font:500 14px var(--head);color:var(--orange-text);margin-bottom:12px}
.tdetail .bio{color:#666;font-size:16.5px;line-height:1.5;margin-bottom:28px}
.focus{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;margin-bottom:26px}
.focus .ci{width:86px;height:86px;border-radius:50%;border:1px solid var(--orange);display:grid;place-items:center;color:var(--orange-text);transition:background .35s,color .35s,transform .5s}
.focus:hover .ci{background:var(--orange);color:var(--navy);transform:rotate(360deg)}
.focus .ci svg{width:36px;height:36px;fill:currentColor}
.focus h3{font:600 clamp(20px,2.2vw,28px)/1.15 var(--head);color:var(--orange-text);margin:0 0 6px}
.focus p{margin:0;color:#666;font-size:16.5px;line-height:1.45}
.jointeam{background:#fff;text-align:center;padding:84px clamp(24px,8vw,100px);margin-top:76px}
.jointeam h2{font:600 22px var(--head);margin-bottom:22px}
.jointeam p{color:#666;font-size:16.5px;line-height:1.5;max-width:860px;margin:0 auto 38px}

/* ===== modal (ask) ===== */
.ask{position:fixed;inset:0;z-index:200;background:rgba(10,14,22,.6);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadein .2s}
.ask .in{background:#fff;max-width:440px;width:100%;padding:28px;animation:popin .3s}
.ask h3{font:600 20px var(--head)}
.ask p{color:#555}
.ask input{width:100%;min-height:44px;border:1px solid #ccc;padding:0 12px;font:inherit;margin-bottom:16px}
.ask .row{display:flex;gap:10px;justify-content:flex-end}

@media (max-width:980px){
 .imps{grid-template-columns:1fr 1fr}
 .mvgrid,.faqwrap{grid-template-columns:1fr}
 .faqside{position:static}
 .tgrid{grid-template-columns:1fr 1fr}
 .ttrack .tcard{flex-basis:calc((100% - 30px)/2)}
 .tdetail{grid-template-columns:1fr}
 .tdetail .pic{min-height:440px}
 .hero-dove{display:none}
}
@media (max-width:640px){
 .imps,.tgrid,.timeline{grid-template-columns:1fr}
 .timeline{gap:26px}.timeline::before{display:none}
 .ttrack .tcard{flex-basis:88%}
 .tdetail .txt{padding:40px 22px}
 .focus{grid-template-columns:64px 1fr}
 .focus .ci{width:62px;height:62px}.focus .ci svg{width:26px;height:26px}
 .git{gap:12px;padding:0 16px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){
 [data-r]{opacity:1!important;transform:none!important}
 .hero-dove,.impact::before,.datebox b{animation:none}
 .slide .ph{transform:none}
 .slide .cap *{opacity:1!important;transform:none!important}
}

/* =====================================================================
   CMS — "EHH Studio"
   ===================================================================== */
body.in-cms{background:#EEF1F6}
body.in-cms .topbar,body.in-cms .hdr,body.in-cms .foot,body.in-cms .notice,body.in-cms .totop,body.in-cms .progress{display:none!important}
.cms{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;font-family:var(--body)}
.cms-side{background:var(--navy);color:#cdd6e6;padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column}
.cms-brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:14px}
.cms-brand img{width:42px;height:42px}
.cms-brand b{display:block;color:#fff;font:700 16px/1.1 var(--head)}
.cms-brand small{font:500 11.5px var(--head);color:var(--orange-soft)}
.cms-side h6{font:600 11px var(--head);color:#7f90ad;margin:18px 10px 8px;text-transform:uppercase;letter-spacing:.06em}
.cms-side a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:6px;font:500 14px var(--head);color:#cdd6e6;transition:background .2s,color .2s}
.cms-side a svg{width:17px;height:17px;fill:currentColor;opacity:.8}
.cms-side a:hover{background:rgba(255,255,255,.07);color:#fff}
.cms-side a[aria-current]{background:var(--orange);color:var(--navy)}
.cms-side a .n{margin-left:auto;font-size:11.5px;background:rgba(255,255,255,.12);border-radius:10px;padding:1px 8px}
.cms-side a[aria-current] .n{background:rgba(13,43,85,.18)}
.cms-status{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.1);font:500 12.5px/1.5 var(--head)}
.live{display:inline-flex;align-items:center;gap:8px}
.live i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.6);animation:livep 2s infinite}
.live.local i{background:#f59e0b;animation:none}
@keyframes livep{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}
.cms-main{min-width:0}
.cms-top{position:sticky;top:0;z-index:20;background:rgba(238,241,246,.9);backdrop-filter:blur(8px);display:flex;align-items:center;gap:14px;padding:16px 30px;border-bottom:1px solid #dde3ec}
.cms-top h1{font:700 21px/1.2 var(--head);margin:0;color:var(--navy)}
.cms-top .crumb{font:500 12.5px var(--head);color:#71809a}
.cms-top .sp{flex:1}
.cms-menu{display:none}
.cbtn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:7px;border:1px solid #cfd7e3;background:#fff;color:var(--navy);font:600 13.5px var(--head);transition:.2s;white-space:nowrap}
.cbtn:hover{border-color:var(--navy);transform:translateY(-1px)}
.cbtn svg{width:15px;height:15px;fill:currentColor}
.cbtn.pri{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.cbtn.pri:hover{background:#EA6A0C}
.cbtn.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.cbtn.danger{color:#B91C1C;border-color:#f3c4c4}
.cbtn.danger:hover{background:#FEF2F2;border-color:#B91C1C}
.cbtn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.cms-body{padding:28px 30px 80px}
.switch{display:inline-flex;align-items:center;gap:10px;font:600 13px var(--head);color:var(--navy);cursor:pointer}
.switch input{appearance:none;width:42px;height:24px;border-radius:12px;background:#c4cbd6;position:relative;transition:background .2s;cursor:pointer;margin:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch input:checked{background:var(--orange)}
.switch input:checked::after{transform:translateX(18px)}
.card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(13,43,85,.06),0 6px 20px -12px rgba(13,43,85,.18);padding:22px}
.card h2{font:700 17px var(--head);color:var(--navy);margin:0 0 14px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;margin-bottom:22px}
.tile{display:block;background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 2px rgba(13,43,85,.06);border:1px solid transparent;transition:.25s}
.tile:hover{border-color:var(--orange);transform:translateY(-3px);color:inherit}
.tile svg{width:22px;height:22px;fill:var(--orange-text)}
.tile b{display:block;font:700 28px/1 var(--head);color:var(--navy);margin:12px 0 4px}
.tile small{font:500 13px var(--head);color:#71809a}
.dash{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
.check{list-style:none;margin:0;padding:0}
.check li{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #eef1f5;font-size:14.5px}
.check li:last-child{border:0}
.check .ok,.check .no{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 12px var(--head)}
.check .ok{background:#DCFCE7;color:#166534}
.check .no{background:#FEF3C7;color:#92400E}
.check small{display:block;color:#71809a;font-size:12.5px}
.check label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;width:100%}
.meter{height:8px;background:#eef1f5;border-radius:4px;overflow:hidden;margin:4px 0 14px}
.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#22c55e);transition:width .8s}
.recent li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eef1f5;font-size:14px}
.recent li a{color:var(--navy);font-weight:600}
.recent{list-style:none;margin:0;padding:0}
.recent small{color:#71809a;white-space:nowrap}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.toolbar .q{flex:1;min-width:200px;display:flex;align-items:center;background:#fff;border:1px solid #d4dbe6;border-radius:8px;padding:0 12px}
.toolbar .q svg{width:16px;fill:#8a96aa}
.toolbar .q input{border:0;flex:1;min-height:40px;padding:0 10px;font:inherit;background:transparent}
.seg{display:inline-flex;background:#fff;border:1px solid #d4dbe6;border-radius:8px;padding:3px}
.seg button{border:0;background:none;padding:6px 12px;border-radius:6px;font:600 12.5px var(--head);color:#55627a;min-height:32px}
.seg button[aria-pressed="true"]{background:var(--navy);color:#fff}
.rows{list-style:none;margin:0;padding:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(13,43,85,.06)}
.rows li{display:grid;grid-template-columns:28px 54px minmax(0,1fr) auto auto auto;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid #eef1f5;transition:background .2s}
.rows li:hover{background:#F8FAFC}
.rows li.dragging{opacity:.4}
.rows li.over{box-shadow:inset 0 3px 0 var(--orange)}
.rows .h{cursor:grab;color:#a3aec0;display:grid;place-items:center;background:none;border:0;width:28px;height:36px}
.rows .h svg{width:16px;fill:currentColor}
.rows .th{width:54px;height:40px;border-radius:6px;overflow:hidden;position:relative}
.rows .th .ph{position:absolute;inset:0;min-height:0}
.rows .th .ph::after{display:none}
.rows .tt b{display:block;font:600 14.5px/1.3 var(--head);color:#1f2a3d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rows .tt small{color:#71809a;font-size:12.5px}
.pill{font:600 11.5px var(--head);padding:4px 10px;border-radius:20px;white-space:nowrap}
.pill.pub{background:#DCFCE7;color:#166534}
.pill.draft{background:#E2E8F0;color:#334155}
.pill.smp{background:#FFEDD5;color:#9A3412}
.rows .when{font-size:12.5px;color:#71809a;white-space:nowrap}
.rows .acts{display:flex;gap:6px}
.icob{width:36px;height:36px;border-radius:7px;border:1px solid #d4dbe6;background:#fff;display:grid;place-items:center;color:var(--navy);transition:.2s}
.icob:hover{border-color:var(--navy)}
.icob svg{width:15px;height:15px;fill:currentColor}
.empty-c{text-align:center;padding:50px 20px;color:#55627a}
.ed{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:24px;align-items:start}
.ed-form .card{margin-bottom:18px}
.fld{margin-bottom:16px}
.fld>label,.fld>.lab{display:flex;justify-content:space-between;align-items:center;font:600 13px var(--head);color:#33415c;margin-bottom:6px}
.fld .hint{font:400 12.5px var(--body);color:#71809a;margin-top:5px}
.fld input[type=text],.fld input[type=email],.fld input[type=number],.fld input[type=date],.fld input[type=datetime-local],.fld textarea,.fld select{width:100%;border:1px solid #d4dbe6;border-radius:8px;min-height:42px;padding:9px 12px;font:inherit;font-size:15px;background:#fff;color:#1f2a3d;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:110px;resize:vertical;line-height:1.55}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.fld .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai{border:0;background:linear-gradient(90deg,#FFF1E6,#EEF2FF);color:var(--navy);font:600 12px var(--head);padding:5px 10px;border-radius:14px;display:inline-flex;gap:6px;align-items:center}
.ai svg{width:13px;height:13px;fill:var(--orange-text)}
.ai:hover{filter:brightness(.96)}
.sugg{margin-top:8px;border:1px dashed var(--orange);border-radius:8px;padding:12px;background:#FFFBF7;font-size:14.5px}
.sugg .row{display:flex;gap:8px;margin-top:10px}
.tones{display:flex;gap:8px;flex-wrap:wrap}
.tones button{width:38px;height:38px;border-radius:8px;border:2px solid transparent;padding:0;position:relative;overflow:hidden}
.tones button .ph{position:absolute;inset:0;min-height:0}
.tones button .ph::after{display:none}
.tones button[aria-pressed="true"]{border-color:var(--navy);box-shadow:0 0 0 2px #fff inset}
.drop{border:2px dashed #cbd5e1;border-radius:10px;padding:16px;display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;transition:border-color .2s,background .2s}
.drop.over{border-color:var(--orange);background:#FFF7ED}
.drop .pv{width:120px;height:90px;border-radius:8px;overflow:hidden;position:relative;background:#e2e8f0}
.drop .pv .ph{position:absolute;inset:0;min-height:0}
.drop .pv .ph::after{display:none}
.drop .pv img{width:100%;height:100%;object-fit:cover}
.drop p{margin:0 0 8px;font-size:13.5px;color:#55627a}
.rep{border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin-bottom:10px;position:relative;background:#FAFBFD}
.rep .rm{position:absolute;top:8px;right:8px}
.prevpane{position:sticky;top:90px}
.prevpane .bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font:600 13px var(--head);color:#55627a}
.pvframe{background:var(--paper);border-radius:12px;padding:18px;overflow:hidden;box-shadow:inset 0 0 0 1px #dde3ec;transition:max-width .35s;margin-inline:auto}
.pvframe.mobile{max-width:340px}
.pvframe .stitle{margin-bottom:12px}
.pvframe .panel{height:320px}
.pvframe .prow{grid-template-columns:1fr}
.pvframe .prow .ph{min-height:180px;height:180px}
.pvframe .tdetail{grid-template-columns:1fr}
.pvframe .tdetail .pic{min-height:300px}
.pvframe .tdetail .txt{padding:26px 20px}
.pvframe .slidepv{position:relative;height:300px;background:#0e1420;overflow:hidden}
.pvframe .slidepv .slide{opacity:1;visibility:visible}
.pvframe .slidepv .l2{font-size:34px}
.pvframe .slidepv .lead{font-size:14px}
.actionbar{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border-top:1px solid #dde3ec;padding:12px 30px;margin:0 -30px -80px;box-shadow:0 -8px 20px -14px rgba(13,43,85,.3)}
.actionbar .msg{font:500 13px var(--head);color:#55627a;margin-right:auto;display:flex;align-items:center;gap:8px}
.actionbar .msg i{width:8px;height:8px;border-radius:50%;background:#22c55e}
.actionbar .msg.dirty i{background:#f59e0b}
.issues{list-style:none;margin:0 0 14px;padding:12px 14px;border-radius:8px;background:#FEF2F2;color:#991B1B;font-size:13.5px;display:none}
.issues.show{display:block}
.issues li+li{margin-top:4px}
.ctoast{position:fixed;right:24px;bottom:24px;z-index:210;background:var(--navy);color:#fff;padding:12px 18px;border-radius:10px;font:500 14px var(--head);box-shadow:0 12px 30px -10px rgba(0,0,0,.4);transform:translateY(20px);opacity:0;transition:.25s;pointer-events:none}
.ctoast.show{transform:none;opacity:1}
.noaccess{max-width:520px;margin:12vh auto;text-align:center;padding:40px}
@media (max-width:1180px){.ed{grid-template-columns:1fr}.prevpane{position:static}}
@media (max-width:900px){
 .cms{grid-template-columns:1fr}
 .cms-side{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:100;transform:translateX(-100%);transition:transform .3s;padding-top:calc(env(safe-area-inset-top,0px) + 22px)}
 .cms-side.open{transform:none;box-shadow:20px 0 40px rgba(0,0,0,.3)}
 .cms-menu{display:inline-flex}
 .dash{grid-template-columns:1fr}
 .cms-top{padding:12px 16px;padding-top:calc(env(safe-area-inset-top,0px) + 12px);flex-wrap:wrap}
 .cms-body{padding:20px 16px 80px}
 .actionbar{margin:0 -16px -80px;padding:12px 16px}
 .rows li{grid-template-columns:24px 44px minmax(0,1fr) auto;gap:10px}
 .rows .when,.rows li>.pill{display:none}
}
.cbtn.cms-menu{display:none}
@media (max-width:900px){.cbtn.cms-menu{display:inline-flex}}
.tones button svg{width:20px;height:20px;fill:currentColor}
.pvframe .git{bottom:16px}
.pvframe .ticons{top:12px;right:12px}
.pvframe .ticons a{width:40px;height:40px}

/* ===== missions (service-detail layout) ===== */
.msn{padding-top:66px}
.msn-head{text-align:center}
.msn-head h2{font:600 clamp(19px,1.8vw,22px)/1.3 var(--head);margin:0 0 22px}
.msn-ic{display:grid;place-items:center;width:70px;height:70px;margin:0 auto;border-radius:50%;background:#fff;box-shadow:0 8px 24px -10px rgba(13,43,85,.35);color:var(--orange-text);animation:float 6s ease-in-out infinite}
.msn-ic svg{width:26px;height:26px;fill:currentColor}
.msn-media{position:relative;height:clamp(260px,34vw,440px);margin:44px 0 60px}
.msn-media .ph{position:absolute;inset:0}
.msn-cta{position:absolute;z-index:3;left:50%;bottom:28px;transform:translateX(-50%)}
.msn-cta:hover{transform:translateX(-50%) translateY(-2px)}
.msn-grid{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}
.msn-feat{background:#fff;padding:52px 38px 44px}
.msn-feat small{display:block;color:#555;font-size:14px;margin-bottom:2px}
.msn-feat>h3{font:500 19px/1.2 var(--head);text-transform:uppercase;margin:0 0 26px;color:#222}
.feat{display:grid;grid-template-columns:70px 1fr;gap:16px;align-items:center;margin-bottom:26px}
.feat .ci{width:70px;height:70px;border-radius:50%;border:1px solid var(--orange);display:grid;place-items:center;color:var(--orange-text);transition:background .35s,color .35s,transform .5s}
.feat:hover .ci{background:var(--orange);color:var(--navy);transform:rotate(360deg) scale(1.05)}
.feat .ci svg{width:28px;height:28px;fill:currentColor}
.feat h4{font:600 17px/1.25 var(--head);color:var(--orange-text);margin:0 0 6px}
.feat p{margin:0;color:#666;font-size:15px;line-height:1.5}
.msn-txt{color:#666;font-size:15.5px;line-height:1.6}
.msn-img{background:#fff;height:192px;margin:36px 0;position:relative}
.msn-img .ph{position:absolute;inset:0}
.trips-h{font:700 24px var(--head);margin:40px 0 18px;color:#222}
.trip{display:grid;grid-template-columns:76px 1fr auto;gap:18px;align-items:center;background:#fff;padding:18px;margin-bottom:14px;border-left:4px solid var(--orange);transition:transform .3s,box-shadow .3s}
.trip:hover{transform:translateX(6px);box-shadow:0 14px 30px -18px rgba(13,43,85,.4)}
.trip .td{text-align:center;font:500 11px/1.4 var(--head);color:#555;text-transform:uppercase}
.trip .td b{display:block;font:700 26px/1 var(--head);color:var(--navy)}
.trip .td svg{width:30px;height:30px;fill:var(--orange-text)}
.trip h3{font:600 17px/1.3 var(--head);margin:0 0 6px}
.trip .meta{margin-bottom:6px}
.trip p{margin:0;font-size:14.5px;color:#666}
.trip-any{border-left-color:var(--navy)}
.wsv{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.wsv-i{display:grid;grid-template-columns:70px 1fr;gap:16px;align-items:center}
.wsv-i .ci{width:70px;height:70px;border-radius:50%;border:1px solid var(--orange);display:grid;place-items:center;color:var(--orange-text);transition:.4s}
.wsv-i:hover .ci{background:var(--orange);color:var(--navy);transform:scale(1.08)}
.wsv-i .ci svg{width:28px;height:28px;fill:currentColor}
.wsv-i h3{font:600 clamp(20px,2vw,26px)/1.15 var(--head);color:var(--orange-text);margin:0 0 6px}
.wsv-i p{margin:0;color:#666;font-size:15.5px;line-height:1.5}

/* ===== sponsorship flow ===== */
.steps3{display:flex;justify-content:center;gap:0;list-style:none;margin:0 auto 46px;padding:0;max-width:720px}
.steps3 li{flex:1;text-align:center;position:relative;font:500 14px var(--head);color:#8a8f99}
.steps3 li::before{content:"";position:absolute;top:22px;left:-50%;right:50%;height:2px;background:#ddd}
.steps3 li:first-child::before{display:none}
.steps3 li.done::before,.steps3 li.now::before{background:var(--orange)}
.steps3 b{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;margin:0 auto 8px;border-radius:50%;background:#fff;border:2px solid #ddd;font:700 15px var(--head);color:#8a8f99;transition:.3s}
.steps3 b svg{width:20px;height:20px;fill:currentColor}
.steps3 li.done b{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.steps3 li.now b{border-color:var(--orange);color:var(--orange-text);box-shadow:0 0 0 6px rgba(249,115,22,.15)}
.steps3 li.now{color:#222}
.kidhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}
.kidhead h2{font:700 clamp(24px,2.6vw,32px)/1.2 var(--head);margin:0 0 6px}
.kidhead p{color:#666;max-width:62ch;margin:0}
.kid{background:#fff;border:1px solid #e3e3e3;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.kid:hover{transform:translateY(-8px);box-shadow:0 22px 40px -18px rgba(13,43,85,.35)}
.kid .phw .ph{height:230px;transition:transform .7s}
.kid:hover .ph{transform:scale(1.06)}
.kid .ref{position:absolute;z-index:2;left:0;bottom:0;background:var(--orange);color:var(--navy);font:700 15px var(--head);padding:10px 18px;letter-spacing:.02em}
.kb{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.kb dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.kb dt{font:500 12px var(--head);color:#8a8f99}
.kb dd{margin:0;font:600 15px var(--head);color:#222}
.kb p{color:#666;font-size:15px;margin:0 0 12px}
.ints{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0}
.ints li{font:500 12.5px var(--head);background:#EEF2FF;color:var(--navy);padding:5px 10px}
.kb .btn{margin-top:auto}
.matchme{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--navy);color:#fff;padding:30px 34px;margin-top:40px}
.matchme h3{color:#fff;font:600 21px var(--head);margin:0 0 4px}
.matchme p{margin:0;color:#c9d3e3}
.linkbtn{background:none;border:0;color:var(--blue);text-decoration:underline;font:500 14px var(--body);min-height:44px}
.spdone{background:#fff;text-align:center;max-width:720px;margin:0 auto;padding:56px clamp(22px,6vw,60px)}
.spdone h2{font:700 clamp(24px,2.6vw,30px) var(--head)}
.spdone p{color:#555}
.bigcheck{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 22px;border-radius:50%;background:var(--orange);animation:popin .5s cubic-bezier(.2,.7,.2,1)}
.bigcheck svg{width:42px;height:42px;fill:var(--navy)}
.warnbox{background:#FFF7ED;border:1px solid #FDBA74;padding:12px 14px;font-size:14px;color:#7C2D12}
.warnbox a{color:var(--blue);font-weight:600}

/* ===== sign-up modal ===== */
.smodal{position:fixed;inset:0;z-index:98;background:rgba(10,14,22,.7);display:none;align-items:flex-start;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 4vh) 16px 30px;overflow:auto}
.smodal.open{display:flex;animation:fadein .25s}
.smodal .in{background:#fff;width:min(560px,100%);position:relative;padding:40px 36px 34px;animation:popin .35s cubic-bezier(.2,.7,.2,1);border-top:5px solid var(--orange)}
.smodal .x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:#f3f3f3;font-size:22px;transition:.2s}
.smodal .x:hover{background:var(--orange);transform:rotate(90deg)}
.suh small{font:600 12.5px var(--head);color:var(--orange-text)}
.suh h2{font:700 24px/1.25 var(--head);margin:4px 0 6px}
.suh p{display:flex;align-items:center;gap:8px;color:#555;font-size:14.5px;margin:0 0 20px}
.suh p .ico{color:var(--orange-text)}
.suprog{height:5px;background:#eee;margin:14px 0 6px;overflow:hidden}
.suprog i{display:block;height:100%;background:var(--orange);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.sustep{font:500 12.5px var(--head);color:#888;margin:0 0 16px}
.stp{display:flex;align-items:stretch;max-width:200px}
.stp button{width:50px;border:1px solid #d6d6d6;background:#f7f7f7;font:600 20px var(--head);color:var(--navy);transition:background .2s}
.stp button:hover{background:var(--orange)}
.stp input{text-align:center;border-left:0!important;border-right:0!important;padding:12px 4px!important;-moz-appearance:textfield}
.stp input::-webkit-inner-spin-button{appearance:none}
.skills{border:0;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:8px}
.skills legend{font:500 13px var(--head);color:#444;margin-bottom:8px;padding:0}
.skills button{min-height:40px;padding:8px 14px;border:1px solid #d6d6d6;background:#fff;font:500 13.5px var(--head);color:#444;transition:.2s}
.skills button:hover{border-color:var(--orange)}
.skills button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.skills button[aria-pressed="true"]::before{content:"✓ "}
.sudone{text-align:center;padding:10px 0}
.sudone h2{font:700 24px var(--head)}
.sudone p{color:#555}
.conf{position:fixed;z-index:120;width:9px;height:9px;pointer-events:none;border-radius:2px}
.regt{width:100%;border-collapse:collapse;font-size:14px}
.regt th{text-align:left;font:600 12px var(--head);color:#55627a;padding:12px 14px;border-bottom:1px solid #e2e8f0;background:#F8FAFC;white-space:nowrap}
.regt td{padding:12px 14px;border-bottom:1px solid #eef1f5;vertical-align:top}
.regt small{color:#71809a}
.regt select{border:1px solid #d4dbe6;border-radius:6px;min-height:34px;padding:0 6px;font:inherit}
@media (max-width:980px){.msn-grid{grid-template-columns:1fr}.wsv{grid-template-columns:1fr}}
@media (max-width:640px){.trip{grid-template-columns:60px 1fr}.trip .btn{grid-column:1/-1}.smodal .in{padding:36px 20px 26px}.steps3 li{font-size:12px}}
nav.main>ul>li>a{white-space:nowrap}
.btn-donate{white-space:nowrap}
@media (max-width:1380px){nav.main>ul>li>a{padding:28px 9px;font-size:14px}nav.main>ul>li>a::after{left:9px;right:9px}.hdr .wrap{gap:16px}.logo img{height:46px}}
.kid .ph::after{top:10px;bottom:auto}
.kb .sample{align-self:flex-start}
.matchme .btn{background:var(--orange);color:var(--navy)}
.chk>span{flex:1}
.stp input{width:80px!important;flex:none}

/* ===== policy pages ===== */
.legalwrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:40px;align-items:start}
.ltoc{position:sticky;top:104px;max-height:calc(100vh - 124px);overflow:auto;background:#fff;padding:24px 20px}
.ltoc h2{font:600 13px var(--head);text-transform:uppercase;letter-spacing:.05em;color:#8a8f99;margin:0 0 10px}
.ltoc ol{list-style:none;margin:0 0 24px;padding:0;counter-reset:t}
.ltoc ol button{counter-increment:t;display:flex;gap:10px;width:100%;text-align:left;background:none;border:0;border-left:3px solid transparent;padding:7px 10px;font:500 14px/1.35 var(--head);color:#555;min-height:36px;transition:.2s}
.ltoc ol button::before{content:counter(t);color:#aaa;font-weight:600;min-width:16px}
.ltoc ol button:hover{color:var(--orange-text);background:#FFF7ED}
.ltoc ol button.on{border-left-color:var(--orange);color:var(--navy);background:#FFF7ED}
.ltoc ol button.on::before{color:var(--orange-text)}
.lother{border-top:1px solid #eee;padding-top:18px}
.lother ul{list-style:none;margin:0;padding:0}
.lother a{display:block;padding:7px 0;font:500 14px var(--head);color:#444}
.lother a[aria-current]{color:var(--orange-text)}
.lother a[aria-current]::before{content:"› "}
.legal2{background:#fff;padding:44px clamp(22px,4vw,54px) 50px}
.lmeta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.lbadge{display:inline-flex;align-items:center;gap:8px;background:#FFF7ED;border:1px solid #FDBA74;color:#7C2D12;font:600 13px var(--head);padding:7px 12px}
.lbadge svg{width:15px;height:15px;fill:currentColor}
.lbadge.ok{background:#F0FDF4;border-color:#86EFAC;color:#166534}
.lbadge.rv{background:#EEF2FF;border-color:#C7D2FE;color:#3730A3}
.lsrc{font-size:14px;color:#666}
.lintro{font:500 18px/1.6 var(--head);color:#333;border-left:4px solid var(--orange);padding-left:18px;margin:22px 0 10px}
.lsec{padding-top:26px;scroll-margin-top:110px}
.lsec h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:600 21px/1.3 var(--head);margin:0 0 12px}
.lsec h2:focus{outline:none}
.ln{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font:600 13px var(--head);flex:none}
.rvtag{font:600 11.5px var(--head);background:#EEF2FF;color:#3730A3;padding:4px 8px}
.lsec p,.lsec li{color:#555;font-size:16px;line-height:1.7}
.lsec ul{padding-left:22px;margin:0 0 14px}
.lsec li{margin-bottom:4px}
.lsec li::marker{color:var(--orange)}
.legal2 a{color:var(--blue)}
.concern{display:grid;grid-template-columns:70px 1fr;gap:20px;align-items:start;background:var(--navy);color:#fff;padding:30px;margin-top:36px}
.concern .ci{width:70px;height:70px;border-radius:50%;background:var(--orange);display:grid;place-items:center}
.concern .ci svg{width:32px;height:32px;fill:var(--navy)}
.concern h3{color:#fff;font:600 21px var(--head);margin:0 0 6px}
.concern p{color:#d6dde8;margin:0 0 16px}
.concern .btn{color:var(--navy)}
.pvframe .legal2{padding:20px}
@media (max-width:980px){.legalwrap{grid-template-columns:1fr}.ltoc{position:static;max-height:none}}
@media print{.ltoc,.banner,.concern .btn,#lPrint{display:none!important}.legalwrap{display:block}.legal2{padding:0}}

/* ===== home about ===== */
.habout{padding:96px 0 70px}
.habout-g{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.hab-pics{position:relative;height:500px}
.hab-pics .hp1{position:absolute;left:0;top:0;width:72%;height:82%}
.hab-pics .hp2{position:absolute;right:0;bottom:0;width:52%;height:52%;border:8px solid var(--paper);box-shadow:0 20px 40px -20px rgba(13,43,85,.5)}
.hab-pics .ph{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.hab-pics .phw:hover .ph{transform:scale(1.07)}
.hab-badge{position:absolute;left:-18px;bottom:40px;z-index:3;background:var(--orange);color:var(--navy);padding:18px 22px;display:flex;align-items:center;gap:12px;box-shadow:0 16px 30px -14px rgba(0,0,0,.4);animation:float 7s ease-in-out infinite}
.hab-badge b{font:800 38px/1 var(--head)}
.hab-badge span{font:600 12.5px/1.3 var(--head)}
.hab-seal{position:absolute;right:6%;top:-26px;z-index:3;width:96px;height:96px;border-radius:50%;background:#fff;box-shadow:0 12px 26px -12px rgba(0,0,0,.4);animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hab-txt h2{font:700 clamp(28px,3.2vw,40px)/1.15 var(--head);margin:0 0 16px}
.hab-txt>p{color:#555;font-size:16.5px}
.hab-vals{list-style:none;margin:22px 0 28px;padding:0;display:grid;gap:14px}
.hab-vals li{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;padding:12px;background:#fff;transition:transform .3s,box-shadow .3s}
.hab-vals li:hover{transform:translateX(8px);box-shadow:0 12px 26px -16px rgba(13,43,85,.4)}
.hab-vals span{width:52px;height:52px;border-radius:50%;background:#FFF1E6;display:grid;place-items:center;color:var(--orange-text);transition:.4s}
.hab-vals li:hover span{background:var(--orange);color:var(--navy);transform:rotate(-12deg)}
.hab-vals svg{width:24px;height:24px;fill:currentColor}
.hab-vals b{display:block;font:600 16px var(--head);color:#222}
.hab-vals div{color:#666;font-size:14.5px}
.hab-btns{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:980px){.habout-g{grid-template-columns:1fr;gap:50px}.hab-pics{height:400px}.hab-badge{left:0}}
@media (max-width:640px){.habout{padding:70px 0 40px}.hab-pics{height:320px}.hab-seal{width:72px;height:72px}}

/* ===== cookie banner ===== */
.ckb{position:fixed;z-index:97;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);display:flex;justify-content:center;pointer-events:none}
.ckb[hidden]{display:none}
.ckb-in{pointer-events:auto;width:min(880px,100%);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#fff;border-top:4px solid var(--orange);box-shadow:0 20px 50px -14px rgba(13,20,35,.45);padding:18px 22px;transform:translateY(140%);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s}
.ckb.show .ckb-in{transform:none;opacity:1}
.ckb-ic{font-size:30px;line-height:1}
.ckb-t b{font:600 16px var(--head);color:#222}
.ckb-t p{margin:2px 0 0;font-size:14px;color:#555;line-height:1.5}
.ckb-t a{color:var(--blue)}
.ckb-b{display:flex;gap:8px}
.ckb-b .btn{white-space:nowrap}
body.in-cms .ckb{display:none}
@media (max-width:700px){.ckb-in{grid-template-columns:1fr;gap:12px}.ckb-ic{display:none}.ckb-b .btn{flex:1}}
@media print{.ckb{display:none!important}}

/* ---- 04-builder.css ---- */

/* ===== blocks (public + canvas) ===== */
.blk{position:relative}
.blk-bg,.blk-ov{position:absolute;inset:0;z-index:0;pointer-events:none}
.blk-bg .ph{position:absolute;inset:0;min-height:0}
.blk-in{position:relative;z-index:1}
.blk.clip{overflow:hidden}
.blk.boxed{margin-inline:auto;width:calc(100% - 40px)}
.has-tc{color:var(--tc)}
.has-tc :is(h1,h2,h3,h4,.kicker,.l1,.lead,blockquote,cite,.stitle p,.bmd,.bmd p,.bmd li,.bsub,figcaption,.hab-vals b,.hab-vals span,.lefthead p){color:var(--tc)}
.has-tc .hl{color:var(--orange-soft)}
.al-left .blk-in{text-align:left}.al-center .blk-in{text-align:center}.al-right .blk-in{text-align:right}
.al-center .bbtns,.al-center .bcta .bbtns{justify-content:center}.al-right .bbtns{justify-content:flex-end}
.bbtns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.btn-outline{background:transparent;color:var(--navy);border:2px solid var(--navy)}.btn-outline:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy)}.btn-white:hover{background:#FFF7ED;color:var(--navy)}
.btn-link{background:none;color:var(--orange-text);padding-inline:0;text-decoration:underline;text-underline-offset:4px}.btn-link:hover{box-shadow:none}
.stitle.st-left{text-align:left}
.bempty{padding:40px;text-align:center;color:#888;border:2px dashed #ccc;margin:20px}
.bhero{display:flex;align-items:center;padding:80px 0}
.bhero .wrap{width:min(var(--wrap),100% - 40px)}
.bhero .l1{font:300 clamp(24px,3.4vw,42px)/1.15 var(--head);color:var(--orange-soft);margin:0 0 16px}
.bhero .l2{font:700 clamp(38px,6vw,76px)/1.04 var(--head);margin:0 0 22px;max-width:16ch}
.al-center .bhero .l2{margin-inline:auto}
.bhero .lead{font-size:clamp(16px,1.4vw,19px);max-width:56ch;margin:0 0 28px;opacity:.92}
.al-center .bhero .lead{margin-inline:auto}
.bbanner h1{color:inherit;font:600 clamp(26px,3.2vw,34px)/1.2 var(--head);margin:0 0 10px}
.bbanner .bsub{margin:0 0 12px;opacity:.9}
.bbanner .crumbs{justify-content:inherit}
.al-center .bbanner .crumbs{justify-content:center}.al-left .bbanner .crumbs{justify-content:flex-start}
.has-tc .bbanner{color:var(--tc)}
.bsplit{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.bsplit .bs-media{order:2}.bsplit.img-left .bs-media{order:0}
.bs-img{position:relative}.bs-img .ph{position:absolute;inset:0}
.bsplit .hab-txt h2{font:700 clamp(28px,3.2vw,40px)/1.15 var(--head);margin:0 0 16px}
.bmd p,.bmd li{color:#555;font-size:16.5px;line-height:1.7}
.bmd ul{padding-left:22px}.bmd li::marker{color:var(--orange)}
.btext h2{font:700 clamp(24px,2.6vw,32px)/1.2 var(--head)}
.bcards{display:grid;gap:26px;grid-template-columns:repeat(var(--cols,3),1fr)}
.bcards.cols-1{--cols:1}.bcards.cols-2{--cols:2}.bcards.cols-3{--cols:3}.bcards.cols-4{--cols:4}
.bcard{position:relative;background:var(--cbg,#fff);border-radius:var(--cr,0);box-shadow:var(--csh,none);padding:34px 30px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.bcard:hover{transform:translateY(-6px);box-shadow:0 22px 40px -18px rgba(13,43,85,.35)}
.bd-line .bcard{border:1px solid #e5e7eb}
.bd-accent .bcard{border-bottom:5px solid var(--ac)}
.lay-iconTop .bcard{text-align:inherit}
.bc-ic{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--ac);color:#fff;margin-bottom:20px;transition:transform .5s}
.bcard:hover .bc-ic{transform:rotateY(180deg)}
.bc-ic svg{width:28px;height:28px;fill:currentColor}
.al-center .bc-ic,.al-center .bc-num{margin-inline:auto}
.lay-iconLeft .bcard{display:grid;grid-template-columns:62px 1fr;gap:18px;align-items:start}
.lay-iconLeft .bc-ic{margin:0}
.lay-imageTop .bcard{padding:0}.lay-imageTop .bc-b{padding:24px 26px 28px}
.bc-img{height:220px;position:relative}.bc-img .ph{position:absolute;inset:0;transition:transform .7s}.bcard:hover .bc-img .ph{transform:scale(1.06)}
.bc-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:3px solid var(--ac);font:700 15px var(--head);color:var(--navy);background:#fff;margin-bottom:14px}
.bcard h3{font:600 21px/1.25 var(--head);margin:0 0 8px;color:var(--cc,#222)}
.bcard p{margin:0;color:var(--cc,#666);font-size:15.5px;line-height:1.6}
.bc-link{display:inline-block;margin-top:14px;font:600 14px var(--head);color:var(--orange-text)}
.bimg{margin:0}.bimg .phw{position:relative}.bimg .ph{position:absolute;inset:0}.bimg.fit-contain .ph img{object-fit:contain;background:#fff}
.bimg figcaption,.bgal figcaption,.bvid figcaption{font-size:14px;color:#666;margin-top:8px;text-align:center}
.bgal{display:grid;grid-template-columns:repeat(var(--gc,3),1fr);gap:18px}.bgal figure{margin:0}.bgal .phw{position:relative}.bgal .ph{position:absolute;inset:0;transition:transform .7s}.bgal figure:hover .ph{transform:scale(1.06)}
.bcta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.bcta h2{font:700 clamp(26px,3vw,38px)/1.2 var(--head);margin:0 0 8px}
.bcta p{margin:0 0 10px;font-size:17px;opacity:.92;max-width:60ch}
.bcta.split{flex-direction:row;justify-content:space-between;text-align:left;gap:30px}
.bquote blockquote{font:600 clamp(26px,3.4vw,40px)/1.25 var(--head);margin:0 auto 14px;max-width:24ch}
.bquote cite{display:block;font:500 15px var(--head);font-style:normal;margin-bottom:22px;opacity:.9}
.has-tc .bquote cite{color:var(--orange-soft)}
.blogo{height:60px;width:100%;position:relative}.blogo .ph{position:absolute;inset:6px;background:none}.blogo .ph img{object-fit:contain}
.bvid{margin:0}.bvid iframe,.bvid-empty{width:100%;aspect-ratio:16/9;border:0;display:block;background:#0e1420}
.bvid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#aab;font:500 14px var(--head)}.bvid-empty svg{width:40px;height:40px;fill:#556}
.bhr{border:0;margin:0}
.blk-heroSlider .hero{height:var(--hh,clamp(460px,62vw,640px))}
@media(min-width:981px){.hide-d{display:none!important}}
@media(min-width:641px) and (max-width:980px){.hide-t{display:none!important}}
@media(max-width:640px){.hide-m{display:none!important}}
@media(max-width:980px){.bsplit{grid-template-columns:1fr;gap:40px}.bsplit .bs-media{order:0}.bcards{--cols:2!important}.bcards.cols-1{--cols:1!important}.bgal{grid-template-columns:repeat(2,1fr)}.bcta.split{flex-direction:column;text-align:center}}
@media(max-width:640px){.bcards{--cols:1!important}.bgal{grid-template-columns:1fr}.plogos{grid-template-columns:1fr 1fr!important}}

/* ===== page builder UI ===== */
body.in-builder{overflow:hidden}
body.in-builder .ckb,body.in-builder .toast{display:none}
.bld{position:fixed;inset:0;z-index:150;display:grid;grid-template-columns:64px 280px minmax(0,1fr) 330px;grid-template-rows:56px minmax(0,1fr);background:#E9EDF3;font-family:var(--body);color:#1f2a3d}
.bld.is-preview{grid-template-columns:0 0 minmax(0,1fr) 0}.bld.is-preview .bl-left,.bld.is-preview .bl-right,.bld.is-preview .bl-rail{display:none}
.bl-top{grid-column:1/-1;display:flex;align-items:center;gap:16px;background:#0f1b33;color:#fff;padding:0 14px 0 0;padding-top:env(safe-area-inset-top,0px);min-width:0}
.bl-back{width:64px;height:56px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.08);flex:none}.bl-back img{width:34px;height:34px}.bl-back:hover{background:rgba(255,255,255,.06)}
.bl-page{display:flex;align-items:center;gap:10px;min-width:0}.bl-page small{font:500 11px var(--head);color:#8ea0c0;display:none}
.bl-pagebtn{display:flex;align-items:center;gap:6px;background:none;border:0;color:#fff;font:600 15px var(--head);padding:6px 8px;border-radius:6px;min-height:36px}.bl-pagebtn:hover{background:rgba(255,255,255,.08)}.bl-pagebtn svg{width:12px;height:12px;fill:#8ea0c0}
.bl-st{font:600 11.5px var(--head);padding:4px 10px;border-radius:20px;white-space:nowrap}.bl-st.ok{background:#14532d;color:#bbf7d0}.bl-st.chg{background:#7c2d12;color:#fed7aa}.bl-st.draft{background:#334155;color:#e2e8f0}
.bl-dev{margin:0 auto;display:flex;background:rgba(255,255,255,.06);border-radius:8px;padding:3px}
.bl-dev button{display:flex;align-items:center;gap:6px;background:none;border:0;color:#b7c3d9;font:600 12.5px var(--head);padding:6px 12px;border-radius:6px;min-height:34px}
.bl-dev button svg{width:16px;height:16px;fill:currentColor}.bl-dev button[aria-pressed="true"]{background:#fff;color:#0f1b33}
.bl-act{display:flex;align-items:center;gap:6px}
.bl-ib{width:36px;height:36px;border-radius:7px;border:0;background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;font-size:17px;flex:none}
.bl-ib svg{width:17px;height:17px;fill:currentColor}.bl-ib:hover{background:rgba(255,255,255,.14);color:#fff}.bl-ib:disabled{opacity:.35}.bl-ib[aria-pressed="true"]{background:var(--orange);color:var(--navy)}
.bl-ib.sm{width:30px;height:30px;font-size:14px;background:#f1f5f9;color:#334155}.bl-ib.sm:hover{background:#e2e8f0;color:#0f1b33}
.bl-save{font:500 12px var(--head);color:#8ea0c0;min-width:74px;text-align:right}
.bl-btn{background:var(--orange);color:var(--navy);border:0;border-radius:7px;font:700 13.5px var(--head);padding:0 18px;min-height:38px;transition:.2s}.bl-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.bl-rail{grid-row:2;background:#fff;border-right:1px solid #dde3ec;display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:4px}
.bl-rail button{width:52px;padding:8px 0;border:0;background:none;border-radius:8px;color:#55627a;display:flex;flex-direction:column;align-items:center;gap:3px;font:600 9.5px var(--head)}
.bl-rail button svg{width:20px;height:20px;fill:currentColor}.bl-rail button:hover{background:#f1f5f9}.bl-rail button[aria-pressed="true"]{background:#FFF1E6;color:var(--orange-text)}
.bl-left,.bl-right{grid-row:2;background:#fff;overflow:auto;padding:16px;min-width:0}
.bl-left{border-right:1px solid #dde3ec}.bl-right{border-left:1px solid #dde3ec;padding:0}
.bl-stage{grid-row:2;overflow:auto;display:flex;justify-content:center;padding:20px;background:#E9EDF3 radial-gradient(#cfd6e2 1px,transparent 1px) 0 0/18px 18px}
.bl-fw{background:#fff;box-shadow:0 10px 40px -10px rgba(15,27,51,.3);border-radius:6px;overflow:hidden;flex:none;transition:width .3s}
.bl-fw.dev-mobile{border-radius:22px;border:8px solid #0f1b33;box-sizing:border-box}
.bl-zoom{align-self:center;font:600 11px var(--head);color:#8ea0c0;padding:0 8px}
.bl-fw iframe{border:0;display:block;background:#fff}
.pl-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pl-h h2{font:700 16px var(--head);margin:0;color:#0f1b33}
.pl-g{font:600 11px var(--head);text-transform:uppercase;letter-spacing:.06em;color:#8a96aa;margin:18px 0 8px}
.pl-tip{font-size:12.5px;color:#71809a;line-height:1.5;margin:14px 0 0}.pl-empty{font-size:13.5px;color:#71809a;padding:10px 0}
.pl-foot{display:flex;gap:8px;margin-top:20px;position:sticky;bottom:-16px;background:#fff;padding:12px 0}
.bl-mini{display:inline-flex;align-items:center;gap:6px;border:1px solid #d4dbe6;background:#fff;color:#0f1b33;border-radius:7px;font:600 12.5px var(--head);padding:0 11px;min-height:32px;transition:.15s}
.bl-mini svg{width:13px;height:13px;fill:currentColor}.bl-mini:hover{border-color:#0f1b33}.bl-mini.danger{color:#b91c1c;border-color:#fecaca}
.bl-link{background:none;border:0;color:var(--blue);font:600 12.5px var(--head);padding:6px 0;min-height:32px;text-align:left}
.layers{list-style:none;margin:0;padding:0}
.layers li{display:flex;align-items:center;gap:4px;border-radius:7px;margin-bottom:2px;transition:background .15s}
.layers li:hover{background:#f1f5f9}.layers li.on{background:#FFF1E6;box-shadow:inset 3px 0 0 var(--orange)}.layers li.off .ln-name{opacity:.45}
.layers li.drag{opacity:.4}.layers li.over{box-shadow:inset 0 2px 0 var(--orange)}
.layers .grip{width:18px;color:#a3aec0;cursor:grab;display:grid;place-items:center}.layers .grip svg{width:14px;fill:currentColor}
.ln-name{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:none;border:0;text-align:left;padding:8px 4px;font:500 13px var(--head);color:#1f2a3d}
.ln-name svg{width:15px;height:15px;fill:#71809a;flex:none}.ln-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ln-name em{font:600 9.5px var(--head);font-style:normal;background:#EEF2FF;color:#3730A3;padding:2px 6px;border-radius:8px;flex:none}
.ln-ic{width:28px;height:28px;border:0;background:none;border-radius:6px;color:#8a96aa;display:grid;place-items:center;opacity:0}.layers li:hover .ln-ic,.layers li.off .ln-ic{opacity:1}.ln-ic svg{width:14px;fill:currentColor}.ln-ic:hover{background:#e2e8f0}
.pl-search{display:flex;align-items:center;gap:8px;border:1px solid #d4dbe6;border-radius:8px;padding:0 10px;margin-bottom:6px}.pl-search svg{width:15px;fill:#8a96aa}.pl-search input{flex:1;border:0;min-height:36px;font:inherit;outline:0;min-width:0}
.addgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.addc{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:9px;padding:12px;transition:.15s}
.addc:hover{border-color:var(--orange);box-shadow:0 8px 20px -12px rgba(249,115,22,.6);transform:translateY(-2px)}
.addc span{width:32px;height:32px;border-radius:8px;background:#FFF1E6;display:grid;place-items:center}.addc span svg{width:17px;height:17px;fill:var(--orange-text)}
.addc b{font:600 12.5px var(--head);color:#0f1b33}.addc small{font-size:11px;color:#71809a;line-height:1.35}
.plist{list-style:none;margin:0;padding:0}.plist button{width:100%;display:grid;grid-template-columns:1fr auto;gap:0 8px;text-align:left;background:none;border:0;border-radius:7px;padding:8px 10px;font:500 13.5px var(--head);color:#1f2a3d}
.plist button:hover{background:#f1f5f9}.plist button.on{background:#FFF1E6}.plist small{grid-column:1/-1;font-size:11.5px;color:#8a96aa}
.plist em{font:600 10px var(--head);font-style:normal;padding:2px 7px;border-radius:8px;align-self:center}.plist em.ok{background:#DCFCE7;color:#166534}.plist em.chg{background:#FFEDD5;color:#9A3412}
.th-row{display:grid;grid-template-columns:1fr 36px 84px;gap:8px;align-items:center;margin-bottom:8px;font:500 13px var(--head)}
.th-row input[type=color],.colr input[type=color]{width:36px;height:32px;padding:0;border:1px solid #d4dbe6;border-radius:6px;background:#fff;cursor:pointer}
.hex{border:1px solid #d4dbe6;border-radius:6px;min-height:32px;padding:0 8px;font:500 12.5px ui-monospace,monospace;width:100%;min-width:0}
.th-check{background:#f8fafc;border-radius:8px;padding:10px 12px;font-size:12.5px;display:grid;gap:6px;margin:12px 0}
.th-check div{display:flex;justify-content:space-between;gap:8px;align-items:center}
.cr{font:700 11px var(--head);padding:2px 7px;border-radius:8px;white-space:nowrap}.cr.ok{background:#DCFCE7;color:#166534}.cr.mid{background:#FEF3C7;color:#92400E}.cr.bad{background:#FEE2E2;color:#991B1B}
.menued{list-style:none;margin:0 0 10px;padding:0}.menued ol{list-style:none;margin:4px 0 0 14px;padding:0;border-left:2px solid #e2e8f0;padding-left:8px}
.mrow{display:grid;grid-template-columns:1fr 1fr auto;gap:4px;margin-bottom:4px}.mrow.sub{grid-template-columns:1fr 1fr auto}
.mrow input{border:1px solid #d4dbe6;border-radius:6px;min-height:32px;padding:0 8px;font:inherit;font-size:12.5px;min-width:0}
.macts{display:flex}.macts button{width:26px;height:32px;border:0;background:none;color:#71809a;border-radius:5px}.macts button:hover{background:#f1f5f9;color:#0f1b33}
.menued>li{background:#fafbfd;border:1px solid #edf0f5;border-radius:8px;padding:6px;margin-bottom:6px}
.mup{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #cbd5e1;border-radius:10px;padding:18px;text-align:center;cursor:pointer;transition:.2s}
.mup svg{width:22px;height:22px;fill:var(--orange-text)}.mup b{font:600 13px var(--head)}.mup small{font-size:11.5px;color:#71809a}
.mup.over,.mup:hover{border-color:var(--orange);background:#FFF7ED}.mup.busy{opacity:.6;pointer-events:none}
.bl-sw{display:flex;align-items:center;gap:10px;font:500 13px var(--head);color:#33415c;margin:10px 0;cursor:pointer}
.bl-sw input{appearance:none;width:36px;height:20px;border-radius:10px;background:#cbd5e1;position:relative;flex:none;cursor:pointer;transition:.2s;margin:0}
.bl-sw input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.bl-sw input:checked{background:var(--orange)}.bl-sw input:checked::after{transform:translateX(16px)}
.bl-sw.consent{font-size:12px;align-items:flex-start}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
.mtile{aspect-ratio:1;border:2px solid transparent;border-radius:7px;overflow:hidden;padding:0;background:#f1f5f9}.mtile img{width:100%;height:100%;object-fit:cover}.mtile:hover{border-color:var(--orange)}
.mlibw .in.mlib{max-width:720px;width:100%;max-height:86vh;overflow:auto}
.mlib .mgrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.ml-h{display:flex;justify-content:space-between;align-items:center}
.ml-tabs{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin:10px 0 16px}.ml-tabs button{border:0;background:none;padding:10px 12px;font:600 13px var(--head);color:#55627a;border-bottom:2px solid transparent}.ml-tabs button[aria-selected="true"]{color:var(--orange-text);border-color:var(--orange)}
.tones.big button{width:64px;height:64px}
.in-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #edf0f5;position:sticky;top:0;background:#fff;z-index:2}
.in-h>div{flex:1;min-width:0}.in-h b{display:block;font:700 14.5px var(--head);color:#0f1b33}.in-h small{font-size:11.5px;color:#71809a}
.in-ic{width:34px;height:34px;border-radius:8px;background:#FFF1E6;display:grid;place-items:center;flex:none}.in-ic svg{width:17px;height:17px;fill:var(--orange-text)}
.in-tabs{display:flex;border-bottom:1px solid #edf0f5;position:sticky;top:63px;background:#fff;z-index:2}
.in-tabs button{flex:1;border:0;background:none;padding:11px 0;font:600 12.5px var(--head);color:#71809a;border-bottom:2px solid transparent}.in-tabs button[aria-selected="true"]{color:#0f1b33;border-color:var(--orange)}
.in-body{padding:14px 16px 60px}
.grp{border-bottom:1px solid #edf0f5;padding-bottom:12px;margin-bottom:14px}.grp h4{font:700 12px var(--head);text-transform:uppercase;letter-spacing:.05em;color:#55627a;margin:0 0 10px}
.ctl{margin-bottom:12px;transition:background .3s;border-radius:6px}.ctl.flash{background:#FFF1E6;box-shadow:0 0 0 6px #FFF1E6}
.ctl>label{display:flex;justify-content:space-between;align-items:center;gap:8px;font:600 12px var(--head);color:#33415c;margin-bottom:5px}
.ctl input:not([type=range]):not([type=color]):not([type=checkbox]),.ctl textarea,.ctl select,.bl-f input{width:100%;border:1px solid #d4dbe6;border-radius:7px;min-height:36px;padding:7px 10px;font:inherit;font-size:13.5px;background:#fff;color:#1f2a3d}
.ctl textarea{resize:vertical;line-height:1.5}
.ctl input:focus,.ctl textarea:focus,.ctl select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.ctl input[type=range]{width:100%;accent-color:var(--orange)}
.rv{display:flex;align-items:center;gap:3px;font-weight:500;color:#71809a}.rv input{width:62px!important;min-height:26px!important;padding:2px 6px!important;text-align:right}
.hint{display:block;font:400 11.5px var(--body);color:#8a96aa;margin-top:4px;line-height:1.4}
.seg2{display:flex;flex-wrap:wrap;background:#f1f5f9;border-radius:8px;padding:3px;gap:2px;margin-bottom:10px}
.seg2 button{flex:1;border:0;background:none;border-radius:6px;padding:6px 4px;font:600 11.5px var(--head);color:#55627a;min-height:30px;white-space:nowrap}
.seg2 button[aria-pressed="true"]{background:#fff;color:#0f1b33;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.colr{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.colr .sw{width:24px;height:24px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbd5e1;background:var(--sw);padding:0}
.colr .sw[style*="transparent"]{background:linear-gradient(45deg,#fff 45%,#ef4444 45% 55%,#fff 55%)}
.colr .sw.on{box-shadow:0 0 0 2px var(--orange)}.colr .hex{flex:1;min-width:70px;width:auto}
.colr .clr{border:0;background:none;color:#8a96aa;width:24px;height:24px}
.imgc{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center;margin-bottom:8px}
.imgpv{position:relative;width:96px;height:68px;border-radius:7px;overflow:hidden;border:1px solid #d4dbe6;padding:0;background:#f1f5f9}
.imgpv img{width:100%;height:100%;object-fit:cover}.imgpv .ph{position:absolute;inset:0;min-height:0}.imgpv .ph::after{display:none}
.imgpv span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(15,27,51,.55);color:#fff;font:600 11.5px var(--head);opacity:0;transition:.2s}.imgpv:hover span{opacity:1}
.icg{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.icg button{aspect-ratio:1;border:1px solid #e2e8f0;background:#fff;border-radius:6px;display:grid;place-items:center;color:var(--orange-text)}
.icg button svg{width:16px;height:16px;fill:currentColor}.icg button[aria-pressed="true"]{border-color:var(--navy);background:#FFF1E6}
.rep2>label small{font-weight:500;color:#8a96aa}
.rp{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px;background:#fafbfd}
.rp summary{display:flex;align-items:center;gap:6px;padding:6px 6px 6px 10px;cursor:pointer;list-style:none;font:600 12.5px var(--head)}
.rp summary::-webkit-details-marker{display:none}
.rp summary::before{content:"▸";color:#8a96aa;transition:transform .2s}.rp[open] summary::before{transform:rotate(90deg)}
.rp-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-a{display:flex}.rp-a button{width:24px;height:26px;border:0;background:none;color:#8a96aa;border-radius:5px;font-size:12px}.rp-a button:hover{background:#e2e8f0;color:#0f1b33}
.rp-b{padding:6px 10px 2px;border-top:1px solid #edf0f5}
.in-note{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#EEF2FF;color:#3730A3;border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.45;margin:8px 0}
.in-note svg{width:14px;height:14px;fill:currentColor}.in-note span{flex:1;min-width:140px}
.in-note code{font-size:11px;background:#fff;padding:1px 5px;border-radius:4px}
.stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.keys{list-style:none;margin:0;padding:0;font-size:12px;color:#55627a;display:grid;gap:5px}.keys kbd{font:600 10.5px ui-monospace,monospace;background:#f1f5f9;border:1px solid #d4dbe6;border-bottom-width:2px;border-radius:4px;padding:1px 5px}
.vers{list-style:none;margin:0;padding:0}.vers li{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;border-bottom:1px solid #f1f5f9}
.bl-f{display:block;font:600 12.5px var(--head);color:#33415c;margin-bottom:12px}.bl-f input{margin-top:5px}
.bl-slug{display:flex;align-items:center;border:1px solid #d4dbe6;border-radius:7px;overflow:hidden;margin-top:5px}.bl-slug span{padding:0 4px 0 10px;color:#8a96aa;font:500 13px ui-monospace,monospace}.bl-slug input{border:0!important;margin:0!important;box-shadow:none!important}
.tplpick{display:grid;gap:6px;margin-top:6px}.tplpick label{display:grid;grid-template-columns:auto 1fr;gap:0 10px;border:1px solid #e2e8f0;border-radius:8px;padding:10px;cursor:pointer;font-weight:500}.tplpick label:has(input:checked){border-color:var(--orange);background:#FFF7ED}.tplpick small{grid-column:2;color:#71809a;font-weight:400}
.bl-err{color:#b91c1c;font-size:13px;min-height:1em}
.cms-side a.pbl{background:linear-gradient(90deg,rgba(249,115,22,.22),rgba(249,115,22,.05))}
.bld-promo{background:linear-gradient(120deg,#0f1b33,#1d3a6b);color:#fff}.bld-promo h2{color:#fff;display:flex;gap:8px;align-items:center}.bld-promo h2 svg{width:18px;height:18px;fill:var(--orange-soft)}.bld-promo p{color:#c9d3e3;font-size:14px}
@media (max-width:1180px){.bld{grid-template-columns:56px 240px minmax(0,1fr) 300px}.bl-dev button span{display:none}}
@media (max-width:900px){.bld{grid-template-columns:52px minmax(0,1fr);grid-template-rows:56px minmax(0,1fr) 45vh}.bl-left{display:none}.bl-right{grid-column:1/-1;grid-row:3}.bl-stage{grid-column:2}.bl-save,.bl-page small{display:none}.bl-st{display:none}}

.hab-vals .hv-t{margin:0;color:#666;font-size:14.5px;line-height:1.45}
.has-tc .hab-vals .hv-t,.has-tc .hab-vals b{color:#222}
.has-tc .hab-vals .hv-t{color:#666}
.pl-foot .bl-btn{padding:0 12px;white-space:nowrap}.pl-foot .bl-mini{white-space:nowrap}
.cms-signout{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;border:0;border-radius:6px;background:none;color:#cdd6e6;font:500 14px var(--head);cursor:pointer;text-align:left}
.cms-signout:hover{background:rgba(255,255,255,.07);color:#fff}.cms-signout svg{width:17px;height:17px;fill:currentColor;opacity:.8}.cms-signout small{color:#8a9ab5;font-size:11.5px}
.livelist{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}
.livelist button{width:100%;display:grid;grid-template-columns:40px 1fr 16px;gap:10px;align-items:center;text-align:left;background:#fafbfd;border:1px solid #e2e8f0;border-radius:8px;padding:6px 10px 6px 6px;font:600 12.5px var(--head);color:#1f2a3d;cursor:pointer}
.livelist button:hover{border-color:var(--orange);background:#FFF7ED}
.livelist .ph{width:40px;height:30px;min-height:0;border-radius:5px}.livelist .ph::after{display:none}
.livelist span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.livelist svg{width:14px;height:14px;fill:#8a96aa}
.panel .pline{margin:0;color:#e5e7eb;font-size:14px;line-height:1.5;max-width:30ch}
body:not(.cvbody) .ph::after{display:none}
.cstyle{border:1px dashed #cbd5e1;border-radius:8px;margin:10px 0;background:#fff}
.cstyle summary{display:flex;align-items:center;gap:6px;padding:8px 10px;font:600 12.5px var(--head);color:var(--navy);cursor:pointer;list-style:none}
.cstyle summary::-webkit-details-marker{display:none}
.cstyle summary svg{width:13px;height:13px;fill:var(--orange-text)}
.cstyle summary em{font-style:normal;font:600 10px var(--head);background:#FFEDD5;color:#9A3412;padding:2px 7px;border-radius:8px;margin-left:auto}
.cstyle[open] summary{border-bottom:1px solid #edf0f5}
.cstyle-b{padding:10px}

/* ===== mobile menu (slide-in panel with drop-downs) ===== */
.mnav{display:block!important;position:fixed;inset:0;z-index:95;visibility:hidden;pointer-events:none;background:none!important;padding:0!important;overflow:hidden!important}
.mnav.open{visibility:visible;pointer-events:auto}
.mnav-back{position:absolute;inset:0;background:rgba(8,15,30,.55);opacity:0;transition:opacity .3s}
.mnav.open .mnav-back{opacity:1}
.mnav-panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,90vw);background:var(--navy);color:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1);padding:calc(env(safe-area-inset-top,0px) + 16px) 20px calc(env(safe-area-inset-bottom,0px) + 20px);overflow-y:auto;box-shadow:-20px 0 40px rgba(0,0,0,.35)}
.mnav.open .mnav-panel{transform:none}
.mnav .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}
.mnav .mnav-brand{display:flex;gap:10px;align-items:center;color:#fff;min-width:0}.mnav .top .mnav-brand img{width:44px;height:44px;flex:none}
.mnav-brand b{display:block;font:700 15px/1.2 var(--head)}.mnav-brand small{font:500 11.5px var(--head);color:var(--orange-soft)}
.mnav button.x{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;display:grid;place-items:center;padding:0}
.mnav button.x svg{width:18px;height:18px;fill:#fff}.mnav button.x:hover{background:rgba(255,255,255,.1)}
.mnav .mnav-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.mnav .mnav-quick .btn{margin:0;width:auto;padding:10px 8px;font-size:13.5px;min-height:46px}
.mnav .mlist{list-style:none;margin:0;padding:0}
.mnav .mi{border-bottom:1px solid rgba(255,255,255,.09)}
.mnav .mi .mrow{display:flex;align-items:center;gap:8px}
.mnav .mi .mrow a{flex:1;display:flex;align-items:center;min-height:52px;padding:6px 4px;font:600 16.5px/1.3 var(--head);color:#fff;border:0}
.mnav .mi a[aria-current]{color:var(--orange-soft)}
.mnav .mtog{width:44px;height:44px;flex:none;border:0;border-radius:10px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#fff;cursor:pointer;transition:background .2s}
.mnav .mtog svg{width:14px;height:14px;fill:currentColor;transition:transform .3s}
.mnav .mi.open .mtog{background:var(--orange);color:var(--navy)}.mnav .mi.open .mtog svg{transform:rotate(180deg)}
.mnav .msub-w{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s ease,visibility 0s linear .3s}
.mnav .mi.open .msub-w{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .3s ease}
.mnav .msub{overflow:hidden;list-style:none;margin:0 0 0 6px;padding:0 0 0 12px;border-left:2px solid rgba(253,186,116,.45)}
.mnav .mi.open .msub{margin-bottom:10px}
.mnav .msub a{display:flex;align-items:center;min-height:44px;padding:6px 8px;font:500 14.5px/1.35 var(--head);color:#d6dbe4;border:0;border-radius:6px}
.mnav .msub a:hover,.mnav .msub a[aria-current]{background:rgba(255,255,255,.07);color:#fff}
.mnav.open .mi{animation:miIn .4s both;animation-delay:calc(var(--n,0) * 45ms + 80ms)}
@keyframes miIn{from{opacity:0;transform:translateX(18px)}}
.mnav .mnav-foot{margin-top:auto;padding-top:22px;font-size:13.5px;color:#c9d3e3}
.mnav-foot p{display:flex;gap:8px;align-items:center;margin:0 0 8px}.mnav-foot .ico{color:var(--orange-soft)}.mnav-foot a{color:#fff}
.mnav .mnav-login{display:inline-flex;align-items:center;min-height:40px;color:var(--orange-soft);font:600 13px var(--head)}
@media (prefers-reduced-motion:reduce){.mnav-panel,.mnav-back,.mnav .msub-w{transition:none}.mnav.open .mi{animation:none}}

/* ===== moving testimonials ===== */
.tplay{width:46px;height:46px;border:1px solid #d7d7d7;background:#fff;display:grid;place-items:center;cursor:pointer}
.tplay svg{width:14px;height:14px;fill:var(--navy)}.tplay:hover{background:var(--orange);border-color:var(--orange)}
.spot .ctrl .tplay{border-radius:50%;background:transparent;border-color:rgba(255,255,255,.4)}.spot .ctrl .tplay svg{fill:#fff}
.ttrack{scroll-behavior:smooth}

/* ===== donate pop-up ===== */
.dmodal{position:fixed;inset:0;z-index:99;display:flex;align-items:center;justify-content:center;padding:16px}
.dmodal[hidden]{display:none}
.dm-back{position:absolute;inset:0;background:rgba(8,15,30,.6);opacity:0;transition:opacity .25s}
.dmodal.open .dm-back{opacity:1}
.dm-in{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);transform:translateY(24px) scale(.97);opacity:0;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .25s}
.dmodal.open .dm-in{transform:none;opacity:1}
.dm-in>.x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50%;border:0;background:#f1f5f9;font-size:22px;cursor:pointer;z-index:2}
.dm-h{display:flex;gap:14px;align-items:center;padding:24px 26px 0}
.dm-ic{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--orange),#FDBA74);display:grid;place-items:center;flex:none}.dm-ic svg{width:24px;height:24px;fill:var(--navy)}
.dm-h small{font:600 12px var(--head);color:var(--orange-text)}.dm-h h2{font:700 22px/1.2 var(--head);margin:2px 0 0;color:var(--navy)}
.dm-steps{display:flex;gap:6px;list-style:none;margin:18px 26px 0;padding:0;counter-reset:s}
.dm-steps li{flex:1;font:600 11.5px var(--head);color:#94a3b8;padding-top:8px;border-top:3px solid #e2e8f0;counter-increment:s}
.dm-steps li::before{content:counter(s) ". "}.dm-steps li.now{color:var(--navy);border-color:var(--orange)}.dm-steps li.done{color:#16a34a;border-color:#86efac}
.dm-body{padding:20px 26px 26px}
.dm-cur{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.dm-cur label{font:600 13px var(--head);color:#33415c}
.dm-cur select,.dm-f input,.dm-f select,.dm-f textarea{border:1px solid #d4dbe6;border-radius:10px;min-height:46px;padding:10px 12px;font:inherit;font-size:15.5px;background:#fff;color:#1f2a3d;width:100%}
.dm-cur select{width:auto;max-width:65%;font-weight:600}
.dm-amts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.dm-amts button{min-height:54px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;font:700 15px var(--head);color:var(--navy);cursor:pointer;transition:.15s}
.dm-amts button:hover{border-color:var(--orange)}.dm-amts button[aria-pressed="true"]{border-color:var(--navy);background:var(--navy);color:#fff}
.dm-custom label,.dm-f label{display:block;font:600 13px var(--head);color:#33415c;margin-bottom:6px}
.dm-inp{display:flex;border:1px solid #d4dbe6;border-radius:10px;overflow:hidden}.dm-inp span{display:grid;place-items:center;padding:0 12px;background:#f8fafc;font:700 14px var(--head);color:#55627a;border-right:1px solid #e2e8f0}
.dm-inp input{border:0;flex:1;min-height:50px;padding:0 12px;font:700 18px var(--head);min-width:0}
.dm-inp:focus-within,.dm-f input:focus,.dm-f select:focus,.dm-f textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.15)}
.dm-conv{min-height:20px;font:500 13px var(--head);color:#55627a;margin:8px 0 14px}.dm-conv small{color:#94a3b8}
.dm-f{margin-bottom:14px}.dm-f small{display:block;color:#71809a;font-size:12.5px;margin-top:4px}
.dm-chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#475569;margin:4px 0 10px}.dm-chk input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:none}.dm-chk a{color:var(--blue)}
.dm-err{color:#b91c1c;font-size:14px;min-height:1em;margin:6px 0}
.dm-row{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-top:8px}.dm-row .btn{flex:1;min-width:120px}
.dm-next{width:100%;margin-top:6px}.dm-next:disabled{opacity:.5;cursor:not-allowed}
.btn-ghost-d{background:#fff;color:var(--navy);border:2px solid #e2e8f0}.btn-ghost-d:hover{border-color:var(--navy);color:var(--navy)}
.dm-sub{font:600 15px var(--head);color:var(--navy);margin:0 0 12px}
.pm-cards{display:grid;gap:12px}
.pm-card{position:relative;display:grid;grid-template-columns:86px 1fr auto;gap:14px;align-items:center;text-align:left;width:100%;padding:16px;border:2px solid #e2e8f0;border-radius:16px;background:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.pm-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--pm)}
.pm-card:hover,.pm-card:focus-visible{transform:translateY(-2px);border-color:var(--pm);box-shadow:0 14px 30px -16px var(--pm)}
.pm-logo{height:52px;border-radius:12px;display:grid;place-items:center;background:var(--pmbg);color:var(--pm);font:800 15px/1 var(--head);letter-spacing:.02em}
.pm-logo svg{width:26px;height:26px;fill:currentColor}
.pm-t b{display:block;font:700 15.5px var(--head);color:#0f172a}.pm-t small{display:block;font-size:13px;color:#64748b;line-height:1.4;margin-top:2px}
.pm-amt{font:700 14px var(--head);color:var(--navy);white-space:nowrap}
.pm-card em{position:absolute;top:8px;right:10px;font:700 10px var(--head);font-style:normal;background:#dcfce7;color:#166534;padding:2px 8px;border-radius:10px}
.pm-mpesa{--pm:#2E9E44;--pmbg:#E8F6EB}.pm-mpesa .pm-logo b{color:#2E9E44;font-weight:900}
.pm-paypal{--pm:#0070BA;--pmbg:#E6F1FA}.pm-paypal .pm-logo b{color:#003087;font-style:italic;font-weight:900}.pm-paypal .pm-logo i{color:#009CDE;font-weight:900}
.pm-bank{--pm:var(--navy);--pmbg:#E8EDF5}
.pm-paypal .pm-logo{display:flex;justify-content:center;gap:0}
.pm-head{display:flex;gap:14px;align-items:center;padding:14px;border-radius:14px;background:var(--pmbg);margin-bottom:16px}.pm-head .pm-logo{width:86px;background:#fff}.pm-head b{display:block;font:800 22px var(--head);color:var(--navy)}.pm-head small{color:#475569}
.btn-mpesa{background:#2E9E44;color:#fff}.btn-mpesa:hover{background:#25843a;color:#fff}
.dm-safe{display:flex;gap:8px;align-items:center;font-size:12.5px;color:#64748b;margin:16px 0 4px}.dm-safe svg{width:14px;height:14px;fill:#64748b;flex:none}
.dm-note{background:#fff7ed;border-radius:12px;padding:16px;text-align:center}
.dm-wait,.dm-done{text-align:center;padding:10px 0}.dm-wait h3,.dm-done h3{font:700 20px var(--head);color:var(--navy);margin:14px 0 6px}
.dm-spin{display:inline-block;width:54px;height:54px;border-radius:50%;border:5px solid #e2e8f0;border-top-color:var(--orange);animation:dmspin .9s linear infinite}
@keyframes dmspin{to{transform:rotate(360deg)}}
.dm-small{font-size:13px;color:#64748b}
.bigcheck.bad{background:#fee2e2;color:#b91c1c;font:800 34px var(--head)}
.bank-card{border-radius:16px;background:linear-gradient(135deg,#0D2B55,#1D4ED8);color:#fff;padding:20px;box-shadow:0 20px 40px -20px rgba(13,43,85,.8)}
.bank-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;font:600 14px var(--head)}.bank-top svg{width:22px;height:22px;fill:var(--orange-soft)}.bank-top b{margin-left:auto;font:800 20px var(--head)}
.bank-row{display:grid;grid-template-columns:120px 1fr 36px;gap:8px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.15);font-size:14px}.bank-row span{color:#c9d3e3;font-size:12.5px}.bank-row b{font:600 14.5px var(--head);word-break:break-all}
.bank-copy{width:36px;height:36px;border-radius:8px;border:0;background:rgba(255,255,255,.12);display:grid;place-items:center;cursor:pointer}.bank-copy svg{width:15px;height:15px;fill:#fff}.bank-copy:hover{background:var(--orange)}
.bank-note{font-size:13px;color:#dbe4f3;margin:10px 0 0}
@media (max-width:520px){.dm-amts{grid-template-columns:repeat(2,1fr)}.pm-card{grid-template-columns:64px 1fr}.pm-amt{grid-column:2}.dm-in{border-radius:16px}.dm-h,.dm-body{padding-left:18px;padding-right:18px}.dm-steps{margin-left:18px;margin-right:18px}.bank-row{grid-template-columns:96px 1fr 36px}}
@media (prefers-reduced-motion:reduce){.dm-in,.dm-back{transition:none}.dm-spin{animation-duration:3s}}

/* ===== Studio texts ===== */
.txg summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.txg summary::-webkit-details-marker{display:none}
.txg summary small{color:#71809a;font:600 12px var(--head)}
.txg{margin-bottom:14px}.txgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:14px}
@media (max-width:900px){.txgrid{grid-template-columns:1fr}}

.mnav .mnav-quick .btn-navy{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.35);color:#fff}
.dm-rates{margin:10px 0 0;text-align:center;font-size:11.5px}.dm-rates a{color:#94a3b8}

/* Keep the 10px site-wide shape consistent, including builder cards and controls. */
button,.btn,.cbtn{border-radius:10px!important}
.scard,.stcard,.ecard,.tcard,.prod,.kid,.val,.mv,.imp,.tblock,.dtop,.pdtop,.legal2,.ccard,.jointeam,.spdone,.msn-feat,.trip,.qa,.acc,.volbox,.prow,.tdetail,.bcard,.card,.tile,.box{border-radius:10px!important}
