/* A glass entry point that becomes a full page, with no dialog or backdrop. */
.hero-logo-button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 164px; height: 64px; border-radius: 6px;
  border: 1px solid #ead1fb59;
  background: linear-gradient(135deg, #fff3 0%, #d8adeb0c 58%, #e4bcf21c 100%);
  box-shadow: inset 0 1px 0 #fff4, inset 0 -1px 0 #fff1, 0 8px 32px #11071b25;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .25s, box-shadow .25s;
}
.hero-logo-button img { display: block; width: 112px; height: auto; }
.hero-logo-button:hover { transform: translateY(-4px); border-color: #ead1fb99; box-shadow: inset 0 1px 0 #fff6, 0 15px 38px #12081e40; }
.hero-logo-button:active { transform: translateY(-1px); }
.hero-logo-button:focus-visible { outline: 2px solid #e2b9f3; outline-offset: 6px; }
/* A focused, native three-step enquiry in the Ocean / Forest palette. */
.homepage-view[hidden], .enquiry-view[hidden], .enquiry-view [hidden] { display:none!important; }
body.enquiry-open { background:#0b1215; }
.enquiry-view { position:relative; z-index:100; width:100%; min-height:100svh; color:#f4f8f7; background:#0b1215; isolation:isolate; overflow:hidden; }
.enquiry-view.is-transitioning { position:fixed; inset:0; height:100dvh; overflow:hidden; }
.enquiry-atmosphere { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:-1; }
.enquiry-atmosphere i { position:absolute; inset:-10%; --fog:radial-gradient(ellipse at 0% 35%,#3a829ca6,transparent 62%); }
.enquiry-atmosphere i+ i { --fog:radial-gradient(ellipse at 100% 80%,#73977599,transparent 60%); --grain-delay:-11s; }
.enquiry-atmosphere i::before,.enquiry-atmosphere i::after { content:""; position:absolute; inset:0; background:var(--fog); }
.enquiry-atmosphere i::before { opacity:.35; }
.enquiry-atmosphere i::after { opacity:.62; mask-image:url('assets/colour-grain.svg'); -webkit-mask-image:url('assets/colour-grain.svg'); mask-size:170px 170px; -webkit-mask-size:170px 170px; mask-repeat:repeat; -webkit-mask-repeat:repeat; animation:enquiry-grain-rise 18s linear var(--grain-delay,-4s) infinite; }
@keyframes enquiry-grain-rise { from{mask-position:0 0;-webkit-mask-position:0 0}to{mask-position:0 -170px;-webkit-mask-position:0 -170px} }
.enquiry-view.motion-paused .enquiry-atmosphere i::after { animation-play-state:paused; }
.enquiry-content { display:flex; flex-direction:column; min-height:100svh; }
.enquiry-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px 6%; }
.enquiry-header img { width:132px; height:auto; }
.enquiry-exit { display:flex; gap:14px; align-items:center; min-height:44px; color:#bacbcd; font-size:12px; text-decoration:none; }
.enquiry-exit span { font-size:25px; line-height:1; font-weight:400; }
.enquiry-main { width:min(620px,88%); margin:36px auto 64px; flex:1; }
.enquiry-progress ol { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; list-style:none; padding:0; margin:0; }
.enquiry-progress li { position:relative; padding-bottom:16px; border-bottom:2px solid #9bbac326; }
.enquiry-progress button { display:flex; align-items:center; gap:9px; min-height:32px; border:0; padding:0; background:none; color:#a8bdbf; font:inherit; font-size:12px; }
.enquiry-progress button:disabled { color:#8b9da2; cursor:default; }
.enquiry-progress button span { display:grid; place-items:center; width:26px; height:26px; font-size:10px; border:1px solid #a8c5cd40; border-radius:50%; font-variant-numeric:tabular-nums; }
.enquiry-progress [aria-current] { border-color:#b3d9d9; }
.enquiry-progress [aria-current] button { color:#f4f8f7; }
.enquiry-progress [aria-current] span { color:#0e252b; background:#b4dce0; border-color:#b4dce0; }
.enquiry-progress .is-complete { border-color:#7faba2; }
.enquiry-progress .is-complete span { color:#d4e7cc; border-color:#91b39a; }
.enquiry-form { margin-top:42px; }
.enquiry-view h1 { font-size:clamp(32px,3.6vw,46px); line-height:1.13; letter-spacing:-.045em; font-weight:500; margin:0 0 30px; max-width:570px; color:#f4f8f7; text-wrap:balance; }
.enquiry-view h1:focus { outline:none; }
.enquiry-topics { display:grid; grid-template-columns:1fr 1fr; gap:12px; border:0; margin:0; padding:0; min-width:0; }
.enquiry-topics legend { font-size:12px; color:#b3c5c7; margin:0 0 20px; padding:0; }
.enquiry-topics label { position:relative; cursor:pointer; --topic:#b4dce0; --topic-bg:#183540; --topic-line:#507b8b; }
.enquiry-topics .topic-green { --topic:#d2e2bc; --topic-bg:#263e33; --topic-line:#6e8b72; }
.enquiry-topics input { position:absolute; width:1px; height:1px; opacity:0; }
.enquiry-topics label>span { display:grid; grid-template-columns:1fr 20px; align-content:space-between; min-height:146px; border:1px solid var(--topic-line); border-radius:10px; padding:22px; background:var(--topic-bg); color:var(--topic); box-shadow:0 8px 28px #0000000d; transition:background .25s,color .25s,border-color .25s,box-shadow .25s; }
.enquiry-topics svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; grid-column:1; }
.enquiry-topics b { grid-column:1; font-size:17px; font-weight:500; margin-top:20px; }
.enquiry-topics i { grid-column:2; grid-row:1; width:19px; height:19px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:12px; font-style:normal; color:transparent; background:#0000000c; box-shadow:inset 0 0 0 1px var(--topic-line); }
.enquiry-topics label:hover>span { border-color:var(--topic); box-shadow:0 6px 28px #0002; }
.enquiry-topics input:checked+span { color:#10282d; background:var(--topic); border-color:var(--topic); }
.enquiry-topics input:checked+span i { color:var(--topic); background:#193b3d; border-color:#193b3d; box-shadow:none; }
.enquiry-topics input:focus-visible+span { outline:2px solid #e3f4ec; outline-offset:4px; }
.enquiry-fields { display:grid; grid-template-columns:1fr; gap:22px; }
.enquiry-field { display:block; color:#c4d4d5; font-size:12px; line-height:1.5; }
.enquiry-field input,.enquiry-field textarea { display:block; width:100%; background:#13272de6; color:#f4f8f7; font:inherit; font-size:16px; line-height:1.6; border:1px solid #52717a; border-radius:8px; padding:16px 18px; margin-top:10px; outline:none; box-shadow:0 6px 20px #0000000a; transition:border-color .2s,box-shadow .2s; }
.enquiry-field textarea { resize:vertical; min-height:190px; max-height:400px; }
.enquiry-field input::placeholder,.enquiry-field textarea::placeholder { color:#a6bbbf; opacity:1; }
.enquiry-field input:focus,.enquiry-field textarea:focus { border-color:#a6d5da; box-shadow:0 0 0 3px #91ced21c; }
.enquiry-field [aria-invalid=true] { border-color:#edb3a7; }
.enquiry-error { color:#ffd0c3; font-size:12px; line-height:1.6; margin:20px 0 0; }
.enquiry-view button { font-family:inherit; cursor:pointer; }
.enquiry-actions { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:30px; }
.enquiry-next,.enquiry-send { display:inline-flex; justify-content:space-between; align-items:center; gap:36px; margin-left:auto; min-height:54px; padding:15px 22px; border:1px solid #b6d7cd; border-radius:7px; color:#112b30; background:linear-gradient(115deg,#b6dce3,#c5d8b6); font-size:14px; font-weight:600; text-decoration:none; box-shadow:0 5px 24px #0002,inset 0 1px #ffffff70; transition:box-shadow .2s,filter .2s; }
.enquiry-next:hover,.enquiry-send:hover { filter:brightness(1.08); box-shadow:0 8px 28px #0003; }
.enquiry-next span,.enquiry-send span { font-size:20px; line-height:1; }
.enquiry-back { display:inline-flex; gap:10px; align-items:center; border:0; background:none; color:#c5d5d5; font-size:13px; padding:12px 0; min-height:44px; }
.enquiry-send-note { margin-top:22px; font-size:11px; line-height:1.7; color:#afc4c5; }
.enquiry-send-note p { margin:0; }
.enquiry-send-note button { border:0; background:none; padding:8px 0; color:#d3e2d2; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.enquiry-send-note .enquiry-copy-status:not(:empty) { margin-top:10px; color:#d2e2bc; }
.enquiry-send-note [data-copy-fallback] { margin-top:15px; }
.enquiry-bottom { display:flex; justify-content:space-between; padding:22px 6%; gap:18px; font-size:11px; }
.enquiry-bottom a { color:#aac0c3; text-decoration:none; }
.enquiry-view :is(a,button):focus-visible { outline:2px solid #cae9dd; outline-offset:5px; }
@media(max-width:700px) {
 .enquiry-header { padding:18px 6%; }
 .enquiry-header img { width:110px; }
 .enquiry-main { margin:26px auto 44px; }
 .enquiry-progress ol { gap:10px; }
 .enquiry-progress li { padding-bottom:12px; }
 .enquiry-progress button { font-size:11px; gap:7px; }
 .enquiry-form { margin-top:32px; }
 .enquiry-view h1 { font-size:clamp(30px,8.2vw,40px); margin-bottom:26px; }
 .enquiry-topics label>span { padding:18px 16px; min-height:130px; }
 .enquiry-topics b { font-size:15px; margin-top:20px; }
 .enquiry-topics svg { width:27px; height:27px; }
 .enquiry-field input,.enquiry-field textarea { padding:15px; }
 .enquiry-field textarea { min-height:180px; }
 .enquiry-actions { gap:18px; margin-top:26px; }
 .enquiry-next,.enquiry-send { min-height:52px; padding:14px 18px; gap:22px; }
 .enquiry-bottom { padding:20px 6%; }
}
@media(prefers-reduced-motion:reduce) {
 .enquiry-atmosphere i::after { animation:none; mask-position:0 0; -webkit-mask-position:0 0; }
 .enquiry-view *, .hero-logo-button { transition:none; }
 .hero-logo-button:hover { transform:none; }
}
