:root{--green:#1c71b9;--mint:#deedf9;--ink:#163a59;--muted:#5c6f80;--paper:#f8fbfe;--line:#d8e4ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #be771f;outline-offset:5px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:0}header,footer{max-width:1320px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:29px;line-height:1.1;letter-spacing:-1px}.brand small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:7px}.brand-icon{font-size:38px;font-weight:400}nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}nav>a:not(.button):hover,.text-link:hover{color:#1c71b9}.button{display:inline-flex;align-items:center;gap:28px;background:var(--green);color:white;padding:16px 23px;border-radius:6px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#155c99;transform:translateY(-2px)}.button span{font-size:20px}.button.small{padding:10px 18px;gap:20px}.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;min-height:600px;padding:68px 5% 72px;gap:42px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold;margin:0 0 24px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1c71b9;margin-right:8px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2.7px;line-height:1.08;margin:0 0 26px}h1{font-size:clamp(44px,5vw,70px)}h1 em{color:#1c71b9;font-weight:400}h2{font-size:clamp(34px,3.6vw,49px);letter-spacing:-1.6px}h3{font-weight:600;line-height:1.3}.lead{max-width:460px;color:var(--muted);font-size:18px;line-height:1.8}.actions{display:flex;align-items:center;gap:24px;margin:30px 0}.text-link{font-size:13px;font-weight:bold}.hero-foot{font-size:11px;color:var(--muted);margin-top:32px}.hero-art{position:relative;min-height:460px;background:#e1eef9;border-radius:48% 48% 8px 8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid #bed8ec;border-radius:50%;width:410px;height:410px}.orbit-two{width:540px;height:540px}.art-plus{position:absolute;right:38px;top:50px;color:#82b4dc;font-size:50px}.profile{width:78%;background:#ffffff;z-index:1;transform:rotate(-6deg);border:1px solid #c8ddeb;border-radius:12px;padding:23px;box-shadow:0 18px 40px #164c7821}.profile-top{font-size:8px;letter-spacing:1px;display:flex;align-items:center;gap:10px}.mini-cross{font-size:23px}.profile-top i{width:7px;height:7px;border-radius:50%;background:#62a0d1;margin-left:auto}.person{display:flex;gap:15px;align-items:center;margin:24px 0 13px}.avatar{height:48px;width:48px;border-radius:50%;background:#e1eef9;display:grid;place-items:center;font-size:32px}.person strong{font-family:Georgia,serif;font-weight:400;font-size:20px}.person small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.pulse{width:100%;height:75px}.profile-lines{display:flex;flex-direction:column;gap:9px;margin:12px 0 22px}.profile-lines span{background:#e5eff7;height:5px;width:90%;border-radius:2px}.profile-lines span:nth-child(2){width:65%}.profile-lines span:nth-child(3){width:78%}.profile-bottom{font-size:8px;letter-spacing:1px;border-top:1px solid #e1eaf1;padding-top:15px}.art-label{position:absolute;background:#ffffff;border-radius:50px;padding:10px 17px;z-index:2;font-size:11px;box-shadow:0 8px 24px #164c7814}.art-label span{color:#1c71b9;margin-right:7px}.label-one{top:80px;left:22px;transform:rotate(-4deg)}.label-two{bottom:86px;right:16px;transform:rotate(5deg)}.art-caption{position:absolute;bottom:28px;font-family:Georgia,serif;font-style:italic;color:#35688f;font-size:16px}.principles{background:var(--green);color:#ffffff;padding:25px 5%;display:flex;justify-content:space-evenly;gap:20px;font-size:13px}.principles span:before{content:'✧';margin-right:16px;color:#d3e8fa}.section{max-width:1320px;margin:auto;padding:88px 5%}.about{display:grid;grid-template-columns:1fr 2fr;gap:70px}.about>div{max-width:760px}.about p:not(.eyebrow){color:var(--muted);max-width:670px}.about .text-link{display:inline-block;margin-top:14px}.services{background:#edf5fc;border-radius:12px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;color:var(--muted);font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service{background:var(--paper);padding:30px;border:1px solid var(--line);border-radius:8px}.number{font-size:12px;color:#607c92;letter-spacing:2px}.service h3{font-size:21px;margin:24px 0 12px}.service-intro{font-family:Georgia,serif;color:var(--ink)!important;font-size:17px!important;line-height:1.5}.service p{font-size:13px;color:var(--muted)}.service ul{padding:18px 0 0;margin:20px 0 0;list-style:none;border-top:1px solid var(--line);font-size:12px}.service li{padding:5px 0}.service li:before{content:'✓';color:#1c71b9;margin-right:8px}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:50px 0 0}.steps span{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--mint);border-radius:50%;font-size:13px}.steps h3{font-size:18px}.steps p{font-size:14px;color:var(--muted)}.projects{border-top:1px solid var(--line)}.project-list article{border-top:1px solid var(--line);padding:27px 70px 27px 0;position:relative;display:grid;grid-template-columns:180px 1fr;column-gap:28px}.project-list article>span{font-size:9px;letter-spacing:1.5px;padding-top:5px;color:#1c71b9}.project-list h3{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:400}.project-list p{grid-column:2;margin:8px 0 0;color:var(--muted);font-size:13px}.project-list b{position:absolute;right:0;top:29px;font-weight:400;font-size:13px;color:#607c92}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600;font-size:15px}details p{font-size:14px;color:var(--muted);padding-right:20px}.contact{background:var(--green);color:#ffffff;border-radius:12px;display:grid;grid-template-columns:1.8fr 1fr;gap:70px}.contact .eyebrow{color:#e1f0ff}.contact p{font-size:14px;color:#e6f2fc;max-width:460px}.light{background:#ffffff;color:var(--green);margin-top:20px}.light:hover{background:white}.contact-details{border-left:1px solid #89b5db;padding:16px 0 16px 48px;align-self:center}.contact-details>span{display:block;font-size:10px;letter-spacing:2px;color:#e1f0ff}.contact-details>a:not(.map-link){font-size:27px;display:block;margin:18px 0}.map-link{font-size:12px;text-decoration:underline;text-underline-offset:5px}footer{padding-top:40px;padding-bottom:40px}footer p,footer>a:last-child{font-size:12px;color:var(--muted)}@media(min-width:1400px){.hero{min-height:680px}}@media(max-width:1000px){nav{gap:16px}.service-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:52px}.actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-art{min-height:420px}.contact{gap:35px}.contact-details{padding-left:28px}}@media(max-width:720px){header{flex-direction:column;align-items:flex-start;padding:22px 6%}nav{width:100%;gap:17px;flex-wrap:wrap;font-size:12px}nav .button{padding:6px 12px}.hero{grid-template-columns:1fr;padding:40px 6% 45px;gap:34px}.hero-art{min-height:390px;max-width:480px;width:100%;margin:auto}h1{font-size:51px;letter-spacing:-2px}.lead{font-size:16px}.actions{flex-direction:row;align-items:center;flex-wrap:wrap}.hero-foot{margin-top:22px}.principles{display:grid;grid-template-columns:1fr 1fr;font-size:11px;padding:22px 6%;gap:14px}.principles span:before{margin-right:7px}.section{padding:58px 6%}.about,.faq,.contact{grid-template-columns:1fr;gap:25px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:23px}.service-grid{grid-template-columns:1fr}.service{padding:26px}.steps{grid-template-columns:1fr 1fr;gap:25px}.project-list article{grid-template-columns:1fr;padding-right:30px}.project-list h3{margin-top:10px;font-size:22px}.project-list p{grid-column:1}.contact{border-radius:0}.contact-details{border-left:0;border-top:1px solid #89b5db;padding:25px 0 0}footer{flex-wrap:wrap;padding:30px 6%}footer .brand{width:100%}.eyebrow{font-size:10px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Updated identity, clients and project galleries */
.brand-logo{width:175px;height:96px;object-fit:contain;display:block}.brand{flex-shrink:0}header{padding-top:10px;padding-bottom:10px}nav{gap:23px}.service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.service{grid-column:span 2}.service:nth-child(n+4){grid-column:span 3}.clients{border-top:1px solid var(--line)}.client-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.client{background:white;border:1px solid var(--line);border-radius:8px;text-align:center;padding:28px 20px}.client-logo{height:105px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.client-logo img{max-width:100%;max-height:95px;width:auto;object-fit:contain}.client h3{font-size:15px;margin:0}.rotary-placeholder{font-family:Georgia,serif;font-size:28px;color:#174c91}.rotary-placeholder small{display:block;font-family:Arial,sans-serif;font-size:14px;letter-spacing:1px}.gallery-link{grid-column:2;justify-self:start;margin-top:15px;font-size:12px;font-weight:600;color:var(--green);border-bottom:1px solid #a9c9e4}.project-list h3 a:hover{color:var(--green)}button{font-family:inherit;cursor:pointer}button:focus-visible{outline:3px solid #be771f;outline-offset:4px}dialog{padding:32px;border:0;border-radius:14px;width:min(900px,calc(100% - 32px));max-height:90dvh;color:var(--ink);background:var(--paper);box-shadow:0 25px 90px #0d2f5540}dialog::backdrop{background:#102f50b8;backdrop-filter:blur(5px)}body.gallery-open{overflow:hidden}.gallery-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.gallery-header .eyebrow{margin-bottom:12px}.gallery-header h2{font-size:32px;letter-spacing:-1px;margin-bottom:8px}.gallery-close{background:#e1eef9;border:0;color:var(--ink);border-radius:50%;width:40px;height:40px;font-size:27px;flex-shrink:0}#gallery-description{font-size:14px;color:var(--muted)}.gallery-empty{text-align:center;padding:60px 20px;border:1px dashed #bdd4e7;border-radius:8px;background:#edf5fc;margin-top:24px}.gallery-empty>span{font-size:45px;color:#1c71b9}.gallery-empty h3{margin:12px 0 5px}.gallery-empty p{color:var(--muted);font-size:14px}.gallery-content figure{margin:20px 0 0}#gallery-image{display:block;width:100%;max-height:52dvh;object-fit:contain;background:#e7eef5;border-radius:8px}#gallery-caption{text-align:center;color:var(--muted);font-size:13px;margin-top:10px}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin:16px 0}.gallery-controls button{background:var(--green);color:white;border:0;border-radius:6px;padding:9px 15px;font-size:18px}.gallery-controls button:disabled{opacity:.4;cursor:default}#gallery-count{font-size:13px}.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:5px}.gallery-thumbnails button{padding:3px;border:2px solid transparent;background:white;border-radius:6px;flex-shrink:0}.gallery-thumbnails button[aria-current="true"]{border-color:var(--green)}.gallery-thumbnails img{width:75px;height:55px;object-fit:cover;display:block;border-radius:3px}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service,.service:nth-child(n+4){grid-column:span 1}.service:last-child{grid-column:span 2}}@media(max-width:720px){header{padding:8px 6% 20px}.brand-logo{width:150px;height:82px}.service-grid,.client-grid{grid-template-columns:1fr}.service,.service:nth-child(n+4),.service:last-child{grid-column:1}.client-logo{height:90px}.gallery-link{grid-column:1}dialog{padding:22px}.gallery-header h2{font-size:25px}.gallery-empty{padding:38px 16px}.contact-details{border-top-color:#89b5db}}

.contact-form{grid-column:1/-1;border-top:1px solid #89b5db;padding-top:32px;margin-top:4px}.contact-form h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 8px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;max-width:780px}.form-wide{grid-column:1/-1}.contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.contact-form label span{font-size:11px;font-weight:400;color:#e1f0ff}.contact-form input,.contact-form textarea{width:100%;border:1px solid #bdd6ea;border-radius:6px;padding:12px 14px;font:inherit;font-size:15px;background:#fff;color:#163a59}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid #ffd077;outline-offset:2px}.contact-form .form-note{max-width:780px;font-size:12px;line-height:1.6;margin:18px 0 0}.contact-form .button{border:0}.enquiry-result{max-width:780px;margin-top:24px}.copy-enquiry{background:white;color:#155c99;border:0;border-radius:5px;padding:10px 16px;margin-top:12px;font-weight:bold}.contact-form .form-status{max-width:780px;color:white;font-size:13px}.client-logo img[src*="rotary"]{max-height:105px}@media(max-width:720px){.form-fields{grid-template-columns:1fr}.contact-form{padding-top:25px}.form-wide{grid-column:1}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form button:disabled{opacity:.65;cursor:wait}

/* Compact contact section: introduction and details left, enquiry form right. */
.contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;padding-top:60px;padding-bottom:60px;align-items:start}.contact-intro h2{font-size:clamp(34px,3.4vw,46px)}.contact-intro .eyebrow{line-height:1.7}.contact-intro>.button{margin-top:12px}.contact-intro .contact-details{border-left:0;border-top:1px solid #89b5db;padding:24px 0 0;margin-top:30px}.contact-intro .contact-details>a:not(.map-link){font-size:25px;margin:10px 0}.contact-intro .contact-details p{margin:12px 0}.contact .contact-form{grid-column:auto;border-top:0;border-left:1px solid #89b5db;padding:0 0 0 36px;margin:0;min-width:0}.contact-form>p{margin:8px 0 0}.contact-form .form-fields{gap:14px;margin-top:20px}.contact-form textarea[name="message"]{min-height:110px}.contact-form .button{margin-top:16px;padding:12px 20px}.contact-form .form-status:empty{display:none}@media(max-width:900px){.contact{gap:30px}.contact .contact-form{padding-left:24px}.contact .form-fields{grid-template-columns:1fr}.contact .form-wide{grid-column:1}}@media(max-width:720px){.contact{grid-template-columns:1fr;gap:34px;padding-top:45px;padding-bottom:45px}.contact .contact-form{border-left:0;border-top:1px solid #89b5db;padding:28px 0 0}.contact-intro .contact-details{margin-top:24px}}

.about-visual{min-width:0}.about-visual img{display:block;width:100%;height:260px;object-fit:cover;object-position:65% center;border-radius:8px}.about-visual .eyebrow{margin-bottom:20px}@media(max-width:720px){.about-visual img{height:auto;aspect-ratio:4/3;max-height:340px}}

/* Alternating full-width bands; retain the existing content width and contact design. */
main>.section:not(.contact){position:relative;isolation:isolate}
main>.section:not(.contact)::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;clip-path:inset(0 -100vmax)}
main>.services{background:transparent;border-radius:0}
main>.services::before,main>.projects::before,main>.faq::before{background:#edf5fc;box-shadow:0 0 0 100vmax #edf5fc}
main>.projects,main>.faq{border-top:0}

/* Full-width contact background. */
main>.contact{position:relative;isolation:isolate;background:transparent;border-radius:0}main>.contact::before{content:'';position:absolute;inset:0;z-index:-1;background:#1c71b9;box-shadow:0 0 0 100vmax #1c71b9;clip-path:inset(0 -100vmax);pointer-events:none}
