:root {
  --svc-ink:#090909;
  --svc-ink-soft:#11100f;
  --svc-paper:#eee8de;
  --svc-cream:#f5f0e8;
  --svc-gold:#c6ad83;
  --svc-gold-deep:#94784f;
  --svc-line:rgba(17,17,17,.16);
  --svc-serif:Georgia,"Times New Roman",serif;
  --svc-sans:Arial,Helvetica,sans-serif;
}
html { scroll-behavior:smooth; }
body.sv-contact-editorial-page { margin:0; overflow-x:hidden; background:var(--svc-ink); color:#f5f1e8; font-family:var(--svc-sans); }
.sv-contact-editorial-page *, .sv-contact-editorial-page *::before, .sv-contact-editorial-page *::after { box-sizing:border-box; }
.sv-contact-editorial-page a { color:inherit; text-decoration:none; }
.svc-wrap { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.svc-mini, .svc-kicker { font-size:10px; font-weight:700; letter-spacing:.21em; text-transform:uppercase; }
.svc-accent { color:#9b7c52; }
.svc-skip { position:fixed; left:14px; top:14px; z-index:1000; transform:translateY(-180%); padding:10px 14px; background:#fff; color:#111; }
.svc-skip:focus { transform:translateY(0); }

.svc-hero { position:relative; min-height:760px; padding:170px 0 82px; display:flex; align-items:flex-end; overflow:hidden; background:radial-gradient(circle at 78% 26%,rgba(198,173,131,.15),transparent 30%),linear-gradient(135deg,#171512,#080808 67%); }
.svc-hero::after { content:""; position:absolute; inset:auto -10% -48% 35%; height:560px; border:1px solid rgba(198,173,131,.16); border-radius:50%; transform:rotate(-12deg); pointer-events:none; }
.svc-grain { position:absolute; inset:0; opacity:.08; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.svc-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.55fr); gap:90px; align-items:end; }
.svc-kicker { display:flex; align-items:center; gap:16px; margin-bottom:22px; color:#d5bf99; }
.svc-kicker::before { content:""; width:56px; height:1px; background:#d5bf99; }
.svc-hero h1 { margin:0; max-width:920px; font-family:var(--svc-serif); font-size:clamp(74px,8.7vw,132px); font-weight:400; line-height:.84; letter-spacing:-.055em; color: #fff;}
.svc-hero h1 em { color:var(--svc-gold); font-weight:400; }
.svc-hero-side { display:flex; flex-direction:column; gap:36px; align-items:flex-start; }
.svc-hero-side > p { max-width:480px; margin:0; color:#a29b92; font-size:15px; line-height:1.85; }
.svc-round-link { width:146px; aspect-ratio:1; border:1px solid rgba(255,255,255,.48); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; text-align:center; font-size:9px; line-height:1.4; letter-spacing:.15em; text-transform:uppercase; transition:transform .22s ease,background .22s ease; }
.svc-round-link b { font-size:21px; font-weight:400; }
.svc-round-link:hover { transform:scale(1.035); background:rgba(255,255,255,.05); }

.svc-contact { background:var(--svc-paper); color:#101010; padding:140px 0 150px; }
.svc-contact-grid { display:grid; grid-template-columns:.68fr 1.32fr; gap:95px; align-items:start; }
.svc-details { position:sticky; top:125px; }
.svc-details h2 { margin:14px 0 44px; font-family:var(--svc-serif); font-size:clamp(54px,5.4vw,76px); font-weight:400; line-height:.93; letter-spacing:-.045em; }
.svc-details h2 em { color:#987b52; font-weight:400; }
.svc-detail-list { border-top:1px solid var(--svc-line); }
.svc-detail-list > a, .svc-detail-list > div { display:grid; grid-template-columns:100px 1fr; gap:28px; padding:23px 0; border-bottom:1px solid var(--svc-line); }
.svc-detail-list span { padding-top:4px; color:#8d8479; font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.svc-detail-list strong { font-family:var(--svc-serif); font-size:24px; font-weight:400; line-height:1.25; overflow-wrap:anywhere; }
.svc-detail-list a { transition:padding-left .2s ease,color .2s ease; }
.svc-detail-list a:hover { padding-left:7px; color:#9a7d53; }
.svc-hours { margin:28px 0 0; color:#716a62; font-size:12px; line-height:1.7; }

.svc-form-card { background:#fffaf3; padding:62px 66px 68px; box-shadow:0 35px 80px rgba(47,37,26,.08); }
.svc-form-card h2 { margin:13px 0 20px; font-family:var(--svc-serif); font-size:clamp(48px,5.4vw,74px); font-weight:400; line-height:.92; letter-spacing:-.045em; }
.svc-form-intro { max-width:650px; margin:0 0 46px; color:#706960; font-size:14px; line-height:1.8; }
.svc-form { display:grid; gap:25px; }
.svc-form-row { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.svc-form label { display:grid; gap:9px; }
.svc-form label > span { color:#756e65; font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.svc-form input, .svc-form select, .svc-form textarea { width:100%; border:0; border-bottom:1px solid #cfc6ba; border-radius:0; outline:0; background:transparent; color:#111; font:400 16px/1.5 var(--svc-sans); padding:12px 0 14px; transition:border-color .2s ease; }
.svc-form textarea { min-height:160px; resize:vertical; }
.svc-form select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#695f54 50%),linear-gradient(135deg,#695f54 50%,transparent 50%); background-position:calc(100% - 12px) 50%,calc(100% - 7px) 50%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.svc-form input:focus, .svc-form select:focus, .svc-form textarea:focus { border-bottom-color:#94764f; }
.svc-form ::placeholder { color:#aaa196; }
.svc-form-bottom { display:grid; grid-template-columns:1fr auto; gap:38px; align-items:end; margin-top:7px; }
.svc-form-bottom p { max-width:480px; margin:0; color:#91887d; font-size:10px; line-height:1.65; }
.svc-form-bottom p a { border-bottom:1px solid #b5aa9c; }
.svc-form button { border:0; border-bottom:1px solid #111; background:transparent; color:#111; padding:11px 0; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.svc-form button span { margin-left:17px; font-size:16px; }
.svc-hp { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.svc-notice { margin:0 0 32px; padding:15px 17px; border-left:3px solid; font-size:13px; line-height:1.6; }
.svc-notice--success { border-color:#758a61; background:#eef2e9; color:#3f5132; }
.svc-notice--error { border-color:#a76f5f; background:#f7ece8; color:#71483d; }

.svc-notes { background:#0d0d0c; padding:135px 0 145px; }
.svc-notes-head { display:grid; grid-template-columns:1fr .85fr; gap:90px; align-items:end; margin-bottom:64px; }
.svc-notes-head h2 { margin:13px 0 0; font-family:var(--svc-serif); font-size:clamp(56px,6vw,84px); font-weight:400; line-height:.93; letter-spacing:-.045em; }
.svc-notes-head > p { max-width:520px; margin:0; color:#9c958c; font-size:14px; line-height:1.82; }
.svc-note-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.15); border-left:1px solid rgba(255,255,255,.15); }
.svc-note-grid article { min-height:320px; padding:34px 36px; border-right:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.svc-note-grid article > span { color:#a88d65; font-size:9px; font-weight:700; letter-spacing:.16em; }
.svc-note-grid h3 { margin:72px 0 18px; font-family:var(--svc-serif); font-size:38px; font-weight:400; line-height:1; color: #fff; }
.svc-note-grid p { max-width:330px; margin:0; color:#969087; font-size:13px; line-height:1.78; }

.svc-map-section { background:var(--svc-gold); color:#0b0b0b; padding:125px 0 0; }
.svc-map-head { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:end; margin-bottom:66px; }
.svc-map-head h2 { margin:13px 0 0; font-family:var(--svc-serif); font-size:clamp(58px,6.7vw,92px); font-weight:400; line-height:.89; letter-spacing:-.05em; }
.svc-map-head h2 em { font-weight:400; color:#5d4b35; }
.svc-map-head > p { max-width:530px; margin:0; color:#5d5142; font-size:14px; line-height:1.8; }
.svc-map-frame { height:520px; background:#c8c0b5; }
.svc-map-frame iframe { display:block; width:100%; height:100%; border:0; filter:grayscale(.72) contrast(.92); }

.svc-footer { background:#090909; border-top:1px solid #1f1f1f; padding:35px 0 45px; color:#79746e; }
.svc-footer .svc-wrap { display:flex; justify-content:space-between; gap:30px; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.svc-footer a:hover { color:#c9b18b; }

@media (max-width:900px) {
  .svc-wrap { width:min(100% - 32px,680px); }
  .svc-hero { min-height:710px; padding:132px 0 55px; }
  .svc-hero-grid { grid-template-columns:1fr; gap:40px; }
  .svc-hero h1 { font-size:clamp(57px,15vw,78px); }
  .svc-hero-side { gap:27px; }
  .svc-round-link { width:122px; }
  .svc-contact { padding:88px 0 96px; }
  .svc-contact-grid { grid-template-columns:1fr; gap:52px; }
  .svc-details { position:static; }
  .svc-form-card { padding:42px 28px 48px; }
  .svc-form-row { grid-template-columns:1fr; gap:25px; }
  .svc-form-bottom { grid-template-columns:1fr; gap:25px; }
  .svc-form button { justify-self:start; }
  .svc-notes { padding:88px 0 98px; }
  .svc-notes-head { grid-template-columns:1fr; gap:25px; margin-bottom:43px; }
  .svc-notes-head h2 { font-size:50px; }
  .svc-note-grid { grid-template-columns:1fr; }
  .svc-note-grid article { min-height:230px; padding:28px 25px; }
  .svc-note-grid h3 { margin-top:43px; }
  .svc-map-section { padding-top:88px; }
  .svc-map-head { grid-template-columns:1fr; gap:25px; margin-bottom:42px; }
  .svc-map-head h2 { font-size:50px; }
  .svc-map-frame { height:430px; }
  .svc-footer .svc-wrap { flex-direction:column; gap:10px; }
}

@media (max-width:430px) {
  .svc-hero h1 { font-size:56px; }
  .svc-hero-side > p { font-size:14px; }
  .svc-details h2, .svc-form-card h2, .svc-notes-head h2, .svc-map-head h2 { font-size:43px; }
  .svc-detail-list > a, .svc-detail-list > div { grid-template-columns:76px 1fr; gap:17px; }
  .svc-detail-list strong { font-size:20px; }
  .svc-form-card { margin-inline:-2px; padding:38px 22px 43px; }
}

@media (prefers-reduced-motion:reduce) {
  .svc-round-link, .svc-detail-list a, .svc-form input, .svc-form select, .svc-form textarea { transition:none !important; }
}

/* v7: Astra compatibility — headings on dark editorial sections must stay light. */
body.sv-contact-editorial-page .svc-notes h2 { color:#f7f2e9 !important; }
