@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--red:#c91f25;--red-soft:#e6474b;--ink:#111;--muted:#6f6a63;--cream:#f5f1e9;--cream2:#ebe4d8;--white:#fff;--line:#d9d3c8;--max:1280px;--radius:2px;--shadow:0 20px 60px rgba(17,17,17,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.topline{height:3px;background:var(--red)}
/* Immediate pointer-following glow: no interpolation delay. */
.cursor-glow{position:fixed;z-index:9999;pointer-events:none;width:300px;height:300px;border-radius:50%;left:var(--mx,50vw);top:var(--my,50vh);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(201,31,37,.18) 0%,rgba(201,31,37,.08) 28%,rgba(201,31,37,.025) 48%,rgba(201,31,37,0) 72%);mix-blend-mode:multiply;opacity:0;transition:opacity .15s ease;will-change:left,top}.cursor-glow.is-visible{opacity:1}
.nav{position:sticky;top:0;z-index:100;background:rgba(245,241,233,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(17,17,17,.09)}.nav-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;min-width:220px}.brand img{width:42px;height:42px;object-fit:cover}.brand span{font:800 13px/1.15 'Manrope';letter-spacing:.12em}.menu{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:600}.menu a{position:relative;padding:29px 0;white-space:nowrap}.menu a:after{content:'';position:absolute;left:0;bottom:20px;width:0;height:2px;background:var(--red);transition:width .22s}.menu a:hover:after,.menu a.active:after{width:100%}.nav-cta{background:var(--ink);color:#fff;padding:13px 17px;font-weight:700;font-size:12px;white-space:nowrap}.hamb{display:none;background:none;border:0;font-size:25px;line-height:1;cursor:pointer}
.eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-weight:800}.display{font:800 clamp(52px,6.25vw,86px)/.93 'Manrope';letter-spacing:-.065em;margin:18px 0 25px;max-width:820px}.display em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.lede{font-size:17px;color:var(--muted);max-width:650px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 19px;border:1px solid var(--ink);font-weight:700;font-size:13px;transition:transform .22s,box-shadow .22s,background .22s}.btn.primary{background:var(--red);border-color:var(--red);color:#fff}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(17,17,17,.08)}.btn .arrow{font-size:16px}.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero{min-height:calc(100vh - 81px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);align-items:center;padding:70px 0;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2}.hero-art{min-height:500px;position:relative;display:grid;place-items:center}.hero-orbit{width:min(36vw,490px);aspect-ratio:1;border:1px solid rgba(17,17,17,.16);border-radius:50%;position:relative}.hero-orbit:before,.hero-orbit:after{content:'';position:absolute;inset:13%;border:1px solid rgba(201,31,37,.35);border-radius:50%}.hero-orbit:after{inset:28%;border-color:rgba(17,17,17,.18)}.hero-core{position:absolute;inset:36%;background:var(--ink);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);display:grid;place-items:center;color:white}.hero-core img{width:62%;height:62%;object-fit:contain;mix-blend-mode:screen;opacity:.92}.orbit-label{position:absolute;background:var(--cream);border:1px solid var(--line);padding:9px 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;white-space:nowrap}.label-a{top:5%;right:6%}.label-b{bottom:7%;left:3%}.label-c{top:48%;right:-4%}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(17,17,17,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,transparent 0,black 45%,black 100%)}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;overflow:hidden}.trust-track{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.trust-track span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.trust-track i{color:var(--red);font-style:normal}
.section{padding:105px 0}.section.compact{padding:78px 0}.section.dark{background:var(--ink);color:#fff}.section.cream2{background:var(--cream2)}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:50px}.section-title{font:800 clamp(36px,4.5vw,62px)/1 'Manrope';letter-spacing:-.055em;margin:10px 0}.section-title em{font-family:Georgia,serif;font-weight:400}.section-copy{max-width:500px;color:var(--muted)}.dark .section-copy{color:#aaa}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.grid-4>*{background:var(--cream)}
.card{border:1px solid var(--line);padding:28px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,background .3s;background:rgb(245 244 233 / 71%)}.card-num{font:700 11px 'Manrope';color:var(--red);letter-spacing:.15em}.card h3{font:800 22px/1.15 'Manrope';margin:32px 0 11px}.card p{color:var(--muted);margin:0}.card-arrow{position:absolute;right:21px;top:20px;color:var(--red);font-size:18px}.vertical-card{min-height:285px;display:flex;flex-direction:column;justify-content:space-between}.vertical-card .tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.vertical-card a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.intro h2{font:800 clamp(36px,4vw,58px)/1 'Manrope';letter-spacing:-.055em;margin:0}.intro h2 em{font-family:Georgia,serif;font-weight:400}.intro p{font-size:17px;color:var(--muted);max-width:760px}.rule-list{border-top:1px solid var(--line)}.rule-item{display:grid;grid-template-columns:55px minmax(0,1fr) 25px;gap:18px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.rule-item .num{color:var(--red);font-size:11px;font-weight:800}.rule-item h3{font:800 21px 'Manrope';margin:0 0 5px}.rule-item p{margin:0;color:var(--muted);font-size:14px}.rule-item .arr{color:var(--red)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.stat{padding:28px;border-right:1px solid rgba(255,255,255,.16)}.stat:last-child{border-right:0}.stat b{display:block;font:800 38px 'Manrope';color:var(--red)}.stat span{font-size:13px;color:#aaa}
.page-hero{padding:95px 0 75px;border-bottom:1px solid var(--line)}.page-hero .display{max-width:900px}.page-hero .lede{max-width:780px}.breadcrumb{font-size:11px;color:var(--muted);margin-top:18px}.breadcrumb a{color:var(--ink);font-weight:700}
.process{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:70px;align-items:start}.process-visual{position:sticky;top:105px;height:470px;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;background:#f8f5ee}.process-image{width:100%;height:100%;object-fit:cover;opacity:.96}.process-circle{width:310px;height:310px;border-radius:50%;border:1px solid rgba(17,17,17,.15);position:relative}.process-circle:before{content:'';position:absolute;inset:48px;border:1px solid rgba(201,31,37,.5);border-radius:50%}.process-circle:after{content:'';position:absolute;inset:110px;background:var(--red);border-radius:50%;box-shadow:0 0 90px rgba(201,31,37,.25)}.process-items .rule-item{grid-template-columns:48px minmax(0,1fr) 25px}
.tech-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.tech-item{background:var(--cream);min-height:165px;padding:24px}.tech-icon{width:38px;height:38px;border:1px solid var(--red);display:grid;place-items:center;color:var(--red);margin-bottom:27px}.tech-item h3{font:700 15px 'Manrope';margin:0}.tech-item p{font-size:12px;color:var(--muted)}
.alt-sections{display:grid;gap:0}.alt{display:grid;grid-template-columns:1fr 1fr;min-height:500px;border-bottom:1px solid var(--line)}.alt:nth-child(even) .alt-copy{order:2}.alt-visual{position:relative;overflow:hidden;background:var(--ink);min-height:420px}.alt-visual .shape{position:absolute;width:65%;aspect-ratio:1;border:1px solid rgba(255,255,255,.3);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.alt-visual .shape:after{content:'';position:absolute;inset:18%;border:1px solid rgba(201,31,37,.7);border-radius:50%}.alt-visual .visual-word{position:absolute;bottom:35px;left:35px;color:white;font:800 clamp(40px,5vw,74px)/.9 'Manrope';letter-spacing:-.06em;max-width:70%}.alt-copy{padding:65px}.alt-copy h2{font:800 clamp(34px,4vw,54px)/1 'Manrope';letter-spacing:-.05em;margin:15px 0}.alt-copy p{color:var(--muted);max-width:570px}.bullet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:28px}.bullet{padding:11px 13px;border:1px solid var(--line);font-size:13px}.bullet:before{content:'↗';color:var(--red);margin-right:9px}
.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.value{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.value h3{font:800 20px 'Manrope';margin:0 0 8px}.value p{margin:0;color:var(--muted);font-size:14px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.field input,.field textarea,.field select{border:1px solid var(--line);background:#fff;padding:14px;outline:none}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red)}
.footer{background:#0c0c0c;color:white;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:42px}.footer-brand img{width:54px;height:54px;object-fit:contain;margin-bottom:18px}.footer-brand p{color:#999;max-width:320px}.footer h4{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#777;margin:0 0 18px}.footer a{display:block;color:#ccc;font-size:13px;margin:8px 0}.footer a:hover{color:#fff}.footer-bottom{margin-top:55px;padding-top:19px;border-top:1px solid #272727;display:flex;justify-content:space-between;gap:20px;color:#666;font-size:11px}.footer-bottom a{display:inline-block;margin-left:18px;color:#777}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}
@media(max-width:1180px){.menu{gap:15px}.menu a{font-size:12px}.hero{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:20px}.display{font-size:clamp(50px,6.2vw,78px)}.intro,.process{grid-template-columns:1fr;gap:38px}.process-visual{position:relative;top:auto}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-grid{grid-template-columns:2fr 1fr 1fr}}
@media(max-width:900px){.nav-cta{display:none}.hero{grid-template-columns:1fr;padding:68px 0 75px}.hero-art{min-height:420px}.hero-orbit{width:min(70vw,470px)}.display{max-width:760px;font-size:clamp(50px,8.2vw,76px)}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}}
@media(max-width:760px){.container{width:min(calc(100% - 30px),var(--max))}.nav-inner{min-height:68px}.brand{min-width:0}.brand span{font-size:10px}.brand img{width:36px;height:36px}.hamb{display:block}.menu{display:none;position:absolute;left:0;right:0;top:68px;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 20px;flex-direction:column;align-items:flex-start;gap:0}.menu.open{display:flex}.menu a{padding:10px 0;width:100%}.menu a:after{bottom:4px}.hero{padding:58px 0 55px;min-height:auto}.hero-art{min-height:300px;margin-top:10px}.hero-orbit{width:min(82vw,370px)}.orbit-label{font-size:8px;padding:7px 9px}.label-c{right:-3%}.display{font-size:clamp(43px,14vw,68px);line-height:.95}.lede{font-size:15px}.section{padding:76px 0}.section.compact{padding:60px 0}.section-head{display:block;margin-bottom:34px}.section-copy{margin-top:18px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{padding:22px 18px}.stat:nth-child(even){border-right:0}.stat b{font-size:31px}.page-hero{padding:68px 0 55px}.page-hero .display{font-size:clamp(43px,13vw,65px)}.intro h2{font-size:40px}.rule-item{grid-template-columns:40px minmax(0,1fr) 18px;gap:12px;padding:21px 0}.rule-item h3{font-size:18px}.rule-item p{font-size:13px}.process-visual{height:330px}.process-circle{width:230px;height:230px}.process-circle:before{inset:36px}.process-circle:after{inset:82px}.tech-grid{grid-template-columns:1fr 1fr}.tech-item{min-height:140px;padding:20px}.alt{grid-template-columns:1fr;min-height:auto}.alt:nth-child(even) .alt-copy{order:initial}.alt-visual{min-height:290px}.alt-copy{padding:43px 0}.alt-copy h2{font-size:38px}.bullet-grid{grid-template-columns:1fr}.value-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom a{margin:9px 14px 0 0}.cursor-glow{display:none}}
@media(max-width:430px){.container{width:calc(100% - 24px)}.display{font-size:clamp(40px,14vw,58px)}.hero-art{min-height:265px}.hero-orbit{width:78vw}.label-a{right:0}.label-b{left:0}.label-c{right:-2%}.btn{width:100%}.btn-row{display:grid;grid-template-columns:1fr}.stats{grid-template-columns:1fr}.stat{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.16)}.tech-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.cursor-glow{display:none}}


/* === FINAL VISUAL POLISH === */
/* Technology cards: charcoal on the dark section; hover uses a restrained graphite tone instead of white. */
.section.dark .tech-grid{background:#303030;border-color:#303030}
.section.dark .tech-item{background:#171717;color:#fff;border:0;min-height:165px;position:relative;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.section.dark .tech-item:after{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--red);transition:height .25s ease}
.section.dark .tech-item:hover{background:#242424;color:#fff;transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,.28)}
.section.dark .tech-item:hover:after{height:100%}
.section.dark .tech-item h3{color:#fff}
.section.dark .tech-icon{color:#ef4b50;border-color:rgba(239,75,80,.8);background:transparent}

/* Cleaner business cards on the home page. */
.vertical-card{background:#f8f5ee;border-color:#d7d0c4;min-height:300px}
.vertical-card:hover{background:#ebe4d8;box-shadow:0 18px 45px rgba(17,17,17,.10);transform:translateY(-4px)}
.vertical-card h3{max-width:330px}
.vertical-card a{position:relative;display:inline-flex;align-items:center;gap:7px;width:max-content;padding-bottom:5px}
.vertical-card a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--red);transform:scaleX(.35);transform-origin:left;transition:transform .25s ease}
.vertical-card:hover a:after{transform:scaleX(1)}

/* New business-verticals layout. */
.business-page .page-hero{background:#f8f5ee}
.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cfc7ba;border-top:1px solid #cfc7ba;border-left:1px solid #cfc7ba}
.business-tile{background:#f8f5ee;min-height:390px;padding:32px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.business-tile:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--red);transition:height .28s ease}
.business-tile:hover{background:#ebe4d8;transform:translateY(-3px);box-shadow:0 18px 40px rgba(17,17,17,.09);z-index:2}
.business-tile:hover:before{height:100%}
.business-tile .business-no{font:700 11px 'Manrope';letter-spacing:.18em;color:var(--red)}
.business-tile h2{font:800 29px/1.05 'Manrope';letter-spacing:-.045em;margin:42px 0 13px;max-width:330px}
.business-tile p{font-size:14px;color:var(--muted);max-width:410px;margin:0}
.business-capabilities{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}
.business-capabilities span{border:1px solid #d6cec1;padding:7px 9px;font-size:10px;color:#4f4a44;background:rgba(255,255,255,.32)}
.business-tile .business-link{margin-top:auto;padding-top:30px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.business-tile .business-link span{color:var(--red);margin-left:7px}
.business-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end;margin-bottom:55px}
.business-intro p{max-width:540px;color:var(--muted);font-size:16px}

/* Contact page: replace the form with a focused enquiry/contact card. */
.contact-layout{display:grid;grid-template-columns:1fr minmax(420px,.9fr);gap:70px;align-items:start}
.contact-card{border:1px solid #d7d0c4;background:#f8f5ee;padding:36px;position:relative}
.contact-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--red)}
.contact-card .contact-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--red)}
.contact-card h3{font:800 28px/1.1 'Manrope';margin:13px 0 28px}
.contact-detail{padding:17px 0;border-top:1px solid #d8d0c4}
.contact-detail:last-of-type{border-bottom:1px solid #d8d0c4}
.contact-detail strong{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}
.contact-detail span{color:var(--muted);font-size:15px}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.contact-note{max-width:570px;color:var(--muted);font-size:16px}

@media(max-width:1000px){
  .business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-intro{grid-template-columns:1fr;gap:15px}
  .contact-layout{grid-template-columns:1fr;gap:35px}
}
@media(max-width:760px){
  .business-grid{grid-template-columns:1fr}
  .business-tile{min-height:340px;padding:26px}
  .business-tile h2{font-size:26px;margin-top:30px}
  .contact-layout{gap:28px}
  .contact-card{padding:28px 24px}
}
