/* Contact (phc) and Forms & Policies (php) pages */
.phc,.php{--d:'Work Sans',system-ui,sans-serif;--m:'Instrument Sans',ui-monospace,monospace;padding-bottom:90px;overflow-x:clip}
.phc h1,.phc h2,.php h1,.php h2{font-family:var(--d);font-weight:900;letter-spacing:-.045em;line-height:.9;color:var(--ph-ink);margin:0}
.phc-kicker{font-family:var(--m);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ph-gold);margin:0 0 18px}
.phc-kicker::before{content:"";display:inline-block;width:28px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px}

/* hero: the scene with copy laid over the dark sky */
.phc-hero{position:relative;margin:0 0 70px}
.phc-scene{position:relative;aspect-ratio:2/1;max-height:88vh;width:100%;overflow:hidden;background:#2e0b1d}
.phc-scene img{display:block;width:100%;height:100%;object-fit:cover}
.phc-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ph-bg) 0,rgba(27,5,18,0) 14%),linear-gradient(180deg,var(--ph-bg) 0,rgba(27,5,18,0) 12%);pointer-events:none}
.phc-hero-copy{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;max-width:1240px;margin:0 auto;padding:56px 32px 36px}
.phc-hero-copy .phc-kicker{grid-column:1/-1;margin-bottom:-18px}
.phc-hero h1{font-size:clamp(46px,7.4vw,118px)}
.phc-hero h1 span{color:var(--ph-gold)}
.phc-lead{margin:0 0 8px;max-width:40ch;color:var(--ph-ink-soft);font-size:17px;line-height:1.6}
.phc-dot{position:absolute;z-index:3;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--ph-gold);box-shadow:0 0 0 6px rgba(254,204,2,.28);animation:phc-pulse 2.4s ease-out infinite}
.phc-dot:nth-child(3n){animation-delay:.8s}.phc-dot:nth-child(3n+1){animation-delay:1.6s}
.phc-dot:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes phc-pulse{0%{box-shadow:0 0 0 0 rgba(254,204,2,.6)}70%{box-shadow:0 0 0 16px rgba(254,204,2,0)}100%{box-shadow:0 0 0 0 rgba(254,204,2,0)}}
.phc-dot-tip{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,6px);white-space:nowrap;background:var(--ph-ink);color:var(--ph-bg);font:700 13px/1 var(--d);padding:10px 12px;border-radius:6px;opacity:0;pointer-events:none;transition:.2s}
.phc-dot-tip em{font-style:normal;color:var(--ph-wine);margin-left:6px}
.phc-dot:hover .phc-dot-tip,.phc-dot:focus .phc-dot-tip{opacity:1;transform:translate(-50%,0)}
.phc-badge{position:absolute;right:max(24px,calc((100vw - 1240px)/2));bottom:-56px;width:124px;height:124px;z-index:4;pointer-events:none}
.phc-badge svg{width:100%;height:100%;animation:phc-spin 20s linear infinite}
.phc-badge circle{fill:var(--ph-gold)}
.phc-badge text{font:600 8.2px var(--m);fill:#6B003E}
.phc-badge span{position:absolute;inset:0;display:grid;place-items:center;font:900 34px var(--d);color:#6B003E}
@keyframes phc-spin{to{transform:rotate(360deg)}}

/* three big ways to reach us */
.phc-ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ph-line);margin-bottom:90px}
.phc-way{position:relative;display:flex;flex-direction:column;gap:10px;padding:34px 28px 38px 0;color:var(--ph-ink);text-decoration:none;border-bottom:1px solid var(--ph-line);transition:color .2s}
.phc-way+.phc-way{padding-left:28px;border-left:1px solid var(--ph-line)}
.phc-ways--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.phc-ways--4 .phc-way-k{font-size:clamp(22px,2.3vw,34px)}
.phc-way-n{font:600 12px var(--m);color:var(--ph-ink-soft)}
.phc-way-k{font:900 clamp(28px,3.2vw,46px)/1 var(--d);letter-spacing:-.04em}
.phc-way-v{font:400 16px var(--d);color:var(--ph-ink-soft);overflow-wrap:anywhere}
.phc-way-arrow{position:absolute;right:24px;top:30px;font-size:26px;color:var(--ph-gold);transition:transform .25s}
.phc-way:hover{color:var(--ph-gold)}
.phc-way:hover .phc-way-arrow{transform:translate(4px,-4px)}
.phc-way--call .phc-way-v{color:var(--ph-gold);font-weight:700;font-size:20px}

