@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff")}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#0a3154;--navy-deep:#06233e;--blue:#0878b9;--blue-light:#55b5e7;--paper:#fbfcfd;--mist:#edf5f9;--ink:#183246;--muted:#5c6e7d;--line:#d8e2e8;--gold:#f1c44f;--white:#fff;--danger:#b42318;--font-head:"Poppins", "Segoe UI", sans-serif;--font-body:"Public Sans Variable", "Segoe UI", sans-serif;--header-h:82px;--container:1160px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);margin:0;font-size:16px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--blue);text-underline-offset:4px}a:hover{color:var(--navy-deep)}button,input,select,textarea{font:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy-deep);letter-spacing:-.035em;line-height:1.15}h1{margin-bottom:1.35rem;font-size:clamp(2.75rem,5.8vw,5.2rem);font-weight:600}h1 em,h2 em{color:var(--blue);font-style:normal}h2{margin-bottom:1.1rem;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:600}h3{font-size:1.18rem;font-weight:700}h4{font-size:1.05rem;font-weight:700}::selection{color:var(--navy-deep);background:#d5edf9}:focus-visible{outline:3px solid var(--blue-light);outline-offset:4px}.container{width:min(calc(100% - 48px), var(--container));margin-inline-start:auto;margin-inline-end:auto}.skip-link{z-index:100;background:var(--navy);color:#fff;padding:10px 14px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcfdf5;border-bottom:1px solid #d8e2e8e6;position:sticky;top:0}.header-row{min-height:var(--header-h);align-items:center;gap:2rem;display:flex}.brand{flex:none;width:clamp(104px,10vw,124px);display:block}.brand img{width:100%;height:auto}.nav{align-items:center;gap:clamp(1rem,2.5vw,2.2rem);margin-left:auto;display:flex}.nav>a{color:#3b5365;font-size:.91rem;font-weight:600;text-decoration:none;transition:color .18s}.nav>a:hover{color:var(--blue)}.nav-mobile-call{display:none!important}.header-actions{align-items:center;gap:1.2rem;display:flex}.header-phone{color:var(--navy);white-space:nowrap;align-items:center;gap:.5rem;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.header-phone svg{color:var(--blue)}.menu-toggle{color:var(--navy);background:0 0;border:0;padding:.5rem;display:none}.btn{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:.65rem;min-height:48px;padding:.8rem 1.2rem;font-size:.93rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s,transform .18s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:var(--navy)}.btn-primary:hover{color:#fff;background:var(--blue)}.btn-sm{min-height:42px;padding:.65rem .9rem;font-size:.84rem}.btn-light{color:var(--navy-deep);background:#fff}.btn-light:hover{color:var(--navy-deep);background:var(--gold)}.text-link{color:var(--navy);align-items:center;gap:.35rem;font-size:.94rem;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--blue)}.hero{background:var(--paper);padding:clamp(4rem,8vw,7.5rem) 0 3.8rem;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;border:1px solid #dfeaf0;border-radius:50%;width:46vw;min-width:450px;height:46vw;min-height:450px;position:absolute;top:-20vw;right:-19vw;box-shadow:0 0 0 54px #edf5f99e,0 0 0 110px #edf5f966}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid;position:relative}.hero-copy{padding-bottom:1rem}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:.75rem;margin-bottom:1.35rem;font-size:.73rem;font-weight:700;line-height:1.4;display:flex}.eyebrow-line{background:var(--blue-light);flex:none;width:30px;height:2px;display:inline-block}.hero h1{max-width:11ch}.hero h1 em{color:var(--blue)}.hero-lead{color:#526a7a;max-width:51ch;margin-bottom:1.8rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.hero-detail{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:2.1rem;font-size:.86rem;display:flex}.hero-detail svg{color:var(--blue)}.hero-detail a{color:var(--navy);font-weight:700;text-decoration:none}.detail-divider{background:var(--line);width:1px;height:16px;margin-inline-start:.25rem;margin-inline-end:.25rem}.hero-visual{justify-self:end;width:min(100%,390px);padding:0 0 2.2rem 2rem;position:relative}.portrait-frame{aspect-ratio:4/5.25;background:#dbe8ed;border-radius:2px;position:relative;overflow:hidden}.portrait-frame:after{content:"";pointer-events:none;border:1px solid #ffffff6b;position:absolute;top:0;bottom:0;left:0;right:0}.portrait-frame img{object-fit:cover;object-position:64% 30%;width:100%;height:100%}.hero-visual:before{z-index:0;content:"";border-left:1px solid var(--blue-light);border-bottom:1px solid var(--blue-light);width:56%;height:65%;position:absolute;bottom:3.2rem;left:0}.portrait-caption{background:var(--navy);color:#fff;align-items:center;gap:.8rem;min-width:245px;padding:.95rem 1.1rem;display:flex;position:absolute;bottom:0;left:0}.caption-mark{width:37px;height:37px;color:var(--blue-light);font-family:var(--font-head);border:1px solid #ffffff73;border-radius:50%;place-items:center;font-size:1.15rem;font-weight:800;display:grid}.portrait-caption div{line-height:1.45;display:grid}.portrait-caption strong{font-size:.91rem}.portrait-caption span:last-child{color:#d2e3ec;font-size:.72rem}.visual-note{color:var(--navy);background:var(--gold);padding:.75rem .9rem;font-size:.76rem;font-weight:700;line-height:1.45;position:absolute;top:1.2rem;right:-1.7rem;transform:rotate(3deg)}.hero-bottom-rule{background:#e8f0f4;height:5px;position:absolute;bottom:0;left:0;right:0}.hero-bottom-rule span{background:var(--blue);width:26%;height:100%;display:block}.intro-strip{border-block:1px solid var(--line);background:#fff}.intro-strip-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding-block-start:1.15rem;padding-block-end:1.15rem;display:flex}.intro-strip p{color:#40596b;align-items:center;gap:.55rem;margin:0;font-size:.84rem;font-weight:600;display:flex}.intro-strip p:first-child{color:var(--navy);font-family:var(--font-head);font-size:.97rem;font-weight:800}.intro-strip svg{color:var(--blue)}.section{padding:clamp(4rem,8vw,7rem) 0}.services-section{background:#fff}.section-heading{margin-bottom:3.2rem}.section-heading-split{grid-template-columns:1.05fr .75fr;align-items:end;gap:clamp(2rem,7vw,7rem);display:grid}.section-heading h2{max-width:16ch;margin-bottom:0}.section-intro{max-width:48ch;color:var(--muted);margin:0 0 .2rem;font-size:1rem}.service-group{border-top:1px solid var(--line);grid-template-columns:minmax(190px,.36fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);padding:2.2rem 0;display:grid}.service-group:last-child{border-bottom:1px solid var(--line)}.service-group-heading{align-items:flex-start;gap:1rem;display:flex}.group-icon{width:44px;height:44px;color:var(--blue);background:#eaf5fa;border:1px solid #d9edf6;border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.service-group-heading h3{margin-bottom:.55rem;font-size:1.25rem}.service-group-heading p{max-width:27ch;color:var(--muted);margin:0;font-size:.9rem;line-height:1.65}.service-list{border-top:1px solid #e7edf1}.service-item{border-bottom:1px solid #e7edf1;grid-template-columns:42px minmax(0,1fr) 32px;align-items:start;gap:.95rem;padding:1.35rem 0;display:grid}.service-item-icon{width:42px;height:42px;color:var(--blue);background:#edf6fa;border:1px solid #dceef5;border-radius:50%;place-items:center;transition:color .18s,background .18s,border-color .18s;display:grid}.service-item:hover .service-item-icon{color:#fff;background:var(--blue);border-color:var(--blue)}.service-item-copy h4{letter-spacing:-.02em;margin:.15rem 0 .45rem}.service-item-copy p{max-width:65ch;color:var(--muted);margin:0;font-size:.9rem;line-height:1.65}.service-item-copy .service-detail{color:#55778d;margin-top:.55rem;font-size:.77rem}.service-enquire{width:30px;height:30px;color:var(--navy);border:1px solid var(--line);place-items:center;margin-top:.1rem;transition:color .18s,background .18s,border-color .18s;display:grid}.service-enquire:hover{color:#fff;background:var(--blue);border-color:var(--blue)}.services-note{border-left:2px solid var(--gold);max-width:72ch;color:var(--muted);margin:2rem 0 0 auto;padding-left:1rem;font-size:.9rem}.approach-section{color:#fff;background:var(--navy-deep);padding:clamp(4rem,7vw,6.5rem) 0}.approach-layout{grid-template-columns:.85fr 1fr;gap:clamp(3rem,9vw,9rem);display:grid}.eyebrow-light{color:#9edaf4}.eyebrow-light .eyebrow-line{background:var(--gold)}.approach-intro h2{color:#fff}.approach-intro h2 em{color:#8ed4f2}.approach-intro>p:not(.eyebrow){color:#c0d2de;max-width:46ch;margin-bottom:1.8rem}.approach-steps{margin:0;padding:0;list-style:none}.approach-steps li{border-top:1px solid #fff3;grid-template-columns:44px 1fr;gap:1.15rem;padding:1.35rem 0;display:grid}.approach-steps li:last-child{border-bottom:1px solid #fff3}.approach-step-icon{color:#a8def3;background:#ffffff12;border:1px solid #a8def347;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.approach-steps h3{color:#fff;letter-spacing:-.02em;margin-bottom:.45rem;font-size:1.16rem}.approach-steps p{color:#c0d2de;max-width:47ch;margin:0;font-size:.92rem}.about-section{background:var(--mist)}.about-layout{grid-template-columns:.25fr 1fr .45fr;align-items:start;gap:clamp(2rem,6vw,6rem);display:grid}.about-side-label{color:#688294;letter-spacing:.12em;writing-mode:vertical-rl;flex-direction:column;gap:.35rem;padding-top:.4rem;font-size:.65rem;font-weight:800;display:flex;transform:rotate(180deg)}.about-copy h2{max-width:15ch}.about-copy>p:not(.eyebrow){color:#4f6676;max-width:65ch}.about-signature{align-items:center;gap:.85rem;margin-top:2rem;display:flex}.signature-rule{background:var(--blue);width:35px;height:2px}.about-signature div{line-height:1.5;display:grid}.about-signature strong{color:var(--navy);font-size:.93rem}.about-signature span:last-child{color:var(--muted);font-size:.8rem}.about-note{border-top:3px solid var(--blue);background:#fff;margin-top:2.8rem;padding:1.5rem 1.4rem}.note-icon{width:45px;height:45px;color:var(--blue);background:var(--mist);place-items:center;margin-bottom:1.4rem;display:grid}.about-note h3{font-size:1.35rem}.about-note p{color:var(--muted);margin-bottom:0;font-size:.88rem}.contact-section{color:#fff;background:var(--navy);padding:clamp(4rem,8vw,7rem) 0}.contact-layout{grid-template-columns:.8fr 1fr;align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.contact-copy h2{color:#fff;max-width:12ch}.contact-copy>p:not(.eyebrow){color:#d0dfe8;max-width:48ch}.contact-methods{gap:1.2rem;margin-top:2rem;display:grid}.contact-methods>a{color:#fff;align-items:center;gap:.9rem;text-decoration:none;display:flex}.contact-methods>a>span{color:#a6ddf4;border:1px solid #ffffff4d;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.contact-methods>a div{line-height:1.55;display:grid}.contact-methods small{color:#a9c1d0;font-size:.75rem}.contact-methods strong{font-size:.9rem;font-weight:600}.contact-small{margin-top:2rem;font-size:.8rem;color:#a9c1d0!important}.contact-form-wrap{color:var(--ink);background:#fff;padding:clamp(1.35rem,3vw,2.2rem)}.form-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.2rem;padding-bottom:1rem;display:flex}.form-heading>span{color:var(--blue);letter-spacing:.12em;font-size:.75rem;font-weight:800}.form-heading p{color:var(--muted);margin:0;font-size:.76rem}.form{gap:1rem;display:grid}.field{gap:.4rem;min-width:0;display:grid}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field label{color:var(--navy);font-size:.82rem;font-weight:700}.field input,.field select,.field textarea{width:100%;min-height:44px;color:var(--ink);outline-offset:2px;background:#fbfcfd;border:1px solid #cbd8e0;border-radius:2px;padding:.7rem .8rem}.field textarea{resize:vertical;min-height:125px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline:2px solid #0878b926}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}.field-check{grid-template-columns:18px 1fr;align-items:start;gap:.6rem}.field-check input{width:16px;height:16px;min-height:auto;accent-color:var(--blue);margin-top:.28rem}.field-check label{color:var(--muted);font-size:.78rem;font-weight:400;line-height:1.55}.field-check a{color:var(--blue)}.req{color:var(--danger)}.error{color:var(--danger);margin:0;font-size:.8rem}.error-box{background:#fff3f1;padding:.8rem}.form .btn{justify-self:start;margin-top:.2rem}.form-success{padding:1.4rem 0}.form-success svg{color:#18845b}.form-success h2{margin-top:1rem;font-size:1.5rem}.form-success p{color:var(--muted);font-size:.9rem}.hp{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.site-footer{background:#f4f8fa}.footer-main{grid-template-columns:1.2fr .8fr .5fr;gap:3rem;padding-block-start:3.3rem;padding-block-end:3.3rem;display:grid}.footer-brand img{width:155px;margin-bottom:.8rem}.footer-brand p{max-width:30ch;color:var(--muted);margin:0;font-size:.86rem}.footer-label{color:#7890a0;letter-spacing:.12em;margin-bottom:1rem;font-size:.68rem;font-weight:800;display:block}.footer-contact,.footer-links{flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.footer-contact a,.footer-links a{color:#425b6c;align-items:center;gap:.55rem;font-size:.84rem;text-decoration:none;display:inline-flex}.footer-contact a:hover,.footer-links a:hover,.footer-contact svg{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:2rem;padding-block-start:1.2rem;padding-block-end:1.2rem;display:flex}.footer-bottom>p{color:#718594;margin:0;font-size:.75rem}.privacy-details{color:#718594;max-width:640px;font-size:.75rem}.privacy-details summary{cursor:pointer;text-align:right}.privacy-copy{color:var(--muted);padding-top:.7rem;line-height:1.6}.privacy-copy p{margin-bottom:.7rem}@media (max-width:980px){.header-row{gap:1.2rem}.header-actions{gap:.7rem}.header-phone span{display:none}.hero-grid{gap:3rem}.hero-visual{width:min(100%,330px)}.intro-strip-inner{flex-wrap:wrap;justify-content:flex-start;column-gap:2rem}.intro-strip p:first-child{width:100%}.about-layout{grid-template-columns:35px 1fr .48fr;gap:2.3rem}}@media (max-width:760px){:root{--header-h:72px}.container{width:min(calc(100% - 36px), var(--container))}.brand{width:108px}.header-actions .btn,.header-actions .header-phone{display:none}.menu-toggle{cursor:pointer;margin-left:auto;display:inline-flex}.nav{background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;gap:0;padding:.45rem 18px 1rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 14px 20px #06233e14}.nav.is-open{flex-direction:column;display:flex}.nav>a{border-bottom:1px solid var(--line);padding:.85rem .25rem}.nav-mobile-call{align-items:center;gap:.5rem;color:var(--blue)!important;display:flex!important}.hero{padding-top:3.3rem}.hero-grid{grid-template-columns:1fr;gap:3rem}.hero h1{max-width:12ch;font-size:clamp(2.7rem,10vw,4.1rem)}.hero-visual{justify-self:center;width:min(82%,340px);margin-right:.8rem}.visual-note{right:-1.3rem}.intro-strip-inner{flex-direction:column;align-items:flex-start;gap:.75rem;padding-block-start:1.25rem;padding-block-end:1.25rem}.intro-strip p:first-child{width:auto;margin-bottom:.15rem}.section-heading-split{grid-template-columns:1fr;gap:1.25rem}.section-heading{margin-bottom:2.2rem}.section-heading h2{max-width:17ch}.service-group{grid-template-columns:1fr;gap:1.25rem;padding:1.6rem 0}.service-group-heading p{max-width:48ch}.service-item{grid-template-columns:38px minmax(0,1fr) 28px;gap:.65rem}.service-item-icon{width:38px;height:38px}.service-item-copy p{font-size:.86rem}.approach-layout,.contact-layout{grid-template-columns:1fr;gap:2.5rem}.approach-intro h2{max-width:13ch}.about-layout{grid-template-columns:1fr;gap:1.5rem}.about-side-label{writing-mode:initial;flex-direction:row;transform:none}.about-note{max-width:380px;margin-top:.5rem}.contact-copy h2{max-width:14ch}.footer-main{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.8rem}.privacy-details summary{text-align:left}}@media (max-width:460px){.container{width:min(calc(100% - 30px), var(--container))}.hero-actions{flex-direction:column;align-items:flex-start;gap:1rem}.hero-detail{align-items:flex-start}.detail-divider{display:none}.hero-visual{width:86%}.portrait-caption{min-width:220px}.visual-note{font-size:.7rem;right:-1rem}.service-item{grid-template-columns:34px minmax(0,1fr) 26px;gap:.6rem}.service-item-icon{width:34px;height:34px}.service-item-icon svg{width:18px;height:18px}.service-enquire{width:26px;height:26px}.field-row{grid-template-columns:1fr;gap:1rem}.form-heading{flex-direction:column;align-items:flex-start;gap:.3rem}.contact-form-wrap{padding:1.15rem}.footer-main{grid-template-columns:1fr;gap:1.8rem}.footer-brand{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hero-copy>*{animation:.65s cubic-bezier(.2,.7,.2,1) both occu-rise-in}.hero-copy>:nth-child(2){animation-delay:80ms}.hero-copy>:nth-child(3){animation-delay:.15s}.hero-copy>:nth-child(4){animation-delay:.22s}.hero-visual{animation:.85s cubic-bezier(.2,.7,.2,1) .1s both occu-soft-in}.service-item,.approach-step,.contact-form-wrap,.about-note{transition:transform .24s,border-color .24s,box-shadow .24s}.service-item:hover{transform:translateY(-2px)}.service-item-icon,.service-enquire,.btn,.nav a,.footer-contact a,.footer-links a{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .2s}.btn:hover{transform:translateY(-1px)}.service-enquire:hover{transform:translate(2px)}.brand img{transition:opacity .2s}.brand:hover img{opacity:.86}}@keyframes occu-rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes occu-soft-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy>*,.hero-visual{animation:none!important}*,:before,:after{scroll-behavior:auto!important}}.site-loader{z-index:9999;background:var(--paper,#fbfcfd);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;animation:.45s 1.05s both loader-exit;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loader-mark{place-items:center;width:190px;height:100px;display:grid;position:relative}.loader-heart{width:45px;height:42px;stroke:var(--blue,#0878b9);stroke-width:2.5px;stroke-linejoin:round;fill:#0878b912;transform-origin:50% 55%;animation:1.05s ease-in-out infinite heart-beat;position:absolute;top:0}.loader-pulse{width:190px;height:47px;position:absolute;bottom:5px;overflow:visible}.pulse-track{stroke:#d8e8f0;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.pulse-line{stroke:var(--blue,#0878b9);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dashoffset:260px;animation:1.25s ease-in-out infinite pulse-draw}.loader-name{color:var(--navy,#0a3154);font:600 1.4rem/1.2 var(--font-head,sans-serif);letter-spacing:-.04em}.loader-caption{color:var(--muted,#5c6e7d);letter-spacing:.025em;text-align:center;padding:0 1rem;font-size:.76rem}@keyframes heart-beat{0%,to{transform:scale(1)}12%{transform:scale(1.12)}24%{transform:scale(1)}36%{transform:scale(1.08)}48%{transform:scale(1)}}@keyframes pulse-draw{0%{stroke-dashoffset:260px;opacity:.45}65%,to{stroke-dashoffset:0;opacity:1}}@keyframes loader-exit{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.site-loader{animation-duration:.01ms;animation-delay:.65s}.loader-heart,.pulse-line{animation:none}.pulse-line{stroke-dashoffset:0}}.hero-visual-wide{width:min(100%,470px);padding:0 0 2.5rem 1.5rem}.hero-photo-main{z-index:1;aspect-ratio:1.35;background:#e7eef2;width:100%;position:relative;overflow:hidden}.hero-photo-main img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-photo-secondary{z-index:2;aspect-ratio:1.35;border:6px solid var(--paper);background:#e7eef2;width:49%;position:absolute;bottom:6rem;right:-1rem;overflow:hidden}.hero-photo-secondary img{object-fit:cover;object-position:60% center;width:100%;height:100%}.hero-visual-wide:before{border-bottom:0}.hero-image-label{z-index:3;width:-moz-fit-content;width:fit-content;max-width:90%;color:var(--navy);align-items:center;gap:.8rem;margin-top:1rem;display:flex;position:relative}.hero-image-label .caption-mark{color:var(--blue);border-color:#0e2e4340}.hero-image-label>div{line-height:1.45;display:grid}.hero-image-label strong{font-size:.91rem}.hero-image-label>div span{color:var(--muted);font-size:.7rem}.industries-section{background:#fff}.industries-layout{grid-template-columns:1.05fr .8fr;align-items:center;gap:clamp(2rem,7vw,6rem);display:grid}.industries-layout h2,.organisations-heading h2,.commitment-layout h2{max-width:16ch}.industry-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-top:1.6rem;display:grid}.industry-list span{color:#385467;align-items:flex-start;gap:.55rem;font-size:.87rem;display:flex}.industry-list svg{color:var(--blue);flex:none;margin-top:.2rem}.industry-photo{border-left:1px solid var(--blue-light);border-bottom:1px solid var(--blue-light);margin:0;padding:0 0 1.5rem 1.5rem}.industry-photo img{aspect-ratio:1.35;object-fit:cover;width:100%}.industry-photo figcaption{color:var(--muted);margin-top:.8rem;font-size:.78rem}.organisations-section{background:var(--mist);padding:clamp(3.5rem,6vw,5.5rem) 0}.organisations-heading{grid-template-columns:1fr .8fr;align-items:end;gap:3rem;margin-bottom:2rem;display:grid}.organisations-heading h2{margin-bottom:0}.organisations-heading>p{color:var(--muted);margin:0;font-size:.86rem}.organisation-logo-grid{background:#ffffff94;border-top:1px solid #d8e4ea;border-left:1px solid #d8e4ea;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.organisation-logo{text-align:center;color:#29495e;filter:saturate(.7);border-bottom:1px solid #d8e4ea;border-right:1px solid #d8e4ea;flex-direction:column;justify-content:center;align-items:center;gap:.1rem;min-height:88px;padding:1rem .7rem;transition:background .2s,color .2s,filter .2s;display:flex}.organisation-logo:hover{color:var(--blue);filter:saturate();background:#fff}.organisation-logo span{letter-spacing:-.035em;font-size:clamp(.86rem,1.15vw,1.12rem);font-weight:800;line-height:1.1}.organisation-logo img{object-fit:contain;width:min(100%,170px);height:46px}.organisation-logo small{letter-spacing:.13em;font-size:.57rem;font-weight:800;line-height:1.5}.wordmark-acsa span,.wordmark-saa span,.wordmark-sabn span,.wordmark-samca span,.wordmark-sansa span,.wordmark-prasa span{letter-spacing:.09em}.wordmark-nestle span{font-family:Georgia,serif;font-style:italic;font-weight:700}.wordmark-standardbank span{color:#284d80}.wordmark-parmalat span{color:#3977a8;font-family:Georgia,serif;font-style:italic}.wordmark-gauteng span{color:#567c37}.wordmark-columbus span{letter-spacing:.06em}.wordmark-up span{color:#9b1b30}.wordmark-joburg span{color:#2774a5}.wordmark-life span{color:#4c8d66}.organisations-note{color:#687f8e;margin:1rem 0 0;font-size:.76rem}@media (max-width:760px){.organisation-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.organisation-logo{min-height:76px;padding:.75rem .4rem}}@media (max-width:380px){.organisation-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.commitment-section{background:#fff;padding:clamp(3.5rem,6vw,5.5rem) 0}.commitment-layout{grid-template-columns:.85fr 1fr;gap:clamp(2rem,8vw,7rem);display:grid}.commitment-points{gap:1rem;display:grid}.commitment-points p{color:#4f6676;grid-template-columns:24px 1fr;gap:.7rem;margin:0;font-size:.9rem;display:grid}.commitment-points svg{color:var(--blue);margin-top:.2rem}.commitment-points strong{color:var(--navy)}@media (max-width:760px){.hero-visual-wide{justify-self:center;width:min(92%,440px);margin:0;padding-left:.5rem}.hero-photo-secondary{border-width:4px;width:46%;right:-.5rem}.hero-image-label{max-width:95%}.industries-layout,.organisations-heading,.commitment-layout{grid-template-columns:1fr;gap:1.5rem}.industry-photo{max-width:520px}.organisations-heading{margin-bottom:1.5rem}}@media (max-width:460px){.industry-list{grid-template-columns:1fr}.hero-image-label>div span{max-width:28ch}}
