/* Component system: shared measures, consistent grid alignment and responsive layouts. */
:root{--shell:1200px;--gutter:40px;--component-gap:24px;--section-space:88px;--r-md:14px;--r-lg:20px;--body:#505860;--line:#e5e5e1}
body{background:#fff;line-height:1.7}.section{padding:var(--section-space) 0}.container{width:min(var(--shell),calc(100% - var(--gutter)*2))}main section[id]{scroll-margin-top:100px}h2{font-size:clamp(30px,3.1vw,43px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance}h3{line-height:1.3;letter-spacing:-.02em}p{overflow-wrap:break-word}.eyebrow{margin:0 0 16px;letter-spacing:.14em;font-size:11px}.sectionHead{margin-bottom:36px}.sectionHead--split{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:64px;align-items:end}.sectionHeadNote{margin:0!important;max-width:43ch;line-height:1.8}.seo-service-intro{font-size:15px;line-height:1.8;max-width:62ch;margin:20px 0 0}.btn,.navBtn,.formSubmit{border-radius:8px}.btn{min-height:48px;padding:13px 20px;font-size:14px;line-height:1.4}.actions{gap:12px}.header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:80px}.links{gap:22px}.links>a{white-space:nowrap}.links>.navBtn{padding:11px 15px;font-size:13px!important}.brand{flex-shrink:0}.brand-text{font-size:20px}
/* Hero: two carefully sized images, aligned with the copy. */
.hero{padding:148px 0 64px;background:#f8f7f3;overflow:hidden}.hero::after{display:none}.heroGrid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}.heroCopy{min-width:0}.heroCopy h1{font-size:clamp(40px,4.2vw,59px);line-height:1.08;letter-spacing:-.045em;max-width:12.5ch;text-wrap:initial}.heroCopy h1 em{font-style:normal;text-decoration:none;color:#cb4718}.heroLead{font-size:16px;line-height:1.8;max-width:53ch;margin:24px 0}.heroTrust{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.heroTrust span{font-size:10px;letter-spacing:0;background:none;border:0;border-radius:0;padding:0;color:var(--body)}.heroTrust span+span{border-left:1px solid #d9d7d0;padding-left:12px}.proof{border-top:1px solid #deddd6;padding-top:24px;margin-top:26px;gap:40px}.proof>div{min-width:0}.proof dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.proof dd{font-size:34px;line-height:1.15;margin:8px 0;font-weight:700}.proof small{font-size:12px}.heroVisual{min-width:0;max-width:none;width:100%}.hero-composition{position:relative}.hero-main-photo{border-radius:18px;overflow:hidden;background:#e9e6df}.hero-main-photo>img{width:100%;height:360px;object-fit:cover;object-position:55% 50%}.hero-main-photo figcaption{padding:22px 24px;background:white;border-bottom:3px solid var(--brand)}.hero-main-photo figcaption span{font-size:19px;font-weight:700;line-height:1.35;display:block}.hero-main-photo figcaption small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.hero-market-tile{display:grid;grid-template-columns:44% 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:20px 0 0 40px;box-shadow:0 12px 30px #14181c08}.hero-market-tile>img{height:100%;min-height:174px;width:100%;object-fit:cover}.hero-market-tile>div{padding:20px 22px}.hero-market-tile .eyebrow{font-size:9px;color:#a54019}.hero-market-tile p{font-size:24px;line-height:1.2;font-weight:700;margin:8px 0 14px;letter-spacing:-.03em}.hero-market-tile a{font-size:12px;font-weight:700;display:flex;justify-content:space-between;text-decoration:none}.image-disclosure{font-size:10px;color:var(--muted);margin:10px 0 0;text-align:right}.purpose{padding:25px 0;background:#fff}.purposeRow{gap:40px;align-items:center}.purposeRow p{font-size:18px;line-height:1.5;margin:0}
/* About and purpose cards. */
.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px}.about .sticky{position:static}.about-photo{margin-top:28px;border-radius:14px;overflow:hidden}.about-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}.aboutBody>.large{font-size:20px;line-height:1.7;margin:0 0 22px}.aboutBody>p:not(.large){font-size:15px;line-height:1.8}.principles{gap:18px;margin-top:30px}.principle{border-top:1px solid var(--line);padding-top:20px}.principleNum{margin-bottom:16px}.principle h3{font-size:18px}.principle p{font-size:13px}.vision{background:#f8f7f3}.statementGrid{gap:24px;align-items:stretch}.statement{min-height:340px;padding:36px;border-radius:16px}.statement h3{font-size:32px;max-width:20ch;margin:28px 0 18px}.statement p{max-width:47ch;font-size:15px;line-height:1.8;margin-bottom:28px}.statementLabel{opacity:1}.statement>a{margin-top:auto;padding-top:20px}.statement--brand{background:#F75225}.statement--ink{box-shadow:none}
/* Service cards share a content baseline and a bottom action. */
.service-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-story{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}.service-story:hover{transform:translateY(-3px);box-shadow:0 12px 28px #14181c0c}.service-story>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.service-story>div{position:relative;padding:24px;flex:1}.service-story span{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#b9471d}.service-story h3{font-size:21px;margin:10px 20px 12px 0;min-height:54px}.service-story p{font-size:14px;line-height:1.7;color:var(--body);margin:0}.service-story b{position:absolute;right:22px;top:51px;font-size:20px;color:#c84b1c}.stock-note{font-size:10px;color:var(--muted);margin:12px 0 32px}.cardGrid{gap:24px}.serviceCard{padding:28px;border-radius:14px;box-shadow:none;min-width:0;display:flex;flex-direction:column}.serviceCard .cardIcon{width:42px;height:42px;border-radius:10px;margin:0 0 22px}.serviceCard h3{font-size:20px;margin:0 0 12px;min-height:52px}.serviceCard p{font-size:14px;line-height:1.8;flex:1}.service-more{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:24px;text-decoration:none;font-size:12px;font-weight:700;color:#b54319}.serviceCard:hover{transform:translateY(-2px)}.detailCard{display:flex;flex-direction:column;padding:32px;border-radius:14px;min-width:0}.detailCard h3{font-size:25px}.detailCard p{font-size:14px;line-height:1.85}.detailCard .linkArrow{margin-top:auto;padding-top:24px;line-height:1.5}.detailCard .ticks,.detailCard .steps{margin-bottom:20px}.detailCard .steps li{line-height:1.6;font-weight:700}.detailCard .detailFlow{margin-bottom:22px!important}.ticks{gap:12px 20px}.ticks li{font-size:13px}.processGrid{gap:24px}.processStep{padding:24px 0 0;border-top:2px solid #f2692a}.processStep h3{min-height:50px;font-size:20px}.processStep p{font-size:14px;line-height:1.8}.whyCard{padding:28px;border-radius:14px}.whyCard h3{font-size:21px}.whyCard p{line-height:1.8}.insightVisual{padding:72px 0;background:#20282b}.insightImage{border-radius:16px}.insightImage img{height:340px;object-fit:cover}.insightImage figcaption{font-size:10px}.valueList{column-gap:40px}.value{padding-top:22px;padding-bottom:22px}.value h3{font-size:20px}.value p{line-height:1.7}.education-photo{margin:26px 0 0;border-radius:14px;overflow:hidden}.education-photo img{width:100%;aspect-ratio:16/10;object-fit:cover}.topicGrid{gap:16px}.topic{padding:22px;border-radius:12px}.educationNote{line-height:1.8}.faqGrid{gap:72px}.accordion details{padding:0 22px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:12px}.accordion summary{padding:21px 0;gap:20px;line-height:1.5;font-size:16px}.accordion details p{padding:0 35px 22px 0;margin:0;line-height:1.8}.trustCards{padding:8px 28px;box-shadow:none;border-radius:14px}.trustCards strong{font-weight:700}.visitLayout{gap:64px}.mapFrame{box-shadow:none;border-radius:16px}
/* Two-column contact removes narrow, competing panels. */
.contact{background:#20282b}.contact::before{display:none}.contactGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'copy form' 'details form';gap:32px 64px;align-items:start}.contactCopy{grid-area:copy}.contactCopy h2{font-size:clamp(32px,3.2vw,44px);line-height:1.16}.contactCopy>p{max-width:45ch;margin:20px 0 24px}.contactActions{display:flex;gap:12px;flex-wrap:wrap}.contactActions .btn{max-width:100%;min-height:46px;font-size:13px;padding:12px 16px}.contactCard{grid-area:details;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:8px 24px;box-shadow:none;border-radius:14px;min-width:0}.contactCard>div{padding:20px 0;min-width:0}.contactCard>div:nth-last-child(2){border-bottom:0}.contactCard a,.contactCard p{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.contactCard small{font-size:9px}.contactCard .directionLink{font-size:12px}.enquiryForm{grid-area:form;padding:32px;box-shadow:none;border-radius:16px;min-width:0}.formHead{margin-bottom:24px}.formHead h3{font-size:27px}.enquiryForm label{margin-bottom:18px}.enquiryForm input[type=text],.enquiryForm input[type=tel],.enquiryForm select,.enquiryForm textarea{font-size:16px;border-radius:8px;background:#fafaf8;padding:12px 14px;min-height:48px}.enquiryForm .consentLabel{display:flex;align-items:flex-start;gap:10px}.consentLabel input{flex:0 0 auto;margin-top:5px}.consentLabel span{font-size:12px;line-height:1.7}.formSubmit{min-height:49px}.formHint{line-height:1.7}.corporateFooter{gap:40px}.siteFooter{padding-top:64px}.footerAbout p{max-width:34ch}.siteFooter a{line-height:1.8}.legal{padding-top:28px;padding-bottom:28px}.legal-page{padding-top:128px}.legal-layout{gap:64px}.legal-copy section{margin-bottom:32px}.legal-copy h2{font-size:25px}.legal-copy p{font-size:15px;line-height:1.85}
@media(min-width:941px) and (max-width:1100px){.links{gap:12px}.brand-text{font-size:18px}.links>a{font-size:12px}.heroGrid{gap:36px}.contactGrid{gap:28px 36px}.contactCard{grid-template-columns:1fr}.contactCard>div:nth-last-child(2){border-bottom:1px solid var(--line)}.split{gap:40px}}
@media(max-width:940px){:root{--gutter:28px;--section-space:64px}.nav{min-height:76px}.links{gap:4px}.links>a{white-space:normal}.hero{padding-top:120px;padding-bottom:48px}.heroGrid{grid-template-columns:1fr;gap:36px}.heroCopy h1{max-width:18ch;font-size:clamp(40px,6.8vw,58px)}.heroLead{max-width:65ch}.hero-composition{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:stretch}.hero-main-photo>img{height:260px}.hero-main-photo figcaption{padding:18px}.hero-main-photo figcaption span{font-size:17px}.hero-market-tile{margin:0;display:flex;flex-direction:column}.hero-market-tile>img{height:180px;min-height:0}.hero-market-tile>div{padding:18px}.hero-market-tile p{font-size:22px}.image-disclosure{grid-column:1/-1;margin:-10px 0 0}.split,.sectionHead--split,.faqGrid,.trustGrid,.visitLayout{grid-template-columns:1fr;gap:32px}.about .split{grid-template-columns:.85fr 1.15fr;gap:32px}.about h2{font-size:29px}.aboutBody>.large{font-size:17px}.principles{grid-template-columns:1fr;gap:16px}.principle{display:grid;grid-template-columns:30px 85px 1fr;gap:12px}.principleNum,.principle h3,.principle p{margin:0}.principle h3{font-size:15px}.statement{padding:28px;min-height:340px}.statementGrid{grid-template-columns:1fr 1fr}.statement h3{font-size:28px}.service-stories{gap:16px}.service-story>div{padding:18px}.service-story h3{font-size:19px;min-height:50px}.service-story b{display:none}.serviceCard{padding:22px}.processGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.processStep h3{min-height:0}.contactGrid{gap:24px 28px}.contactCard{grid-template-columns:1fr}.contactCard>div:nth-last-child(2){border-bottom:1px solid var(--line)}.enquiryForm{padding:24px}.contactActions .btn{width:100%;justify-content:center}.corporateFooter{gap:28px}.education .sticky{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.education .sticky .eyebrow,.education .sticky h2,.education .sticky p{grid-column:1}.education-photo{grid-column:2;grid-row:1/4;margin:0;align-self:center}.legal-page{padding-top:112px}.legal-toc{position:static}}
@media(max-width:720px){:root{--gutter:20px;--section-space:56px}.hero{padding-top:112px}.heroCopy h1{font-size:clamp(36px,9vw,47px);max-width:16ch}.heroLead{font-size:15px;line-height:1.85}.heroTrust{gap:10px}.heroTrust span{width:auto;font-size:10px}.heroTrust span+span{border:0;padding-left:0}.proof{gap:32px}.proof dd{font-size:30px}.hero-composition{grid-template-columns:1fr}.hero-main-photo>img{height:auto;aspect-ratio:4/3}.hero-market-tile{display:grid;grid-template-columns:40% 1fr}.hero-market-tile>img{height:100%;min-height:150px}.hero-market-tile>div{padding:18px}.hero-market-tile p{font-size:21px}.hero-market-tile .eyebrow{font-size:8px}.hero-main-photo figcaption span{font-size:18px}.image-disclosure{margin:-10px 0 0}.purposeRow{display:block}.purposeRow .eyebrow{display:block;margin-bottom:8px}.purposeRow p{font-size:16px}.about .split{grid-template-columns:1fr;gap:28px}.about h2{font-size:32px}.about-photo{margin-top:24px}.about-photo img{aspect-ratio:16/9}.aboutBody>.large{font-size:18px}.principle{grid-template-columns:28px 80px 1fr;gap:10px}.principle p{font-size:12px}.statementGrid{grid-template-columns:1fr;gap:18px}.statement{padding:28px;min-height:0}.statement h3{font-size:29px;max-width:21ch;margin-top:24px}.statement p{margin-bottom:26px}.service-stories{grid-template-columns:1fr;gap:20px}.service-story>img{aspect-ratio:16/9}.service-story>div{padding:24px}.service-story h3{font-size:22px;min-height:0;margin:10px 0}.service-story p{font-size:14px}.service-story b{display:block;top:49px}.stock-note{line-height:1.7}.cardGrid--3,.cardGrid--2{grid-template-columns:1fr}.cardGrid{gap:16px}.serviceCard{padding:24px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 18px}.serviceCard .cardIcon{grid-column:1;grid-row:1/3;margin:0}.serviceCard h3{grid-column:2;min-height:0;font-size:20px;margin:0 0 8px}.serviceCard p{grid-column:2;font-size:13px}.service-more{grid-column:2;margin-top:18px;padding-top:14px}.detailCard{padding:26px 24px}.detailCard h3{font-size:24px}.ticks{grid-template-columns:1fr}.processGrid{grid-template-columns:1fr;gap:26px}.processStep{padding:20px 0 0}.processStep::before{margin-bottom:12px}.processStep h3{margin-bottom:10px}.insightGrid{gap:28px}.insightVisual{padding:56px 0}.insightImage img{height:250px}.insightCopy h2{font-size:32px}.valuesTop{margin-bottom:28px;gap:20px}.valueList{grid-template-columns:1fr}.value{gap:8px}.education .sticky{display:block}.education-photo{margin-top:24px}.education-photo img{aspect-ratio:16/9}.topicGrid{grid-template-columns:1fr}.accordion details{padding:0 18px}.accordion summary{font-size:15px;padding:19px 0}.accordion details p{padding-right:0;font-size:14px}.trustCards{padding:4px 24px}.visitLayout{gap:28px}.contactGrid{grid-template-columns:1fr;grid-template-areas:'copy' 'details' 'form';gap:28px}.contactCopy h2{font-size:36px}.contactCopy>p{font-size:15px}.contactActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contactActions .btn{font-size:12px;padding:12px 10px}.contactCard{grid-template-columns:1fr;padding:4px 24px}.enquiryForm{padding:26px 22px}.formHead h3{font-size:26px}.corporateFooter{grid-template-columns:1fr 1fr;gap:32px 20px}.footerAbout{grid-column:1/-1}.corporateFooter>div:last-child{grid-column:1/-1}.legal{gap:18px}.siteFooter{padding-top:48px}.legal-page{padding-top:108px;padding-bottom:56px}.legal-layout{grid-template-columns:1fr;gap:28px}.legal-page h1{font-size:40px}.legal-intro{font-size:18px}.legal-copy h2{font-size:24px}.whatsappFloat{right:16px;bottom:16px}}
@media(max-width:370px){:root{--gutter:16px}.brand-text{font-size:18px}.heroCopy h1{font-size:35px}.contactActions{grid-template-columns:1fr}.principle{grid-template-columns:22px 70px 1fr;gap:8px}.hero-market-tile>div{padding:14px}.hero-market-tile p{font-size:19px}.serviceCard{gap:0 12px;padding:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.service-story,.serviceCard{transition:none}.service-story:hover,.serviceCard:hover{transform:none}}
/* Keep navigation and text usable at intermediate screen widths. */
.header .brand-text{font-size:16px;letter-spacing:.045em}.hero .actions .btn{white-space:normal}.service-story b{pointer-events:none}.hero-main-photo img,.hero-market-tile img{background:#e7e4dd}.service-story:focus-visible,.service-more:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
@media(min-width:941px) and (max-width:1100px){.header .brand-text{font-size:14px}.nav{gap:18px}.links{gap:10px}.links>.navBtn{padding:10px 12px}}
@media(max-width:720px){.header .brand-text{font-size:15px}.hero .actions{display:flex;flex-wrap:wrap}.hero .actions .btn{flex:1 1 150px}}

/* Every service has its own image and a consistent content layout. */
.services .cardGrid{align-items:stretch;gap:24px}
.services .serviceCard{display:flex;flex-direction:column;padding:0;gap:0;overflow:hidden;border-radius:14px;min-width:0;background:#fff}
.services .service-image{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;flex:none;background:#eeece7}
.services .service-content{display:flex;flex-direction:column;flex:1;padding:26px;min-width:0}
.services .serviceCard h3{font-size:21px;line-height:1.35;min-height:57px;margin:0 0 12px}
.services .serviceCard p{font-size:14px;line-height:1.8;flex:1;margin:0}
.services .service-more{margin-top:24px;padding-top:16px;align-items:center}
.service-photo-note{font-size:11px;line-height:1.7;color:var(--muted);margin:18px 0 0}
@media(min-width:721px) and (max-width:1000px){.services .cardGrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.services .service-content{padding:24px}.services .serviceCard h3{min-height:57px}}
@media(max-width:720px){.services .cardGrid--3{grid-template-columns:1fr;gap:22px}.services .service-content{padding:24px}.services .serviceCard h3{min-height:0;font-size:22px}.services .serviceCard p{font-size:14px}.services .service-image{aspect-ratio:16/10}.services .service-more{font-size:13px;margin-top:22px}}

/* Our Services: clean text cards without photography. */
.services .service-content{padding:28px}
.services .serviceCard{border-top:3px solid var(--brand)}
.services .serviceCard h3{min-height:57px}
@media(max-width:720px){.services .service-content{padding:24px}.services .serviceCard h3{min-height:0}}
