/* ================================================================
   Spirit Valhalla Contact — contact.css
   Dark cinematic · charcoal & steel · cold blue focus · ember accents
   Everything is scoped under .svc so the theme is never affected.
   ================================================================ */

.svc{
  --svc-abyss:#07080a;
  --svc-char:#0f1115;
  --svc-char-2:#15181d;
  --svc-field:#0b0d10;
  --svc-steel:#c7cdd3;
  --svc-steel-hi:#eef1f3;
  --svc-ash:#8d939a;
  --svc-ash-dim:#5c626a;
  --svc-frost:#7f9bb3;
  --svc-frost-glow:rgba(127,155,179,.18);
  --svc-ember:#c62b1f;
  --svc-ember-hi:#ea4a2c;
  --svc-line:rgba(199,205,211,.12);
  --svc-line-hi:rgba(199,205,211,.26);
  --svc-display:'Cinzel','Trajan Pro',Georgia,serif;
  --svc-cond:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  --svc-body:'Barlow','Helvetica Neue',Arial,sans-serif;
  --svc-ease:cubic-bezier(.16,1,.3,1);
  --svc-gap:clamp(1.25rem,4vw,3rem);
  color:var(--svc-ash);
  font-family:var(--svc-body);
  line-height:1.7;
}
.svc *,.svc *::before,.svc *::after{box-sizing:border-box}
.svc h1,.svc h2,.svc h3,.svc p,.svc ul{margin:0;padding:0}
.svc ul{list-style:none}
.svc img,.svc video{display:block;max-width:100%}
.svc a{color:inherit}
.svc :focus-visible{outline:2px solid var(--svc-frost);outline-offset:3px}

