/* Supplied studio composition, rebuilt with Media Miners brand tokens. */
body.gd-route { background: #faf8f4; }
body.gd-route .mm-sticky-contact-actions { display: none; }
body.gd-modal-open { overflow: hidden; }
.gd { --gd-paper:#faf8f4; --gd-ink:#151318; --gd-purple:#6232ff; --gd-green:#ceff1c; --gd-muted:#68636e; --gd-pad:clamp(22px,4.7vw,90px); background:var(--gd-paper); color:var(--gd-ink); font:400 16px/1.55 Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.gd * { box-sizing:border-box; }
.gd :is(h1,h2,h3,h4,p,figure,ol) { margin:0; color:inherit; }
.gd :is(h1,h2,h3,h4) { font-family:Manrope,Arial,sans-serif; letter-spacing:-.045em; text-wrap:balance; }
.gd h2 { font-size:clamp(34px,3.7vw,70px); font-weight:650; line-height:1.2; }
.gd h3 { font-size:clamp(21px,2vw,34px); font-weight:700; line-height:1.25; }
.gd :is(a,button,input,select,textarea) { font:inherit; }
.gd a { color:inherit; text-decoration:none; }
.gd button { cursor:pointer; color:inherit; }
.gd :is(button,a,summary) { touch-action:manipulation; }
.gd :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--gd-purple); outline-offset:5px; }
.gd ::selection { background:var(--gd-green); color:var(--gd-ink); }
.gd-pad { padding-inline:var(--gd-pad); }
.gd [id] { scroll-margin-top:30px; }
.gd-skip { position:fixed; left:16px; top:12px; z-index:100; padding:14px 20px; background:var(--gd-green); transform:translateY(-180%); }
.gd-skip:focus { transform:none; }
.gd-header { display:flex; align-items:center; justify-content:space-between; min-height:96px; gap:24px; position:relative; z-index:20; }
.gd-logo { font-size:clamp(15px,1.4vw,24px); letter-spacing:-.04em; font-weight:800; white-space:nowrap; }
.gd-desktop-nav { display:flex; gap:clamp(20px,2.4vw,44px); }
.gd-desktop-nav a { padding:12px 0; font-size:clamp(14px,1.25vw,22px); }
.gd-desktop-nav a:hover,.gd-text-link:hover { color:var(--gd-purple); }
.gd-header-actions { display:flex; align-items:center; gap:12px; }
.gd-mobile-menu { display:none; }
.gd .gd-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:14px 28px; border:1px solid transparent; border-radius:999px; font-size:clamp(14px,1.15vw,20px); font-weight:650; line-height:1.4; transition:background .2s,color .2s,box-shadow .2s; }
.gd .gd-primary { background:var(--gd-purple); color:#fff; }
.gd .gd-primary:hover { background:#4c22d3; box-shadow:0 6px 18px #6232ff20; }
.gd .gd-outline { border-color:#bbb5c2; background:transparent; }
.gd .gd-outline:hover { background:#fff; border-color:var(--gd-purple); }
.gd .gd-dark { background:var(--gd-ink); color:#fff; }
.gd .gd-dark:hover { background:var(--gd-green); color:var(--gd-ink); }
.gd-actions { display:flex; flex-wrap:wrap; gap:18px; }
.gd-hero { display:grid; grid-template-columns:43% 57%; align-items:center; min-height:clamp(420px,30vw,580px); padding-bottom:25px; }
.gd-hero-copy { padding:38px 0 38px var(--gd-pad); position:relative; z-index:1; }
.gd-eyebrow { font-size:clamp(11px,.78vw,14px); font-weight:650; letter-spacing:.2em; color:var(--gd-muted)!important; margin-bottom:20px!important; }
.gd h1 { font-size:clamp(48px,5.2vw,100px); font-weight:800; line-height:1.12; letter-spacing:-.06em; }
.gd h1 span { color:var(--gd-purple); }
.gd-intro { max-width:590px; font-size:clamp(17px,1.45vw,27px); line-height:1.45; color:var(--gd-muted)!important; margin-block:18px 28px!important; }
.gd-hero-art { width:100%; overflow:hidden; }
.gd-hero-art img { display:block; width:100%; height:auto; aspect-ratio:1.9; object-fit:cover; }
.gd-capabilities { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-block:1px solid #e4e0da; font-size:clamp(13px,1vw,18px); font-weight:600; }
.gd-capabilities>span { display:flex; align-items:center; gap:12px; }
.gd-capability-icon { font-size:22px; font-family:Arial,sans-serif; line-height:1; }
.gd-work { padding-top:42px; padding-bottom:clamp(60px,8vw,145px); }
.gd-section-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; }
.gd-section-heading h2 { font-size:clamp(32px,3.25vw,58px); font-weight:800; }
.gd-text-link { display:inline-flex; align-items:center; min-height:44px; gap:12px; font-size:14px; color:var(--gd-muted)!important; }
.gd-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gd-project { display:block; border:0; padding:0; background:none; width:100%; text-align:left; }
.gd-project-art { aspect-ratio:850/405; border-radius:6px; overflow:hidden; background:#e7dbef; }
.gd-project-art>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.gd-project:hover .gd-project-art>img { transform:scale(1.035); }
.gd-project h3 { display:flex; align-items:center; gap:6px; font-size:clamp(16px,1.05vw,20px); margin-top:13px; letter-spacing:-.025em; }
.gd-project h3 span { transition:transform .2s; }
.gd-project:hover h3 span { transform:translate(3px,-3px); }
.gd-project-category { font-size:clamp(13px,.98vw,18px); color:var(--gd-muted)!important; margin-top:7px!important; }
.gd-work-note { margin-top:24px!important; font-size:12px; color:var(--gd-muted)!important; }
.gd-poster { height:100%; min-height:100%; background:var(--gd-purple); color:var(--gd-green); position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:center; padding:8% 7%; }
.gd-poster:before { content:''; position:absolute; z-index:-1; width:70%; aspect-ratio:1; border:1px solid #ffffff40; border-radius:50%; right:-20%; top:-35%; box-shadow:0 0 0 17px #ffffff09,0 0 0 36px #ffffff09,0 0 0 56px #ffffff09; }
.gd-poster strong { font-size:clamp(28px,3.2vw,60px); line-height:.97; letter-spacing:-.07em; transform:rotate(-5deg); font-weight:800; }
.gd-poster-top,.gd-poster-bottom { position:absolute; left:7%; font-size:clamp(7px,.55vw,10px); letter-spacing:.17em; font-weight:650; }
.gd-poster-top { top:8%; color:#fff; }
.gd-poster-bottom { bottom:8%; }
.gd-poster-arrow { position:absolute; font-size:clamp(60px,7vw,130px); line-height:1; right:5%; top:12%; opacity:.32; }
.gd-services { padding-block:35px clamp(65px,7vw,135px); }
.gd-section-intro { color:var(--gd-muted)!important; font-size:clamp(17px,1.3vw,24px); margin-block:38px!important; }
.gd-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.gd-service-grid article { display:flex; flex-direction:column; align-items:flex-start; background:#fff; border-radius:22px; padding:32px; min-height:255px; }
.gd-service-grid p { font-size:clamp(16px,1.3vw,23px); color:var(--gd-muted)!important; line-height:1.5; margin-top:22px!important; }
.gd-service-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; border:0; padding:15px 0 0; background:none; color:var(--gd-purple)!important; font-size:16px!important; font-weight:650!important; margin-top:auto; }
.gd-service-link:hover { text-decoration:underline; text-underline-offset:5px; }
.gd-reason { background:#241831; color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:9%; padding-block:clamp(64px,7.5vw,144px); }
.gd-reason .gd-eyebrow { color:var(--gd-green)!important; letter-spacing:.025em; margin-bottom:38px!important; }
.gd-reason-copy { color:#d0c7db!important; font-size:clamp(17px,1.3vw,24px); line-height:1.55; max-width:690px; margin-top:38px!important; }
.gd-principles { display:grid; gap:35px; }
.gd-principles p { color:#d0c7db!important; font-size:clamp(17px,1.3vw,24px); margin-top:20px!important; }
.gd-process { padding-block:clamp(64px,7.5vw,140px); }
.gd-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px; list-style:none; padding:0; margin-top:52px!important; }
.gd-step-number { display:block; font-size:clamp(42px,4vw,72px); font-weight:650; line-height:1; letter-spacing:-.06em; color:var(--gd-purple); margin-bottom:26px; }
.gd-step-grid p { margin-top:20px!important; color:var(--gd-muted)!important; font-size:clamp(16px,1.3vw,23px); }
.gd-faq { padding-block:20px clamp(64px,5vw,95px); }
.gd-faq-list { display:grid; gap:28px; margin-top:44px; }
.gd-faq-list article { background:#fff; border-radius:18px; padding:28px 32px; }
.gd-faq-list h3 { font-size:clamp(19px,2vw,34px); }
.gd-faq-list button { display:flex; gap:20px; justify-content:space-between; align-items:center; width:100%; border:0; padding:0; background:none; text-align:left; min-height:44px; font-weight:700; letter-spacing:-.025em; }
.gd-faq-list button span { font-size:26px; color:var(--gd-purple); }
.gd-faq-list p { font-size:clamp(16px,1.3vw,23px); color:var(--gd-muted)!important; margin-top:14px!important; }
.gd-contact { background:var(--gd-purple); color:white; padding-block:clamp(64px,7.5vw,144px); }
.gd-contact h2 { font-size:clamp(46px,6.3vw,118px); font-weight:750; line-height:1.12; max-width:1400px; }
.gd-contact-intro { font-size:clamp(17px,1.3vw,24px); margin-block:36px!important; max-width:1100px; }
.gd-brief-tip { margin-block:32px!important; font-size:clamp(13px,1vw,18px); }
.gd-enquiry { background:var(--gd-paper); border-radius:26px; padding:clamp(24px,2.5vw,48px); color:var(--gd-ink); }
.gd-enquiry>h3 { font-weight:500; font-size:clamp(25px,2.25vw,40px); }
.gd-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px 34px; margin:30px 0; }
.gd-form-grid label { display:grid; gap:10px; font-size:15px; }
.gd-form-full { grid-column:1/-1; }
.gd :is(input,select,textarea) { width:100%; min-width:0; border:1px solid #e4e0e7; border-radius:10px; background:#fff; color:var(--gd-ink); padding:16px 20px; min-height:54px; font-size:16px; line-height:1.5; }
.gd :is(input,textarea)::placeholder { color:#746e7a; opacity:1; }
.gd textarea { resize:vertical; }
.gd-form-note { font-size:13px; color:var(--gd-muted)!important; margin-top:22px!important; }
.gd-draft { margin-top:30px; padding:25px; border:1px solid #6232ff55; border-radius:12px; background:#fff; }
.gd-draft h4 { font-size:22px; }
.gd-draft p { margin-block:12px!important; font-size:15px; }
.gd-draft textarea { margin-bottom:20px; }
.gd-draft:focus { outline:3px solid var(--gd-purple); outline-offset:4px; }
.gd-footer { background:var(--gd-ink); color:#fff; min-height:130px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:34px; }
.gd-footer p { color:#d0c7db; font-size:14px; }
.gd-footer nav { display:flex; gap:26px; flex-wrap:wrap; font-size:14px; }
.gd-footer nav a { min-height:44px; display:inline-flex; align-items:center; }
.gd-footer nav a:last-child { color:var(--gd-green); }
.gd-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.gd-dialog { width:min(1000px,94vw); max-width:none; max-height:90dvh; padding:0; background:var(--gd-paper); color:var(--gd-ink); border:1px solid #d4ccd9; border-radius:14px; overscroll-behavior:contain; }
.gd-dialog::backdrop { background:#151318c9; }
.gd-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 24px; font-size:12px; letter-spacing:.13em; }
.gd-dialog-header button { padding:10px; min-height:44px; background:none; border:0; font-size:15px; letter-spacing:0; }
.gd-dialog>img { width:100%; height:auto; display:block; }
.gd-dialog>.gd-poster { aspect-ratio:850/405; }
.gd-dialog>.gd-poster strong { font-size:clamp(44px,8vw,105px); }
.gd-dialog-copy { padding:26px; }
.gd-dialog-copy h2 { font-size:32px; }
.gd-dialog-copy p { margin-top:12px!important; font-size:17px; }
.gd-dialog-copy small { display:block; color:var(--gd-muted); margin-top:18px; }
@media(min-width:1800px) { .gd-hero-copy { padding-block:54px; } }
@media(max-width:1100px) {
  .gd-header { min-height:82px; gap:18px; }
  .gd-desktop-nav { gap:20px; }
  .gd-hero { grid-template-columns:48% 52%; }
  .gd h1 { font-size:clamp(44px,5.3vw,62px); }
  .gd-hero-art img { min-height:360px; object-position:45% center; }
  .gd .gd-button { padding:13px 22px; }
  .gd-hero .gd-actions { gap:10px; }
  .gd-service-grid { gap:20px; }
  .gd-service-grid article { padding:24px; }
  .gd-step-grid { gap:26px; }
  .gd-footer { flex-wrap:wrap; }
}
@media(max-width:760px) {
  .gd-header { min-height:80px; gap:12px; }
  .gd-logo { font-size:15px; }
  .gd-desktop-nav { display:none; }
  .gd-mobile-menu { display:block; position:relative; }
  .gd-mobile-menu summary { cursor:pointer; list-style:none; min-height:44px; display:flex; align-items:center; font-size:13px; padding:8px; }
  .gd-mobile-menu summary::-webkit-details-marker { display:none; }
  .gd-mobile-menu nav { position:absolute; right:0; top:calc(100% + 8px); width:230px; background:var(--gd-paper); border:1px solid #ddd5e4; border-radius:12px; box-shadow:0 12px 24px #15131815; padding:10px; display:grid; }
  .gd-mobile-menu nav a { padding:12px; min-height:44px; font-size:15px; }
  .gd-header-actions { gap:5px; }
  .gd-header .gd-button { min-height:44px; font-size:12px; padding:10px 15px; gap:6px; }
  .gd-hero { grid-template-columns:1fr; padding:0 0 20px; }
  .gd-hero-copy { padding:35px var(--gd-pad) 20px; }
  .gd h1 { font-size:clamp(48px,8.3vw,66px); }
  .gd-eyebrow { font-size:10px; letter-spacing:.17em; }
  .gd-intro { font-size:18px; max-width:500px; }
  .gd-hero .gd-actions { gap:12px; }
  .gd-hero-art img { min-height:0; height:auto; aspect-ratio:1.9; }
  .gd-capabilities { display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; padding-block:22px; font-size:13px; }
  .gd-capabilities>span { gap:10px; }
  .gd-work { padding-block:44px 60px; }
  .gd-section-heading { gap:14px; margin-bottom:22px; align-items:flex-start; }
  .gd-section-heading h2 { font-size:32px; }
  .gd-text-link { font-size:12px; gap:6px; }
  .gd-project-grid { grid-template-columns:1fr; gap:28px; }
  .gd-project h3 { font-size:18px; }
  .gd-project-category { font-size:14px; }
  .gd-poster strong { font-size:clamp(40px,9vw,68px); }
  .gd-poster-top,.gd-poster-bottom { font-size:10px; }
  .gd-poster-arrow { font-size:100px; }
  .gd-services { padding-block:20px 60px; }
  .gd h2 { font-size:clamp(32px,5.8vw,44px); }
  .gd-section-intro { font-size:17px; margin-block:24px!important; }
  .gd-service-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .gd-service-grid article { padding:24px; min-height:250px; border-radius:16px; }
  .gd-service-grid h3 { font-size:23px; }
  .gd-service-grid p { font-size:16px; margin-top:16px!important; }
  .gd-reason { grid-template-columns:1fr; gap:42px; padding-block:60px; }
  .gd-reason .gd-eyebrow { margin-bottom:24px!important; }
  .gd-reason-copy { margin-top:24px!important; }
  .gd-principles { gap:28px; }
  .gd-principles p { margin-top:10px!important; }
  .gd-process { padding-block:60px; }
  .gd-step-grid { grid-template-columns:1fr 1fr; gap:36px 26px; margin-top:36px!important; }
  .gd-step-number { margin-bottom:18px; }
  .gd-step-grid p { margin-top:12px!important; }
  .gd-faq { padding-block:0 60px; }
  .gd-faq-list { margin-top:28px; gap:16px; }
  .gd-faq-list article { padding:20px; border-radius:14px; }
  .gd-faq-list h3 { font-size:19px; }
  .gd-contact { padding-block:60px; }
  .gd-contact h2 { font-size:clamp(43px,7.4vw,60px); }
  .gd-contact-intro { margin-block:24px!important; }
  .gd-brief-tip { line-height:1.7; }
  .gd-enquiry { padding:24px; border-radius:18px; }
  .gd-form-grid { grid-template-columns:1fr; gap:22px; margin-block:24px; }
  .gd :is(input,select,textarea) { padding:14px; }
  .gd-enquiry>.gd-button { width:100%; }
  .gd-footer { align-items:flex-start; gap:20px; flex-direction:column; }
  .gd-footer nav { justify-content:space-between; width:100%; }
  .gd-dialog-copy { padding:20px; }
  .gd-draft { padding:18px; }
}
@media(max-width:440px) {
  .gd-header { padding-inline:16px; }
  .gd-header .gd-logo { font-size:13px; }
  .gd-header .gd-button { padding-inline:12px; }
  .gd-service-grid { grid-template-columns:1fr; }
  .gd-service-grid article { min-height:210px; }
  .gd-step-grid { gap:30px 20px; }
  .gd-step-grid h3 { font-size:21px; }
  .gd-step-grid p { font-size:16px; }
  .gd-hero .gd-button { font-size:13px; padding-inline:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .gd *, .gd *:before, .gd *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Expanded landing-page copy, using the existing studio typography and colours. */
.gd-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.gd-hero-copy { padding-block:44px; padding-right:24px; }
.gd-hero h1 { font-size:clamp(36px,3.55vw,64px); max-width:23ch; line-height:1.12; }
.gd-hero-subtitle { font-size:clamp(19px,1.65vw,27px); font-weight:600; letter-spacing:-.025em; line-height:1.45; margin-top:22px!important; }
.gd-hero .gd-intro { font-size:16px; line-height:1.7; max-width:62ch; margin-block:20px 28px!important; }
.gd-intro p+p { margin-top:14px; }
.gd-work .gd-section-heading { margin-bottom:18px; }
.gd-work-intro { font-size:17px; line-height:1.7; color:var(--gd-muted)!important; max-width:70ch; margin-bottom:30px!important; }
.gd-services>h2 { max-width:24ch; }
.gd-service-grid { margin-top:38px; }
.gd-service-grid h3 { font-size:clamp(22px,1.9vw,29px); line-height:1.25; text-wrap:pretty; }
.gd-service-grid p { font-size:16px; line-height:1.7; margin-top:18px!important; }
.gd-service-grid article { min-height:300px; }
.gd-service-link { margin-top:auto; padding-top:22px; }
.gd-reason h2 { max-width:20ch; }
.gd-connected-copy { align-self:center; font-size:clamp(17px,1.5vw,22px); line-height:1.75; color:#d0c7db; max-width:58ch; }
.gd-connected-copy p+p { margin-top:22px; }
.gd-story { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(32px,7vw,100px); padding-block:76px; border-top:1px solid #e4e0da; }
.gd-story h2 { font-size:clamp(34px,3.45vw,56px); max-width:21ch; }
.gd-story-copy { align-self:center; max-width:64ch; font-size:16px; line-height:1.8; color:var(--gd-muted); }
.gd-story-copy p+p { margin-top:18px; }
.gd-story-copy .gd-button { margin-top:26px; text-align:center; }
.gd-process { padding-block:70px; border-top:1px solid #e4e0da; }
.gd-step-grid h3 { font-size:clamp(23px,2vw,29px); line-height:1.25; }
.gd-step-grid p { font-size:16px; line-height:1.75; }
.gd-benefits { padding-block:70px; background:#efebf6; }
.gd-benefits>h2 { max-width:24ch; }
.gd-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:40px; }
.gd-benefit-grid article { border-top:1px solid #c7bbdb; padding-top:24px; }
.gd-benefit-grid h3 { font-size:clamp(22px,2vw,29px); }
.gd-benefit-grid p { font-size:16px; line-height:1.75; color:var(--gd-muted); margin-top:16px; }
.gd-local { background:#f1f0e8; }
.gd-faq { padding-top:70px; }
.gd-faq h2 { max-width:24ch; }
.gd-faq-list h3 { font-size:clamp(19px,1.8vw,27px); line-height:1.35; }
.gd-faq-list p { font-size:16px; line-height:1.75; max-width:82ch; }
.gd-faq-list p[hidden] { display:none; }
.gd-contact h2 { font-size:clamp(36px,4.8vw,78px); max-width:24ch; }
.gd-contact-intro { font-size:18px; line-height:1.7; }
.gd .gd-green { background:var(--gd-green); color:var(--gd-ink); }
.gd .gd-whatsapp { background:transparent; color:#fff; border-color:currentColor; }
.gd .gd-button:disabled { opacity:.5; cursor:not-allowed; }
.gd-whatsapp-note { font-size:13px; line-height:1.7; margin-top:18px!important; }
@media(max-width:1100px) {
  .gd-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gd-hero .gd-button { font-size:14px; padding-inline:20px; }
}
@media(max-width:760px) {
  .gd-hero { grid-template-columns:1fr; }
  .gd-hero-copy { padding:35px var(--gd-pad) 26px; }
  .gd-hero h1 { font-size:clamp(34px,7vw,48px); max-width:23ch; }
  .gd-hero-subtitle { font-size:20px; }
  .gd-work .gd-section-heading { flex-wrap:wrap; gap:10px; }
  .gd-work-intro { font-size:16px; }
  .gd-service-grid { grid-template-columns:1fr; gap:18px; margin-top:30px; }
  .gd-service-grid article { min-height:0; }
  .gd-service-link { margin-top:12px; padding-top:12px; }
  .gd-story { grid-template-columns:1fr; gap:26px; padding-block:52px; }
  .gd-story-copy .gd-button { max-width:100%; }
  .gd-process { padding-block:52px; }
  .gd-step-grid { grid-template-columns:1fr; gap:30px; }
  .gd-step-grid li { border-top:1px solid #e4e0da; padding-top:24px; }
  .gd-step-grid p { max-width:45ch; }
  .gd-benefits { padding-block:52px; }
  .gd-benefit-grid { grid-template-columns:1fr; gap:28px; margin-top:30px; }
  .gd-faq { padding-top:52px; }
  .gd-contact h2 { font-size:clamp(36px,7vw,50px); }
  .gd-contact-intro { font-size:17px; }
}
