*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#0b315e;font-family:Arial,sans-serif}a{color:inherit}header{height:180px;display:flex;align-items:center;padding:0 5.5%;gap:60px;background:#fff}.logo{width:185px;height:150px;object-fit:contain}header>a{margin-right:auto}header nav{display:flex;gap:43px;align-items:center}header nav a{text-decoration:none;font-size:15px;padding:60px 0 25px;position:relative}header nav .active:after{content:"";position:absolute;bottom:8px;left:0;right:0;height:2px;background:#c99c40}.headcontact{display:grid;gap:13px;font-size:14px;font-weight:600}.headcontact a{text-decoration:none}.menu{display:none}.hero{height:575px;display:grid;grid-template-columns:49% 51%;background:#faf8f3}.copy{padding:65px 5.5%}.line{height:3px;width:70px;background:#c89a3e;margin-bottom:18px}.copy h1{font:700 47px/1.14 Georgia,serif;margin:0 0 22px}.copy p{font:20px/1.55 Georgia,serif;color:#405976}.buttons{display:flex;gap:20px;margin-top:28px}.btn{padding:15px 34px;text-decoration:none;border-radius:4px;font-weight:700}.blue{background:#0b315e;color:white}.white{border:1px solid #0b315e;background:white}.heroimg{background:url("accounting-desk.jpg") center/cover;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}.services{text-align:center;padding:38px 5.5% 45px}.eyebrow{color:#bd882c;letter-spacing:2px;font-size:14px}.eyebrow i{display:inline-block;width:43px;height:1px;background:#c99c40;vertical-align:middle;margin-right:15px}.services h2{font:700 35px Georgia,serif;margin:15px 0 12px}.intro{color:#56687c;line-height:1.55}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;text-align:left}.grid article{display:flex;gap:18px;min-height:126px;padding:19px;border:1px solid #e7dcc9;background:#fdfbf7}.grid article>b{min-width:55px;height:55px;border-radius:50%;background:#0b315e;color:#d6a848;border:2px solid #d6a848;display:grid;place-items:center;font-size:14px}.grid h3{font:700 17px Georgia,serif;margin:4px 0 9px}.grid p{font-size:14px;color:#54677c;line-height:1.45;margin:0}.bottom{display:grid;grid-template-columns:47% 53%;min-height:330px}.pitch{background:#0b315e;color:white;padding:45px 6%}.pitch h2{font:700 34px/1.16 Georgia,serif;margin:12px 0}.pitch p{font:15px/1.5 Georgia,serif}.quote{display:inline-block;background:#d4a94e;color:#0b315e;padding:12px 24px;text-decoration:none;border-radius:4px;font-weight:bold}.details{padding:40px 10%;background:linear-gradient(90deg,#fbfaf6,#f2eee4);display:grid;gap:15px}.detail{display:flex;gap:18px;text-decoration:none}.detail>b{width:45px;height:45px;min-width:45px;border-radius:50%;background:#d0a44d;color:white;display:grid;place-items:center}.detail span{display:grid}.detail strong a{text-decoration:none}.detail small{color:#6e7e90;margin-top:3px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions a{font-size:12px;text-decoration:none;background:#0b315e;color:white;padding:8px 12px;border-radius:3px}footer{background:#082747;color:white;padding:16px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:40px;font-size:11px}footer img{width:160px;height:85px;object-fit:contain;background:white}footer nav{display:flex;gap:35px}footer a{text-decoration:none}.copyright{text-align:center;background:#061f39;color:#d4dce5;padding:12px;font-size:10px}@media(max-width:900px){header{height:90px;padding:5px 5%;gap:10px}.logo{width:110px;height:75px}.headcontact{display:none}.menu{display:block;border:0;background:none;font-size:27px}header nav{display:none;position:absolute;z-index:10;top:90px;left:0;right:0;background:white;padding:20px;flex-direction:column;gap:10px;box-shadow:0 5px 15px #0002}header nav.open{display:flex}header nav a{padding:10px}.hero{height:auto;grid-template-columns:1fr}.copy{padding:55px 6%}.copy h1{font-size:40px}.heroimg{height:360px;clip-path:none}.grid{grid-template-columns:1fr}.bottom{grid-template-columns:1fr}.details{padding:40px 6%}footer{flex-direction:column;text-align:center}footer nav{flex-wrap:wrap;justify-content:center}.intro br{display:none}}
/* Hero preview using the supplied Rangwako banner image */
.hero.hero-banner{
  height:575px;
  display:block;
  position:relative;
  overflow:hidden;
  background-image:url("hero-rangwako.jpeg");
  background-size:cover;
  background-position:center;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(3,29,54,.92) 0%,rgba(3,29,54,.72) 38%,rgba(3,29,54,.18) 67%,rgba(3,29,54,.04) 100%);
}
.banner-copy{position:relative;z-index:2;color:#fff;padding:64px 6%;max-width:720px}
.banner-copy .line{background:#d1a34c;width:64px;margin-bottom:18px}
.banner-copy .welcome{font:700 14px Arial,sans-serif;letter-spacing:1.7px;color:#ddb85f;margin:0 0 12px}
.banner-copy h1{font:700 58px/1.05 Georgia,serif;color:#fff;margin:0 0 20px}
.banner-copy .banner-lead{font:19px/1.55 Arial,sans-serif;color:#fff;margin:0}
.goldhero{background:#d1a34c;color:#fff;border:1px solid #d1a34c}
.clearhero{background:rgba(0,0,0,.12);color:#fff;border:1px solid #fff}
@media(max-width:900px){
 .hero.hero-banner{height:540px;background-position:58% center}
 .hero-overlay{background:linear-gradient(90deg,rgba(3,29,54,.95),rgba(3,29,54,.72) 62%,rgba(3,29,54,.25))}
 .banner-copy{padding:60px 6%}
 .banner-copy h1{font-size:44px}
 .banner-copy .banner-lead br{display:none}
}

/* About page */
.about-hero{min-height:410px;display:flex;align-items:center;padding:65px 6%;color:#fff;position:relative;background:linear-gradient(90deg,rgba(3,29,54,.95),rgba(3,29,54,.72) 55%,rgba(3,29,54,.15)),url("hero-rangwako.jpeg") center/cover}
.about-hero>div{max-width:760px}.about-kicker{color:#d9ad55;font-weight:800;letter-spacing:2px;font-size:13px}.about-hero h1{font:700 50px/1.08 Georgia,serif;margin:10px 0 18px}.about-hero>div>p:not(.about-kicker){font-size:19px;max-width:650px;line-height:1.6}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:85px 7%;align-items:center}.story-heading h2,.about-values h2,.help-copy h2,.about-cta h2{font:700 36px/1.15 Georgia,serif;margin:10px 0 18px}.eyebrow-text{color:#b9832b;letter-spacing:2px;font-weight:bold;font-size:13px}.story-copy{font-size:17px;color:#52677d;line-height:1.75}.about-values{text-align:center;padding:70px 6%;background:#f8f5ef}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px;text-align:left}.values-grid article{background:#fff;border:1px solid #e8dcc8;padding:30px}.values-grid b{color:#c39136;font-size:14px}.values-grid h3{font:700 22px Georgia,serif}.values-grid p{color:#5a6c80;line-height:1.6}.about-help{display:grid;grid-template-columns:1fr 1fr;min-height:520px}.help-photo{background:url("rangwako-team.jpg") center/cover;background-position:58% center}.help-copy{padding:65px 8%;align-self:center}.help-copy>p:not(.about-kicker){color:#5b6c80}.help-copy ul{padding-left:20px;line-height:2;color:#334e6b;margin-bottom:25px}.about-cta{background:#0b315e;color:white;padding:60px 7%;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.about-cta h2{margin-bottom:10px}.about-contact-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.about-contact-buttons a{background:#d2a54d;color:#0b315e;text-decoration:none;padding:13px 15px;border-radius:4px;font-weight:700;text-align:center}
@media(max-width:900px){.about-hero h1{font-size:40px}.about-story,.about-help,.about-cta{grid-template-columns:1fr}.about-story{padding:60px 6%}.values-grid{grid-template-columns:1fr}.help-photo{min-height:330px}.about-contact-buttons{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.about-contact-buttons{grid-template-columns:1fr}}

/* Full Services page */
.services-hero{min-height:430px;display:flex;align-items:center;padding:65px 6%;color:#fff;background:linear-gradient(90deg,rgba(3,29,54,.96),rgba(3,29,54,.72) 57%,rgba(3,29,54,.18)),url("hero-rangwako.jpeg") center/cover}
.services-hero>div{max-width:800px}.services-kicker{font-size:13px;letter-spacing:2px;color:#d8aa50;font-weight:800}.services-hero h1{font:700 51px/1.08 Georgia,serif;margin:10px 0 18px}.services-hero>div>p:not(.services-kicker){font-size:18px;line-height:1.65;max-width:720px}.service-intro{text-align:center;padding:70px 6% 48px}.service-intro .line{margin:0 auto 14px}.service-intro h2{font:700 37px Georgia,serif;margin:10px 0}.service-intro>p:last-child{color:#5c6d80}.service-category{padding:55px 6% 70px}.service-category.alt{background:#f8f5ef}.category-head{display:flex;gap:20px;align-items:center;margin-bottom:30px}.category-head>span{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#0b315e;color:#d7aa50;font:700 18px Georgia,serif}.category-head p{margin:0;color:#bd872d;font-size:12px;letter-spacing:2px;font-weight:800}.category-head h2{font:700 31px Georgia,serif;margin:4px 0 0}.service-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-detail-grid article{background:#fff;border:1px solid #e8dcc9;padding:27px;min-height:285px;display:flex;flex-direction:column}.service-icon{width:55px;height:55px;border-radius:50%;background:#0b315e;color:#d6a849;border:2px solid #d6a849;display:grid;place-items:center;font-size:11px;font-weight:800;margin-bottom:18px}.service-detail-grid h3{font:700 20px Georgia,serif;margin:0 0 12px}.service-detail-grid p{color:#5a6c80;line-height:1.6;font-size:14px;margin:0 0 18px}.service-detail-grid a{margin-top:auto;text-decoration:none;color:#a97520;font-weight:700;font-size:13px}.consulting-card{background:#fff;border:1px solid #e6d9c4;padding:40px;display:flex;justify-content:space-between;gap:60px;align-items:center}.consulting-card>div{max-width:760px}.consulting-card h3{font:700 28px Georgia,serif;margin:8px 0 12px}.consulting-card p:last-child{color:#5a6c80;line-height:1.7}.services-contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:65px 7%;background:#0b315e;color:#fff;align-items:center}.services-contact h2{font:700 36px Georgia,serif;margin:8px 0}.service-contact-card{background:#fff;color:#0b315e;padding:30px}.service-contact-card>p,.service-location{display:flex;gap:16px;text-decoration:none;margin:0 0 18px}.service-contact-card b{width:40px;height:40px;min-width:40px;border-radius:50%;background:#d0a44d;color:#fff;display:grid;place-items:center}.service-contact-card span{display:grid}.service-contact-card strong a{text-decoration:none}.service-contact-card small{color:#738092;margin-top:3px}
@media(max-width:1050px){.service-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.services-hero h1{font-size:40px}.services-contact{grid-template-columns:1fr}.consulting-card{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr}.category-head{align-items:flex-start}.service-category{padding:45px 6%}.consulting-card{padding:28px}}

/* Service enquiry chooser */
.enquiry-modal{position:fixed;inset:0;background:rgba(2,21,39,.72);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.enquiry-modal.open{display:flex}
.enquiry-dialog{width:min(500px,100%);background:#fff;color:#0b315e;padding:38px;position:relative;box-shadow:0 20px 60px #0005}
.enquiry-close{position:absolute;right:15px;top:10px;border:0;background:none;color:#0b315e;font-size:30px;cursor:pointer}
.enquiry-dialog h2{font:700 29px Georgia,serif;margin:8px 0 12px}
.selected-service{background:#f8f5ef;padding:14px;border-left:3px solid #d0a44d}
.enquiry-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 12px}
.enquiry-options a{background:#0b315e;color:#fff;text-decoration:none;text-align:center;padding:14px;border-radius:4px;font-weight:700}
.enquiry-dialog small{color:#6a7989}
@media(max-width:500px){.enquiry-options{grid-template-columns:1fr}.enquiry-dialog{padding:30px 24px}}

/* Contact & Request a Quote page */
.contact-hero{min-height:390px;display:flex;align-items:center;padding:65px 7%;color:#fff;background:linear-gradient(90deg,rgba(3,29,54,.96),rgba(3,29,54,.70) 58%,rgba(3,29,54,.18)),url("hero-rangwako.jpeg") center/cover}
.contact-hero>div{max-width:760px}.contact-hero h1{font:700 50px/1.08 Georgia,serif;margin:10px 0 18px}.contact-hero>div>p:last-child{font-size:18px;line-height:1.65;max-width:650px}
.quote-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;padding:75px 7%;background:#fff}.quote-intro h2,.contact-options h2{font:700 36px/1.15 Georgia,serif;margin:10px 0 18px}.quote-intro>p{color:#5a6d81;line-height:1.7}.contact-info-list{margin-top:32px;display:grid;gap:17px}.contact-info-list>p,.contact-info-list>a{display:flex;gap:15px;margin:0;text-decoration:none}.contact-info-list b{width:42px;height:42px;min-width:42px;border-radius:50%;background:#d0a44d;color:#fff;display:grid;place-items:center}.contact-info-list span{display:grid}.contact-info-list strong a{text-decoration:none}.contact-info-list small{color:#718093;margin-top:2px}
.quote-form{background:#f8f5ef;border:1px solid #e6dac6;padding:34px;display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{font-size:13px;font-weight:700;color:#173b63}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #d3c8b6;background:#fff;color:#203b58;font:14px Arial,sans-serif;border-radius:2px}.quote-form textarea{resize:vertical}.send-choice{border-top:1px solid #ddd1bf;padding-top:15px}.send-choice p{margin:0 0 11px}.send-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.send-choice button{border:0;background:#0b315e;color:#fff;padding:14px;cursor:pointer;border-radius:4px;font-weight:700;font-size:14px}.form-note{font-size:11px;color:#748192;margin:0;line-height:1.5}.contact-options{padding:65px 7%;background:#f8f5ef;text-align:center}.contact-option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}.contact-option-grid a{text-decoration:none;background:#fff;border:1px solid #e5d8c5;padding:27px 15px}.contact-option-grid b{width:48px;height:48px;border-radius:50%;background:#0b315e;color:#d4a64c;display:grid;place-items:center;margin:0 auto 15px}.contact-option-grid h3{font:700 18px Georgia,serif;margin:0 0 8px}.contact-option-grid p{font-size:12px;color:#657589;margin:0;overflow-wrap:anywhere}
@media(max-width:950px){.quote-section{grid-template-columns:1fr}.contact-option-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.contact-hero h1{font-size:39px}.form-row,.send-choice>div,.contact-option-grid{grid-template-columns:1fr}.quote-form{padding:24px}.quote-section{padding:55px 6%}}

/* Final mobile and iOS cleanup */
html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}button,input,select,textarea{font-family:inherit}a,button{-webkit-tap-highlight-color:rgba(11,49,94,.12)}
@media(max-width:900px){header{position:sticky;top:0;z-index:80;background:#fff}header nav{max-height:calc(100vh - 90px);overflow:auto}header nav a{width:100%;font-size:16px;border-bottom:1px solid #eee7dc}header nav a.active{color:#b27e25;font-weight:700}.buttons .btn,.actions a,.about-contact-buttons a,.send-choice button{min-height:46px;display:flex;align-items:center;justify-content:center}}
@media(max-width:600px){.copy h1,.about-hero h1,.services-hero h1,.contact-hero h1{font-size:clamp(2.15rem,10vw,2.65rem)}.buttons{flex-direction:column;align-items:stretch}.buttons .btn{width:100%;text-align:center}.service-detail-grid article{min-height:auto}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px}footer nav{gap:14px}}
@supports(padding:max(0px)){.copyright{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