.svc-main{overflow-x:clip;background:#07080a}
.svc-page{background:var(--svc-abyss)}
/* When used as a shortcode inside a narrow content column, break out to full width. */
.svc-page{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.svc-wrap{width:100%;max-width:1320px;margin-inline:auto;padding-inline:var(--svc-gap)}

.svc-eyebrow{display:flex;align-items:center;gap:.9rem;font-family:var(--svc-cond);font-weight:500;font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:var(--svc-ash);margin-bottom:1rem}
.svc-eyebrow::before{content:"";width:34px;height:1px;background:var(--svc-frost)}
.svc-head__title{font-family:var(--svc-display);font-weight:600;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.1;letter-spacing:.02em;color:var(--svc-steel-hi);max-width:20ch}

/* ── Buttons ─────────────────────────────────────────── */
.svc-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:1rem 2rem;border:0;cursor:pointer;font-family:var(--svc-cond);font-weight:600;font-size:.9rem;letter-spacing:.22em;text-transform:uppercase;line-height:1;text-decoration:none;white-space:nowrap;transition:background .3s,border-color .3s,color .3s,transform .35s var(--svc-ease),box-shadow .35s}
.svc-btn--primary{color:#fff;background:linear-gradient(180deg,var(--svc-ember-hi),var(--svc-ember) 55%,#9e1b12);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);box-shadow:0 10px 30px -12px rgba(226,58,38,.7)}
.svc-btn--primary:hover{background:linear-gradient(180deg,#ff5f3d,var(--svc-ember-hi) 55%,var(--svc-ember));transform:translateY(-1px)}
.svc-btn--ghost{color:var(--svc-steel-hi);background:rgba(7,8,10,.3);border:1px solid var(--svc-line-hi);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.svc-btn--ghost:hover{border-color:var(--svc-frost);background:rgba(127,155,179,.08)}
.svc-btn[disabled]{opacity:.7;cursor:progress;transform:none}
.svc-btn.is-loading span::before{content:"";display:inline-block;width:14px;height:14px;margin-right:.7rem;vertical-align:-2px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:svc-spin .8s linear infinite}
@keyframes svc-spin{to{transform:rotate(360deg)}}

/* ── Hero ────────────────────────────────────────────── */
.svc-hero{position:relative;isolation:isolate;overflow:hidden;min-height:var(--svc-h,85svh);display:flex;align-items:flex-end;color:var(--svc-steel)}
@supports not (height:1svh){.svc-hero{min-height:85vh}}
.svc-hero__media{position:absolute;inset:0;z-index:-2}
.svc-hero__poster,.svc-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.svc-hero__video{opacity:0;transition:opacity 1.6s ease}
.svc-hero__video.is-playing{opacity:1}
.svc-hero__shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(0deg,var(--svc-abyss) 0%,rgba(7,8,10,.55) 38%,rgba(7,8,10,.2) 65%,rgba(7,8,10,.6) 100%),
  radial-gradient(ellipse 70% 60% at 20% 90%,rgba(127,155,179,.10),transparent 70%),
  rgba(7,8,10,var(--svc-ov,.55))}
.svc-hero__content{padding-top:clamp(7rem,14vh,9rem);padding-bottom:clamp(3rem,9vh,6rem)}
.svc-hero__eyebrow{display:flex;align-items:center;gap:1rem;font-family:var(--svc-cond);font-weight:500;font-size:clamp(.8rem,1.2vw,.95rem);letter-spacing:.38em;text-transform:uppercase;color:var(--svc-steel);margin-bottom:1.4rem}
.svc-hero__eyebrow::before{content:"";width:48px;height:1px;background:var(--svc-frost);box-shadow:0 0 12px rgba(127,155,179,.6)}
.svc-hero__title{font-family:var(--svc-display);font-weight:600;font-size:clamp(2.3rem,5.6vw,5.4rem);line-height:1.02;letter-spacing:.02em;max-width:18ch;background:linear-gradient(178deg,#f6f8f9 0%,#d3d8dd 34%,#848b93 50%,#b9c0c7 62%,#eceff2 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 24px rgba(0,0,0,.55))}
.svc-hero__text{margin-top:1.6rem;max-width:46ch;font-weight:300;font-size:clamp(1rem,1.3vw,1.15rem);color:var(--svc-steel);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.svc-hero .svc-btn{margin-top:2.2rem}
.svc-rise{opacity:0;animation:svc-rise 1.4s var(--svc-ease) forwards;animation-delay:calc(var(--i,0) * .13s + .2s)}
@keyframes svc-rise{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* ── Contact types ───────────────────────────────────── */
.svc-types{padding-block:clamp(3.5rem,7vw,6rem) clamp(2rem,4vw,3rem)}
.svc-head{margin-bottom:clamp(2rem,4vw,3.2rem)}
.svc-types__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.svc-type{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;width:100%;height:100%;min-height:210px;padding:1.5rem 1.4rem 1.3rem;text-align:left;cursor:pointer;color:inherit;font:inherit;background:linear-gradient(180deg,var(--svc-char-2),var(--svc-char));border:1px solid var(--svc-line);transition:border-color .4s,transform .5s var(--svc-ease),background .4s}
.svc-type::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--svc-ember-hi);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--svc-ease)}
.svc-type:hover,.svc-type:focus-visible{border-color:rgba(127,155,179,.45);transform:translateY(-3px)}
.svc-type:hover::before,.svc-type:focus-visible::before{transform:scaleX(1)}
.svc-type__mark{width:22px;height:1px;background:var(--svc-frost);margin-bottom:.3rem;transition:width .5s var(--svc-ease)}
.svc-type:hover .svc-type__mark{width:44px}
.svc-type__title{font-family:var(--svc-display);font-weight:600;font-size:1.12rem;line-height:1.25;letter-spacing:.03em;color:var(--svc-steel-hi)}
.svc-type__text{font-size:.93rem;font-weight:300;line-height:1.6;color:var(--svc-ash)}
.svc-type__cta{margin-top:auto;padding-top:.6rem;font-family:var(--svc-cond);font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--svc-steel);opacity:.7;transition:opacity .3s,color .3s}
.svc-type:hover .svc-type__cta{opacity:1;color:#fff}

/* ── Form section ────────────────────────────────────── */
.svc-contact{padding-block:clamp(3rem,7vw,6rem) clamp(4rem,9vw,7.5rem)}
.svc-contact__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.svc-contact__intro{position:sticky;top:calc(var(--sv-hdr-h,96px) + 2rem)}
.svc-contact__text{margin-top:1.2rem;max-width:40ch;font-weight:300;font-size:1.05rem}
.svc-contact__panel{position:relative;padding:clamp(1.5rem,3.5vw,2.8rem);background:linear-gradient(180deg,rgba(21,24,29,.9),rgba(15,17,21,.9));border:1px solid var(--svc-line);box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
.svc-contact__panel::before{content:"";position:absolute;left:-1px;top:-1px;width:64px;height:64px;border-left:1px solid var(--svc-frost);border-top:1px solid var(--svc-frost);opacity:.6;pointer-events:none}

.svc-form{display:grid;gap:1.1rem}
.svc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.svc-field{position:relative}
.svc-input{display:block;width:100%;min-height:58px;padding:1.45rem 1rem .5rem;background:var(--svc-field);border:1px solid var(--svc-line);border-radius:0;color:var(--svc-steel-hi);font-family:var(--svc-body);font-size:1rem;line-height:1.5;-webkit-appearance:none;appearance:none;transition:border-color .3s,box-shadow .3s,background .3s}
.svc-input--area{min-height:170px;resize:vertical;padding-top:1.75rem}
.svc-input:hover{border-color:var(--svc-line-hi)}
.svc-input:focus{outline:none;border-color:var(--svc-frost);background:#0d1014;box-shadow:0 0 0 3px var(--svc-frost-glow)}
.svc-input~label{position:absolute;left:1rem;top:1.05rem;font-family:var(--svc-cond);font-weight:500;font-size:.95rem;letter-spacing:.16em;text-transform:uppercase;color:var(--svc-ash);pointer-events:none;transform-origin:left top;transition:transform .3s var(--svc-ease),color .3s}
.svc-input:focus+label,.svc-input:not(:placeholder-shown)+label{transform:translateY(-.62rem) scale(.72);color:var(--svc-frost)}
.svc-field.has-error .svc-input{border-color:var(--svc-ember)}
.svc-field.has-error .svc-input~label{color:var(--svc-ember-hi)}
.svc-error{display:block;min-height:0;font-size:.82rem;color:var(--svc-ember-hi);margin-top:.35rem}
.svc-error:empty{display:none}

.svc-check{display:flex;align-items:flex-start;gap:.8rem;cursor:pointer;font-size:.92rem;line-height:1.5}
.svc-check input{position:absolute;opacity:0;width:1px;height:1px}
.svc-check__box{flex:none;width:20px;height:20px;margin-top:1px;border:1px solid var(--svc-line-hi);background:var(--svc-field);position:relative;transition:border-color .3s,background .3s}
.svc-check__box::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .25s var(--svc-ease)}
.svc-check input:checked+.svc-check__box{background:var(--svc-ember);border-color:var(--svc-ember)}
.svc-check input:checked+.svc-check__box::after{transform:rotate(45deg) scale(1)}
.svc-check input:focus-visible+.svc-check__box{outline:2px solid var(--svc-frost);outline-offset:2px}
.svc-check__label a{color:var(--svc-steel-hi);text-decoration:underline;text-decoration-color:var(--svc-frost);text-underline-offset:3px}
.svc-field--check.has-error .svc-check__box{border-color:var(--svc-ember)}

.svc-form__submit{justify-self:start;margin-top:.4rem;min-width:220px}
.svc-form__note{font-size:.82rem;color:var(--svc-ash-dim);max-width:52ch}

.svc-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

.svc-notice{padding:1rem 1.2rem;border:1px solid var(--svc-line);border-left:2px solid var(--svc-frost);background:rgba(127,155,179,.06);color:var(--svc-steel-hi);font-size:.95rem}
.svc-notice--ok{border-left-color:var(--svc-frost)}
.svc-notice--error{border-left-color:var(--svc-ember);background:rgba(198,43,31,.08)}
.svc-status:empty{display:none}

.svc-extra{padding-block:0 clamp(3rem,6vw,5rem)}
.svc-extra__inner{max-width:74ch;color:var(--svc-ash)}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width:1023px){
  .svc-contact__grid{grid-template-columns:1fr;gap:2rem}
  .svc-contact__intro{position:static}
}
@media (max-width:767px){
  .svc-hero{min-height:min(var(--svc-h,85svh),720px)}
  .svc-hero__content{padding-bottom:2.6rem}
  .svc-hero__title{font-size:clamp(2.1rem,10vw,3rem)}
  .svc-hero__eyebrow{font-size:.74rem;letter-spacing:.26em}
  .svc-hero__eyebrow::before{width:28px}
  .svc-hero .svc-btn{width:100%}
  .svc-types{padding-block:3.25rem 1.5rem}
  .svc-types__grid{grid-template-columns:1fr 1fr;gap:.6rem}
  .svc-type{min-height:0;padding:1.1rem 1rem}
  .svc-type__title{font-size:.98rem}
  .svc-type__text{font-size:.85rem}
  .svc-type__cta{display:none}
  .svc-contact{padding-block:2.5rem 4rem}
  .svc-form__row{grid-template-columns:1fr}
  .svc-contact__panel{padding:1.25rem;margin-inline:calc(var(--svc-gap) * -.4)}
  .svc-form__submit{width:100%}
  .svc-input{font-size:16px} /* prevents iOS zoom on focus */
}
@media (max-width:420px){
  .svc-types__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .svc *,.svc *::before,.svc *::after{animation:none!important;transition-duration:.01ms!important}
  .svc-rise{opacity:1}
  .svc-hero__video{display:none!important}
}
