@font-face{font-family:Poppins;font-weight:400;src:url(/assets/Poppins-Regular.ttf)}@font-face{font-family:Poppins;font-weight:700;src:url(/assets/Poppins-Bold.ttf)}
@font-face{font-family:'Work Sans';font-weight:100 900;src:url(/assets/WorkSans.ttf)}@font-face{font-family:Kalnia;font-weight:100 700;src:url(/assets/Kalnia.ttf)}
:root{--violet:#7040A0;--hover:#5E3488;--head:#6F469F;--body:#38313F;--muted:#675C73;--rule:#E2D6EE;--canvas:#F9F5FD;--sun:#FFD23F;--sun-tint:#FFF3C4;--sun-deep:#6B5000;--ink:#2B1A40;--lav:#EFE6F8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--body);font:400 16px/1.6 'Work Sans',sans-serif}
a{color:var(--violet)}img{max-width:100%}
h1,h2,h3,h4{font-family:Poppins;font-weight:700;color:var(--head);margin:0 0 12px;line-height:1.15}h1{font-size:56px;line-height:1.08;letter-spacing:-.01em}h2{font-size:40px}h3{font-size:24px}h4{font-size:19px}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}.eyebrow{font:600 12px 'Work Sans';letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.lead{font-size:19px;color:var(--muted);max-width:760px}section{padding:80px 0;border-bottom:1px solid var(--rule)}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 15px 'Work Sans';height:44px;padding:0 20px;border-radius:8px;background:var(--violet);color:#fff;text-decoration:none;border:1px solid var(--violet);cursor:pointer;transition:background .15s,transform .1s}
.btn:hover{background:var(--hover);border-color:var(--hover)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--head);outline-offset:2px}
.btn.sec{background:#fff;color:var(--body);border-color:var(--rule)}.btn.sec:hover{background:var(--canvas);border-color:#CBB8E0}
.btn.ter{background:transparent;border-color:transparent;color:var(--violet)}.btn.ter:hover{background:var(--lav)}
.btn.hi{background:var(--sun);border-color:var(--sun);color:var(--ink)}.btn.hi:hover{background:#F5C518}
.btn.inv{background:#fff;color:var(--violet);border-color:#fff}.btn.inv:hover{background:var(--lav)}.btn.ghost{background:transparent;border-color:#fff;color:#fff}.btn.sm{height:36px;padding:0 14px;font-size:14px}
.badge{display:inline-block;border-radius:999px;padding:3px 10px;font:600 12px 'Work Sans';background:var(--sun);color:var(--ink)}.badge.t{background:var(--sun-tint);color:var(--sun-deep)}.badge.v{background:var(--lav);color:var(--hover)}
.draft{position:fixed;right:16px;bottom:16px;z-index:50;background:var(--ink);color:var(--sun);font:700 12px Poppins;letter-spacing:.08em;padding:6px 12px;border-radius:999px;box-shadow:0 4px 14px #0003}
.ph{outline:2px dashed #CBB8E0;outline-offset:-2px;position:relative}.phl{font:600 11px 'Work Sans';color:var(--sun-deep);background:var(--sun-tint);padding:2px 8px;border-radius:4px;display:inline-block;margin-bottom:8px}
/* nav */
.nav{background:#2B1A40;position:sticky;top:0;z-index:40}.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:84px}.nav .logo img{height:54px;display:block}
.menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}.menu>li{position:relative}.menu>li>a{color:#fff;text-decoration:none;font:500 15px 'Work Sans';padding:10px 14px;border-radius:8px;display:block}
.menu>li>a:hover,.menu>li:focus-within>a{background:#ffffff1f}.menu .dd{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--rule);border-radius:10px;padding:8px;min-width:220px;box-shadow:0 12px 30px #2b1a4026;list-style:none;margin:0}
.menu li:hover .dd,.menu li:focus-within .dd{display:block}.dd a{display:block;padding:9px 12px;border-radius:6px;text-decoration:none;color:var(--body);font-size:15px}.dd a:hover{background:var(--lav);color:var(--violet)}
.menu .caret:after{content:" ▾";font-size:11px;opacity:.8}.menu .btn{margin-left:10px}
/* footer */
footer{background:#2B1A40;color:#fff;padding:64px 0 32px}footer .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}footer h5{font:700 14px Poppins;margin:0 0 14px;letter-spacing:.04em}
footer a{display:block;color:#fff;opacity:.86;text-decoration:none;font-size:15px;margin:8px 0}footer a:hover{opacity:1;text-decoration:underline}
footer form{display:flex;gap:8px;margin-top:10px}footer input{flex:1;height:40px;border-radius:8px;border:1px solid #ffffff55;background:#ffffff14;color:#fff;padding:0 12px;font:15px 'Work Sans'}footer input::placeholder{color:#ffffffaa}
.tagline{border-top:1px solid #ffffff40;margin-top:44px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:14px;opacity:.9}.tagline b{font:700 16px Poppins}
.soc a{display:flex;align-items:center;gap:10px;margin:8px 0}.soc img{filter:invert(1);flex:none}
/* common */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:26px;display:flex;flex-direction:column}
.card .tag{font:700 13px Poppins;color:var(--violet);margin-bottom:12px}.card p{flex:1;margin:0 0 16px;font-size:15px}.card a.more{font-weight:600;text-decoration:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.panel{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:32px}
.vpanel{background:var(--violet);color:#fff;border-radius:14px;padding:36px}.vpanel h3,.vpanel h2{color:#fff}
.pagehead{padding:72px 0 56px;border-bottom:1px solid var(--rule)}.pagehead h1{font-size:48px}
ul.ticks{list-style:none;padding:0;margin:0 0 24px}ul.ticks li{padding:11px 0 11px 26px;border-top:1px solid var(--rule);position:relative}ul.ticks li:before{content:"";position:absolute;left:0;top:22px;width:12px;height:2px;background:var(--violet)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo{border-radius:12px;background-size:cover;background-position:center;min-height:300px}
form.f label{display:block;font:600 14px 'Work Sans';margin:14px 0 6px}form.f input,form.f select,form.f textarea{width:100%;border:1px solid var(--rule);border-radius:8px;padding:11px 12px;font:15px 'Work Sans';background:#fff}form.f textarea{min-height:130px}
/* Responsive navigation and page containment. */
[hidden]{display:none!important}
.nav-toggle{align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid #ffffff80;border-radius:8px;background:transparent;color:#fff;font:600 15px 'Work Sans';cursor:pointer;display:inline-flex}
.hamburger,.hamburger:before,.hamburger:after{display:block;width:20px;height:2px;background:currentColor;position:relative}
.hamburger:before,.hamburger:after{content:"";position:absolute;left:0}.hamburger:before{top:-6px}.hamburger:after{top:6px}
.nav-toggle[aria-expanded=true] .hamburger{background:transparent}.nav-toggle[aria-expanded=true] .hamburger:before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger:after{top:0;transform:rotate(-45deg)}
.nav a:focus-visible,.nav-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.nav .dd a:focus-visible{outline-color:var(--head)}
.menu>li>a.btn.inv{color:var(--violet);display:inline-flex;font-weight:600}.menu>li>a.btn.inv:hover{background:var(--lav)}
.draft{background:var(--sun);color:var(--ink)}.nav-draft{display:none}.phl.neutral{background:var(--lav);color:var(--hover)}
footer input{min-width:0}section[id]{scroll-margin-top:104px}
@media(max-width:1100px){footer .g{grid-template-columns:repeat(4,minmax(0,1fr))}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
 .draft{display:none}.nav-draft{display:block;position:static;grid-column:1;grid-row:2;width:max-content;margin:0 0 0 58px;padding:2px 8px;font-size:10px;box-shadow:none;background:var(--canvas);color:var(--head)}
 .nav .wrap{display:grid;grid-template-columns:1fr auto;height:auto;min-height:80px;padding-top:12px;padding-bottom:12px;gap:4px 12px}.nav .logo{grid-column:1;grid-row:1}.nav-toggle{grid-column:2;grid-row:1/3}.nav .logo img{height:46px}
 .menu{grid-column:1/-1;grid-row:3;width:100%;flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100dvh - 104px);overflow-y:auto;padding:8px 0}
 .menu>li>a{min-height:44px;display:flex;align-items:center}.menu .dd{display:block;position:static;box-shadow:none;background:transparent;border:0;border-left:1px solid #ffffff60;border-radius:0;margin-left:14px;padding:0 0 0 10px;min-width:0}
 .dd a{color:#fff;min-height:44px;display:flex;align-items:center}.dd a:hover{background:#ffffff1f;color:#fff}.nav .dd a:focus-visible{outline-color:#fff}
 .menu .caret:after{content:none}.menu .btn{margin:8px 0 0}.menu>li>a.btn.inv{justify-content:center;width:100%;height:48px}
 .grid3{grid-template-columns:1fr}.two{gap:32px}
}
@media(max-width:760px){
 .wrap{padding-left:24px;padding-right:24px}h1{font-size:38px;line-height:1.15}h2{font-size:30px;line-height:1.2}.pagehead h1{font-size:36px}
 section{padding:48px 0}.pagehead{padding:44px 0}.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.panel,.vpanel{padding:24px}
 footer{padding-top:44px}footer .g{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.tagline{flex-direction:column;align-items:flex-start;gap:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}.btn:active{transform:none}}
/* Comfortable touch targets and wrapping on phones, without changing desktop rhythm. */
@media(max-width:760px){
 .btn{height:auto;min-height:44px;padding-block:12px;white-space:normal;line-height:1.4}
 footer .g a{display:flex;align-items:center;min-height:44px;margin:2px 0;line-height:1.4}
 footer .g{column-gap:20px}footer h5{margin-bottom:10px}
}
