:root{--ink:#17232d;--navy:#101c26;--paper:#f7f4ee;--white:#fff;--gold:#c8a76a;--gold-light:#e7d4ad;--muted:#69737a;--line:#dfdcd5;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;background:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topline{background:var(--navy);color:#dce0e2;font-size:9px;letter-spacing:.17em}.top-inner{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.top-inner i{color:var(--gold);font-style:normal;margin:0 7px}.header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:62px;height:62px;object-fit:contain}.brand b{font-family:var(--serif);display:block;font-size:25px;line-height:1.1;letter-spacing:.1em}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:#a48753;font-weight:700;margin-top:4px}.nav-links{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.nav-links>a:not(.nav-cta):hover,.text-link:hover{color:#9e7c43}.nav-cta{border:1px solid var(--line);padding:11px 15px}.nav-cta span,.button span{color:var(--gold);margin-left:12px}.menu-toggle{display:none;border:1px solid var(--line);background:white;padding:8px 12px;font-size:20px}.hero{background:var(--paper);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;min-height:620px;align-items:center;gap:52px;padding-top:34px;padding-bottom:45px}.hero-copy{padding:45px 0 30px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.22em;font-weight:700;color:var(--gold);line-height:1.4}.eyebrow>span{display:inline-block;width:29px;height:1px;background:var(--gold)}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.13}h1{font-size:clamp(45px,5vw,72px);letter-spacing:-.04em;margin:25px 0}h1 em,h2 em{color:#a78851;font-weight:500} .hero-copy>p{max-width:490px;color:#59646b;font-size:15px;line-height:1.9;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:13px 18px;font-size:11px;font-weight:700;letter-spacing:.025em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button.gold{background:var(--navy);color:#fff}.button.gold span{color:var(--gold-light)}.text-link{font-size:11px;font-weight:700}.text-link span{margin-left:8px}.hero-signoff{display:flex;align-items:center;gap:12px;margin-top:58px;font-family:var(--serif);font-style:italic;color:#73766f;font-size:13px}.hero-signoff .line{width:37px;height:1px;background:var(--gold)}.hero-visual{position:relative;padding:0 20px 28px 0;min-width:0}.hero-image-frame{position:relative;background:#e8e3d8;min-height:450px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image-frame:after{content:'';position:absolute;inset:0;border:1px solid #fff8;pointer-events:none}.hero-image-frame img{width:100%;height:500px;object-fit:contain;object-position:center;background:#e8e3d8}.image-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(16,28,38,.94),rgba(16,28,38,.0));color:white;padding:52px 25px 22px;z-index:1}.image-caption span{display:block;color:var(--gold-light);font-size:8px;letter-spacing:.2em;margin-bottom:5px}.image-caption b{font-family:var(--serif);font-size:20px;font-weight:500}.vertical-label{position:absolute;right:0;top:18px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:8px;color:#7a7468}.hero-bottom{display:flex;align-items:center;gap:14px;padding:17px 0 19px;border-top:1px solid #dfdbd2;font-size:8px;letter-spacing:.16em;color:#77776f}.gold-dot{font-size:7px;color:var(--gold)}.section{padding:100px 0}.intro-grid{display:grid;grid-template-columns:.55fr 1.1fr 1fr;gap:42px;align-items:start}.section-index{font-size:12px;color:var(--gold);letter-spacing:.1em;padding-top:8px}.section-index span{font-size:9px;color:#7a7d7b;letter-spacing:.16em;margin-left:9px}.intro-heading h2,.section-heading h2,.gallery-head h2,.office-heading h2,.contact h2{font-size:clamp(34px,4vw,50px);letter-spacing:-.035em;margin:0}.intro-heading h2 em,.section-heading h2 em,.gallery-head h2 em,.office-heading h2 em,.contact h2 em{font-style:italic}.intro-text p{color:var(--muted);font-size:13px;line-height:1.9}.underlined-link{display:inline-block;margin-top:10px;padding-bottom:5px;border-bottom:1px solid var(--gold);font-size:11px;font-weight:700}.underlined-link span{margin-left:15px;color:#a78851}.services{background:#f6f4ef}.section-heading,.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:43px}.eyebrow.dark{color:#9c7c46;margin-bottom:18px}.section-heading>p,.gallery-head>p{max-width:340px;color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:4px}.service-list{border-top:1px solid #d9d5cb}.service{display:grid;grid-template-columns:80px 1fr 35px;align-items:center;gap:20px;padding:23px 10px;border-bottom:1px solid #d9d5cb;transition:background .2s}.service:hover{background:#fff}.service-no{font-size:10px;color:#a78851;letter-spacing:.1em}.service h3{font-size:23px;margin:0 0 5px}.service p{font-size:12px;color:var(--muted);margin:0;max-width:620px}.service-mark{font-size:17px;color:#ad8b53;text-align:right}.service-footnote{font-size:10px;color:#7c817f;margin:16px 0 0}.gallery{background:white}.gallery-head{align-items:end}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px 22px;align-items:start}.gallery-card{min-width:0;margin:0}.gallery-card .photo{background:#f1eee7;display:flex;align-items:center;justify-content:center;overflow:hidden}.gallery-card .photo img{width:100%;height:100%;object-fit:contain;transition:transform .45s}.gallery-card:hover .photo img{transform:scale(1.025)}.gallery-card.portrait .photo{height:370px}.gallery-card.landscape .photo{height:250px;margin-top:70px}.gallery-card figcaption{padding:15px 2px 0}.gallery-card figcaption span{display:block;font-size:8px;color:#a18451;letter-spacing:.18em;margin-bottom:5px}.gallery-card figcaption b{font-family:var(--serif);font-size:18px;font-weight:500}.plans-band{background:var(--navy);color:white;padding:82px 0}.plans-grid{display:grid;grid-template-columns:1fr .7fr;gap:100px;align-items:center}.plans-copy h2{font-size:clamp(36px,4.2vw,52px);margin:22px 0}.plans-copy h2 em{color:var(--gold-light)}.plans-copy p{color:#c4ccd1;max-width:460px;font-size:13px;line-height:1.9;margin-bottom:25px}.button.light{background:var(--gold-light);color:var(--navy)}.button.light span{color:var(--navy)}.plan-image{max-width:320px;justify-self:center}.plan-image img{width:100%;height:auto;max-height:480px;object-fit:contain;background:white;box-shadow:0 18px 50px #0004}.plan-image>span{display:block;font-size:8px;letter-spacing:.15em;color:#c1cbd0;margin-top:12px}.offices{background:var(--paper)}.office-heading{max-width:600px;margin-bottom:40px}.office-heading p{max-width:490px;color:var(--muted);font-size:13px;margin:18px 0 0}.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.office-card{background:#fff;padding:32px 34px;border:1px solid #e7e2d8;min-height:250px}.office-number{font-size:9px;letter-spacing:.18em;color:#a18451}.office-card h3{font-size:28px;margin:18px 0 10px}.office-card address{font-style:normal;color:var(--muted);font-size:13px;line-height:1.9}.office-card>a{display:inline-block;margin-top:18px;padding-bottom:4px;border-bottom:1px solid var(--gold);font-size:11px;font-weight:700}.office-card>a span{color:#a18451;margin-left:12px}.contact{background:var(--navy);color:white;padding:90px 0}.contact-inner{display:grid;grid-template-columns:1fr .65fr;gap:100px;align-items:center}.contact h2{font-size:clamp(40px,5vw,60px);margin:23px 0}.contact h2 em{color:var(--gold-light)}.contact-inner>div:first-child>p{max-width:490px;color:#c5cdd2;font-size:13px;line-height:1.9}.contact-card{padding:28px;background:#1c2a35;border:1px solid #ffffff24;text-align:center;display:flex;align-items:center;flex-direction:column}.contact-card img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:50%;margin-bottom:12px}.contact-card>b{font-family:var(--serif);font-size:22px;font-weight:500}.contact-card>span{font-size:10px;color:var(--gold-light);letter-spacing:.1em;margin:4px 0 20px}.contact-card small{font-size:10px;color:#aab5bb;margin-top:17px;line-height:1.6}.footer{background:#0b141b;color:#dce1e3;padding:28px 0 17px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px}.footer-brand img{width:48px;height:48px;background:white;border-radius:50%}.footer-brand b{font-size:20px}.footer-main p,.footer-main>a:last-child{font-size:10px;color:#aeb8bd}.footer-bottom{border-top:1px solid #ffffff1a;padding-top:14px;display:flex;justify-content:space-between;gap:15px;color:#839098;font-size:9px}.floating-link{position:fixed;right:22px;bottom:20px;background:var(--gold-light);color:var(--navy);padding:12px 17px;font-size:11px;font-weight:700;z-index:10;box-shadow:0 7px 24px #0002}.floating-link span{margin-left:12px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.container{width:calc(100% - 42px)}.header{height:84px}.nav-links{gap:17px}.hero-grid{gap:28px;min-height:560px}.hero-image-frame,.hero-image-frame img{height:430px;min-height:430px}.hero-copy{padding-top:25px}.intro-grid{grid-template-columns:.4fr 1fr;gap:25px}.intro-text{grid-column:2}.plans-grid{gap:50px}.contact-inner{gap:50px}.gallery-card.portrait .photo{height:320px}.gallery-card.landscape .photo{height:220px;margin-top:55px}}
@media(max-width:680px){html{scroll-padding-top:70px}.container{width:calc(100% - 34px)}.top-inner{font-size:8px;letter-spacing:.1em}.top-inner span:last-child{display:none}.header{height:76px}.brand img{width:50px;height:50px}.brand b{font-size:22px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;z-index:20;top:115px;left:0;right:0;background:white;padding:22px 25px;border-top:1px solid var(--line);box-shadow:0 15px 25px #0001;align-items:stretch;flex-direction:column;gap:0}.nav-links.open{display:flex}.nav-links>a{padding:13px 0;border-bottom:1px solid #efede8}.nav-links .nav-cta{border:0}.hero-grid{grid-template-columns:1fr;gap:20px;padding-top:25px;padding-bottom:25px}.hero-copy{padding:25px 0 0}.hero-copy h1{font-size:clamp(43px,11vw,60px);margin:20px 0}.hero-copy>p{font-size:13px}.hero-actions{gap:18px}.hero-signoff{margin-top:30px}.hero-visual{padding:0 12px 15px 0}.hero-image-frame,.hero-image-frame img{height:360px;min-height:360px}.hero-image-frame img{object-fit:contain}.image-caption{padding:45px 17px 16px}.image-caption b{font-size:17px}.hero-bottom{gap:8px;flex-wrap:wrap;font-size:7px;letter-spacing:.09em}.section{padding:67px 0}.intro-grid{grid-template-columns:1fr;gap:17px}.section-index{padding:0}.intro-text{grid-column:auto}.intro-heading h2,.section-heading h2,.gallery-head h2,.office-heading h2{font-size:38px}.section-heading,.gallery-head{display:block;margin-bottom:28px}.section-heading>p,.gallery-head>p{margin-top:18px}.service{grid-template-columns:34px 1fr 18px;gap:10px;padding:19px 3px}.service h3{font-size:20px}.service p{font-size:11px}.gallery-grid{grid-template-columns:1fr 1fr;gap:22px 12px}.gallery-card.portrait .photo{height:250px}.gallery-card.landscape .photo{height:180px;margin-top:0}.gallery-card figcaption b{font-size:16px}.gallery-card figcaption span{font-size:7px}.plans-band{padding:62px 0}.plans-grid{grid-template-columns:1fr;gap:30px}.plans-copy h2{font-size:40px}.plan-image{max-width:260px}.office-grid{grid-template-columns:1fr;gap:13px}.office-card{padding:25px}.contact{padding:65px 0}.contact-inner{grid-template-columns:1fr;gap:30px}.contact h2{font-size:48px}.contact-card{padding:25px}.footer-main{align-items:flex-start;flex-wrap:wrap}.footer-main p{width:100%;order:3;margin:0}.footer-bottom{font-size:8px}.floating-link{right:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}}

/* Enquiry form */
.contact-inner{grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.enquiry-form{background:#f8f6f0;color:var(--ink);padding:30px;border:1px solid #d9c9a7;box-shadow:0 18px 45px #0002}.enquiry-form label{display:block;font-size:10px;font-weight:700;letter-spacing:.04em;margin:0 0 8px}.enquiry-form label span{color:#a67f3f}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;font:inherit;font-size:12px;color:var(--ink);background:#fff;border:1px solid #ddd8ce;border-radius:0;padding:13px 14px;margin:0 0 18px;outline:none;transition:border-color .2s,box-shadow .2s}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:#b49358;box-shadow:0 0 0 3px #b493581f}.enquiry-form textarea{resize:vertical;min-height:105px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-submit{border:0;width:100%;justify-content:space-between;cursor:pointer;font:inherit;font-size:11px;font-weight:700;padding:15px 18px}.form-note{font-size:10px;line-height:1.7;color:#74766f;margin:14px 0 0}.form-note.is-success{color:#315e47}.form-note.is-error{color:#8b3a31}
@media(max-width:900px){.contact-inner{gap:35px}}
@media(max-width:680px){.contact-inner{grid-template-columns:1fr;gap:25px}.enquiry-form{padding:22px 18px}.form-row{grid-template-columns:1fr;gap:0}}