/* message form */
.phc-talk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start;margin-bottom:90px}
.phc-talk h2{font-size:clamp(38px,4.6vw,68px);margin-bottom:28px}
.phc-steps{list-style:none;counter-reset:s;margin:0 0 28px;padding:0}
.phc-steps li{counter-increment:s;position:relative;padding:14px 0 14px 46px;border-top:1px solid var(--ph-line);color:var(--ph-ink-soft);line-height:1.55}
.phc-steps li::before{content:counter(s);position:absolute;left:0;top:12px;width:30px;height:30px;border-radius:50%;background:var(--ph-gold);color:var(--ph-gold-ink);font:900 15px/30px var(--d);text-align:center}
.phc-steps b{color:var(--ph-ink)}
.phc-post{font:400 13px var(--m);color:var(--ph-ink-soft);margin:0 0 18px}
.phc-mini-links{display:flex;flex-wrap:wrap;gap:18px}
.phc-mini-links a{font-weight:700;text-decoration:none;border-bottom:2px solid var(--ph-gold);padding-bottom:2px}
.phc-form{background:var(--ph-wine);border-radius:22px;padding:clamp(24px,4vw,46px);position:relative}
.phc-form::before{content:"Message";position:absolute;top:-14px;left:32px;background:var(--ph-gold);color:var(--ph-gold-ink);font:600 11px var(--m);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:4px}
.phc-form label{color:var(--ph-ink) !important;font-weight:600}
.phc-form input:not([type=submit]):not([type=checkbox]),.phc-form textarea,.phc-form select{width:100%;background:rgba(27,5,18,.45) !important;border:1px solid rgba(246,239,239,.18) !important;border-radius:10px;color:var(--ph-ink) !important;padding:13px 14px}
.phc-form input:focus,.phc-form textarea:focus{border-color:var(--ph-gold) !important;outline:none}
.phc-form input[type=submit]{background:var(--ph-gold);color:var(--ph-gold-ink);border:0;border-radius:999px;padding:15px 30px;font:900 16px var(--d);cursor:pointer}
.phc-form input[type=submit]:hover{background:#fff}
.phc-fallback a{color:var(--ph-gold)}

/* map */
.phc-map-frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--ph-line)}
.phc-map-frame iframe{display:block;border:0;filter:grayscale(.35) contrast(1.05)}
.phc-map-tag{position:absolute;left:20px;bottom:20px;margin:0;background:var(--ph-bg);color:var(--ph-ink);padding:14px 18px;border-radius:12px;font:900 18px/1.1 var(--d);border-left:4px solid var(--ph-gold)}
.phc-map-tag span{font:400 13px var(--m);color:var(--ph-ink-soft)}
.phc-body{margin-top:50px;color:var(--ph-ink-soft);line-height:1.75}

