:root{--ink:#192923;--red:#bd3628;--line:#dce2dd;--soft:#f3f6f3;--serif:'Hiragino Mincho ProN','Yu Mincho',YuMincho,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}h1,h2,h3,p{margin:0}h2{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3rem);font-weight:500;line-height:1.65;letter-spacing:.06em}.wrap{width:min(1180px,88%);margin:auto}.header{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:white;position:sticky;top:0;z-index:10}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.brand:hover{text-decoration:none}.wordmark{font:bold 66px/.8 Georgia,serif;letter-spacing:-5px}.wordmark>span{color:var(--red)}.brand-sub{font-size:11px;line-height:1.5;letter-spacing:.16em;font-weight:700}.header nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.nav-contact{background:var(--ink);color:white;padding:14px 22px;display:flex;gap:26px}.menu-toggle{display:none}.hero{position:relative;margin:0 24px;color:white;min-height:700px;height:calc(100svh - 126px);max-height:950px;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-image{object-position:65% 50%}.hero-shade{background:linear-gradient(90deg,rgba(5,24,15,.77),rgba(5,24,15,.22) 66%,rgba(5,24,15,.06))}.hero-content{position:relative;padding:65px max(5%,calc((100vw - 1180px)/2 - 24px)) 100px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700}.hero h1{font-family:var(--serif);font-size:clamp(3.4rem,5.3vw,5.6rem);font-weight:500;line-height:1.4;letter-spacing:.08em;margin:27px 0 24px}.hero-copy{font-size:16px;line-height:2;letter-spacing:.06em}.light-button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;background:white;color:var(--ink);padding:14px 23px;margin-top:28px;font-size:14px;font-weight:600}.hero-foot{position:absolute;bottom:23px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:130px;padding-bottom:130px}.red{color:var(--red);margin-bottom:20px}.intro-text{padding-top:18px}.intro-text p+p{margin-top:23px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-head>p{font-size:15px;color:#546259}.service-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.service-list article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:38px 35px 40px 0}.service-list article:nth-child(even){padding-left:40px;border-left:1px solid var(--line)}.number{font:italic 28px/1.5 Georgia,serif;color:var(--red)}.category{font-size:12px;letter-spacing:.16em;color:#657069}.service-list h3{font-size:23px;letter-spacing:.03em;margin:6px 0 14px}.service-list article p:not(.category){color:#536058;font-size:15px;line-height:2}.service-list a{display:inline-flex;gap:40px;margin-top:23px;font-size:14px;font-weight:600}.services{padding-bottom:120px}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:50px 0}.footer p,.footer>a:last-child{font-size:12px}.skip{position:fixed;top:-100px;left:10px;background:white;z-index:30;padding:10px}.skip:focus{top:10px}.mobile-break{display:none}
@media(min-width:1600px){.hero-content{padding-top:90px}}
@media(max-width:1050px){.header nav{gap:18px}.header{padding:0 3%}.brand-sub{font-size:9px}.hero{min-height:680px}.hero-content{padding-top:60px}.header .wordmark{font-size:56px}}
@media(max-width:800px){html{scroll-padding-top:80px}.header{height:80px;padding:0 6%}.header .brand-sub{font-size:10px}.menu-toggle{display:flex;gap:16px;align-items:center;font-size:14px;background:none;border:0;padding:12px 0}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:18px 6% 28px;box-shadow:0 15px 20px #0001}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a{padding:15px 5px}.header nav .nav-contact{padding:14px 18px;margin-top:10px;justify-content:space-between}.hero{margin:0 12px;min-height:650px;height:calc(100svh - 92px);max-height:800px}.hero-content{padding:48px 7% 90px}.hero h1{font-size:clamp(2.8rem,8vw,4rem);margin-top:26px}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#081f16bc,#081f1640)}.hero-foot{font-size:10px;left:7%;right:7%}.hero-foot span:last-child{display:none}.eyebrow{font-size:11px}.intro{grid-template-columns:1fr;gap:30px;padding:80px 0}.intro-text{padding:0}.section-head{display:block}.section-head>p{margin-top:22px}.service-list{grid-template-columns:1fr}.service-list article,.service-list article:nth-child(even){padding:30px 0;border-left:0;gap:22px}.services{padding-bottom:80px}.footer{flex-wrap:wrap;padding:40px 0}.footer .brand{width:100%}.footer p{font-size:11px}.mobile-break{display:block}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.space-section{background:var(--soft);padding:85px 0}.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.space-photo{position:relative;aspect-ratio:1/1}.space-photo img{width:100%;height:100%;object-fit:cover}.space-photo>span{position:absolute;bottom:23px;left:26px;color:#fff;font-size:12px;letter-spacing:.2em;text-shadow:0 1px 8px black}.space-copy h2{font-size:clamp(1.7rem,2.5vw,2.5rem)}.space-copy>p:not(.eyebrow){margin-top:22px;font-size:15px}.dark-button{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;margin-top:27px;background:var(--ink);color:white;padding:15px 23px;font-size:14px}.space-copy .note{font-size:12px!important;color:#5d6b62;margin-top:13px!important}.project{text-align:center;padding:120px 0;border-bottom:1px solid var(--line)}.project h2{font-size:clamp(2rem,3.5vw,3.4rem)}.project>p:not(.eyebrow){margin:25px 0;line-height:2.2}.text-link{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:6px}.news{padding:100px 0 120px}.section-note{font-size:14px;color:#657069}.news-list{border-top:1px solid var(--line)}.news-list article{display:grid;grid-template-columns:145px 110px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:27px 0;align-items:start}.news-list time{font-size:14px;font-variant-numeric:tabular-nums;padding-top:4px}.tag{font-size:12px;background:var(--soft);text-align:center;padding:4px 10px}.news h3{font-size:17px;font-weight:500}.news article p{font-size:14px;color:#5d6b62;margin-top:6px}.company-section{background:var(--soft);padding:100px 0}.company{display:grid;grid-template-columns:.85fr 1.4fr;gap:70px}.company-intro{margin-top:28px;font-size:15px}.company-data{margin:0;font-size:14px}.company-data>div{display:grid;grid-template-columns:100px 1fr;gap:28px;border-bottom:1px solid #d7ded8;padding:18px 0}.company-data>div:first-child{padding-top:0}.company-data dt{color:#667269}.company-data dd{margin:0;overflow-wrap:anywhere}.company-data .text-link{margin-top:9px}.contact-section{background:#183b2d;color:#fff;padding:80px 0}.contact{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:60px}.contact h2{font-size:clamp(1.7rem,2.7vw,2.6rem);margin:20px 0}.contact>div>p:not(.eyebrow){font-size:14px}.contact-actions{text-align:center}.contact-actions .light-button{width:100%;margin-top:0}.contact-note{font-size:12px!important;opacity:.8;margin-top:8px}.phone{display:inline-block;font:32px/1.4 Georgia,serif;letter-spacing:.04em;margin-top:25px}.email-link{display:inline-block;font-size:14px;border-bottom:1px solid #ffffff70;margin-top:18px}
@media(max-width:800px){.space-section{padding:55px 0}.space-grid{grid-template-columns:1fr;gap:36px}.space-photo{aspect-ratio:1.2}.space-copy h2{font-size:1.9rem}.project{padding:75px 0}.news{padding:75px 0}.news .section-note{display:block;margin-top:14px}.news-list article{grid-template-columns:auto 1fr;gap:12px 20px}.news-list .tag{justify-self:start}.news-list article>div{grid-column:1/-1}.company-section{padding:70px 0}.company{grid-template-columns:1fr;gap:35px}.company-data>div{grid-template-columns:75px 1fr;gap:15px}.contact-section{padding:60px 0}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:1.75rem}.contact-actions{max-width:420px;width:100%;margin:auto}.contact>div>p:not(.eyebrow){font-size:14px}}

/* Shared ARU wordmark */
.brand .aru-logo{display:block;width:264px;height:64px;max-width:100%;object-fit:contain;object-position:left center;flex-shrink:0}.brand{letter-spacing:normal}
@media(max-width:1050px){.header .brand .aru-logo{width:231px;height:56px}}
@media(max-width:600px){.brand .aru-logo,.header .brand .aru-logo{width:206px;height:50px}}

.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(5,22,46,.74),rgba(5,22,46,.3) 53%,rgba(5,22,46,.02))}@media(max-width:800px){.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(5,22,46,.76),rgba(5,22,46,.35))}.hero-foot span:last-child{display:inline;font-size:10px;letter-spacing:.04em}}

