@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--plum:#57283f;--deep:#422031;--cream:#faf6ee;--paper:#fffdf8;--lavender:#eee6db;--gold:#a4834d;--ink:#332c2e;--muted:#6d605d;--line:#ded2c6;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:16px;line-height:1.7}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9b73b6;outline-offset:5px}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-1.8px}h1 em,h2 em{font-weight:400;color:#79527d}h1{font-size:clamp(48px,6.5vw,92px)}h2{font-size:clamp(35px,4.2vw,58px)}h3{font-weight:500;line-height:1.35}.skip{position:absolute;z-index:100;transform:translateY(-150%);padding:12px 24px;background:var(--cream)}.skip:focus{transform:none}.header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:1600px;margin:auto;padding:23px 5%;background:rgba(250,247,241,.97);border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:-1px;line-height:1.04;color:var(--plum);display:inline-block}.wordmark>span{display:block}.brand-dot{color:var(--gold)}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav>a:not(.button),.services-menu>a{padding:12px 0}nav a:hover,nav a[aria-current]{color:#845992}.staff-link{border-left:1px solid var(--line);padding-left:27px!important;color:var(--muted)}.services-menu{position:relative}.subnav{display:none;position:absolute;top:36px;left:-20px;width:260px;padding:15px 22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 25px #2b193210}.subnav a{display:block;padding:9px 0}.services-menu:hover .subnav,.services-menu:focus-within .subnav{display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid var(--plum);background:var(--plum);color:#fffdf9;padding:17px 24px;font-size:13px;line-height:1.5;transition:background .2s,transform .2s;min-height:48px}.button:hover{background:#5b3c65;color:#fff;transform:translateY(-2px)}.button-small{padding:12px 21px}.button span,.text-link span{font-size:20px}.button-light{color:var(--plum);background:var(--cream);border-color:var(--cream)}.button-light:hover{background:#e6dbe9;color:var(--plum)}.outline-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:15px 20px;border:1px solid var(--line);font-size:13px;min-height:48px}.outline-button:hover{border-color:var(--plum);background:var(--cream)}.text-link{font-size:13px;display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #a999ac;padding:9px 0;line-height:1.5;min-height:44px}.text-link:hover{color:#895594}.menu-toggle{display:none}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:2px;text-transform:uppercase;line-height:1.8;margin-bottom:24px}.fine-line{display:inline-block;background:var(--gold);height:1px;width:32px;margin-right:12px;vertical-align:middle}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;gap:5%;padding:70px 5% 58px;align-items:center}.hero h1{margin-bottom:26px}.hero-description{color:var(--muted);max-width:460px;font-size:16px;line-height:1.9}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 25px;margin-top:30px}.quiet{font-size:12px;color:var(--muted);line-height:1.8}.hero-copy>.quiet{margin-top:20px}.hero-visual{position:relative;padding:20px 12px 0 0}.photo-frame{position:relative;border-radius:220px 220px 2px 2px;overflow:hidden;background:#b29ca3;min-height:500px}.photo-frame img{width:100%;height:500px;object-fit:cover;object-position:54% 50%;filter:saturate(.58) contrast(.91)}.photo-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#241725b8,transparent 55%)}.photo-label{position:absolute;z-index:1;bottom:32px;left:32px;color:#fff8eb;font-family:var(--serif);font-size:25px;line-height:1.35}.hero-caption{display:flex;align-items:center;gap:17px;padding:25px 0 0 8px}.caption-rule{height:1px;width:55px;background:var(--gold)}.hero-caption p{font-size:11px;line-height:1.7;letter-spacing:1px;text-transform:uppercase}.caption-symbol{font-size:52px;line-height:1;color:var(--gold);margin-left:auto}.intro-strip{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:35px 7%;background:var(--lavender)}.intro-strip>p{font-family:var(--serif);font-size:27px;line-height:1.4}.intro-strip>p em{color:#78547e}.intro-strip>div{font-size:13px;color:var(--muted)}.section{padding:94px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:45px}.section-heading>p{max-width:360px;color:var(--muted);font-size:15px}.section-heading .eyebrow{margin-bottom:18px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px 23px 30px;border-right:1px solid var(--line);transition:background .2s}.service-card:first-child{padding-left:0}.service-card:last-child{border:0}.service-card:hover{background:#efe9f1}.card-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:32px}.service-number{font-family:var(--serif);font-size:20px;color:#a28aab}.arrow{font-size:24px;color:var(--plum)}.service-card h3{font-family:var(--serif);font-size:24px;margin-bottom:16px;min-height:64px}.service-card p{font-size:13px;color:var(--muted);line-height:1.85;margin-bottom:25px}.card-link{font-size:11px;letter-spacing:.4px;border-bottom:1px solid var(--line);padding-bottom:5px;margin-top:auto}.approach-section{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;background:#f0ebe6;padding:80px 7%}.approach-heading .text-link{margin-top:28px}.principles article{display:flex;gap:25px;padding:23px 0;border-bottom:1px solid #d7ccda}.principles article:first-child{padding-top:0}.principles article>span{color:#99829c;font-size:12px}.principles h3{font-size:18px;margin-bottom:8px}.principles p{font-size:14px;color:var(--muted);max-width:400px}.area-section{text-align:center;padding:85px 25px 92px;background:var(--paper)}.area-section>p:not(.eyebrow){max-width:550px;margin:25px auto 12px;color:var(--muted);font-size:15px}.enquire-band{background:var(--plum);color:var(--cream);display:grid;grid-template-columns:1.1fr 1fr;gap:9%;padding:70px 7%}.enquire-band .eyebrow{color:#d0bdd4}.enquire-band h2 em{color:#d8c3de}.enquire-band>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.enquire-band p:not(.eyebrow){max-width:440px;color:#e0d5e4;font-size:15px;margin-bottom:25px}.footer{padding:65px 7% 24px;max-width:1600px;margin:auto}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 1fr;gap:35px;padding-bottom:45px}.footer-main .wordmark{font-size:32px}.footer-main h3{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:18px}.footer-main>div>a:not(.wordmark){display:block;font-size:12px;margin-bottom:8px}.footer-main p{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.9}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}.page-intro{padding:72px 7% 62px;background:linear-gradient(110deg,var(--cream),#f0e9f1)}.page-intro h1{font-size:clamp(44px,5.9vw,78px);max-width:960px;margin-bottom:26px}.page-intro>p:not(.eyebrow){max-width:650px;font-size:17px;color:var(--muted);line-height:1.9}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:28px}.availability{color:var(--muted);font-size:13px;max-width:750px;margin-top:28px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:9%}.about-story img{margin-top:35px;aspect-ratio:1.5;object-fit:cover}.about-story>div>p{margin-bottom:23px;color:var(--muted);font-size:15px}.large-copy{font-family:var(--serif);font-size:27px!important;line-height:1.55;color:var(--ink)!important;letter-spacing:-.4px}.values{display:flex;gap:10px;flex-wrap:wrap;margin-top:35px}.values span{border:1px solid var(--line);padding:8px 14px;font-size:12px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:65px}.contact-card{background:var(--paper);border:1px solid var(--line);padding:40px}.phone-number{display:block;font-family:var(--serif);font-size:clamp(25px,3vw,40px);margin:25px 0;letter-spacing:-.5px}.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px}.contact-actions .text-link{align-self:flex-start}.opening-hours{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.opening-hours h3{font-size:13px;margin-bottom:10px}.opening-hours p{font-size:12px;color:var(--muted);margin-top:12px}.enquiry-guide{padding:25px 0}.enquiry-guide ol{padding:0;list-style:none;counter-reset:enquiry;margin:30px 0}.enquiry-guide li{padding:18px 0 18px 40px;border-bottom:1px solid var(--line);position:relative;counter-increment:enquiry}.enquiry-guide li:before{content:'0' counter(enquiry);position:absolute;left:0;color:var(--gold);font-size:12px}.enquiry-guide h3{font-size:16px;margin-bottom:8px}.enquiry-guide li p{font-size:14px;color:var(--muted)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:10%}.service-detail .large-copy{margin:25px 0 30px}.detail-steps article{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:24px 0}.detail-steps article>span{font-size:12px;color:var(--gold)}.detail-steps p{font-size:15px;color:var(--muted)}.detail-steps>.quiet{margin-top:26px;font-size:12px}.prose{max-width:920px}.prose h2{font-size:28px;letter-spacing:-.4px;margin:32px 0 15px}.prose h2:first-child{margin-top:0}.prose p{font-size:15px;color:var(--muted)}.prose a{text-decoration:underline}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:75px}.header{padding-left:7%;padding-right:7%}}
@media(max-width:1000px){nav{gap:19px}.staff-link{padding-left:18px!important}.hero{gap:4%;padding-top:50px}.photo-frame,.photo-frame img{min-height:450px;height:450px}.hero-actions{gap:13px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-card:nth-child(3){padding-left:0}.service-card h3{min-height:0}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.approach-section{gap:7%}}
@media(max-width:760px){html{scroll-padding-top:95px}.header{padding:20px 6%}.wordmark{font-size:24px}.menu-toggle{display:flex;align-items:center;gap:14px;border:0;background:transparent;color:var(--plum);padding:12px 0;font-size:13px}.menu-toggle span{font-size:19px}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:18px 6% 25px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #39233f0a}nav.is-open{display:flex}.subnav{display:none!important}.services-menu>a{display:block}.staff-link{border:0;padding-left:0!important}.header nav .button{margin-top:14px}.hero{grid-template-columns:1fr;padding:39px 6% 37px;gap:36px}.hero h1{font-size:50px}.hero-description{font-size:15px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-visual{padding:0}.photo-frame,.photo-frame img{min-height:350px;height:350px}.photo-frame{border-radius:170px 170px 2px 2px}.photo-label{font-size:23px;left:25px;bottom:26px}.hero-caption{padding-top:21px}.intro-strip{padding:32px 6%;flex-direction:column;align-items:flex-start;gap:22px}.intro-strip>p{font-size:26px}.section{padding:56px 6%}.section-heading{display:block;margin-bottom:33px}.section-heading>p{margin-top:23px;max-width:100%;font-size:14px}.service-card{padding:23px 15px}.service-card h3{font-size:22px;min-height:62px}.service-card p{font-size:13px}.card-top{margin-bottom:25px}.card-link{font-size:10px}.approach-section{grid-template-columns:1fr;padding:55px 6%;gap:38px}.principles h3{font-size:17px}.area-section{padding:55px 6%}.enquire-band{grid-template-columns:1fr;gap:28px;padding:55px 6%}.footer{padding:45px 6% 25px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:10px;font-size:11px}.footer-main>div>a:not(.wordmark){font-size:13px}.footer-main p{font-size:13px}.page-intro{padding:45px 6%}.page-intro h1{font-size:46px;letter-spacing:-1.4px}.page-intro>p:not(.eyebrow){font-size:15px}.about-story,.contact-layout,.service-detail{grid-template-columns:1fr;gap:35px}.contact-card{padding:28px}.phone-number{font-size:34px}.large-copy{font-size:25px!important}.eyebrow{font-size:10px;letter-spacing:1.5px}.services-list .service-card h3{min-height:62px}}
@media(max-width:370px){.hero h1{font-size:46px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(3){padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}.service-card h3{min-height:0}.footer-main{grid-template-columns:1fr}.footer-main>div{grid-column:1!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Original Innovated Support Tongan artwork and approved plum/cream palette. */
.header{background:rgba(255,253,248,.98);border-bottom:2px solid #d6c29f;padding-left:max(76px,6%);isolation:isolate}
.header:before{content:"";position:absolute;left:3px;top:3px;width:95px;height:85px;background:url('/tongan-corner.png') no-repeat 0 0/95px auto;mix-blend-mode:multiply;opacity:.7;pointer-events:none;z-index:-1}
.wordmark,.page-intro h1,.hero h1,h1 em,h2 em{color:var(--plum)}
.staff-link{color:var(--plum);font-weight:500}
.button:hover{background:#6b3b52}
.button-light:hover{background:#eee6db;color:var(--plum)}
nav a:hover,nav a[aria-current],.text-link:hover{color:#75465c}
.service-card:hover{background:#f2e9e5}
a:focus-visible,button:focus-visible{outline-color:#9a6c83}
@media(max-width:760px){.header{padding-left:64px}.header:before{width:76px;height:68px;background-size:76px auto}.menu-toggle{min-height:44px}}

/* Expanded service collection */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.service-card:first-child,.service-card:nth-child(3){padding:28px 23px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card:nth-child(3n){border-right:0}.service-card:nth-last-child(-n+3){border-bottom:0}.subnav{max-height:calc(100dvh - 130px);overflow-y:auto;width:290px}.page-intro{background:linear-gradient(110deg,var(--cream),#eee6db)}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:nth-child(n){border-bottom:1px solid var(--line);border-right:1px solid var(--line)}.service-card:nth-child(2n){border-right:0}.service-card:last-child{border-bottom:0}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card:nth-child(n){padding:26px 0;border-right:0}.service-card h3,.services-list .service-card h3{min-height:0}}

/* Approved plum corner framing the wordmark */
.brand-filter{position:absolute;pointer-events:none}.header{padding:12px 5%;min-height:138px}.header:before{display:none}.header .wordmark{position:relative;padding:24px 20px 15px 48px;min-height:112px;flex-shrink:0}.brand-motif{position:absolute;top:0;left:0;width:100px;height:89px;object-fit:contain;filter:url(#plum-border)}.header .brand-name{position:relative;display:block}.brand-name>span{display:block}.header .brand-dot{display:inline}.support-photo{margin:0;grid-column:1/-1}.support-photo img{width:100%;height:auto;max-height:530px;object-fit:cover;border-radius:70px 0 0 0}.support-photo figcaption{font-size:11px;color:var(--muted);padding-top:10px}.support-photo figcaption a{text-decoration:underline;text-underline-offset:3px}.service-detail{row-gap:48px}.home-photo-story{display:grid;grid-template-columns:.65fr 1fr;gap:7%;align-items:center;padding:35px 7% 70px;max-width:1600px;margin:auto}.home-photo-story .support-photo{grid-column:auto}.home-photo-story .support-photo img{max-height:400px;aspect-ratio:1.5}
@media(max-width:1000px){.header{gap:12px}nav{gap:15px}.header .wordmark{padding-right:0}.header .staff-link{padding-left:10px!important}}
@media(max-width:760px){.header{padding:10px 6%;min-height:112px}.header .wordmark{padding:21px 0 12px 36px;min-height:92px;font-size:25px}.brand-motif{width:80px;height:72px}.home-photo-story{grid-template-columns:1fr;padding:20px 6% 45px;gap:26px}.support-photo img{border-radius:45px 0 0 0;max-height:none}.service-detail{row-gap:32px}}

/* Keep the company name above the decorative pattern. */
.header .brand-name{z-index:1}.brand-motif{pointer-events:none}

/* Centred complete service photos, without cropping. */
.service-detail>.support-photo{width:100%;max-width:900px;margin:0 auto;justify-self:center;text-align:center}.service-detail>.support-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:580px;object-fit:contain;object-position:center;margin:0 auto;border-radius:0}.service-detail>.support-photo figcaption{max-width:100%;margin:0 auto}
