/* Schildgen Law — landing page. Self-hosted font and image only. No JS. */
@font-face{
  font-family:"Cormorant Garamond";
  src:url("/fonts/cormorant-garamond-500-subset.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
:root{
  --gold:#b8955a; --gold-hi:#d2b27a; --gold-lo:#9c7c48;
  --ivory:#ece6d8; --ink:#11151c; --legal:#83848c;
  --serif:"Cormorant Garamond", "EB Garamond", Garamond, "Times New Roman", serif;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ink);-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;min-height:100svh;color:var(--ivory);
  font-family:var(--serif);font-weight:500;line-height:1.4;font-variant-numeric:lining-nums;
  background-color:var(--ink);
  /* Fallback when the image is unavailable */
  background-image:
    radial-gradient(ellipse 80% 75% at 50% 45%, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%),
    linear-gradient(135deg,#1a2029 0%,#121821 45%,#161c25 70%,#0d1117 100%);
  background-size:cover;
}
@supports (background-image:url("/img/marble.webp")){
  body{background-image:
    radial-gradient(ellipse 80% 75% at 50% 45%, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%),
    url("/img/marble.webp"),
    linear-gradient(135deg,#1a2029 0%,#121821 45%,#161c25 70%,#0d1117 100%);
    background-position:center;background-size:cover;background-repeat:no-repeat}
}
.page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;
  padding:0 clamp(1.25rem,2.6vw,2.5rem);animation:fade 1.4s ease-out both}
@keyframes fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.page{animation:none}}

a{color:inherit;text-decoration:none}
a:hover{color:var(--gold-hi)}
:focus-visible{outline:1px solid var(--gold-hi);outline-offset:6px}

/* Header */
.top{display:flex;align-items:center;justify-content:space-between;
  padding:clamp(1rem,2.9vh,1.7rem) clamp(.5rem,1.6vw,1.6rem);
  border-bottom:1px solid rgba(184,149,90,.85)}
.mark{display:block;line-height:0}
.mark svg{width:clamp(44px,4.6vw,68px);height:auto}
.tag{display:flex;align-items:center;gap:clamp(.7rem,1.5vw,1.4rem);color:var(--gold)}
.tag p{margin:0;text-transform:uppercase;letter-spacing:.24em;font-size:clamp(.72rem,1.02vw,1rem)}
.vrule{display:block;width:1px;height:clamp(22px,3.6vh,32px);background:var(--gold);opacity:.85}
.chev{width:clamp(11px,1vw,15px);height:auto;margin-right:.4rem}

/* Center */
.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:clamp(2rem,6vh,5rem) 0 clamp(2rem,8vh,6rem)}
.wordmark{margin:0;font-weight:500;text-transform:uppercase;color:var(--gold);
  font-size:clamp(3rem,10vw,10rem);line-height:1.02;letter-spacing:.07em;margin-right:-.07em}
.wordmark span{display:block}
.wordmark.small{font-size:clamp(2.2rem,6vw,5rem);letter-spacing:.06em}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .wordmark{background:linear-gradient(176deg,var(--gold-hi) 0%,var(--gold) 45%,var(--gold-lo) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
.divider{width:clamp(76px,9vw,140px);height:0;border:0;border-top:1px solid var(--gold);
  margin:clamp(1.2rem,3vh,2.2rem) auto clamp(1.4rem,4.2vh,2.8rem)}
.referral{margin:0;color:var(--ivory);font-size:clamp(1.4rem,2.5vw,2.4rem);letter-spacing:.16em;margin-right:-.16em}

/* Contact row */
.contact{font-style:normal;display:flex;align-items:center;justify-content:center;
  gap:clamp(1.5rem,6vw,6rem);padding-bottom:clamp(1.5rem,6.5vh,4.2rem)}
.contact-item{margin:0;display:flex;align-items:center;gap:.8em;color:var(--ivory);
  font-size:clamp(1.05rem,1.75vw,1.65rem);letter-spacing:.03em}
.ico{flex:none;width:1.15em;height:auto}
.contact .vrule.tall{height:clamp(44px,8.5vh,76px);opacity:.8}

/* Legal footer: deliberately quiet */
.legal{padding:0 0 clamp(.7rem,1.6vh,1.1rem);text-align:center}
.legal p{margin:0 auto;max-width:60rem;color:var(--legal);font-family:Georgia,"Times New Roman",serif;
  font-size:.62rem;line-height:1.5;letter-spacing:.02em}

@media (max-width:640px){
  .tag p{letter-spacing:.16em;font-size:.68rem}
  .tag{gap:.6rem}
  .wordmark{font-size:12.6vw;letter-spacing:.06em;margin-right:-.06em}
  .contact{flex-direction:column;gap:.9rem}
  .contact .vrule.tall{width:48px;height:1px}
  .legal p{font-size:.6rem}
}
@media (max-width:360px){.tag p{font-size:.6rem;letter-spacing:.12em}}

/* Practice disclosure (details/summary, no JS) */
.top{position:relative}
.practice{position:static}
.practice summary{list-style:none;cursor:pointer;padding:.5rem 0;border-radius:1px}
.practice summary::-webkit-details-marker{display:none}
.practice summary::marker{content:""}
.tag-text{text-transform:uppercase;letter-spacing:.24em;font-size:clamp(.72rem,1.02vw,1rem)}
.practice summary:hover .tag-text{color:var(--gold-hi)}
.practice summary:focus-visible{outline:1px solid var(--gold-hi);outline-offset:8px}
.chev{transition:transform .35s ease;transform-origin:50% 50%}
.practice[open] .chev{transform:rotate(180deg)}
.panel{position:absolute;top:calc(100% + 1px);right:0;z-index:10;
  width:min(27rem,calc(100vw - 2.5rem));padding:clamp(1.6rem,2.4vw,2.2rem) clamp(1.8rem,2.8vw,2.6rem);
  background:rgba(15,19,26,.95);border:1px solid rgba(184,149,90,.7);
  box-shadow:0 18px 40px rgba(0,0,0,.45);text-align:left;font-family:var(--serif)}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .panel{background:rgba(15,19,26,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
}
.practice[open] .panel{animation:panel-in .35s ease-out both}
@keyframes panel-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.panel p{margin:0}
.panel-head{color:var(--gold);text-transform:uppercase;letter-spacing:.28em;font-size:.8rem}
.panel-line{color:var(--ivory);font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.25;letter-spacing:.02em;margin-top:.9rem!important}
.panel-rule{width:48px;height:0;border:0;border-top:1px solid var(--gold);margin:1.2rem 0}
.panel-note{color:#a7a59d;font-size:1rem;letter-spacing:.03em}
@media (prefers-reduced-motion:reduce){
  .chev{transition:none}
  .practice[open] .panel{animation:none}
}
@media (max-width:640px){
  .tag-text{letter-spacing:.16em;font-size:.68rem}
  .panel{left:0;right:0;width:auto;padding:1.6rem 1.5rem}
}
@media (max-width:360px){.tag-text{font-size:.6rem;letter-spacing:.12em}}
@media (min-width:641px){.panel{width:max-content;min-width:22rem;max-width:calc(100vw - 2.5rem)}.panel-line{white-space:nowrap}}
