/* Request form and privacy dialog styles, taken from the live silvermoose.se v2.css (18 Oct 2026). */
.v2-lead{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);background:linear-gradient(135deg,#1d2530,#141a22);border:1px solid #bbc9d333;border-radius:20px;overflow:hidden}
.v2-lead-col{position:relative;padding:26px;min-width:0}
.v2-lead-col+.v2-lead-col{border-left:1px solid #ffffff1c}
.v2-kinds{display:grid;gap:8px}
.v2-kind{position:relative;display:grid;gap:3px;padding:15px 16px;border:1px solid #ffffff26;border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s}
.v2-kind input{position:absolute;opacity:0;pointer-events:none}
.v2-kind>b{font-size:15px;font-weight:600}
.v2-kind>span{font-size:12px;color:var(--muted)}
.v2-kind:hover{border-color:#ffffff55}
.v2-kind:has(input:checked){border-color:var(--lime);background:#d5fa7514}
.v2-kind:has(input:focus-visible){outline:2px solid #fff;outline-offset:3px}
.v2-lead-form{display:grid;gap:10px}
.v2-lead-form[hidden],.v2-lead-done[hidden]{display:none}
.v2-trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.v2-lead-done{padding:34px 10px}
.v2-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.v2-link:hover{color:var(--ink)}
@media(max-width:900px){.v2-lead{grid-template-columns:1fr}.v2-lead-col+.v2-lead-col{border-left:0;border-top:1px solid #ffffff1c}}
@media(max-width:600px){.v2-lead-col{padding:20px}}
.v2-privacy-dialog{width:min(640px,calc(100vw - 32px));max-height:min(82vh,760px);overflow:auto;padding:40px 34px 30px;border:1px solid #bbc9d340;border-radius:22px;background:#121920;color:var(--ink);box-shadow:0 40px 120px #000c}
.v2-privacy-dialog::backdrop{background:#05080cb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.v2-privacy-dialog h2{margin:10px 0 8px;font-size:30px;font-weight:500;letter-spacing:-1px}
.v2-privacy-dialog h3{margin:20px 0 6px;font-size:14px;font-weight:600}
.v2-privacy-dialog p:not(.eyebrow){font-size:13px;line-height:1.75;color:#c0c6cc}
.v2-privacy-dialog .close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:1px solid #ffffff2e;border-radius:50%;background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
@media(max-width:600px){.v2-privacy-dialog{padding:34px 22px 24px}.v2-privacy-dialog h2{font-size:25px}}
.v2-upload{display:grid;gap:8px}
.v2-upload-btn{position:relative;display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:11px 16px;border:1px dashed #ffffff40;border-radius:12px;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}
.v2-upload-btn:hover{border-color:var(--lime);background:#ffffff08}
.v2-upload-btn:focus-within{outline:2px solid #fff;outline-offset:3px}
.v2-upload-btn input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
.v2-upload-btn svg{width:18px;height:18px;color:var(--lime)}
.v2-upload-hint{font-size:12px;line-height:1.6;color:var(--muted)}
.v2-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.v2-thumbs:empty{display:none}
.v2-thumbs li{position:relative;width:64px;height:64px;overflow:hidden;border:1px solid #ffffff26;border-radius:10px;background:#0b1017}
.v2-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.v2-thumbs li.busy::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff24,transparent);animation:v2-shimmer 1s linear infinite}
@keyframes v2-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.v2-thumbs button{position:absolute;top:3px;right:3px;width:22px;height:22px;border:0;border-radius:50%;background:#000b;color:#fff;font-size:14px;line-height:22px;cursor:pointer}
.v2-message{min-height:130px;resize:vertical;line-height:1.5}
.v2-message-label{font-size:14px;font-weight:600}

/* Signature: the request form sits in a dark panel inside the green contact box (like the booking demo), steps stacked. */
.signature .contact-section .v2-lead{--ink:#f3f4eb;--muted:#b2b9aa;--line:#343c2f;--accent:#a8dd6a;--lime:#a8dd6a;--accent-ink:#1a270e;display:grid;grid-template-columns:1fr;gap:22px;padding:26px;border-radius:20px;background:linear-gradient(135deg,#1d2530,#141a22);color:var(--ink);box-shadow:0 18px 40px #0b120a33}
.signature .contact-section .v2-lead .v2-lbl{color:var(--muted)}
.signature .contact-section .v2-lead a{color:var(--accent)}
:where(.contact-section .v2-lead) button{background:none;border:0;color:inherit;padding:0}
.signature .v2-privacy-dialog{--ink:#f3f4eb;--muted:#b2b9aa;--accent:#a8dd6a;max-width:560px;width:calc(100% - 32px);padding:30px;border:1px solid #343c2f;border-radius:16px;background:#141a22;color:var(--ink)}
.signature .v2-privacy-dialog::backdrop{background:#05080bcc}
.signature .v2-privacy-dialog a{color:var(--accent)}
@media(max-width:600px){.signature .contact-section .v2-lead{padding:18px}}
/* site.css colours every form label/placeholder dark green for the light contact box; inside the dark panel they are light. */
.signature .contact-section .v2-lead label{color:var(--ink);font-size:inherit}
.signature .contact-section .v2-lead .v2-message-label{font-size:13px;color:var(--muted)}
.signature .contact-section .v2-lead :is(input,textarea)::placeholder{color:#8f9a88;opacity:1}
.signature .contact-section .v2-lead :is(input,textarea).v2-field{margin-top:0}
/* Compact form (18 Oct 2026): choices as a 2 × 2 grid, tighter spacing, so the panel is about half as tall on wide screens. */
.signature .contact-section .v2-lead{gap:16px;padding:22px 24px}
.signature .contact-section .v2-kinds{grid-template-columns:1fr 1fr;gap:8px}
.signature .contact-section .v2-kind{padding:11px 14px;gap:1px}
.signature .contact-section .v2-kind>b{font-size:14px}
.signature .contact-section .v2-kind>span{font-size:11.5px}
.signature .contact-section .v2-lead .v2-lbl{margin-bottom:8px}
.signature .contact-section .v2-lead-col{padding:0;border:0}
.signature .contact-section .v2-lead .v2-field{padding:11px 13px}
.signature .contact-section .v2-lead .v2-message{min-height:90px}
@media(max-width:560px){.signature .contact-section .v2-kinds{grid-template-columns:1fr}}
/* Compact contact box (18 Oct 2026): on wide screens the headline, text and contact details sit in a left column and the
   form starts at the top on the right, so the green box is about half as tall. Phones keep the stacked layout. */
@media(min-width:901px){
.signature .contact-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);column-gap:6%;align-items:start;padding:52px 5%}
.signature .contact-section>.anchor-alias{grid-column:1/-1}
.signature .contact-section .contact-body{display:contents}
.signature .contact-section .contact-head{grid-column:1;grid-row:2}
.signature .contact-section .contact-copy{grid-column:1;grid-row:3;margin-top:26px}
.signature .contact-section .v2-lead{grid-column:2;grid-row:2/span 2}
.signature .contact-section .contact-head h2{font-size:clamp(44px,4.4vw,72px)}
.signature .contact-section .contact-arrow{display:none}
}
@media(min-width:901px){
.signature .contact-section{grid-template-rows:auto min-content 1fr}
.signature .contact-section .contact-copy{align-self:start}
.signature .contact-section .contact-copy p{max-width:340px}
.signature .contact-section .v2-lead .v2-message{min-height:0;height:88px}
}