/* Forms & Policies */
.php-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;padding-top:48px;margin-bottom:70px}
.php-hero h1{font-size:clamp(46px,7vw,108px)}
.php-hero h1 span{color:var(--ph-gold)}
.php-lead{margin:24px 0 0;max-width:44ch;color:var(--ph-ink-soft);font-size:17px;line-height:1.65}
.php-hero-art{margin:0;position:relative}
.php-hero-art img{display:block;width:100%;height:auto;border-radius:200px 200px 22px 22px;border:1px solid var(--ph-line)}
.php-hero-art figcaption{position:absolute;left:-18px;bottom:28px;background:var(--ph-gold);color:var(--ph-gold-ink);font:900 15px var(--d);padding:10px 14px;border-radius:6px;transform:rotate(-4deg)}
.php-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:80px}
.php-flow-step{background:var(--ph-surface);border:1px solid var(--ph-line);border-radius:18px;padding:24px 22px 26px}
.php-flow-step span{font:600 12px var(--m);color:var(--ph-gold)}
.php-flow-step h2{font-size:28px;margin:30px 0 10px}
.php-flow-step p{margin:0;color:var(--ph-ink-soft);font-size:14.5px;line-height:1.55}
.php-flow-step:nth-child(2){background:var(--ph-wine)}
.php-docs-h{font-size:clamp(32px,3.6vw,52px);margin-bottom:18px !important}
.php-list{list-style:none;margin:0 0 80px;padding:0;border-top:1px solid var(--ph-line)}
.php-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px 4px;border-bottom:1px solid var(--ph-line);color:var(--ph-ink);text-decoration:none;transition:background .2s,padding .2s}
.php-row-n{font:600 13px var(--m);color:var(--ph-ink-soft)}
.php-row-t{font:900 clamp(22px,2.6vw,36px)/1.05 var(--d);letter-spacing:-.035em}
.php-row-t small{display:block;margin-top:6px;font:400 14px/1.5 var(--d);letter-spacing:0;color:var(--ph-ink-soft)}
.php-row-tag{font:600 12px var(--m);border:1px solid var(--ph-line);border-radius:999px;padding:8px 12px;white-space:nowrap}
.php-row:hover{background:var(--ph-gold);color:var(--ph-gold-ink);padding-left:20px;padding-right:20px}
.php-row:hover .php-row-n,.php-row:hover small{color:var(--ph-gold-ink)}
.php-row:hover .php-row-tag{border-color:var(--ph-gold-ink)}
.php-help{width:calc(100% - 64px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;background:var(--ph-wine);border-radius:22px;padding:clamp(26px,4vw,48px)}
.php-help h2{font-size:clamp(28px,3.4vw,46px);margin-bottom:8px}
.php-help p{margin:0;color:#f0d9e5}
.php-help-cta{display:flex;flex-wrap:wrap;gap:12px}
.php-btn{display:inline-flex;align-items:center;padding:14px 24px;border-radius:999px;border:2px solid var(--ph-ink);color:var(--ph-ink);font:900 16px var(--d);text-decoration:none}
.php-btn--gold{background:var(--ph-gold);border-color:var(--ph-gold);color:var(--ph-gold-ink)}
.php-btn:hover{background:#fff;border-color:#fff;color:var(--ph-gold-ink)}

@media (max-width:900px){
  .phc-scene{aspect-ratio:auto;height:auto}
  .phc-scene img{height:auto;aspect-ratio:2/1}
  .phc-scene::after{background:linear-gradient(0deg,var(--ph-bg) 0,rgba(27,5,18,0) 30%)}
  .phc-hero-copy{grid-template-columns:1fr;gap:18px;padding:36px 20px 24px}
  .phc-hero-copy .phc-kicker{margin-bottom:0}
  .phc-dot{width:12px;height:12px;margin:-6px 0 0 -6px}
  .phc-hero{margin-bottom:40px}
  .phc-map-frame iframe{height:320px}
  .phc-dot-tip{display:none}
  .phc-badge{width:84px;height:84px;bottom:-40px;right:14px}
  .phc-badge span{font-size:26px}
  .phc-ways,.phc-ways--4{grid-template-columns:1fr}
  .phc-way+.phc-way{padding-left:0;border-left:0}
  .phc-talk,.php-hero{grid-template-columns:1fr;gap:36px}
  .php-hero-art{max-width:460px}
  .php-hero-art figcaption{left:12px}
  .php-flow{grid-template-columns:1fr 1fr}
  .php-row{grid-template-columns:44px minmax(0,1fr);}
  .php-row-tag{grid-column:2;justify-self:start}
}
@media (max-width:520px){.php-flow{grid-template-columns:1fr}.php-help{width:calc(100% - 40px)}}
@media (prefers-reduced-motion:reduce){.phc-dot,.phc-badge svg{animation:none}}

/* Set switcher on Contact */
.phc-sets{position:relative}
.phc-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:1240px;margin:0 auto 18px;padding:0 32px}
.phc-tabs-k{font:600 12px var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--ph-ink-soft);margin-right:6px}
.phc-tabs button{appearance:none;border:1.5px solid var(--ph-line);background:transparent;color:var(--ph-ink);border-radius:999px;padding:10px 18px;font:700 14px var(--d);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.phc-tabs button:hover{border-color:var(--ph-gold);color:var(--ph-gold)}
.phc-tabs button[aria-selected=true]{background:var(--ph-gold);border-color:var(--ph-gold);color:var(--ph-gold-ink)}
.phc-tabs button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.phc-scene[hidden]{display:none}
.phc-scene img{animation:phc-in .45s ease}
@keyframes phc-in{from{opacity:.2;transform:scale(1.015)}to{opacity:1;transform:none}}
@media (max-width:900px){.phc-tabs{padding:0 20px;gap:6px}.phc-tabs button{padding:8px 13px;font-size:13px}.phc-tabs-k{width:100%;margin-bottom:2px}}
@media (prefers-reduced-motion:reduce){.phc-scene img{animation:none}}

/* Contact: real sets (v2.5) */
.phc-sets .phc-scene{position:relative;max-width:1240px;margin:0 auto;padding:0 32px;aspect-ratio:auto;max-height:none;background:none;overflow:visible}
.phc-sets .phc-scene::after{display:none}
.phc-photo{position:relative;aspect-ratio:var(--ar);max-height:78vh;margin:0 auto;border-radius:6px;overflow:hidden;background:#000;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.phc-photo picture,.phc-photo img{display:block;width:100%;height:100%;object-fit:cover}
.phc-sets .phc-scene img{animation:phc-in .5s ease}
.phc-sets figcaption{margin-top:12px;font:400 13px var(--m);color:var(--ph-ink-soft);letter-spacing:.02em}
.phc-sets figcaption b{font:900 15px var(--d);color:var(--ph-ink);letter-spacing:-.01em;margin-right:4px}
.php-hero-art img{aspect-ratio:840/720;object-fit:cover}
@media (max-width:900px){.phc-sets .phc-scene{padding:0 20px}.phc-photo{max-height:none}}
