@font-face{font-family:Mulish;src:url('../fonts/Mulish.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{--bg:#151512;--surface:#1c1c18;--text:#f5f2e9;--muted:#b3afa3;--gold:#af9c6d;--line:#ffffff24;--font:Mulish,Arial,sans-serif;--container:80rem;--radius:.5rem;--space:clamp(1.25rem,5vw,5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.7 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit}address{font-style:normal}::selection{background:var(--gold);color:var(--bg)}:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.container{width:min(var(--container),100% - var(--space)*2);margin-inline:auto}.skip-link{position:absolute;top:-5rem;left:1rem;padding:.6rem 1rem;background:var(--text);color:var(--bg);z-index:20}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:7.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand img{width:4rem;height:4.7rem;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);font-size:.83rem}.site-header nav a{padding:.5rem 0;color:var(--muted)}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text)}.site-header nav a[aria-current]{border-bottom:1px solid var(--gold)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--gold);border:1px solid var(--gold);color:#151512;border-radius:3rem;padding:.9rem 1.4rem;font-size:.85rem;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#c8b785;transform:translateY(-2px)}.button-small{padding:.65rem 1.2rem}.menu-toggle{background:none;border:1px solid var(--line);color:var(--text);padding:.5rem 1rem;border-radius:2rem;cursor:pointer}.menu-toggle[hidden]{display:none}.eyebrow{font-size:.67rem;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:.75rem;color:var(--muted)}.eyebrow>span{width:.4rem;height:.4rem;background:var(--gold);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,7vw,7.2rem);font-weight:500;letter-spacing:-.065em;line-height:1.05;margin-block:1.8rem}h1 em{font-style:normal;color:var(--gold)}h2{font-weight:500;letter-spacing:-.035em;line-height:1.2}.intro-description{max-width:37rem;color:var(--muted);font-size:1rem;line-height:1.85}.home-intro{min-height:calc(100svh - 7.5rem);display:grid;grid-template-columns:1.4fr 1fr;align-items:center;position:relative;padding-block:5rem 7rem;gap:2rem}.home-copy{position:relative;z-index:1}.home-copy .intro-description{max-width:27rem}.actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:2rem}.text-link{font-size:.85rem;border-bottom:1px solid var(--gold);padding-bottom:.3rem}.brand-stage{min-height:25rem;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse,#af9c6d12,transparent 70%)}.brand-stage img{width:12rem;position:relative}.brand-orbit{position:absolute;width:min(100%,23rem);aspect-ratio:1;border:1px solid #af9c6d45;border-radius:50%;transform:rotate(-20deg)}.brand-orbit:before{content:'';position:absolute;width:.8rem;height:.8rem;background:var(--gold);border-radius:50%;top:14%;left:14%}.brand-orbit:after{content:'';position:absolute;inset:1.5rem;border:1px solid #af9c6d20;border-radius:50%}.hero-caption{position:absolute;bottom:2rem;left:0;right:0;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;color:var(--muted);font-size:.65rem;letter-spacing:.07em}.foundation-note{padding-block:6rem;border-top:1px solid var(--line)}.foundation-note h2{font-size:clamp(2rem,4vw,3.8rem)}.foundation-note>p:last-child{max-width:36rem;color:var(--muted)}.page-intro{padding-block:6rem 3rem;max-width:var(--container)}.page-intro h1{max-width:65rem;font-size:clamp(3rem,6vw,6rem)}.holding-section{padding-block:2rem 6rem}.holding-section p{max-width:40rem;color:var(--muted)}.service-list{padding-bottom:6rem}.service-row{display:grid;grid-template-columns:3rem 1fr 3rem;gap:1rem;padding:2rem 0;border-top:1px solid var(--line);align-items:start}.service-number{color:var(--gold);font-size:.75rem}.service-row h2{font-size:clamp(1.3rem,2.5vw,2rem);margin-bottom:.7rem}.service-row p{color:var(--muted);max-width:40rem;margin:0}.service-row>a{font-size:1.8rem;text-align:center}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding-bottom:6rem}.contact-grid h2{font-size:.8rem;color:var(--muted);margin:1.5rem 0 .5rem}.contact-grid a{overflow-wrap:anywhere}.contact-grid a:hover{color:var(--gold)}.muted{color:var(--muted)}
@media(min-width:58rem){.menu-toggle{display:none}}
@media(max-width:57.99rem){.header-inner{min-height:6rem;flex-wrap:wrap;gap:1rem;padding-block:1rem}.brand img{width:3rem;height:3.5rem}.header-cta{display:none}.site-header nav{order:3;width:100%;flex-wrap:wrap;gap:1rem 1.5rem}.has-menu .site-header nav:not(.is-open){display:none}.home-intro{min-height:auto;padding-block:4rem 7rem;grid-template-columns:1fr}.brand-stage{min-height:20rem}.brand-stage img{width:9rem}.brand-orbit{max-width:19rem}.hero-caption span:last-child{display:none}.page-intro{padding-top:4rem}}
@media(max-width:36rem){h1{font-size:clamp(2.8rem,12vw,4.2rem)}.actions{gap:1.5rem}.contact-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1.5rem 1fr 1.5rem;gap:.6rem}.service-row p{font-size:.9rem}.page-intro h1{font-size:2.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Readable shared type and bounded grid items. */
.container { width: min(var(--container), calc(100% - var(--space) * 2)); }
.header-inner > *, .contact-grid > * { min-width: 0; }
.site-header nav { font-size: .9375rem; }
.button, .text-link { font-size: .9375rem; }
.eyebrow { font-size: .8125rem; letter-spacing: .1em; }
.service-number { font-size: .875rem; }
.contact-grid h2 { font-size: .9375rem; }

/* Compact three-column footer with balanced brand, navigation and contact sections. */
.site-footer { border-top: 1px solid var(--line); background: #11110f; }
.site-footer > .container { width: min(72rem, calc(100% - var(--space) * 2)); }
.footer-main { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.7fr) minmax(0,1.2fr); gap: clamp(1.5rem,3vw,2.5rem); padding-block: clamp(2.25rem,4vw,3.25rem); }
.footer-main > * { min-width: 0; }
.footer-logo { display: inline-block; border-radius: .25rem; }
.footer-logo img { width: 5rem; height: auto; }
.footer-brand p { max-width: 19rem; margin: 1rem 0 .5rem; color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.footer-location { color: var(--gold-light, var(--gold)); font-size: .8125rem; }
.footer-main h2 { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: .25rem 0 .75rem; color: var(--gold-light, var(--gold)); }
.footer-nav, .footer-contact { align-self: stretch; padding-left: clamp(1.25rem,2vw,2rem); border-left: 1px solid var(--line); }
.footer-nav > a, .footer-contact > a, .social-links a { display: flex; align-items: center; min-height: 2.75rem; width: fit-content; max-width: 100%; color: var(--muted); font-size: .9375rem; overflow-wrap: anywhere; transition: color .2s, border-color .2s, background .2s; }
.footer-main a:hover { color: var(--gold-light, var(--gold)); }
.footer-main address { color: var(--muted); font-size: .9375rem; line-height: 1.7; max-width: 24rem; margin-top: .75rem; overflow-wrap: anywhere; }
.footer-contact .footer-enquiry { justify-content: space-between; gap: 1rem; margin-top: 1.25rem; padding: .65rem 1rem; border: 1px solid var(--gold); border-radius: .25rem; color: var(--text); }
.footer-contact .footer-enquiry:hover { background: #af9c6d14; }
.social-links { display: flex; flex-wrap: wrap; gap: .25rem .75rem; margin-top: .75rem; }
.social-links a { gap: .3rem; font-size: .8125rem; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem 2rem; border-top: 1px solid var(--line); padding-block: 1.1rem; color: var(--muted); }
.footer-bottom small { font-size: .8125rem; }
@media(max-width:60rem) { .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; } .footer-brand { grid-column: 1 / -1; display: grid; grid-template-columns: 5rem minmax(0,1fr); column-gap: 1.5rem; align-items: start; } .footer-logo { grid-row: 1 / 4; } .footer-brand p { margin-top: 0; max-width: 30rem; } .footer-brand .social-links { margin-top: .25rem; } .footer-nav { padding-left: 0; border-left: 0; } }
@media(max-width:36rem) { .footer-main { grid-template-columns: minmax(0,1fr); gap: 1.5rem; } .footer-brand { grid-column: auto; column-gap: 1rem; } .footer-nav, .footer-contact { padding: 1.5rem 0 0; border-left: 0; border-top: 1px solid var(--line); } .footer-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1rem; } .footer-nav h2 { grid-column: 1 / -1; } .footer-bottom { flex-direction: column; } }
