@font-face{font-family:'Lithos';src:url(fonts/lithos-bold.woff) format('woff'),url(fonts/lithos-bold.ttf) format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--pink:#EF018B;--pinkd:#B80069;--sky:#23AAE1;--skyd:#0B7FB0;--teal:#116585;--ink:#1B1F2A;--line:#e2e8f0;--mut:#475569;--soft:#f8fafc}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3,.h{font-family:'Lithos','Cinzel',Georgia,serif;font-weight:700;letter-spacing:.01em;margin:0;line-height:1.15}
img{max-width:100%;height:auto}
a{color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.wrap{max-width:72rem;margin:0 auto;padding:0 1rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}.skip:focus{left:0}
/* header */
header.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;height:4.25rem}
.bar .logo img{height:2.6rem;width:auto;display:block}
nav.main{display:none;align-items:center;gap:1.5rem;margin-left:1rem;font-size:.92rem;font-weight:500}
nav.main a{text-decoration:none;padding:.4rem 0}nav.main a:hover,nav.main a[aria-current]{color:var(--pinkd)}
nav.main a[aria-current]{border-bottom:2px solid var(--pink)}
.dd{position:relative}.dd>button{background:none;border:0;font:inherit;font-weight:500;cursor:pointer;padding:.4rem 0}
.dd>button:hover{color:var(--pinkd)}
.dd-menu{display:none;position:absolute;left:-.75rem;top:100%;background:#fff;border:1px solid var(--line);border-radius:.75rem;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:.5rem;width:17rem}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.dd-menu a{display:block;padding:.45rem .7rem;border-radius:.4rem}.dd-menu a:hover{background:var(--soft)}
.bar .tel{margin-left:auto;font-weight:700;font-size:.9rem;text-decoration:none;display:none}
.soc{display:flex;gap:.4rem;align-items:center}
.soc a{width:2.1rem;height:2.1rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--soft);border:1px solid var(--line);color:var(--ink);transition:.15s}
.soc a:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.soc svg{width:1.05rem;height:1.05rem;fill:currentColor}
.soc.lg a{width:2.8rem;height:2.8rem}.soc.lg svg{width:1.3rem;height:1.3rem}
.soc.dark a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff}.soc.dark a:hover{background:var(--pink);border-color:var(--pink)}
.bar .soc{display:none}
.btn{display:inline-block;border:0;border-radius:.6rem;padding:.75rem 1.3rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}
.btn.pink{background:var(--pink);color:#fff}.btn.pink:hover{background:var(--pinkd)}
.btn.white{background:#fff;color:var(--ink)}.btn.white:hover{background:#f1f5f9}
.btn.ghost{border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent}.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.line{border:1px solid var(--ink);background:#fff}.btn.line:hover{background:#f1f5f9}
.btn.wa{background:#1FA855;color:#fff}
.btn.sm{padding:.5rem .9rem;font-size:.9rem}
#cartBtn{margin-left:auto;white-space:nowrap}
#menuBtn{border:1px solid #cbd5e1;background:#fff;border-radius:.5rem;padding:.5rem .8rem;font:inherit;font-weight:700;cursor:pointer}
#mnav{display:none;border-top:1px solid var(--line);padding:.75rem 1rem;gap:.4rem}
#mnav.open{display:grid}#mnav a{text-decoration:none;padding:.35rem 0;font-weight:500}
@media(min-width:48rem){nav.main{display:flex}#menuBtn,#mnav.open{display:none}.bar .tel{display:inline}}
@media(min-width:64rem){.bar .soc{display:flex}.bar .tel{margin-left:auto}#cartBtn{margin-left:0}}
/* hero */
.hero{position:relative;color:#fff}
.slide{position:relative;overflow:hidden;color:#fff;min-height:27rem}
.slide[hidden]{display:none}
.slide.c-ink{background:var(--ink)}.slide.c-sky{background:var(--skyd)}.slide.c-pink{background:var(--pinkd)}
.slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;pointer-events:none}
.slide-in{position:relative;display:grid;gap:2.5rem;padding:3.5rem 1rem 5rem;align-items:center}
.slide .kick{font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.slide h2{font-size:clamp(1.9rem,5vw,3.1rem);margin-top:.75rem}
.slide .bl{margin-top:1.1rem;font-size:1.1rem;opacity:.92;max-width:28rem}
.slide .acts{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:.75rem}
.slide .panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);border-radius:1.1rem;padding:1.4rem;backdrop-filter:blur(2px)}
.slide .panel .fr{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;opacity:.85}
.slide .panel li{display:flex;gap:.7rem;font-size:1.1rem;font-weight:500;margin-top:.8rem}
.ctrl{position:absolute;bottom:.9rem;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:.7rem;z-index:2}
.ctrl button{border:0;color:#fff;background:rgba(0,0,0,.35);cursor:pointer;font:inherit}.ctrl button:hover{background:rgba(0,0,0,.55)}
.ctrl .arrow{width:2.2rem;height:2.2rem;border-radius:50%;font-size:1.2rem}
.ctrl .pause{padding:0 .8rem;height:2.2rem;border-radius:2rem;font-size:.85rem}
.dots{display:flex;gap:.45rem}.dots button{width:.65rem;height:.65rem;padding:0;border-radius:50%;background:rgba(255,255,255,.4)}.dots button.on{background:#fff}
@media(min-width:48rem){.slide-in{grid-template-columns:1fr 1fr;padding-top:4.5rem}}
/* sections */
section.s{padding-top:3.5rem}
h2.t{font-size:clamp(1.5rem,3.4vw,2rem)}
.sub{margin-top:.5rem;color:var(--mut)}
.grid{display:grid;gap:1rem;margin-top:1.5rem}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.card{display:block;border:1px solid var(--line);border-radius:1.1rem;padding:1.25rem;text-decoration:none;transition:.15s}
a.card:hover{border-color:var(--pink);box-shadow:0 6px 20px rgba(0,0,0,.08)}
.card h3{font-size:1.2rem}.card .d{color:var(--mut);font-size:.9rem;margin-top:.3rem}
.card .fromline{display:block;margin-top:.8rem;font-size:.9rem}.card .fromline b{font-weight:700}.card .go{color:var(--pinkd);font-weight:700}
.steps{display:grid;gap:1.5rem;margin-top:1.5rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.steps h3{color:var(--skyd);font-size:1.15rem}.steps p{color:var(--mut);margin-top:.3rem}
.proj{display:flex;flex-direction:column}.proj .head{display:flex;gap:.8rem;align-items:center}
.proj h3{font-size:1.05rem}.proj p{margin-top:.8rem;color:var(--mut);font-size:.92rem;flex:1}.proj a{margin-top:1rem;font-weight:700;font-size:.9rem;color:var(--pinkd)}
/* logo boxes */
.lg{position:relative;display:grid;place-items:center;background:#fff;border:1px solid var(--line);overflow:hidden}
.lg .mono{font-family:'Lithos','Cinzel',Georgia,serif;font-weight:700;color:var(--teal)}
.lg img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;background:#fff}
.lg.sm{width:3rem;height:3rem;border-radius:50%}.lg.sm .mono{font-size:1rem}.lg.sm img{inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}
.lg.big{width:100%;height:5.5rem;border-radius:.8rem}.lg.big .mono{font-size:1.6rem}
.tiles{display:grid;gap:.8rem;margin-top:1.5rem;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}
.tile{text-align:center}.tile p{margin-top:.4rem;font-size:.8rem;font-weight:500;line-height:1.25}
.ptile{background:var(--soft);border:1px solid var(--line);border-radius:1rem;padding:1rem}
.ptile .lg.big{height:4.5rem}.ptile h3{font-size:1rem;margin-top:.8rem}.ptile p{font-size:.88rem;color:var(--mut);margin-top:.3rem}.ptile a{text-decoration:underline}
.follow{background:rgba(35,170,225,.14);border-radius:1.2rem;padding:1.6rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.follow h2{font-size:1.4rem}.follow p{color:var(--mut)}
/* page head */
.phead{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.phead .slide-img{opacity:.14}
.phead .wrap{position:relative;padding-top:3rem;padding-bottom:3rem}
.phead h1{font-size:clamp(1.9rem,5vw,3rem)}.phead p.l{margin-top:.8rem;font-size:1.1rem;color:#cbd5e1;max-width:40rem}
.phead .acts{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.75rem}
.crumb{font-size:.85rem;color:#94a3b8;margin-bottom:.8rem}.crumb a{text-decoration:underline}
/* price lists */
.note{margin-top:.6rem;color:var(--mut);max-width:42rem}.hint{margin-top:.5rem;font-size:.85rem;color:#64748b}
.pgrid{display:grid;gap:1.25rem;margin-top:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}
.pbox{border:1px solid var(--line);border-radius:1.1rem;padding:1.25rem}.pbox h3{font-size:1.15rem}
.pl li{display:flex;gap:.75rem;align-items:center;padding:.7rem 0;border-top:1px solid var(--line)}.pl li:first-child{border-top:0}
.pl .n{flex:1}.pl .n b{font-weight:500;display:block}.pl .n small{display:block;color:#64748b;font-size:.82rem}
.pl .p{font-weight:700;white-space:nowrap}
.add{background:var(--sky);color:var(--ink);font:inherit;font-weight:700;border:0;border-radius:.5rem;padding:.25rem .7rem;font-size:.85rem;cursor:pointer}
.add:hover{background:var(--skyd);color:#fff}
.tw{overflow-x:auto}table.pt{width:100%;border-collapse:collapse;font-size:.9rem}
.pt th{text-align:left;color:#64748b;font-weight:500;padding:.5rem .5rem .5rem 0}.pt td{padding:.5rem .5rem .5rem 0;border-top:1px solid var(--line)}.pt td:first-child{font-weight:700}
.others{margin-top:2.5rem;font-size:.9rem;display:flex;flex-wrap:wrap;gap:.4rem .9rem}.others span{color:#64748b}.others a{text-decoration:underline}
.others a:hover{color:var(--pinkd)}
/* simple pages */
.prose{max-width:48rem}.prose h2{font-size:1.5rem;margin-top:2rem}.prose h2:first-child{margin-top:0}.prose p{margin-top:.6rem;color:#334155}.prose ul{list-style:disc;margin:.6rem 0 0 1.3rem;color:#334155}
.cgrid{display:grid;gap:1.5rem;margin-top:0}@media(min-width:48rem){.cgrid{grid-template-columns:1fr 1fr}}
.cbox{border:1px solid var(--line);border-radius:1.1rem;padding:1.25rem;font-size:.95rem}.cbox p+p{margin-top:.8rem}
.cbox iframe{width:100%;height:18rem;border:0;border-radius:.6rem;display:block}
/* footer */
footer.foot{background:var(--ink);color:#fff;margin-top:4rem}
.fgrid{display:grid;gap:2rem;padding:3rem 1rem;font-size:.9rem}
@media(min-width:48rem){.fgrid{grid-template-columns:1.2fr 1fr 1.4fr 1fr}}
.foot p.hd{font-weight:700;margin-bottom:.5rem}.foot .m{color:#cbd5e1}.foot .col{display:grid;gap:.25rem}.foot a{color:#cbd5e1;text-decoration:none}.foot a:hover{color:#fff;text-decoration:underline}
.foot .lbox{display:inline-block;background:#fff;border-radius:.6rem;padding:.5rem .8rem}.foot .lbox img{height:2.4rem;width:auto;display:block}
.copy{text-align:center;font-size:.75rem;color:#94a3b8;padding-bottom:2rem}
/* drawer */
#ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}#ov.on{display:block}
#drawer{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:28rem;background:#fff;z-index:50;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;overflow-y:auto}
#drawer.on{transform:none;visibility:visible;box-shadow:-10px 0 40px rgba(0,0,0,.25)}#drawer .in{padding:1.25rem}
#drawer .top{display:flex;justify-content:space-between;align-items:center}#drawer h2{font-size:1.5rem}
#close{border:1px solid #cbd5e1;background:#fff;border-radius:.5rem;padding:.3rem .8rem;font:inherit;font-weight:700;cursor:pointer}
#cart{margin-top:.8rem;font-size:.9rem}#cart li{display:flex;gap:.5rem;align-items:center;padding:.5rem 0;border-top:1px solid var(--line)}
#cart .i{flex:1}#cart .i b{display:block}#cart .i span{color:var(--mut)}
#cart button{width:1.8rem;height:1.8rem;border:1px solid #cbd5e1;background:#fff;border-radius:.3rem;cursor:pointer;font:inherit}
#cart .q{width:1.5rem;text-align:center}
#empty{font-size:.9rem;color:#64748b;margin-top:.8rem}
.totrow{margin-top:1rem;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:.8rem}
.totrow span:first-child{color:var(--mut);font-size:.9rem}.totrow #total{font-family:'Lithos','Cinzel',serif;font-size:1.5rem;font-weight:700}
#qn{font-size:.75rem;color:#64748b;margin-top:.25rem}
#drawer input,#drawer select,#drawer textarea{width:100%;border:1px solid #cbd5e1;border-radius:.5rem;padding:.55rem .75rem;font:inherit;margin-top:.5rem;background:#fff}
#err{color:var(--pinkd);font-size:.9rem;margin-top:.5rem}#err[hidden]{display:none}
#drawer .btn{width:100%;margin-top:.6rem;padding:.8rem}.fine{font-size:.75rem;color:#64748b;margin-top:.8rem}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#drawer{transition:none}}

/* Elevated, responsive layer: restrained shadows, clear hierarchy and tactile controls. */
:root{--ink-deep:#121620;--line-dark:rgba(255,255,255,.13);--surface:#fff;--focus-ring:rgba(239,1,139,.2)}
button,input,select,textarea{font:inherit}
button,.btn,a{ -webkit-tap-highlight-color:transparent }
.btn{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
button:disabled,.btn:disabled{opacity:.62;cursor:not-allowed;transform:none}

/* Prestigious footer */
footer.foot{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 12% 0%,rgba(35,170,225,.16),transparent 42%),radial-gradient(ellipse at 95% 35%,rgba(239,1,139,.13),transparent 40%),#171b25;margin-top:5rem}
footer.foot:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(130deg,rgba(255,255,255,.025),transparent 40%,rgba(255,255,255,.018))}
.foot-top{padding-top:2.5rem}
.foot-cta-panel{display:flex;flex-direction:column;gap:1.5rem;position:relative;overflow:hidden;padding:clamp(1.4rem,4vw,2.6rem);border:1px solid rgba(255,255,255,.16);border-radius:1.35rem;background:linear-gradient(115deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:0 22px 60px rgba(0,0,0,.2);backdrop-filter:blur(8px)}
.foot-cta-panel:after{content:"";position:absolute;right:-4rem;top:-7rem;width:17rem;height:17rem;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 2rem rgba(255,255,255,.018),0 0 0 4rem rgba(255,255,255,.012);pointer-events:none}
.foot-cta-copy,.foot-cta-actions{position:relative;z-index:1}
.foot-cta-copy .eyebrow{margin-bottom:.65rem}
.foot-cta-copy h2{font-size:clamp(1.55rem,3vw,2.5rem);max-width:38rem;letter-spacing:-.025em}
.foot-cta-copy>p:last-child{margin-top:.75rem;max-width:40rem;color:#cbd5e1;font-size:.98rem}
.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--pinkd)}
.foot .eyebrow{color:#ff8ccd}
.foot-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
.foot-cta-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:2.9rem}
.btn.foot-outline{border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.035);color:#fff}
.btn.foot-outline:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.1)}
.fgrid{position:relative;gap:2.25rem;padding:3rem 1rem 2.5rem;font-size:.9rem}
.fgrid .hd{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 1rem}
.foot-logo{display:inline-flex;align-items:center;background:#fff;border-radius:.7rem;padding:.65rem .85rem;box-shadow:0 8px 28px rgba(0,0,0,.17)}
.foot-logo img{height:2.5rem;width:auto;max-width:100%;display:block}
.foot-intro{max-width:21rem;line-height:1.75;margin-top:1rem}
.foot .col{gap:.55rem}
.foot .col a,.foot-contact a,.foot-bottom a{width:fit-content;transition:color .15s ease,transform .15s ease}
.foot .col a:hover,.foot-contact a:hover,.foot-bottom a:hover{color:#fff;text-decoration:none;transform:translateX(2px)}
.foot-contact{display:grid;justify-items:start;gap:.7rem;color:#cbd5e1;line-height:1.6}
.foot-contact p{margin:0}
.foot-hours{font-size:.81rem;color:#94a3b8!important;padding-top:.25rem}
.foot-social{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.035);padding:.42rem .62rem;border-radius:999px;font-size:.74rem;transition:background .18s ease,border-color .18s ease,color .18s ease}
.foot-social a:hover{background:var(--pinkd);border-color:var(--pinkd);color:#fff;text-decoration:none}
.foot-trust{display:flex;align-items:center;gap:.65rem;margin-top:1.35rem;padding:.8rem .85rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;color:#cbd5e1;font-size:.78rem;line-height:1.45;background:rgba(255,255,255,.035)}
.trust-mark{width:1.7rem;height:1.7rem;flex:0 0 1.7rem;display:grid;place-items:center;border-radius:50%;font-weight:800;background:rgba(35,170,225,.18);color:#8edbfa}
.foot-bottom{display:flex;flex-direction:column;gap:.8rem;align-items:flex-start;padding:1.15rem 1rem 1.6rem;border-top:1px solid rgba(255,255,255,.11);font-size:.76rem;color:#94a3b8}
.foot-bottom p{margin:0}
.foot-bottom>div{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}
.foot-bottom a{color:#cbd5e1}

/* Secure, accessible forms */
.site-notice{position:relative;margin-top:1rem;margin-bottom:.25rem;padding:1rem 1.15rem;border:1px solid var(--line);border-left:4px solid var(--skyd);border-radius:.8rem;background:#f8fafc;color:#1e293b;font-size:.93rem;line-height:1.55;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.site-notice[hidden]{display:none!important}
.site-notice.is-success{border-left-color:#16845b;background:#f0fdf4}
.site-notice.is-warning{border-left-color:#b7791f;background:#fffbeb}
.site-notice.is-error{border-left-color:#c02667;background:#fff1f7}
.site-notice:focus{outline:3px solid var(--focus-ring);outline-offset:3px}
.contact-form-box{grid-column:1/-1;scroll-margin-top:6rem}
.form-intro{margin-bottom:1.35rem}
.form-intro h2{margin-top:.35rem}
.form-intro .sub{max-width:45rem;line-height:1.65}
.modern-form{display:grid;gap:1rem;margin-top:1rem}
.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}
.field{display:grid;align-content:start;gap:.38rem;min-width:0}
.field label,.challenge-label{font-weight:700;font-size:.87rem;color:#293243}
.field label span,.challenge-label span,.consent-line span span{color:var(--pinkd)}
.field label small{color:#64748b;font-weight:500}
.field input,.field select,.field textarea,#drawer .field input,#drawer .field select,#drawer .field textarea{display:block;width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:.65rem;background:#fff;padding:.76rem .85rem;font:inherit;font-size:.95rem;color:#1e293b;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.field input[type=file]{padding:.62rem;background:#f8fafc;font-size:.84rem}
.field textarea{resize:vertical;min-height:7rem;line-height:1.55}
.field input::placeholder,.field textarea::placeholder{color:#94a3b8}
.field input:focus,.field select:focus,.field textarea:focus,#drawer .field input:focus,#drawer .field select:focus,#drawer .field textarea:focus{outline:0;border-color:var(--skyd);box-shadow:0 0 0 4px rgba(35,170,225,.14)}
.field small{color:#64748b;font-size:.76rem;line-height:1.45}
.span-two{grid-column:1/-1}
.challenge-box{padding:1rem;border:1px solid #dbe5ef;background:#f8fafc;border-radius:.8rem;display:grid;gap:.45rem}
.challenge-question{font-weight:800;font-size:1.05rem;color:var(--ink)}
.challenge-box input{width:8rem;max-width:100%;padding:.65rem .75rem;border:1px solid #cbd5e1;border-radius:.55rem;background:#fff}
.challenge-box small{font-size:.75rem;color:#64748b}
.consent-line{display:flex;align-items:flex-start;gap:.65rem;font-size:.82rem;line-height:1.5;color:#475569;cursor:pointer}
.consent-line input{margin-top:.25rem;accent-color:var(--pink);width:1rem;height:1rem;flex:0 0 1rem}
.consent-line span{flex:1}
.form-error{margin:0;color:#a21455;font-size:.86rem;font-weight:600;padding:.7rem .8rem;border-radius:.55rem;background:#fff1f7;border:1px solid #fbcfe8}
.form-error[hidden]{display:none!important}
.modern-form>.btn{justify-self:start;min-width:12rem}
.modern-form .fine{line-height:1.5;max-width:52rem}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
#drawer{width:min(100%,34rem);border-left:1px solid #e2e8f0}
#drawer .in{padding:clamp(1rem,4vw,1.6rem);padding-bottom:2rem}
#drawer .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
#drawer .drawer-head .eyebrow{margin-bottom:.2rem}
#drawer h2{font-size:1.55rem}
#drawer #close{border:1px solid #cbd5e1;background:#fff;border-radius:.55rem;padding:.45rem .75rem;font:inherit;font-weight:700;cursor:pointer}
#drawer form{margin-top:1rem;display:grid;gap:.85rem}
#drawer .field{gap:.3rem}
#drawer .field label{font-size:.82rem}
#drawer .field input,#drawer .field select,#drawer .field textarea{margin:0;padding:.67rem .75rem;font-size:.9rem}
#drawer .challenge-box{padding:.8rem}
#drawer .challenge-box input{margin:0}
#drawer .consent-line{margin:.15rem 0}
#drawer .submit-wide{width:100%;margin:0}
#drawer .fine{font-size:.73rem;line-height:1.55}
#drawer .form-error{margin:0}
body.drawer-open{overflow:hidden}
#cartBtn{margin-left:auto}
#cartBtn:focus-visible,#close:focus-visible,.slider-btn:focus-visible{outline:3px solid var(--pink);outline-offset:3px}

/* Home page client logo carousel */
.clients-section{scroll-margin-top:6rem;padding-bottom:.3rem}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.section-heading .eyebrow{margin-bottom:.45rem}
.section-heading .sub{max-width:42rem;line-height:1.65}
.client-controls{display:flex;gap:.45rem;flex:0 0 auto}
.slider-btn{width:2.55rem;height:2.55rem;display:inline-flex;justify-content:center;align-items:center;border:1px solid #d6dee8;border-radius:50%;background:#fff;color:var(--ink);font-size:1.08rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.slider-btn:hover{transform:translateY(-2px);background:var(--ink);border-color:var(--ink);color:#fff}
.slider-play{font-size:.87rem}
.client-window{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:1.6rem;padding:.25rem .1rem .55rem;overscroll-behavior-x:contain;scroll-behavior:smooth}
.client-window::-webkit-scrollbar{display:none}
.client-track{display:flex;gap:1rem;align-items:stretch}
.client-slide{flex:0 0 calc((100% - 3rem)/4);min-width:0;scroll-snap-align:start;border:1px solid #e3e8ef;border-radius:1rem;background:linear-gradient(180deg,#fff,#fbfcfe);padding:1rem;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.client-slide:hover{border-color:#d2b5c9;box-shadow:0 12px 30px rgba(20,25,38,.07);transform:translateY(-2px)}
.client-logo-card{position:relative;display:grid;place-items:center;height:7.25rem;border-radius:.72rem;background:#fff;border:1px solid #eef1f5;overflow:hidden}
.client-monogram{font-family:'Lithos','Cinzel',Georgia,serif;font-size:1.8rem;font-weight:700;letter-spacing:.04em;color:var(--teal)}
.client-logo-card img{position:absolute;inset:.65rem;width:calc(100% - 1.3rem);height:calc(100% - 1.3rem);object-fit:contain;background:#fff}
.client-slide h3{font-family:'DM Sans',system-ui,sans-serif;font-size:.87rem;line-height:1.35;text-align:center;font-weight:700;margin:.85rem .1rem .15rem;min-height:2.35em}
.client-slider-bottom{display:flex;gap:1rem;align-items:center;margin-top:.9rem}
.client-slider-bottom p{font-size:.78rem;color:#64748b;margin:0}
.client-progress{height:3px;flex:1;overflow:hidden;border-radius:999px;background:#e2e8f0;min-width:2rem}
.client-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pink),var(--sky));border-radius:inherit;transition:width .2s ease}
.client-slider-bottom>a{white-space:nowrap;font-size:.84rem;font-weight:700;color:var(--pinkd);text-decoration:none}
.client-slider-bottom>a:hover{text-decoration:underline}

/* Careers layout */
.careers-intro{max-width:53rem;margin-bottom:1.65rem}
.careers-intro h2{margin-top:.35rem}
.careers-intro .sub{font-size:1rem;line-height:1.75;max-width:47rem}
.careers-layout{display:grid;gap:1.2rem;align-items:start}
.careers-card{border-radius:1rem;padding:1.25rem;border:1px solid var(--line);background:linear-gradient(160deg,#f8fafc,#fff)}
.careers-card h3{font-family:'DM Sans',system-ui,sans-serif;font-size:1.08rem;line-height:1.4;margin:.4rem 0 1.1rem}
.role-list{display:grid;gap:0}
.role-list li{display:flex;align-items:center;gap:.85rem;padding:.85rem 0;border-top:1px solid #e2e8f0}
.role-list li>span{font-size:.76rem;font-weight:800;letter-spacing:.08em;color:var(--pinkd);width:1.4rem;flex:0 0 1.4rem}
.role-list li b,.role-list li small{display:block}
.role-list li b{font-size:.9rem}
.role-list li small{font-size:.77rem;color:#64748b;margin-top:.12rem}
.careers-note{margin-top:1rem;border-radius:.8rem;background:#eef8fc;border:1px solid #d6edf6;padding:1rem;font-size:.85rem;color:#334155}
.careers-note p{line-height:1.6;margin-top:.35rem}
.application-box{scroll-margin-top:6rem}
.application-box .form-intro h2{font-size:1.6rem}

@media(min-width:40rem){
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-cta-panel{flex-direction:row;align-items:center;justify-content:space-between}
  .foot-cta-actions{justify-content:flex-end;max-width:22rem}
  .foot-bottom{flex-direction:row;align-items:center;justify-content:space-between}
  .client-slide{flex-basis:calc((100% - 2rem)/3)}
}
@media(min-width:48rem){
  .careers-layout{grid-template-columns:minmax(16rem,.78fr) minmax(0,1.4fr)}
  .careers-sidebar{position:sticky;top:6rem}
  .client-slide{flex-basis:calc((100% - 3rem)/4)}
}
@media(max-width:39.99rem){
  .section-heading{align-items:flex-start;flex-direction:column}
  .client-controls{align-self:flex-end;margin-top:-.4rem}
  .client-slide{flex-basis:calc((100% - 1rem)/2)}
  .client-slider-bottom{flex-wrap:wrap}
  .client-slider-bottom p{width:100%}
  .client-slider-bottom>a{margin-left:auto}
  .foot-cta-actions{width:100%}
  .foot-cta-actions .btn{flex:1 1 100%}
  .modern-form>.btn{width:100%}
}
@media(max-width:23rem){.client-slide{flex-basis:100%}.foot-social{gap:.3rem}.foot-social a{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(min-width:64rem){#cartBtn{margin-left:0}}

.turnstile-slot:not(:empty){min-height:4.2rem;display:flex;align-items:center}
.turnstile-slot:empty{display:none}
