:root{--ink:#0f172a;--muted:#64748b;--paper:#fff;--soft:#f8fafc;--line:#e2e8f0;--red:#dc2626;--red-dark:#b91c1c;--ease:cubic-bezier(.23,1,.32,1);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{padding:9px 0;border-bottom:1px solid var(--line);background:#fff;color:var(--muted);font-size:12px}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:16px}.topbar-left .tag{color:var(--red);font-family:var(--serif);font-style:italic;font-weight:700}.topbar-right a:hover,.topbar-right button:hover{color:var(--red)}.lang-btn{border:0;border-radius:6px;padding:3px 8px;background:#fee2e2;color:var(--red);font-size:11px;font-weight:800}.accent{height:4px;display:grid;grid-template-columns:repeat(4,1fr)}.accent i:nth-child(1){background:#10b981}.accent i:nth-child(2){background:#fbbf24}.accent i:nth-child(3){background:var(--red)}.accent i:nth-child(4){background:#2563eb}.nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);transition:.3s var(--ease)}.nav.scrolled{box-shadow:0 10px 28px rgba(15,23,42,.08)}.nav-inner{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;font-weight:800;font-size:19px;line-height:1}.brand strong{color:var(--red)}.brand small{margin-top:6px;color:var(--muted);font:italic 12px var(--serif);font-weight:500}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.nav-links a:not(.btn):hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;padding:12px 19px;background:var(--red);color:white;font-weight:700;box-shadow:0 10px 20px rgba(220,38,38,.17);transition:transform .2s var(--ease),background .2s,box-shadow .2s}.btn:hover{background:var(--red-dark);transform:translateY(-2px);box-shadow:0 14px 24px rgba(220,38,38,.25)}.btn:active{transform:scale(.97)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid #cbd5e1;box-shadow:none}.btn.ghost:hover{background:#f1f5f9}.menu-btn{display:none;border:1px solid var(--line);border-radius:8px;background:transparent;padding:9px;font-size:22px}.mobile-menu{display:none;border-top:1px solid var(--line);padding:15px 16px 22px;background:#fff}.mobile-menu.open{display:grid;gap:12px}.mobile-menu a{padding:11px 0;border-bottom:1px solid #f1f5f9;font-weight:600}.mobile-menu .btn{border:0;color:#fff}.hero{position:relative;overflow:hidden;padding:112px 0 44px;background:linear-gradient(180deg,#f1f5f9 0%,#f8fafc 48%,#fff 100%)}.hero:before{content:'CDM';position:absolute;top:4%;left:50%;transform:translateX(-50%);font:900 clamp(100px,20vw,260px)/1 var(--serif);color:#0f172a;opacity:.035;pointer-events:none}.hero:after{content:'';position:absolute;width:420px;height:420px;right:-180px;top:-170px;border-radius:50%;background:rgba(220,38,38,.1);filter:blur(70px);pointer-events:none}.hero-bg{position:absolute;inset:0;background:url('assets/colour-dome.png') center/cover no-repeat;opacity:.2;pointer-events:none}.hero-inner{position:relative;z-index:1}.hero-card{max-width:880px;margin:auto;padding:56px 40px;text-align:center;border:1px solid rgba(255,255,255,.95);border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 24px 70px rgba(15,23,42,.13);backdrop-filter:blur(12px)}.hero-logo{height:80px;width:auto;object-fit:contain}.eyebrow{display:block;margin-bottom:12px;color:var(--red);font:700 12px var(--serif);letter-spacing:.18em;text-transform:uppercase}.hero h1{margin:20px 0 20px;font:900 clamp(30px,5vw,60px)/1.08 var(--serif);letter-spacing:-.03em}.hero h1 .hero-accent{color:var(--red)}.hero-lead{max-width:650px;margin:0 auto 30px;color:#475569;font:italic clamp(16px,2vw,21px)/1.6 var(--serif)}.hero-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:44px}.quick-card{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:23px 21px 27px;min-height:175px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.9);transition:.3s var(--ease)}.quick-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px rgba(15,23,42,.1)}.quick-card:after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--tone)}.quick-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:14px;border-radius:10px;background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone);font-size:21px}.quick-card h3{display:flex;justify-content:space-between;gap:10px;margin:0 0 7px;font:700 18px var(--serif)}.quick-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.section{padding:112px 0;background:#fff;border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-image{position:relative;height:570px;overflow:hidden;border-radius:17px;box-shadow:0 18px 45px rgba(15,23,42,.13)}.about-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.about-image:hover img{transform:scale(1.05)}.about-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,6,23,.78),transparent 60%)}.image-caption{position:absolute;z-index:1;left:22px;right:22px;bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;border-radius:12px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(0,0,0,.12)}.image-caption b{font:700 19px var(--serif)}.image-caption small{display:block;color:var(--muted);font-size:12px}.image-caption strong{color:var(--red);font:900 26px var(--serif);white-space:nowrap}.section h2,.services h2,.why h2,.contact h2{margin:0 0 22px;font:900 clamp(32px,4vw,55px)/1.08 var(--serif);letter-spacing:-.03em}.tagline{margin:0 0 20px;padding-left:17px;border-left:4px solid var(--red);font:italic clamp(17px,2vw,23px)/1.5 var(--serif)}.body-copy{margin:0 0 30px;color:#475569;line-height:1.8}.actor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.actor{padding:17px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.actor b{display:block;margin-bottom:5px;font:700 15px var(--serif)}.actor p{margin:0;color:var(--muted);font-size:13px}.actor em{float:left;margin-right:12px;font-style:normal;font-size:22px}.services{padding:96px 0;background:#f8f7f4;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:33px}.section-head h2{margin:0}.section-head p{max-width:590px;margin:0;color:var(--muted);font-size:15px;line-height:1.7}.counter{padding-left:20px;border-left:1px solid #dbe2ea;font:700 38px/1 var(--serif)}.counter small{display:block;margin-top:9px;color:#94a3b8;font:11px monospace;letter-spacing:.15em}.carousel{position:relative;min-height:650px;display:grid;place-items:center;touch-action:pan-y;user-select:none;cursor:grab}.carousel:active{cursor:grabbing}.service-card{cursor:default}.service-card.active{cursor:pointer}.service-card.active .circle-arrow{cursor:pointer}.service-card{position:absolute;width:min(540px,calc(100% - 28px));height:630px;overflow:hidden;border:1px solid rgba(15,23,42,.08);border-radius:27px;background:#fff;box-shadow:0 24px 70px rgba(15,23,42,.1);transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s ease}.service-card.side{opacity:.4;transform:scale(.85)}.service-card.active{z-index:3}.service-media{height:54%;background-position:center;background-size:cover;transition:height .8s var(--ease),transform 1.2s var(--ease)}.service-card:hover .service-media{height:66%;transform:scale(1.035)}.service-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#fff 31%,rgba(255,255,255,.9) 43%,transparent 66%)}.service-top{position:absolute;top:23px;left:23px;right:23px;display:flex;justify-content:space-between;color:#fff;font:700 10px monospace;letter-spacing:.16em}.service-top span:first-child{padding:7px 10px;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.28);backdrop-filter:blur(6px)}.service-content{position:absolute;left:29px;right:29px;bottom:27px}.service-rule{width:42px;height:2px;margin-bottom:14px;background:var(--red);transition:width .5s}.service-card:hover .service-rule{width:80px}.service-content h3{max-width:440px;margin:0 0 10px;font:900 30px/1 var(--serif)}.service-content>p{margin:0;color:#64748b;font-size:13px;line-height:1.65}.deliver{margin-top:17px;color:var(--red);font:700 10px monospace;letter-spacing:.16em;text-transform:uppercase}.features{display:grid;gap:5px;margin:9px 0 14px;padding:0;list-style:none;font-size:12px;font-weight:600}.features li:before{content:'•';margin-right:10px;color:var(--red);font-size:17px}.service-footer{display:flex;align-items:center;justify-content:space-between;color:#94a3b8;font:700 10px monospace;letter-spacing:.15em;text-transform:uppercase}.circle-arrow{display:grid;place-items:center;width:43px;height:43px;border:1px solid #cbd5e1;border-radius:50%;font-size:20px;transition:.3s}.circle-arrow:hover{background:var(--red);border-color:var(--red);color:#fff}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.drag-note{color:#94a3b8;font:700 10px monospace;letter-spacing:.15em;text-transform:uppercase}.dots{display:flex;gap:8px}.dots button{width:8px;height:8px;padding:0;border:0;border-radius:20px;background:#cbd5e1}.dots button.active{width:40px;background:var(--red)}.arrows{display:flex;gap:8px}.arrows button{width:43px;height:43px;border:1px solid #cbd5e1;border-radius:50%;background:transparent;font-size:21px}.arrows button:hover{color:#fff;background:var(--red);border-color:var(--red)}.services-foot{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;border-top:1px solid #e2e8f0;color:#64748b;font-size:13px}.services-foot a{color:var(--red);font:700 10px monospace;letter-spacing:.14em;text-transform:uppercase}.why{padding:112px 0;border-top:1px solid var(--line);background:#fff}.why-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:60px}.why-head p{max-width:420px;margin:0;color:var(--muted)}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.why-item{padding-top:20px;border-top:1px solid var(--line)}.why-item small{color:#94a3b8;font:11px monospace}.why-item h3{margin:22px 0 10px;font:700 21px var(--serif)}.why-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.why-cta{text-align:center;margin-top:55px}.underlink{color:var(--red);font:700 11px monospace;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid var(--red);padding-bottom:8px}.contact{padding:112px 0;background:#f8fafc}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.contact-info{position:relative;padding-left:22px}.contact-info:before{content:"";position:absolute;left:0;top:5px;bottom:0;width:3px;border-radius:3px;background:var(--red)}.contact-info h2{max-width:570px}.contact-info>p{max-width:550px;font-size:17px;line-height:1.75}.contact-line b{display:block;margin-bottom:5px;font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.01em}.contact-line span,.contact-line a{font-size:14px;line-height:1.7}.contact-info>p{max-width:550px;color:var(--muted);font-size:17px}.contact-lines{display:grid;gap:22px;margin-top:38px}.contact-line{display:flex;gap:14px;align-items:flex-start}.contact-line i{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fee2e2;color:var(--red);font-style:normal;font-size:20px}.contact-line b{display:block;margin-bottom:3px}.contact-line span,.contact-line a{color:var(--muted);font-size:14px}.form-card{padding:36px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.08)}.form-card h3{margin:0 0 25px;font:700 28px var(--serif)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:16px}.field label{display:block;margin-bottom:7px;font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:var(--ink);outline:0;font-size:14px;transition:.2s}.field textarea{resize:vertical;min-height:118px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(220,38,38,.12)}.notice{display:none;margin-bottom:16px;padding:12px;border-radius:9px;font-size:13px}.notice.show{display:block}.notice.success{color:#047857;border:1px solid #a7f3d0;background:#ecfdf5}.notice.error{color:#b91c1c;border:1px solid #fecaca;background:#fef2f2}.form-card .btn{width:100%;margin-top:4px}.footer{padding:42px 0;background:#0f172a;color:#94a3b8}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-brand{display:flex;align-items:center;gap:20px}.footer-brand img{width:130px;height:47px;object-fit:contain;border-radius:8px;background:#fff}.footer-brand strong{display:block;color:#fff;font:700 20px var(--serif)}.footer-brand p{max-width:440px;margin:7px 0 0;font-size:12px;line-height:1.6}.footer-right{font-size:11px;text-align:right}.to-top{position:fixed;right:24px;bottom:24px;z-index:60;display:none;width:45px;height:45px;border:0;border-radius:50%;background:var(--red);color:#fff;font-size:20px;box-shadow:0 10px 25px rgba(220,38,38,.28)}.to-top.show{display:block}.reveal{opacity:0;transform:translateY(24px);transition:opacity .72s var(--ease),transform .72s var(--ease)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.06s}.delay-2{transition-delay:.12s}.delay-3{transition-delay:.18s}.delay-4{transition-delay:.24s}@media(max-width:900px){.nav-links{gap:15px}.quick-grid{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr;gap:40px}.about-image{height:430px}.why-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:50px}.footer-inner{align-items:flex-start;flex-direction:column}.footer-right{text-align:left}}@media(max-width:680px){.container{width:min(100% - 28px,560px)}.topbar-left .address,.topbar-right a span{display:none}.topbar-inner{font-size:11px}.nav-inner{height:70px}.nav-links{display:none}.menu-btn{display:block}.hero{padding:50px 0 42px}.hero-card{padding:35px 18px}.hero-logo{height:58px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.quick-grid{grid-template-columns:1fr;gap:12px;margin-top:28px}.quick-card{min-height:148px}.section,.services,.why,.contact{padding:68px 0}.about-image{height:350px}.actor-grid{grid-template-columns:1fr}.section-head,.why-head{display:block;margin-bottom:30px}.section-head p,.why-head p{margin-top:16px}.counter{display:none}.carousel{min-height:570px}.service-card{height:550px}.service-content{left:22px;right:22px;bottom:22px}.service-content h3{font-size:25px}.service-content>p{font-size:12px}.features{font-size:11px}.carousel-controls{gap:10px}.drag-note{font-size:9px}.dots{gap:5px}.dots button.active{width:28px}.services-foot{display:block}.services-foot a{display:block;margin-top:12px}.why-grid{grid-template-columns:1fr;gap:26px}.why-head h2{font-size:39px}.contact-info>p{font-size:15px}.form-card{padding:23px 17px}.form-card h3{font-size:24px}.form-grid{grid-template-columns:1fr;gap:0}.footer{padding:48px 0 50px}.footer-inner{width:min(100% - 32px,380px);align-items:center;gap:28px;text-align:center}.footer-brand{width:100%;align-items:center;flex-direction:column;gap:20px}.footer-brand img{width:150px;height:52px;border-radius:11px}.footer-brand strong{font-size:21px}.footer-brand p{max-width:330px;margin:8px auto 0;font-size:12px;line-height:1.65}.footer-right{max-width:330px;margin-top:0;text-align:center;font-size:11px;line-height:1.55}.to-top{right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.service-card{transition:none}.about-image img{transition:none}}body.dark{--ink:#f8fafc;--muted:#94a3b8;--paper:#0f172a;--soft:#020617;--line:#1e293b;background:#020617}body.dark .topbar,body.dark .nav,body.dark .mobile-menu,body.dark .hero-card,body.dark .quick-card,body.dark .form-card,body.dark .actor{background:#0f172a;color:var(--ink);border-color:var(--line)}body.dark .hero{background:linear-gradient(180deg,#0f172a,#020617)}body.dark .hero-card{border-color:#1e293b}.dark .hero-bg{opacity:.1}.dark .btn.ghost{color:#f8fafc;border-color:#334155}.dark .section,.dark .why{background:#0f172a;border-color:var(--line)}body.dark .body-copy,body.dark .contact-info>p{color:#cbd5e1}body.dark .services{background:#090a0c}.dark .service-card{background:#111317;border-color:#334155}.dark .service-overlay{background:linear-gradient(0deg,#111317 31%,rgba(17,19,23,.9) 43%,transparent 66%)}body.dark .contact{background:#020617}body.dark .field input,body.dark .field select,body.dark .field textarea{background:#1e293b;color:#f8fafc;border-color:#334155}body.dark .footer{background:#020617}.theme-toggle{border:0;background:transparent;font-size:16px;color:inherit} 

@keyframes service-card-enter{0%{opacity:.35;transform:translateX(34px) scale(.96)}100%{opacity:1;transform:translateX(0) scale(1)}}
.carousel .service-card.active{animation:service-card-enter 720ms cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){.carousel .service-card.active{animation:none}}
