/* Cealius — subpages (hosting, order, legal). Loaded after cealius.css */
.sheet{background:linear-gradient(180deg,#f8f6f1,#f2efe8);color:var(--text);padding:clamp(70px,8vw,120px) 0}
.sheet.alt{background:linear-gradient(180deg,#f2efe8,#ebe7dd)}
.sheet h2{font-size:clamp(32px,3.4vw,50px)}
.sheet .kicker{color:var(--teal)}
.sec-head{max-width:720px;margin-bottom:clamp(34px,4vw,56px)}
.sec-head p:last-child{color:var(--mute);line-height:1.7;font-size:16px;margin-top:16px}
/* page hero */
.page-hero{position:relative;overflow:hidden;padding:clamp(150px,15vw,210px) 0 clamp(64px,7vw,100px);background:radial-gradient(60% 90% at 85% 10%,rgba(27,135,131,.22),transparent 60%),linear-gradient(180deg,#0b151d,#0a141c)}
.page-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(134,228,220,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(134,228,220,.045) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 80% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 80% 30%,#000,transparent 75%)}
.page-hero .shell{position:relative}
.page-hero h1{font-size:clamp(42px,5.4vw,84px);line-height:1.03;letter-spacing:-.05em;font-weight:600;max-width:900px;margin-bottom:22px}
.page-hero h1 span{color:var(--cyan)}
.page-hero .lead{max-width:600px;font-size:clamp(17px,1.3vw,20px)}
.page-hero .actions{margin-top:38px}
.trust{display:flex;flex-wrap:wrap;gap:10px 12px;margin:46px 0 0;padding:0}
.trust li{list-style:none;padding:9px 15px;border:1px solid rgba(134,228,220,.2);border-radius:999px;font-size:13px;color:#cfe0e0;background:rgba(8,18,26,.4)}
/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;padding:34px 30px 30px;background:#fcfbf8;border:1px solid #dedfd8;border-radius:20px;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.plan:hover{transform:translateY(-4px);box-shadow:0 34px 64px -34px rgba(20,60,64,.35)}
.plan.popular{color:#eef5f4;background:radial-gradient(100% 60% at 100% 0,rgba(27,135,131,.25),transparent 60%),linear-gradient(180deg,#101d27,#0a141c);border-color:rgba(134,228,220,.32);box-shadow:0 40px 80px -40px rgba(10,30,40,.65)}
.plan .badge{position:absolute;top:20px;right:20px;padding:6px 11px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);background:rgba(134,228,220,.12);border:1px solid rgba(134,228,220,.4)}
.plan h3{font-size:22px;font-weight:600;letter-spacing:-.02em}
.plan .tag{min-height:46px;margin:8px 0 26px;font-size:14.5px;line-height:1.6;color:var(--mute)}
.plan.popular .tag,.plan.popular .per{color:#93a8ae}
.plan .price{display:flex;align-items:baseline;gap:8px}
.plan .price b{font-size:clamp(44px,4vw,56px);font-weight:600;letter-spacing:-.05em;line-height:1}
.plan .price span{font-size:15px;color:var(--mute)}
.plan.popular .price span{color:#93a8ae}
.plan .per{margin:9px 0 26px;font-size:13px;color:var(--mute)}
.plan ul{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:13px;font-size:14.5px;border-top:1px solid #e3e3dc;padding-top:24px}
.plan.popular ul{border-color:rgba(255,255,255,.1)}
.plan li{display:flex;gap:12px;line-height:1.45}
.plan li:before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.2' fill='none' stroke='%2322b8ae' stroke-opacity='.5'/%3E%3Cpath d='M4.8 8.3 7 10.4 11.2 5.9' fill='none' stroke='%2322b8ae' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.plan li b{font-weight:600}
.plan .button{margin-top:auto}
.button.outline{color:var(--text);border:1px solid #b9c7c5;border-radius:2px;background:transparent}
.button.outline:hover{border-color:var(--teal);background:rgba(18,113,110,.06)}
.button.outline:hover span{transform:translateX(5px)}
.price-note{margin-top:26px;font-size:13px;line-height:1.6;color:var(--mute);max-width:760px}
/* compare */
.compare{overflow-x:auto;border:1px solid #dedfd8;border-radius:16px;background:#fcfbf8}
.compare table{width:100%;min-width:640px;border-collapse:collapse;font-size:14.5px}
.compare th,.compare td{padding:16px 22px;text-align:left;border-bottom:1px solid #e6e6df}
.compare thead th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600;background:#f6f4ee}
.compare tbody th{font-weight:500;color:#2a3a42}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.compare td b{font-weight:600}
/* included */
.included{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.inc{padding:28px;border:1px solid #dedfd8;border-radius:16px;background:#fcfbf8}
.inc h3{font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.inc p{font-size:14.5px;line-height:1.65;color:var(--mute)}
/* faq */
.faq{max-width:820px}
.faq details{border-bottom:1px solid #d9d9d1}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:17px;font-weight:500;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 100% no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;max-width:700px;font-size:15.5px;line-height:1.75;color:var(--mute)}
/* cta band */
.cta-band{position:relative;overflow:hidden;padding:clamp(70px,8vw,110px) 0;background:radial-gradient(50% 120% at 85% 50%,rgba(27,135,131,.2),transparent 65%),#0a141c}
.cta-band .shell{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(30px,3.6vw,52px);color:#fff;max-width:640px}
/* legal prose */
.legal-wrap{padding:clamp(56px,6vw,90px) 0 clamp(80px,9vw,130px);background:linear-gradient(180deg,#f8f6f1,#f2efe8);color:var(--text)}
.legal{max-width:780px;margin:0 auto}
.legal h2{font-size:clamp(22px,2vw,27px);letter-spacing:-.025em;margin:46px 0 14px;font-weight:600}
.legal h3{font-size:17px;font-weight:600;margin:28px 0 8px}
.legal p,.legal li{font-size:15.5px;line-height:1.78;color:#33434b}
.legal p{margin-bottom:14px}
.legal ul,.legal ol{padding-left:22px;margin:0 0 16px}
.legal li{margin-bottom:6px}
.legal a{color:var(--teal);text-underline-offset:3px}
.legal .meta{font-size:13px;color:var(--mute);margin-bottom:34px}
.legal address{font-style:normal;line-height:1.8;padding:20px 24px;border-left:2px solid var(--teal);background:#fcfbf8;border-radius:0 12px 12px 0;margin:0 0 16px}
.legal .form-box{padding:22px 26px;border:1px dashed #b7c3c1;border-radius:12px;background:#fcfbf8}
.todo{background:#ffe1d9;color:#a3260f;padding:1px 6px;border-radius:5px;font-weight:600;font-size:.92em}
.draft-banner{max-width:780px;margin:0 auto 34px;padding:16px 20px;border-radius:12px;background:#fff3d6;border:1px solid #f0d58a;color:#6a4b06;font-size:14px;line-height:1.6}
.legal-links{display:flex;flex-wrap:wrap;gap:8px 22px;max-width:780px;margin:56px auto 0;padding-top:26px;border-top:1px solid #d9d9d1;font-size:14px}
.legal-links a{color:var(--mute);text-decoration:none;border-bottom:1px solid transparent}
.legal-links a:hover{color:var(--teal);border-color:var(--teal)}
@media(max-width:1000px){.plans,.included{grid-template-columns:1fr}.plan .tag{min-height:0}.cta-band .shell{align-items:flex-start}}
/* order */
.page-hero.compact{padding-bottom:clamp(110px,10vw,150px)}
.page-hero.compact h1{font-size:clamp(36px,4.2vw,62px)}
.order-wrap{position:relative;padding:0 0 clamp(70px,8vw,120px);background:linear-gradient(180deg,#f8f6f1,#f2efe8);color:var(--text)}
.order-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:clamp(28px,3.4vw,52px);align-items:start;margin-top:-64px;position:relative}
.oform{background:#fcfbf8;border:1px solid #dedfd8;border-radius:22px;padding:clamp(24px,3.2vw,44px);box-shadow:0 40px 80px -50px rgba(10,30,40,.45)}
.ostep{display:flex;align-items:center;gap:12px;margin:38px 0 20px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.ostep:first-child{margin-top:0}
.ostep:after{content:"";flex:1;height:1px;background:#e0e3dd}
.ostep i{font-style:normal;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(18,113,110,.1);font-size:11px}
.picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.picker.two{grid-template-columns:1fr 1fr}
.picker label{position:relative;cursor:pointer}
.picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pk{display:block;height:100%;padding:16px 16px 15px;border:1px solid #cdd6d3;border-radius:14px;background:#fff;transition:border-color .25s,box-shadow .25s,background .25s}
.pk b{display:block;font-size:16px;font-weight:600}
.pk small{display:block;margin-top:5px;font-size:13px;line-height:1.45;color:var(--mute)}
.pk em{display:block;margin-top:8px;font-style:normal;font-size:14px;font-weight:600;color:var(--teal)}
.picker label:hover .pk{border-color:#8fb5b2}
.picker input:checked+.pk{border-color:var(--teal);background:#f3fbfa;box-shadow:0 0 0 3px rgba(18,113,110,.14)}
.picker input:focus-visible+.pk{outline:2px solid var(--teal);outline-offset:2px}
.orow{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.ofield{display:block;margin-bottom:18px}
.ofield>span{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#5f6c74}
.ofield>span small{text-transform:none;letter-spacing:0;font-weight:400;color:#8a969c}
.ofield input,.ofield select{display:block;width:100%;font:inherit;font-size:16px;color:#0d1a22;background:#fff;border:1px solid #cdd6d3;border-radius:10px;padding:13px 15px;transition:border-color .25s,box-shadow .25s}
.ofield input:focus,.ofield select:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(18,113,110,.12)}
.ofield input[aria-invalid=true],.ofield select[aria-invalid=true]{border-color:#d9583f}
.oerr{display:block;margin-top:6px;font-style:normal;font-size:12.5px;line-height:1.4;color:#c03c25}
.oerr:empty{display:none}
.ochk{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:14px;line-height:1.6;color:#33434b;cursor:pointer}
.ochk input{-webkit-appearance:none;appearance:none;flex:none;width:20px;height:20px;margin:2px 0 0;border:1px solid #a9b8b5;border-radius:6px;background:#fff center/12px no-repeat;cursor:pointer;transition:background-color .25s,border-color .25s}
.ochk input:checked{background-color:var(--teal);border-color:var(--teal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.3 4.8 8.8 9.8 3.4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ochk input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.ochk input[aria-invalid=true]{border-color:#d9583f}
.ochk a{color:var(--teal);text-underline-offset:3px}
.consumer-only[hidden],.business-only[hidden]{display:none}
.osubmit{display:flex;flex-direction:column;gap:14px;margin-top:30px}
.osubmit .button{justify-content:space-between;width:100%;height:60px;font-size:16px}
.osubmit .button[disabled]{opacity:.7;cursor:progress}
.ostatus{font-size:14px;line-height:1.55;color:#c03c25}
.ostatus:empty{display:none}
.osmall{font-size:12.5px;line-height:1.6;color:var(--mute)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.summary{position:sticky;top:24px;padding:30px;border-radius:22px;color:#e6f0ef;background:radial-gradient(100% 60% at 100% 0,rgba(27,135,131,.22),transparent 60%),linear-gradient(180deg,#101d27,#0a141c);border:1px solid rgba(134,228,220,.2);box-shadow:0 40px 80px -40px rgba(10,30,40,.6)}
.summary h2{font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--cyan);margin-bottom:22px}
.summary dl{margin:0;display:grid;gap:14px}
.summary .row{display:flex;justify-content:space-between;gap:16px;font-size:14.5px}
.summary dt{color:#93a8ae}
.summary dd{margin:0;text-align:right;font-weight:500}
.summary .total{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:baseline}
.summary .total span{font-size:14px;color:#93a8ae}
.summary .total b{font-size:34px;font-weight:600;letter-spacing:-.04em}
.summary .vat{margin-top:8px;font-size:12.5px;line-height:1.55;color:#7f949b}
.summary ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;font-size:13px;color:#a9bbbf}
.summary li:before{content:"✓";color:var(--cyan);margin-right:10px}
.odone{text-align:center;padding:clamp(20px,4vw,50px) 0}
.odone[hidden]{display:none}
.odone h2{font-size:clamp(28px,3vw,40px);margin:22px 0 14px}
.odone p{max-width:520px;margin:0 auto 14px;line-height:1.7;color:var(--mute)}
.bank{max-width:460px;margin:26px auto;padding:22px 26px;text-align:left;border:1px solid #dedfd8;border-radius:14px;background:#fff;font-size:14.5px;line-height:1.9}
.bank b{font-weight:600}
.bank code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;background:#f0efe9;padding:2px 7px;border-radius:5px}
@media(max-width:1000px){.order-grid{grid-template-columns:1fr;margin-top:-50px}.summary{position:static}.picker{grid-template-columns:1fr}.picker.two{grid-template-columns:1fr 1fr}.orow{grid-template-columns:1fr}}

/* hero with video on the right (hosting) — same behaviour as the home hero: plays once, holds the last frame */
.page-hero.has-media .shell{z-index:2}
.ph-media{position:absolute;z-index:0;top:0;right:0;bottom:0;width:min(68%,1200px);overflow:hidden;background:#0a141c url(/assets/cealius-hosting-poster.webp) 72% center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36%);mask-image:linear-gradient(90deg,transparent 0,#000 36%)}
.ph-media .hero-video{object-position:72% center}
.ph-media:after{content:"";position:absolute;inset:auto 0 0 0;height:32%;pointer-events:none;background:linear-gradient(180deg,transparent,#0a141c)}
@media(max-width:900px){
.ph-media{width:100%;bottom:auto;height:clamp(250px,64vw,360px);background-position:66% center;-webkit-mask-image:linear-gradient(180deg,#000 52%,transparent);mask-image:linear-gradient(180deg,#000 52%,transparent)}
.ph-media .hero-video{object-position:66% center}
.ph-media:after{display:none}
.page-hero.has-media{padding-top:clamp(240px,64vw,340px)}
}
@media(prefers-reduced-motion:reduce){.ph-media .hero-video{display:none}}

.page-hero.has-media h1{max-width:min(900px,52vw)}
@media(max-width:900px){.page-hero.has-media h1{max-width:none}}

.upsell{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:760px;margin-top:34px;padding:20px 26px;border:1px solid #d5dcd9;border-radius:14px;background:#fcfbf8;text-decoration:none;color:var(--text);font-size:15px;line-height:1.5;transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
.upsell b{font-weight:600}
.upsell i{font-style:normal;flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #c5d0cd;transition:background .3s,color .3s,border-color .3s}
.upsell:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 22px 44px -28px rgba(20,60,64,.35)}
.upsell:hover i{background:var(--teal);border-color:var(--teal);color:#fff}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:st}
.steps3 .st{position:relative;padding:28px;border:1px solid #dedfd8;border-radius:16px;background:#fcfbf8}
.steps3 .st:before{counter-increment:st;content:"0" counter(st);display:block;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--teal)}
.steps3 .st h3{font-size:18px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.steps3 .st p{font-size:14.5px;line-height:1.65;color:var(--mute)}
@media(max-width:1000px){.steps3{grid-template-columns:1fr}}

.picker[hidden],.only-hosting[hidden],.only-reseller[hidden]{display:none}
.kindswitch .pk{padding:14px 16px}

/* order: redesigned package picker */
.page-hero.compact{padding-top:clamp(118px,10vw,150px);padding-bottom:clamp(92px,8vw,118px)}
.seg{display:inline-flex;gap:2px;padding:4px;margin-bottom:20px;border:1px solid #d3dbd8;border-radius:999px;background:#eeeee8}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;inset:0;opacity:0;cursor:pointer}
.seg span{display:block;padding:10px 22px;border-radius:999px;font-size:14.5px;font-weight:600;color:#5b6a70;transition:background .25s,color .25s,box-shadow .25s}
.seg label:hover span{color:var(--text)}
.seg input:checked+span{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(10,30,40,.14),0 0 0 1px rgba(18,113,110,.16)}
.seg input:focus-visible+span{outline:2px solid var(--teal);outline-offset:2px}
.plans-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plans-pick[hidden]{display:none}
.popt{position:relative;display:block;cursor:pointer}
.popt input{position:absolute;inset:0;opacity:0;cursor:pointer}
.po{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:20px 20px 18px;border:1px solid #cdd6d3;border-radius:16px;background:#fff;transition:border-color .25s,box-shadow .25s,background .25s}
.po:after{content:"";position:absolute;top:20px;right:18px;width:20px;height:20px;border-radius:50%;border:1.5px solid #b4c1be;background:#fff center/11px no-repeat;transition:background-color .25s,border-color .25s}
.popt:hover .po{border-color:#8fb5b2}
.popt input:checked+.po{border-color:var(--teal);background:#f3fbfa;box-shadow:0 0 0 3px rgba(18,113,110,.12)}
.popt input:checked+.po:after{background-color:var(--teal);border-color:var(--teal);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.3 4.8 8.8 9.8 3.4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.popt input:focus-visible+.po{outline:2px solid var(--teal);outline-offset:2px}
.po-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-right:34px}
.po-head b{font-size:17px;font-weight:600}
.po-head i{font-style:normal;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);background:rgba(18,113,110,.1)}
.po-price strong{font-size:30px;font-weight:600;letter-spacing:-.035em}
.po-price small{margin-left:6px;font-size:13px;color:var(--mute)}
.po-spec{font-size:13px;line-height:1.55;color:var(--mute)}
.payinfo{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid #cdd6d3;border-radius:14px;background:#fff;font-size:14px;line-height:1.6;color:var(--mute)}
.payinfo b{font-size:16px;font-weight:600;color:var(--text)}
@media(max-width:1000px){.plans-pick{grid-template-columns:1fr}.po{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 16px}.po-head{padding-right:0;flex:1 1 100%}.po-price{flex:none}.po-spec{flex:1 1 auto}.po:after{top:18px}}

/* order: more air, aligned cards, floating form */
.order-wrap{display:flow-root}
.order-wrap>.shell:not(.order-grid)>.oform{margin-top:-64px;position:relative}
.plans-pick{gap:22px}
.po{gap:16px;padding:30px 26px 24px}
.po:after{top:28px;right:24px}
.po-head{padding-right:40px;min-height:24px}
.po-head i{position:absolute;top:-12px;left:24px;padding:5px 12px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--teal);box-shadow:0 6px 16px -6px rgba(18,113,110,.6)}
.po-price strong{font-size:32px}
.po-spec{margin-top:2px;padding-top:14px;border-top:1px solid #e6ebe8}
.popt input:checked+.po .po-spec{border-color:rgba(18,113,110,.18)}
.seg{margin-bottom:26px}
.ostep{margin-top:44px}
@media(max-width:1000px){.plans-pick{gap:16px}.po{padding:26px 22px 20px}.po-spec{border-top:0;padding-top:0}}

@media(min-width:1001px) and (max-width:1560px){.po{padding:28px 22px 22px}.po-price{white-space:nowrap}.po-price small{display:block;margin:4px 0 0}.po-head{padding-right:36px}}

/* service landing hero videos */
.service-ph-media{background-color:#0a141c;background-image:none}
.service-ph-media .hero-video{object-position:72% center;filter:saturate(.9) contrast(1.05) brightness(.68)}
.service-hero .shell{position:relative;z-index:2}
.service-hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#08131b 0%,rgba(8,19,27,.97) 28%,rgba(8,19,27,.68) 48%,rgba(8,19,27,.08) 76%,rgba(8,19,27,0) 100%)}
.service-ph-media.service-api .hero-video{object-position:76% center}
.service-ph-media.service-ai .hero-video{object-position:74% center}
@media(max-width:900px){.service-hero:after{background:linear-gradient(180deg,rgba(8,19,27,.05) 0%,rgba(8,19,27,.25) 42%,#08131b 82%)}.service-ph-media .hero-video{object-position:68% center}}

/* projects hub */
.projects-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}
.project-card{overflow:hidden;border:1px solid #dfe0da;border-radius:18px;background:#fcfbf8;box-shadow:0 24px 54px -38px rgba(20,46,49,.35)}
.project-wide{grid-row:span 2}
.project-media{position:relative;height:clamp(260px,27vw,430px);overflow:hidden;background:#08131b}
.project-card:not(.project-wide) .project-media{height:clamp(210px,19vw,300px)}
.project-media img,.project-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-media img{z-index:0}.project-media video{z-index:1}
.project-copy{padding:26px 28px 30px}.project-copy .kicker{margin-bottom:10px}.project-copy h3{font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;margin-bottom:10px}.project-copy>p:last-of-type{color:var(--mute);line-height:1.65}.project-copy a{display:inline-block;margin-top:18px;color:var(--teal);font-weight:600;text-decoration:none}
.web-projects-note{max-width:820px;margin-top:70px;padding-top:46px;border-top:1px solid #d9dbd5}.web-projects-note h2{margin:8px 0 14px}.web-projects-note p:last-child{color:var(--mute);line-height:1.7}
@media(max-width:900px){.projects-grid{grid-template-columns:1fr}.project-wide{grid-row:auto}.project-card:not(.project-wide) .project-media,.project-media{height:clamp(230px,60vw,360px)}}
.web-projects-head{max-width:760px;margin-top:86px;margin-bottom:34px}.web-projects-head h2{margin:8px 0 14px}.web-projects-head p:last-child{color:var(--mute);line-height:1.7}
.web-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.web-project-card{overflow:hidden;border:1px solid #dfe0da;border-radius:18px;background:#fcfbf8;box-shadow:0 22px 50px -38px rgba(20,46,49,.35)}
.web-project-shot{display:block;position:relative;overflow:hidden;height:230px;background:#0b151d}.web-project-shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .8s var(--ease)}.web-project-shot:hover img{transform:scale(1.025)}
.web-project-copy{padding:24px 24px 28px}.web-project-copy .kicker{margin-bottom:9px}.web-project-copy h3{font-size:22px;letter-spacing:-.02em;margin-bottom:9px}.web-project-copy>p:last-of-type{font-size:14.5px;line-height:1.65;color:var(--mute)}.web-project-copy a{display:inline-block;margin-top:17px;color:var(--teal);font-weight:600;text-decoration:none}
@media(max-width:900px){.web-projects-grid{grid-template-columns:1fr}.web-project-shot{height:clamp(220px,62vw,340px)}}
/* projects hub balance: keep all three system cards aligned without empty grid span */
.projects-grid{grid-template-columns:repeat(3,1fr)}
.project-wide{grid-row:auto}
.project-media,.project-card:not(.project-wide) .project-media{height:clamp(220px,19vw,300px)}
@media(max-width:900px){.projects-grid{grid-template-columns:1fr}.project-media,.project-card:not(.project-wide) .project-media{height:clamp(230px,60vw,360px)}}

/* detailed case studies */
.case-study-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:start}
.case-study-grid aside{position:sticky;top:120px}.case-chip{display:inline-block;margin:0 7px 8px 0;padding:8px 12px;border:1px solid #d4d9d4;border-radius:999px;font-size:12px;color:#315156;background:#fff}
.case-story{max-width:780px}.case-story h2{margin:0 0 14px;font-size:clamp(28px,3vw,44px)}.case-story h2:not(:first-child){margin-top:50px}.case-story>p{color:var(--mute);font-size:16px;line-height:1.8}
.case-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.case-inline-link{padding:10px 14px;border:1px solid #cbd5d2;border-radius:999px;color:var(--teal);text-decoration:none;font-weight:600;font-size:13px}.case-inline-link:hover{border-color:var(--teal)}
.web-project-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}.web-project-links a{margin-top:0!important}
@media(max-width:760px){.case-study-grid{grid-template-columns:1fr;gap:28px}.case-study-grid aside{position:static}.case-story h2:not(:first-child){margin-top:36px}.case-links{gap:8px}}
