.sv-h2{margin:0;font-family:'Söhne',system-ui,sans-serif;font-weight:500;font-size:clamp(30px,3.4vw,48px);line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.sv-h2 em,.sv-h1 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;color:var(--goldd)}
.dv-s--ink .sv-h2 em,.sv-hero .sv-h1 em{color:var(--gold)}
.sv-h1{margin:0;font-family:'Söhne',system-ui,sans-serif;font-weight:500;font-size:clamp(42px,5.6vw,84px);line-height:1;letter-spacing:-.03em;max-width:14ch;text-wrap:balance}
.sv-hero .dv-hero__in{padding-bottom:clamp(40px,6vw,80px)}
.sv-hero .rot-ctl{color:#F4F1EB}
/* overview */
.sv-ov{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}
.sv-ov li+li{box-shadow:inset 1px 0 0 var(--line)}
.sv-ov a{display:flex;flex-direction:column;gap:8px;height:100%;padding:8px 24px 12px;text-decoration:none;border-radius:6px;transition:background .2s}
.sv-ov a:hover{background:rgba(255,255,255,.6)}
.sv-ov svg{width:28px;height:28px;color:var(--goldd);margin-bottom:6px}
.sv-ov b{font-size:18px;font-weight:500}
.sv-ov span{font-size:14px;line-height:1.45;color:var(--mute)}
.sv-ov em{margin-top:auto;padding-top:6px;font-style:normal;font-size:12px;font-weight:500;color:var(--goldd)}
@media (max-width:980px){.sv-ov{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.sv-ov li+li{box-shadow:none}}
@media (max-width:520px){.sv-ov{grid-template-columns:1fr}}
.sv-ovs{padding:clamp(32px,4vw,48px) 0}
/* sticky subnav */
.sv-jump{position:sticky;top:72px;z-index:20;background:rgba(244,241,235,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.sv-jump .dv-w{display:flex;gap:6px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.sv-jump a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;text-decoration:none;color:var(--ink);white-space:nowrap}
.sv-jump a:hover{background:#fff}
.sv-jump a.is-on{background:var(--ink);color:var(--paper)!important}
.dv [id]{scroll-margin-top:140px}
/* locations */
.sv-ctx{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-8px 0 20px;padding:10px 14px;border-radius:6px;background:#fff;font-size:14px}
.sv-ctx[hidden]{display:none}
.sv-ctx b{font-weight:500}
.sv-ctx button{all:unset;cursor:pointer;min-height:32px;display:inline-flex;align-items:center;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:12px;font-weight:500}
.sv-ctx button:hover{border-color:var(--ink)}
.sv-ctx button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sv-locs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sv-loc{display:flex;flex-direction:column;background:#fff;border-radius:6px;overflow:hidden;text-decoration:none;transition:box-shadow .2s}
.sv-loc:hover{box-shadow:0 0 0 1px var(--ink)}
.sv-loc__m{position:relative;aspect-ratio:16/10;background:var(--stone);overflow:hidden}
.sv-loc__m img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.sv-loc:hover .sv-loc__m img{transform:scale(1.04)}
.sv-loc__b{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;flex-wrap:wrap}
.sv-loc__b small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.sv-loc__b b{display:block;font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--goldd)}
.sv-loc .dv-chip{min-height:34px;font-size:12px}
.sv-loc:hover .dv-chip{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sv-note{margin:0;font-size:13px;color:var(--mute)}
.sv-cmp{margin-top:20px}
.sv-cmp summary{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:500;cursor:pointer;list-style:none}
.sv-cmp summary::-webkit-details-marker{display:none}
.sv-cmp summary::after{content:"+";font-size:16px;line-height:1}
.sv-cmp[open] summary::after{content:"–"}
.sv-cmp summary:hover{border-color:var(--ink)}
.sv-cmp summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sv-cmp .gp-cmp{margin-top:12px}
@media (max-width:1080px){.sv-locs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.sv-locs{grid-template-columns:1fr}}
/* details */
.sv-d{padding:clamp(28px,3.5vw,48px) 0}
.sv-d+.sv-d:not(.dv-s--ink){border-top:1px solid var(--line)}
.sv-d__g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.sv-d--r .sv-d__m{order:2}
.sv-d__m{aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:var(--stone)}
.sv-d__m img{width:100%;height:100%;object-fit:cover;display:block}
.sv-d__n{display:block;margin-bottom:10px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--goldd)}
.dv-s--ink .sv-d__n{color:var(--gold)}
.sv-d p{margin:12px 0 0;font-size:16px;line-height:1.55;color:var(--mute);max-width:50ch}
.dv-s--ink.sv-d p{color:rgba(244,241,235,.75)}
.sv-tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none}
.sv-tags li{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:#fff;font-size:12px}
.dv-s--ink .sv-tags li{background:rgba(244,241,235,.08);color:var(--paper)}
.sv-d__a{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.dv-s--ink .dv-btn--o{border-color:rgba(244,241,235,.4);color:var(--paper)!important}.dv-s--ink .dv-btn--o:hover{border-color:var(--paper)}
@media (max-width:860px){.sv-d__g{grid-template-columns:1fr}.sv-d--r .sv-d__m{order:0}}
/* process */
.sv-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid rgba(244,241,235,.2)}
.sv-steps li{padding:20px 24px 0 0}
.sv-steps li+li{box-shadow:inset 1px 0 0 rgba(244,241,235,.14);padding-left:24px}
.sv-steps i{display:block;font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;color:var(--gold);margin-bottom:12px}
.sv-steps b{display:block;font-size:18px;font-weight:500;margin-bottom:6px}
.sv-steps span{display:block;font-size:14px;line-height:1.5;color:rgba(244,241,235,.7)}
@media (max-width:860px){.sv-steps{grid-template-columns:1fr 1fr;row-gap:20px}.sv-steps li+li{box-shadow:none;padding-left:0}}
@media (max-width:480px){.sv-steps{grid-template-columns:1fr}}
/* enquiry (light) */
.sv-enq .dv-hd p{margin:0;max-width:36ch;font-size:14px;color:var(--mute)}
.sv-svcs{margin:0 0 18px;padding:0;border:0}
.sv-svcs legend{margin-bottom:8px;font-size:12px;color:var(--mute)}
.sv-svcs div{display:flex;flex-wrap:wrap;gap:6px}
.sv-svcs label{position:relative;display:inline-flex}
.sv-svcs input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sv-svcs span{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:500;pointer-events:none}
.sv-svcs input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sv-svcs input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.sv-enq .dv-enq__f label{color:var(--mute)}
.sv-enq .dv-enq__f select,.sv-enq .dv-enq__f input[type="date"],.sv-enq .dv-enq__f input[type="number"]{background:#fff;border-color:var(--line);color:var(--ink);color-scheme:light}
.sv-enq .dv-btn--g{border-color:var(--line);color:var(--ink)!important}.sv-enq .dv-btn--g:hover{border-color:var(--ink);background:transparent}
.sv-enq .dv-enq__n{color:var(--mute)}

.sv-ov{gap:12px}
.sv-ov li+li{box-shadow:none}
.sv-ov a{position:relative;justify-content:flex-end;min-height:clamp(320px,30vw,420px);padding:22px 20px;border-radius:6px;overflow:hidden;color:#F4F1EB!important;background:#0B0B0C;isolation:isolate}
.sv-ov a::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.82) 100%)}
.sv-ov a:hover{background:#0B0B0C}
.sv-ov__img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.sv-ov a:hover .sv-ov__img{transform:scale(1.06)}
.sv-ov svg{color:#C7A463;width:26px;height:26px;margin-bottom:4px}
.sv-ov b{font-size:clamp(22px,1.9vw,28px);font-weight:600;letter-spacing:-.015em;line-height:1.1}
.sv-ov span{color:rgba(244,241,235,.85)}
.sv-ov em{margin-top:6px;color:#C7A463;padding-top:0}
@media (max-width:980px){.sv-ov a{min-height:300px}}

.sv-dets{display:grid;gap:10px;margin:0 0 22px}.sv-dets:empty,.sv-dets:not(:has(.sv-det:not([hidden]))){display:none}
.sv-det{display:grid;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:#fff;animation:svDetIn .25s ease}
.sv-det[hidden]{display:none}
.sv-det__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.sv-det__h b{font-size:15px;font-weight:500}.sv-det__h span{font-size:13px;color:var(--mute)}
.sv-det__o{display:flex;flex-wrap:wrap;gap:6px}.sv-det__o label{position:relative;display:inline-flex}
.sv-det__o input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.sv-det__o span{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;pointer-events:none}
.sv-det__o input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sv-det__o input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
@keyframes svDetIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sv-det{animation:none}}
