@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--navy:#071b28;--navy2:#0d2937;--cream:#f7f3ec;--white:#fffdf9;--copper:#bb7547;--gold:#e1bb78;--ink:#142a36;--muted:#6a6d6b;--line:#ded8ce;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}a,button,input,textarea,select{outline-offset:3px}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.progress{position:fixed;inset:0 auto auto 0;height:3px;width:0;background:var(--copper);z-index:1000}.topline{background:#061620;color:#d9c8af;text-align:center;font-size:10px;letter-spacing:.24em;padding:9px 16px;text-transform:uppercase}.header{position:sticky;top:0;z-index:90;background:rgba(247,243,236,.97);backdrop-filter:blur(14px);border-bottom:1px solid #e4ded3}.headinner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.monogram{display:flex;align-items:center;position:relative;font-family:'Playfair Display',Georgia,serif;font-size:43px;letter-spacing:-.11em;font-style:italic;line-height:1;font-weight:600}.monogram span:nth-child(1){color:var(--navy)}.monogram span:nth-child(2){color:#c4944b}.monogram svg{width:21px;height:49px;margin-left:-2px}.brandname{border-left:1px solid #c6ac8e;padding-left:14px;font:31px/1.1 'Playfair Display',Georgia,serif;white-space:nowrap}.brandname small{display:block;font:9px/1.4 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.19em;color:#a0623f;margin-top:6px}.nav{display:flex;gap:20px;align-items:center;font-size:12px;font-weight:700}.nav a:not(.btn):hover,.footer a:hover{color:var(--copper)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:49px;padding:12px 23px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.11em;border:1px solid transparent;background:var(--copper);color:#fff;transition:transform .2s,background .2s,box-shadow .2s;white-space:normal;text-align:center}.btn:hover{transform:translateY(-2px);background:#9d5933;box-shadow:0 8px 22px #0002}.btn svg,.arrow svg{width:16px;height:16px;flex-shrink:0}.btn.dark{background:var(--navy);color:white}.btn.dark:hover{background:#173847}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.btn.outline:hover{background:#ffffff15}.hamburger{display:none;border:1px solid var(--line);background:none;border-radius:2px;padding:10px;color:var(--navy)}.hamburger svg{width:24px;height:24px;display:block}.mobile-panel{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.23em;color:var(--copper);font-weight:700;font-size:11px}.serif,h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:clamp(44px,5vw,76px);letter-spacing:-.035em;margin:16px 0 23px}h2{font-size:clamp(34px,3.6vw,56px);letter-spacing:-.025em;margin:12px 0 20px}h3{font-size:clamp(25px,2.4vw,34px);margin:0 0 12px}p{margin:0 0 20px}p.lead{font-size:17px;max-width:650px;color:#505e63}.hero{position:relative;min-height:570px;color:#fff;background:var(--navy);overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,25,.97) 0%,rgba(3,17,25,.85) 33%,rgba(3,17,25,.4) 70%,rgba(3,17,25,.05) 100%)}.hero-inner{position:relative;z-index:1;min-height:570px;display:flex;align-items:center;padding-block:85px 110px}.hero-copy{width:min(620px,100%)}.hero-copy h1 em{color:var(--gold);font-weight:400}.hero-copy p{color:#f0eae1;max-width:545px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.hero-controls{position:absolute;z-index:2;left:max(24px,calc((100vw - var(--max))/2));bottom:25px;display:flex;gap:12px;align-items:center}.dots{display:flex;gap:9px}.dot{width:32px;height:3px;border:0;background:#ffffff55;padding:0}.dot[aria-current='true']{background:var(--gold)}.slide-arrows{display:flex;gap:8px}.slide-arrows button{width:36px;height:36px;background:#061620a8;color:#fff;border:1px solid #ffffff70}.slide-arrows svg{width:16px;height:16px}.services{background:#fffaf3;border-bottom:1px solid var(--line)}.servicegrid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:27px}.servicegrid a{padding:9px 16px;border-right:1px solid #d5c9b7;text-align:center;font:17px/1.3 'Playfair Display',Georgia,serif}.servicegrid a:last-child{border-right:0}.servicegrid a:hover{color:var(--copper)}.servicegrid span{display:block;color:var(--copper);font:10px 'DM Sans',sans-serif;letter-spacing:.16em;margin-bottom:6px}.section{padding:90px 0}.section.alt{background:#eee8de}.section.dark{background:var(--navy);color:#fff}.sectionhead{max-width:780px;margin-bottom:35px}.sectionhead p{color:var(--muted)}.dark .sectionhead p{color:#d4d6d4}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card{background:var(--white);border:1px solid var(--line);overflow:hidden;min-width:0}.card img{height:228px;width:100%;object-fit:cover}.cardbody{padding:26px}.cardbody p{color:#596369;font-size:14px}.cardbody h3{font-size:27px}.arrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a95f38;display:inline-flex;gap:10px;align-items:center}.arrow:hover{text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;background:#efe7da}.split img{width:100%;height:100%;min-height:460px;object-fit:cover}.splittext{padding:clamp(32px,6vw,85px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.splittext p{max-width:530px}.strip{padding:58px 0;background:var(--navy2);color:#fff}.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px}.strip p{color:#d4d4cc;max-width:680px}.pagehero{background:var(--navy);color:white;position:relative;min-height:380px;overflow:hidden}.pagehero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}.pagehero .wrap{padding-block:92px;position:relative}.pagehero h1{max-width:900px}.pagehero p{max-width:650px;color:#f1eee8}.info{padding:26px;border-left:3px solid var(--copper);background:#fff9f1;font-size:14px;color:#596065;margin-top:26px}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{border-top:1px solid #bcb5ad;padding-top:20px}.step:before{counter-increment:step;content:'0' counter(step);color:var(--copper);display:block;font-size:12px;letter-spacing:.2em;margin-bottom:14px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-weight:700;cursor:pointer}.faq p{padding-top:12px;color:#5d6165}.form-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:45px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.wide{grid-column:1/-1}.field label{font-size:12px;font-weight:700;letter-spacing:.05em}.field input,.field select,.field textarea{width:100%;border:1px solid #cec8be;border-radius:0;padding:14px 12px;background:#fff;color:var(--ink);min-height:49px}.field textarea{min-height:115px;resize:vertical}.choice{display:flex;flex-wrap:wrap;gap:12px}.choice label{padding:12px 15px;background:white;border:1px solid var(--line);cursor:pointer}.contact-panel{padding:30px;background:#ede7df}.office{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.footer{padding:55px 0 25px;background:#061620;color:#f7f0e5}.footergrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:36px}.footer .brandname{font-size:24px}.footer p,.footer a{font-size:13px;color:#c6d0cf}.footer h4{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.footbottom{margin-top:45px;border-top:1px solid #ffffff25;padding-top:20px;font-size:11px;color:#adb8bb;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.floating{position:fixed;bottom:22px;right:22px;z-index:92;display:flex;flex-direction:column;gap:12px}.floatbtn{height:48px;width:48px;border-radius:50%;display:grid;place-items:center;border:0;box-shadow:0 5px 17px #0003}.wa{background:#1fc75c;color:white}.wa svg{width:27px;height:27px}.back{background:conic-gradient(var(--copper) var(--angle,0%),#2c3d43 0);color:white;padding:4px}.back span{width:100%;height:100%;border-radius:50%;background:#0d2532;display:grid;place-items:center}.back svg{width:20px;height:20px}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.age{position:fixed;inset:0;z-index:400;background:#071522dd;display:none;place-items:center;padding:20px}.age.show{display:grid}.agebox{max-width:480px;background:var(--cream);padding:38px;text-align:center}.agebox h2{font-size:37px}.notice{font-size:12px;color:#6e7678}.empty-state{border:1px solid #bcaa95;background:#faf5ed;padding:38px}.timeline{border-left:1px solid var(--copper);padding-left:26px}.timeline h3{margin-bottom:12px}
@media(max-width:1050px){.nav{gap:10px;font-size:11px}.brandname{font-size:25px}.brand{gap:8px}.headinner>.btn{display:none}}
@media(max-width:1180px){.nav{display:none}.hamburger{display:block}.mobile-panel{position:fixed;z-index:96;top:0;right:0;bottom:0;width:min(380px,90vw);background:var(--cream);padding:28px;box-shadow:-20px 0 80px #0005;transform:translateX(110%);transition:transform .25s;display:flex;flex-direction:column;overflow-y:auto}.mobile-panel.open{transform:translateX(0)}.mobile-panel a{border-bottom:1px solid var(--line);padding:12px 3px;display:flex;align-items:center;gap:14px;font-weight:700;font-size:14px}.mobile-panel a svg{width:19px;height:19px;color:var(--copper)}.menu-close{align-self:flex-end;border:0;background:transparent;font-size:28px}.menu-backdrop{position:fixed;inset:0;background:#06162091;z-index:95;display:none}.menu-backdrop.open{display:block}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.footergrid{grid-template-columns:1fr 1fr}.servicegrid{grid-template-columns:repeat(2,1fr)}.servicegrid a:nth-child(2){border-right:0}.servicegrid a:nth-child(-n+2){border-bottom:1px solid var(--line)}.steps{grid-template-columns:1fr 1fr}.form-wrap{grid-template-columns:1fr}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.topline{font-size:8px;letter-spacing:.12em}.headinner{min-height:74px}.brandname{font-size:23px}.monogram{font-size:34px}.monogram svg{height:42px;width:17px}.brandname small{font-size:7px}.hero,.hero-inner{min-height:590px}.hero-inner{padding-block:60px 95px;align-items:flex-end}.hero-shade{background:linear-gradient(0deg,#061620f7 0%,#061620c0 45%,#06162022 100%)}.hero-image{object-position:65% center}.hero-copy h1{font-size:clamp(42px,11vw,58px)}.hero-copy p{font-size:14px}.hero-actions .btn{width:100%}.hero-controls{left:18px;bottom:18px}.section{padding:62px 0}.grid3,.grid2,.steps,.split,.footergrid{grid-template-columns:1fr}.split img{min-height:300px;max-height:390px}.splittext{padding:35px 22px}.strip .wrap{flex-direction:column;align-items:flex-start}.card img{height:230px}.footergrid{gap:18px}.formgrid{grid-template-columns:1fr}.pagehero .wrap{padding-block:65px}.pagehero{min-height:300px}h1{font-size:44px}h2{font-size:36px}.floating{right:12px;bottom:12px}.floatbtn{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* Phase 1.1: compact, consistently aligned primary navigation */
@media (min-width: 1321px) {
  :root { --max: 1280px; }
  .headinner { display:grid; grid-template-columns:max-content minmax(0,1fr) max-content; gap:clamp(20px,2vw,34px); min-height:82px; }
  .brand { gap:9px; }
  .brandname { font-size:clamp(24px,1.75vw,29px); padding-left:11px; }
  .brandname small { font-size:8px; letter-spacing:.14em; }
  .monogram { font-size:38px; }
  .monogram svg { width:18px; height:44px; }
  .nav { display:flex; justify-content:center; gap:clamp(10px,1.12vw,21px); min-width:0; font-size:clamp(10px,.79vw,12px); line-height:1.25; }
  .nav a { display:inline-flex; align-items:center; white-space:nowrap; flex:0 0 auto; }
  .headinner > .btn { display:inline-flex; min-height:40px; padding:9px 13px; font-size:10px; letter-spacing:.075em; gap:8px; white-space:nowrap; }
  .headinner > .btn svg { width:14px; height:14px; }
  .hamburger {display:none;}
}
@media (min-width: 1321px) and (max-width: 1450px) {
  .brandname {font-size:24px;}
  .monogram {font-size:35px;}
  .headinner {gap:14px;}
  .nav {gap:10px; font-size:10.5px;}
}
@media (max-width:1320px) {
  .headinner > .btn { display:none; }
  .nav { display:none; }
  .hamburger { display:block; margin-left:auto; }
}

/* V1.2 regression fixes */
[data-slide][hidden]{display:none!important}
.hero-image{object-position:center center}
.nav a{white-space:nowrap}
@media(min-width:1321px){.headinner{gap:clamp(10px,1.1vw,20px)}.nav{gap:clamp(10px,1vw,17px)}}
@media(max-width:1320px){.headinner>.btn{margin-left:auto}}
@media(max-width:620px){.hero-copy{max-width:100%}.hero-actions .btn{max-width:100%}}


/* Phase 1.4 — event enquiries and calendar, progressive enhancement */
.phase-section{padding:clamp(62px,7vw,108px) 0;background:#f8f5ef;color:#102938}.phase-section:nth-of-type(even){background:#f0ebe2}.phase-section h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(31px,3.2vw,54px);line-height:1.16;margin:12px 0 20px;letter-spacing:-.025em}.phase-lead{max-width:750px;color:#5e6668;line-height:1.75;font-size:clamp(15px,1.4vw,18px)}.phase-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:38px}.phase-card{border:1px solid #ddd5c8;background:#fffdf9;padding:clamp(22px,2.6vw,36px);min-width:0;display:flex;flex-direction:column}.phase-card h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(21px,2vw,27px);line-height:1.25;margin:18px 0 10px}.phase-card p{color:#59646a;line-height:1.7;font-size:15px;flex:1}.phase-count{font-size:11px;letter-spacing:.18em;color:#b57950;font-weight:700}.phase-link{font-size:13px;font-weight:700;color:#a8663f;letter-spacing:.02em;display:inline-block;padding:12px 0;text-decoration:underline;text-underline-offset:5px}.phase-inline-cta{margin-top:35px;padding:30px;background:#0b2532;color:white;display:flex;align-items:center;justify-content:space-between;gap:24px}.phase-inline-cta h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;margin:0 0 8px}.phase-inline-cta p{color:#e3e1d8;line-height:1.6;margin:0;max-width:600px}.phase-button{background:#b9794f;color:white;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;min-height:48px;white-space:normal;text-align:center}.phase-button:hover{background:#995e37}.event-controls{display:flex;align-items:center;gap:14px;margin:27px 0 24px;flex-wrap:wrap}.event-controls label{font-size:13px;font-weight:700}.event-controls select{background:#fff;padding:12px 34px 12px 14px;border:1px solid #d6ccbf;min-height:44px;color:#122b38}.event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;min-height:180px}.event-empty{grid-column:1/-1;padding:clamp(28px,4vw,52px);background:#fff;border:1px solid #e2d9cc}.event-empty h3{font-family:'Playfair Display',Georgia,serif;font-size:28px;margin:0 0 16px}.event-empty p{max-width:670px;color:#62686b;line-height:1.7;margin-bottom:24px}.event-card{background:white;border:1px solid #ded5c6;padding:30px;display:flex;flex-direction:column;gap:12px;min-width:0}.event-card h3{font-family:'Playfair Display',Georgia,serif;font-size:26px;line-height:1.25}.event-card p{font-size:14px;line-height:1.6;color:#63676a}.event-meta{font-size:13px;display:grid;gap:8px}.event-type{color:#ac704c;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.event-actions{margin-top:auto;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.fine-print{font-size:12px;color:#777;margin-top:20px}.event-detail{max-width:850px}.event-detail-card{padding:clamp(25px,4vw,50px);background:white;border:1px solid #ded5c6}.event-detail-card h2{font-size:clamp(30px,4vw,52px)}.event-detail-card p{line-height:1.8}.phase-form-details{background:#f4efe6;border:1px solid #e1d7c9;padding:24px;margin:20px 0}.phase-form-details h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;margin:0 0 8px}.phase-form-details p{color:#59646a;font-size:13px;line-height:1.6;margin-bottom:18px}.phase-form-details .field{min-width:0}.phase-form-details input,.phase-form-details select{width:100%;box-sizing:border-box}.optional{font-family:Arial,sans-serif;color:#777;font-size:12px;font-weight:400}.consent-field{margin:18px 0}.consent-field label{display:flex;align-items:flex-start;gap:10px;line-height:1.6;font-size:13px}.consent-field input{margin-top:5px;flex:0 0 auto}.phase-news{background:#ece5db}.phase-news-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center}.phase-news-grid>div:last-child{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.phase-secondary-link{margin:0}
/* Content visibility is not dependent on animation initialization */
.reveal:not(.visible){opacity:1;transform:none}
@media(max-width:800px){.phase-cards{grid-template-columns:1fr}.event-list{grid-template-columns:1fr}.phase-news-grid{grid-template-columns:1fr;gap:14px}.phase-inline-cta{flex-direction:column;align-items:flex-start}.phase-form-details{padding:16px}}
@media(max-width:480px){.phase-section{padding:55px 0}.phase-card{padding:23px}.event-empty{padding:26px}.phase-inline-cta{padding:23px}.phase-button{width:100%}}

/* v1.5.1: unify all Phase 1.4 content with the original centered site grid. */
.phase-section > .container,
.phase-section .container,
.container {
  width: min(var(--max), calc(100% - 48px));
  max-width: 100%;
  margin-inline: auto;
}
.phase-section > .phase-inline-cta {
  width: min(var(--max), calc(100% - 48px));
  margin: 35px auto 0;
}
.phase-section .phase-cards, .phase-section .event-list {min-width:0;}
.phase-section .phase-card, .phase-section .event-card {min-width:0;overflow-wrap:break-word;}
.phase-section h1,.phase-section h2,.phase-section p {overflow-wrap:break-word;}
@media(max-width:620px) {
 .phase-section > .container,.phase-section .container,.container,
 .phase-section > .phase-inline-cta {width:calc(100% - 36px)}
}

/* v1.5.2 layout and site-wide footer watermark */
/* Every new section uses the same exact .wrap container as the site header. */
.phase-section > .wrap,
.phase-section > .wrap.container,
.phase-news > .wrap,
.phase-section .phase-inline-cta {
  width:min(var(--max),calc(100% - 48px));
  margin-left:auto;
  margin-right:auto;
}
/* Cards must stay within the centered column. */
.phase-section .phase-cards,
.phase-section .event-list { width:100%; min-width:0; }
.phase-section .phase-inline-cta { max-width:var(--max); }
/* Large quiet wordmark below actual footer information. */
.footer { position:relative; overflow:hidden; isolation:isolate; padding-bottom:clamp(88px,12vw,175px); }
.footer > .wrap { position:relative; z-index:2; }
.footer-watermark {
  position:absolute;
  z-index:0;
  inset:auto 0 -0.22em;
  text-align:center;
  width:100%;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(95px,19vw,330px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.055em;
  color:rgba(247,240,229,.085);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}
@media(max-width:620px) {
 .phase-section > .wrap,.phase-section > .wrap.container,
 .phase-news > .wrap,.phase-section .phase-inline-cta {width:calc(100% - 36px)}
 .footer {padding-bottom:90px}
 .footer-watermark {font-size:clamp(76px,21vw,140px);bottom:-.12em;letter-spacing:-.06em}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}
/* Final v1.5.2 adjustments: no double inset for CTA nested inside .wrap. */
.phase-section > .wrap > .phase-inline-cta,
.phase-section > .container > .phase-inline-cta { width:100%; max-width:none; margin:35px 0 0; }
html, body { overflow-x:clip; }

/* V1.5.3: contact form component reset. Never apply full-width text-input rules to radio/checkbox. */
.form-wrap { grid-template-columns:minmax(0,1.3fr) minmax(280px,.85fr); align-items:start; }
.form-wrap > *, .formgrid > *, .contact-panel { min-width:0; }
#enquiry-form .formgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#enquiry-form .field input:not([type=radio]):not([type=checkbox]),
#enquiry-form .field select, #enquiry-form .field textarea { min-width:0; max-width:100%; }
#enquiry-form input[type=radio], #enquiry-form input[type=checkbox] {
  appearance:auto; -webkit-appearance:auto; width:18px!important; height:18px!important; min-height:0!important;
  max-width:18px; padding:0!important; margin:0; border:0; flex:0 0 18px; accent-color:#b9794f;
}
#enquiry-form .channel-field { gap:12px; }
#enquiry-form .channel-field > .channel-title { display:block; font-size:13px; font-weight:700; letter-spacing:0; }
#enquiry-form .channel-options { display:flex; flex-wrap:wrap; gap:12px; align-items:stretch; }
#enquiry-form .channel-option { display:flex!important; flex-direction:row!important; gap:10px; align-items:center; justify-content:flex-start;
  width:auto; min-width:145px; min-height:54px; border:1px solid #d8cec1; background:white; padding:14px 17px;
  font-size:14px; font-weight:600; letter-spacing:0; cursor:pointer; overflow-wrap:normal;
}
#enquiry-form .channel-option:has(input:checked) { border-color:#b9794f; box-shadow:inset 0 0 0 1px #b9794f; }
#enquiry-form .consent-field { width:100%; min-width:0; margin:18px 0 22px; }
#enquiry-form .consent-field label { display:flex!important; flex-direction:row!important; align-items:flex-start;
  gap:12px; width:100%; min-width:0; font-size:13px; line-height:1.7; font-weight:400; letter-spacing:0;
  overflow-wrap:normal; word-break:normal; white-space:normal;
}
#enquiry-form .consent-field input { margin-top:3px!important; }
#enquiry-form .send-actions { min-width:0; width:100%; }
#enquiry-form .send-actions .btn { width:100%; display:flex; justify-content:center; }
.contact-panel { overflow-wrap:break-word; width:100%; box-sizing:border-box; }
@media (max-width:800px) { .form-wrap {grid-template-columns:minmax(0,1fr); gap:28px;} }
@media (max-width:540px) { #enquiry-form .formgrid {grid-template-columns:minmax(0,1fr);} #enquiry-form .channel-option {flex:1 1 135px;} }

/* v1.5.4 — Footer watermark sits behind Our Offices and Contact, not below footer legal row. */
.footer {padding-bottom:25px;}
.footergrid{position:relative; isolation:isolate; overflow:hidden;}
.footergrid > div:not(.footer-watermark){position:relative;z-index:1;}
.footergrid .footer-watermark{
 position:absolute; z-index:0; pointer-events:none; user-select:none;
 inset:auto 0 0 22%; width:78%; text-align:center;
 font:400 clamp(70px,10vw,156px)/.9 'Playfair Display',Georgia,serif;
 letter-spacing:-.05em; white-space:nowrap; color:rgba(247,240,229,.075);
}
.footbottom{position:relative;z-index:2;margin-top:35px;}
/* Decorative sheen on the primary top-header call-to-action. */
.headinner .btn-shimmer{position:relative;overflow:hidden;isolation:isolate;white-space:nowrap;}
.headinner .btn-shimmer::after{
 content:'';position:absolute;inset:-30% auto -30% -100%;width:45%;
 transform:skewX(-25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);
 pointer-events:none;animation:fw-shimmer 5s ease-in-out infinite;
}
@keyframes fw-shimmer {0%,64%{left:-100%}88%,100%{left:155%}}
@media(prefers-reduced-motion:reduce){.headinner .btn-shimmer::after{animation:none;display:none}}
/* v1.5.5: restore natural editorial typography.  Never shrink the type to enforce one-line copy. */
.one-line-desktop,
h2.one-line-desktop,
p.one-line-desktop {
  white-space:normal !important;
  font-size:inherit;
  max-width:100% !important;
  overflow-wrap:normal;
  letter-spacing:inherit;
}
/* Preserve original typographic hierarchy from each section's standard styles. */
h2.one-line-desktop {font-size:clamp(34px,3.6vw,56px);line-height:1.15;letter-spacing:-.025em;}
.phase-section h2.one-line-desktop {font-size:clamp(31px,3.2vw,54px);line-height:1.16;letter-spacing:-.025em;}
p.one-line-desktop {font-size:16px;line-height:1.7;}
p.phase-lead.one-line-desktop {font-size:clamp(15px,1.4vw,18px);line-height:1.75;}
p.lead.one-line-desktop {font-size:17px;}
/* 25% larger than V1.5.4, anchored to the offices/contact area. */
.footergrid .footer-watermark {
  font-size:clamp(87.5px,12.5vw,195px);
}
@media(max-width:620px) {
 .footergrid .footer-watermark {font-size:clamp(62.5px,20vw,112.5px);}
}

/* v1.5.6: Restore readable editorial lead paragraphs.
   Do not tie font-size to viewport or force one-line copy. */
.phase-section .phase-lead,
.phase-section p.phase-lead.one-line-desktop {
  font-size:18px;
  line-height:1.75;
  max-width:900px;
  white-space:normal;
  overflow-wrap:break-word;
}
@media (max-width:620px) {
  .phase-section .phase-lead,
  .phase-section p.phase-lead.one-line-desktop {font-size:16px;line-height:1.7;}
}


/* V1.5.7 — use the real desktop container width before fitting editorial copy.
   No clipping, no forced tiny text, and no horizontal overflow. */
@media (min-width: 1000px) {
  .sectionhead:has(> .one-line-desktop),
  .sectionhead:has(> p.one-line-desktop) {max-width:none;width:100%;}
  .sectionhead .one-line-desktop,
  .phase-section .one-line-desktop {max-width:100% !important;}
}
.one-line-desktop {overflow:visible !important;text-overflow:clip !important;}
@media (max-width:999px) {
  .one-line-desktop {white-space:normal !important;font-size:inherit;}
}

/* v1.5.8: fix regression. Content wrappers must NEVER expand outside the aligned page grid. */
.phase-section > .wrap.container,
.phase-section > .container,
.phase-news > .wrap {width:min(var(--max),calc(100% - 48px));max-width:var(--max);margin-inline:auto;}
/* Use card width for event empty-state text rather than imposing an arbitrary 670px cap. */
.event-empty p {max-width:none;font-size:18px;line-height:1.7;color:#596369;}
/* Keep empty-state headings large and readable. */
.event-empty h3 {font-size:clamp(27px,2.35vw,34px);line-height:1.3;}
@media(max-width:620px){
 .phase-section > .wrap.container,.phase-section > .container,.phase-news > .wrap{width:calc(100% - 36px);}
 .event-empty p{font-size:16px;line-height:1.7;}
}

/* v1.5.9: Locations office photography, confined to existing main content container. */
.office-card{min-width:0;background:var(--white);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;}
.office-photo{width:100%;height:auto;aspect-ratio:1280/721;object-fit:cover;display:block;}
.office-card-content{padding:28px 30px 32px;flex:1;}
.office-card-content h3{font-size:clamp(25px,2.3vw,32px);margin:0 0 12px;}
.office-card-content h3 a:hover{color:var(--copper);}
.office-card-content p{color:#596369;line-height:1.8;margin:0;}
@media(max-width:620px){.office-card-content{padding:24px 22px 28px;}.office-photo{aspect-ratio:16/10;}}


/* Business Networking concept cards — V1.6.0 */
.networking-concept-card{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0;background:#fffdf9;border:1px solid #ded5c8;transition:transform .3s ease,box-shadow .3s ease}
.networking-concept-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(9,36,49,.09)}
.networking-concept-media{width:100%;aspect-ratio: 3.35 / 1;overflow:hidden;background:#d6c5b3}
.networking-concept-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease}
.networking-concept-card:hover .networking-concept-media img{transform:scale(1.035)}
.networking-concept-copy{padding:clamp(23px,2.2vw,29px);flex:1}
.networking-concept-copy h3{margin:0 0 12px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(22px,2vw,29px);line-height:1.2}
.networking-concept-copy p{margin:0;color:#59646a;line-height:1.65;font-size:15px}
.networking-illustration-note{margin:14px 0 0;color:#6a6b69;font-size:12px}
@media(max-width:800px){.networking-concept-media{aspect-ratio:3/1}.networking-concept-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.networking-concept-card,.networking-concept-media img{transition:none}.networking-concept-card:hover,.networking-concept-card:hover img{transform:none}}

/* V1.6.1 — small promotional header labels, matching the supplied menu reference. */
.nav a.fw-nav-featured{position:relative;isolation:isolate;}
.fw-nav-tag{position:absolute;top:-23px;left:50%;transform:translateX(-50%);z-index:2;display:inline-block;padding:3px 7px;border-radius:4px;background:#ec7967;color:#fff;font-family:'DM Sans',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.015em;line-height:1.2;text-transform:none;white-space:nowrap;pointer-events:none;box-shadow:0 2px 4px #091c2817;}
.fw-nav-tag::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#ec7967;}
.mobile-panel .fw-mobile-nav-tag{display:inline-block;margin-left:auto;padding:3px 7px;border-radius:4px;background:#ec7967;color:white;font-family:'DM Sans',Arial,sans-serif;font-weight:700;font-size:10px;line-height:1.3;white-space:nowrap;}
@media(min-width:801px){.headinner .nav{padding-top:8px;}}
@media(prefers-reduced-motion:reduce){.fw-nav-tag{transition:none;}}

/* v1.6.2: footer design credit */
.footbottom{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:10px;align-items:center;justify-content:space-between}
.fw-design-credit{white-space:nowrap}
.fw-design-credit a{color:inherit;text-decoration:none;font-weight:700}
.fw-design-credit a:hover{text-decoration:underline}
@media(max-width:760px){.footbottom{align-items:flex-start;flex-direction:column}.fw-design-credit{white-space:normal}}

/* V1.6.3 independent networking photographs */
.networking-concept-media{aspect-ratio:16/9;overflow:hidden;}
.networking-concept-media img{width:100%;height:100%;object-fit:cover;display:block;}

/* Phase 1.7 — service area and partnership presentation */
.fw17-section{padding:clamp(58px,6vw,90px) 0;background:var(--cream);}
.fw17-section:nth-of-type(even){background:#eee8de;}
.fw17-heading{max-width:100%;margin-bottom:34px;}
.fw17-heading h2{max-width:100%;}
.fw17-heading p{max-width:1120px;color:#596369;font-size:17px;line-height:1.7;}
.fw17-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.fw17-card{min-width:0;background:#fffdf9;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;}
.fw17-card h3{font-size:clamp(25px,2.2vw,31px);}
.fw17-card p{color:#596369;line-height:1.7;font-size:15px;flex:1;}
.fw17-link{font-size:12px;font-weight:700;color:#aa6039;text-decoration:underline;text-underline-offset:4px;}
.fw17-banner{background:#0c2735;color:#f9f3ea;padding:40px 0;}
.fw17-banner-inner{display:flex;justify-content:space-between;gap:30px;align-items:center;}
.fw17-banner h2{font-size:clamp(29px,3vw,42px);margin:0 0 12px;}
.fw17-banner p{font-size:16px;color:#e1dfdb;line-height:1.65;max-width:960px;margin:0;}
.fw17-banner .btn{flex:none;}
@media(max-width:900px){.fw17-grid{grid-template-columns:1fr 1fr}.fw17-banner-inner{flex-direction:column;align-items:flex-start;}}
@media(max-width:620px){.fw17-grid{grid-template-columns:1fr}.fw17-card{padding:24px}.fw17-heading p{font-size:16px}.fw17-banner{padding:36px 0}}

/* Fine Wines Phase 2/3 — catalogue and editorial layout */
.fw-catalog-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:26px 0 14px}.fw-catalog-tools label{font-size:13px;font-weight:600}.fw-catalog-tools input,.fw-catalog-tools select{border:1px solid #d2c6b7;border-radius:7px;background:#fff;min-height:44px;padding:10px 12px;font:inherit;color:#071b28;max-width:100%}.fw-catalog-tools input{flex:1 1 240px;max-width:380px}.fw-catalog-tools select{min-width:180px}.fw-catalog-count{font-size:13px;color:#766d63;margin:8px 0 16px}.fw-catalog-grid,.fw-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.fw-wine-tile,.fw-guide-card,.fw-spec,.fw-article-aside{border:1px solid #e1d6c8;background:#fff;border-radius:14px;padding:26px;min-width:0}.fw-wine-tile h3,.fw-guide-card h3{margin:13px 0;font-size:clamp(20px,2vw,27px);line-height:1.25}.fw-wine-tile p,.fw-guide-card p{color:#5b5c57}.fw-pending{display:block;font-size:12px;color:#766d63;margin:15px 0}.fw-wine-tile .arrow,.fw-guide-card .arrow{display:inline-block;margin-top:12px}.fw-wine-tile[hidden],#wine-empty[hidden]{display:none!important}.fw-detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:50px;align-items:start}.fw-spec dl{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1fr);gap:12px;margin:15px 0 24px;font-size:14px}.fw-spec dt{font-weight:700}.fw-spec dd{margin:0;overflow-wrap:anywhere}.fw-article-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,.85fr);gap:65px;align-items:start}.fw-article{max-width:790px}.fw-article h2{font-size:clamp(24px,2.7vw,36px);margin:36px 0 16px}.fw-article p{font-size:17px;line-height:1.85}.fw-article-intro{font-size:20px!important}.fw-article-aside .arrow{display:block;margin-top:18px}.fw-guide-promo-inner{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid #d6cbbd;padding-top:26px}.fw-guide-promo-inner>div{max-width:750px}.fw-footer-guide-link{padding-top:12px}.fw-footer-guide-link a{color:inherit;text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.fw-catalog-grid,.fw-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fw-article-layout,.fw-detail-layout{grid-template-columns:1fr;gap:25px}}@media(max-width:640px){.fw-catalog-grid,.fw-guides-grid{grid-template-columns:1fr}.fw-wine-tile,.fw-guide-card{padding:22px}.fw-catalog-tools{align-items:stretch}.fw-catalog-tools input,.fw-catalog-tools select{width:100%;max-width:none}.fw-guide-promo-inner{display:block}.fw-guide-promo-inner .btn{margin-top:16px}}

/* V2.3.1 — Our Wines hero CTAs */
.fw-wine-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.fw-wine-hero-actions .btn{margin:0;min-height:49px;display:inline-flex;align-items:center;justify-content:center}
.fw-wine-hero-actions .fw-wine-guides-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.83);box-shadow:none}
.fw-wine-hero-actions .fw-wine-guides-btn:hover,.fw-wine-hero-actions .fw-wine-guides-btn:focus-visible{background:#fff;color:#102938;border-color:#fff}
@media(max-width:420px){.fw-wine-hero-actions{gap:10px}.fw-wine-hero-actions .btn{max-width:100%;white-space:normal;text-align:center}}

/* V2.4: language toggle / Chinese typography */
.fw-lang-link,.fw-lang-active{font-size:12px!important;font-weight:700!important;letter-spacing:.02em;white-space:nowrap}.fw-lang-link{color:#ae673e!important}.fw-lang-active{color:#7d7771}.nav{gap:clamp(9px,1.2vw,22px)}
html[lang="zh-Hans"] body{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3,html[lang="zh-Hans"] .brandname{font-family:"Noto Serif CJK SC","Songti SC","SimSun",serif;letter-spacing:.005em}html[lang="zh-Hans"] h1{line-height:1.23}html[lang="zh-Hans"] .hero-copy h1{max-width:850px}html[lang="zh-Hans"] .pagehero h1{max-width:980px}html[lang="zh-Hans"] p{line-height:1.85}
@media(max-width:1250px){.fw-lang-link,.fw-lang-active{font-size:11px!important}}

/* V2.4.1 — dedicated language selector in right-side header actions */
.fw-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.5vw,23px);white-space:nowrap;min-width:max-content;}
.fw-language-switch{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;padding:6px 10px;border:1px solid #ded5c8;border-radius:999px;background:rgba(255,255,255,.62);font-size:11px;line-height:1.2;letter-spacing:.025em;font-weight:700;}
.fw-language-option{color:#716e6b;text-decoration:none;white-space:nowrap;transition:color .2s ease;}
.fw-language-option:hover{color:#a9643e;}
.fw-language-option.is-active{color:#a9643e;}
.fw-language-separator{color:#beb5aa;font-weight:400;}
/* All languages share the same three-part header grid at desktop widths. */
@media(min-width:1181px){.headinner{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:clamp(12px,1.35vw,24px);}.headinner .nav{min-width:0;justify-content:center;}.fw-header-actions .btn{margin:0;}.headinner>.btn{display:none;}}
@media(min-width:1181px) and (max-width:1400px){.headinner .nav{gap:clamp(7px,.65vw,12px);font-size:clamp(10px,.78vw,12px);}.fw-language-switch{padding:6px 8px;gap:7px;}.fw-header-actions{gap:12px;}.fw-header-actions .btn{padding:11px 15px;font-size:10px;}}
/* Tablet/mobile: language always visible beside the hamburger, CTA remains in mobile drawer. */
@media(max-width:1180px){.headinner{display:flex;}.fw-header-actions{margin-left:auto;gap:8px;}.fw-header-actions .btn{display:none!important;}.fw-language-switch{font-size:11px;padding:7px 10px;}.hamburger{margin-left:0;}}
@media(max-width:420px){.fw-language-switch{font-size:10px;padding:6px 8px;gap:6px;}.headinner{gap:8px;}.brandname{font-size:21px;}.brand{gap:6px;}}