.space-photo{aspect-ratio:3/2}.space-photo>span{background:rgba(25,41,35,.8);padding:6px 10px;bottom:14px;left:14px;letter-spacing:.06em;text-shadow:none}

.company-summary{padding:65px 0;border-bottom:1px solid var(--line)}.company-summary>p:first-child{font-size:12px;letter-spacing:.1em;color:#59675e;margin-bottom:18px}.company-summary h2{font-size:clamp(1.6rem,2.7vw,2.35rem)}.company-summary>p:not(:first-child){margin:22px 0;font-size:15px}.business-heading{padding:75px 0 55px}.business-heading h1{font:500 clamp(2rem,4vw,3.3rem)/1.65 var(--serif);letter-spacing:.04em;margin:0 0 25px}.business-heading>p:last-of-type{color:#536058}.business-nav{display:flex;flex-wrap:wrap;gap:16px 30px;padding-top:36px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.business-service{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:65px 0;border-top:1px solid var(--line)}.business-service h2{font-size:clamp(1.7rem,2.8vw,2.5rem)}.business-lead{margin-top:24px;font-size:15px;color:#536058}.business-service h3{font-size:17px;margin:0 0 12px}.business-service ul{padding-left:1.25em;margin:0 0 30px}.business-service li,.business-service>div>p:not(.eyebrow){font-size:15px;line-height:2}.business-process{background:var(--soft);padding:70px 0}.process-list{list-style:none;margin:38px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-list span{font:italic 28px Georgia;color:var(--red)}.process-list h3{font-size:20px;margin:16px 0}.process-list p{font-size:14px}.business-faq{padding:80px 0}.business-faq h2{margin-bottom:35px}.business-faq details{border-top:1px solid var(--line);padding:23px 0}.business-faq details:last-child{border-bottom:1px solid var(--line)}.business-faq summary{font-size:16px;cursor:pointer;font-weight:600}.business-faq details p{margin:18px 0 0;font-size:15px;max-width:800px;color:#536058}.business-company{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:0 0 80px}.business-company h3{font-size:20px;margin-bottom:14px}.business-company p{font-size:15px;margin-bottom:18px}
@media(max-width:800px){.company-summary{padding:40px 0}.business-heading{padding:40px 0}.business-nav{gap:12px 24px}.business-service,.business-company{grid-template-columns:1fr;gap:26px}.business-service{padding:45px 0}.business-process{padding:50px 0}.process-list{grid-template-columns:1fr;gap:32px}.business-faq{padding:55px 0}.business-company{padding-bottom:50px}}

/* Brand colour: coral warmth, electric blue and violet. */
:root{--ink:#182642;--red:#bd3628;--line:#dce3ef;--soft:#f0f5ff}
.header{border-bottom:3px solid transparent;border-image:linear-gradient(90deg,#bd3628,#365de2 55%,#7547bc) 1}
.nav-contact,.dark-button{background:#2852bc;border-radius:4px;box-shadow:0 5px 16px #2852bc18}
.company-summary{border-bottom:3px solid #365de2}.company-summary>p:first-child{color:#2852bc}
.services{padding-top:65px}.service-list{gap:20px;border:0}
.service-list article,.service-list article:nth-child(even){--accent:#2852bc;--tint:#eff4ff;padding:30px;border:1px solid #dbe4f7;border-top:4px solid var(--accent);border-radius:12px;background:var(--tint);gap:18px;transition:box-shadow .2s ease}
.service-list article:nth-child(4n+1){--accent:#b8362b;--tint:#fff2ee;border-color:#f2ddd8;border-top-color:var(--accent)}
.service-list article:nth-child(4n+3){--accent:#087c83;--tint:#edfafa;border-color:#cde9e9;border-top-color:var(--accent)}
.service-list article:nth-child(4n+4){--accent:#7542ae;--tint:#f5efff;border-color:#e4d8f4;border-top-color:var(--accent)}
.service-list .number{color:var(--accent);font-size:30px}.service-list .category{color:var(--accent);font-weight:700}
.service-list h3{font-size:22px;line-height:1.6}.service-list article p:not(.category){font-size:16px;color:#3f5068}
.service-list article>div{min-width:0}.service-list a{color:var(--accent);gap:14px;line-height:1.8}.service-list article:hover{box-shadow:0 10px 28px #263c6a0e}
.space-section{background:#eef5ff}.space-copy .eyebrow{color:#2852bc}
.project{background:linear-gradient(120deg,#fff2ee,#f3eeff 65%,#edf5ff);width:100%;padding-left:6%;padding-right:6%;border:0}.project .text-link{color:#6532a1}
.tag{background:#eaf0ff;color:#2852bc;border-radius:4px;font-weight:600}.news-list article:nth-child(2) .tag{background:#f0e9fc;color:#67369e}
.company-section{background:#f0f4fc}.contact-section{background:linear-gradient(115deg,#173c87,#343075 65%,#563176)}
.business-nav a{color:#2852bc}.business-service{border-top:3px solid #365de2}.business-service#web-design{border-top-color:#b8362b}.business-service#connections{border-top-color:#7542ae}.business-process{background:#f0f4ff}
@media(max-width:800px){.services{padding-top:45px}.service-list{gap:16px}.service-list article,.service-list article:nth-child(even){padding:24px 20px;gap:14px}.service-list h3{font-size:20px}.service-list .number{font-size:25px}.service-list a{font-size:14px}.service-list article p:not(.category){font-size:16px}}
@media(prefers-reduced-motion:reduce){.service-list article{transition:none}}
