/* page.css — shared styles for content pages (FAQ, Contact, Code of Respect,
   Terms, Privacy). Loaded after shared.css. Light --bone body, image hero,
   readable prose. Mirrors the home/about design language. */

.wrap--narrow{max-width:920px}
.wrap--readable{max-width:760px}

/* snappy reveal (override shared.css's slower default) */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ============ HERO (full-bleed IMAGE + veil, no video) ============ */
.pg-hero{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black);color:#fff;min-height:clamp(62vh,74vh,760px)}
.pg-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* light veil — just enough to keep white text legible, image stays visible */
.pg-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,11,.5) 0%,rgba(8,7,11,.24) 42%,rgba(8,7,11,.44) 100%)}
.pg-hero__veil::after{content:"";position:absolute;inset:0;background:radial-gradient(96% 74% at 50% 47%,rgba(8,7,11,.32),rgba(8,7,11,0) 72%)}
.pg-hero__in{position:relative;z-index:2;text-align:center;max-width:54rem;padding:clamp(7rem,16vh,10rem) var(--pad) clamp(3rem,8vh,5rem)}
.pg-hero__kick{color:#fff;font-weight:600;font-size:.8rem;letter-spacing:.28em;margin-bottom:1.1rem;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.pg-hero__h{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.1rem,5.2vw,3.8rem);line-height:1.06;color:#fff;text-shadow:0 2px 22px rgba(0,0,0,.5)}
.pg-hero__h em{font-style:normal}
.pg-hero__sub{margin:1.2rem auto 0;max-width:40rem;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.5;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.6)}
/* ---- Cinematic hero variants (tiered): engagement pages = full 100vh + buttons + cue; legal pages = taller + cue ---- */
.pg-hero--full{min-height:100vh;min-height:100svh}
.pg-hero--full .pg-hero__in{padding-top:13vh;padding-bottom:13vh}
.pg-hero--tall{min-height:clamp(74vh,84vh,860px)}
.pg-hero__cta{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2.1rem}
.pg-hero__cue{position:absolute;left:50%;bottom:clamp(86px,9vh,120px);transform:translateX(-50%);z-index:2;color:#fff;opacity:.85}
.pg-hero__cue svg{width:32px;height:auto;animation:pg-bob 2.3s linear infinite}
@keyframes pg-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media (prefers-reduced-motion:reduce){.pg-hero__cue svg{animation:none}}

/* ============ BODY / PROSE (light) ============ */
.pg-body{position:relative;background:var(--bone);color:var(--ink);padding:clamp(3.5rem,9vh,6.5rem) 0}
/* hero -> body handoff: mirror of the closing curve (same gold line), bone rising into the hero image */
.pg-body::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(66px,7.6vw,120px);transform:translateY(-100%);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201440%20100'%20preserveAspectRatio='none'%3E%3Cpath%20fill='%23FBF3E7'%20d='M0%20100H1440V88C980%2034%20460%2030%200%2052Z'/%3E%3Cpath%20fill='none'%20stroke='%23E9AA36'%20stroke-width='4'%20d='M0%2052C460%2030%20980%2034%201440%2088'/%3E%3C/svg%3E") center / 100% 100% no-repeat}
.pg-section{padding:clamp(2.5rem,6vh,4.5rem) 0}
.pg-head{text-align:center;margin-bottom:clamp(1.8rem,4.5vh,3rem)}
.pg-head .kicker{color:var(--copper);font-weight:600;font-size:.82rem;letter-spacing:.26em}
.pg-head__h{font-family:"Cinzel",serif;font-weight:500;color:var(--ink);font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.18;margin-top:.6rem}
.pg-head__sub{font-weight:300;font-size:clamp(.95rem,1.4vw,1.08rem);color:rgba(58,42,30,.72);margin-top:.8rem;max-width:56ch;margin-inline:auto}

.pg-prose{font-weight:300;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.75;color:rgba(58,42,30,.86)}
.pg-prose > * + *{margin-top:1.05em}
.pg-prose h2{font-family:"Cinzel",serif;font-weight:500;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.2;color:var(--ink);margin-top:2.2em}
.pg-prose h3{font-family:"Cinzel",serif;font-weight:500;font-size:clamp(1.08rem,1.7vw,1.32rem);color:var(--ink);margin-top:1.6em}
.pg-prose h2 + *,.pg-prose h3 + *{margin-top:.7em}
.pg-prose strong,.pg-prose b{font-weight:600;color:var(--ink)}
.pg-prose em{font-style:italic}
.pg-prose a{color:var(--copper);text-decoration:underline;text-underline-offset:2px;transition:color .25s var(--ease)}
.pg-prose a:hover{color:var(--gold)}
.pg-prose ul,.pg-prose ol{padding-left:1.4em}
.pg-prose li{margin-top:.45em}
.pg-prose ul li{list-style:none;position:relative}
.pg-prose ul li::before{content:"";position:absolute;left:-1.1em;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.pg-prose ol{list-style:decimal}
.pg-prose blockquote{border-left:2px solid var(--gold);padding-left:1.2rem;margin:1.4em 0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2em;color:rgba(58,42,30,.8)}
.pg-prose hr{border:0;border-top:1px solid rgba(58,42,30,.14);margin:2.4em 0}

/* numbered legal sections */
.pg-legal{counter-reset:sec}
.pg-legal .pg-clause{margin-top:2.2em}
.pg-legal .pg-clause > h2{margin-top:0}
.pg-updated{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:var(--gold);margin-bottom:1.4rem}

/* signature / attribution */
.pg-sign{margin-top:2.4rem;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.15rem;color:rgba(58,42,30,.8)}
.pg-sign img{display:block;width:clamp(150px,16vw,200px);height:auto;margin-top:.6rem}

/* ============ FAQ accordion ============ */
.faqs{display:flex;flex-direction:column;gap:.7rem;max-width:820px;margin-inline:auto}
.faq-item{border:1px solid rgba(58,42,30,.12);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 14px 36px -26px rgba(0,0,0,.4);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.faq-item:hover{box-shadow:0 20px 46px -28px rgba(0,0,0,.5)}
.faq-item[open]{border-color:rgba(240,160,77,.5);box-shadow:0 22px 50px -30px rgba(0,0,0,.5)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.3rem;font-family:"Cinzel",serif;font-weight:500;font-size:clamp(1rem,1.5vw,1.15rem);color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:"Raleway",sans-serif;font-weight:300;font-size:1.5rem;color:var(--gold);transition:transform .3s var(--ease)}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item__a{padding:0 1.3rem 1.2rem;font-weight:300;font-size:1rem;line-height:1.7;color:rgba(58,42,30,.82)}
.faq-item__a a{color:var(--copper);text-decoration:underline}
.faq-group + .faq-group{margin-top:clamp(2.4rem,6vh,4rem)}

/* ============ CONTACT ============ */
.ct-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4.5rem);max-width:1160px;margin-inline:auto;align-items:start}
.ct-eyebrow{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.26em;font-size:.72rem;font-weight:600;color:var(--copper);margin-bottom:.55rem}
.contact-note{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.18rem;color:rgba(58,42,30,.74);margin-bottom:1.4rem}
/* clean form: no heavy card; crisp white fields on the bone section, gold focus */
.cform{display:flex;flex-direction:column;gap:1.3rem;margin-top:.3rem}
.cform__two{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.cform__row{display:flex;flex-direction:column;gap:.45rem}
.cform__row label{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.15em;font-size:.6rem;color:rgba(58,42,30,.55)}
.cform input,.cform textarea{font-family:"Raleway",sans-serif;font-size:1rem;color:var(--ink);background:#fff;border:1px solid rgba(58,42,30,.14);border-radius:12px;padding:.92em 1em;outline:none;box-shadow:0 3px 14px -10px rgba(0,0,0,.22);transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.cform input::placeholder,.cform textarea::placeholder{color:rgba(58,42,30,.4)}
.cform input:focus,.cform textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(233,170,54,.18)}
.cform textarea{min-height:150px;resize:vertical}
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cform__btn{align-self:flex-start;margin-top:.6rem}
.cform__msg{font-size:.92rem;line-height:1.5;min-height:1.2em}
.cform__msg.is-ok{color:#2e7d4f}
.cform__msg.is-err{color:#c0392b}
.ct-faqnote{margin-top:1.4rem;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.12rem;color:rgba(58,42,30,.7)}
.ct-faqnote a{color:var(--copper);text-decoration:underline;text-underline-offset:3px}
.ct-faqnote a:hover{color:var(--gold)}
.ct-aside{position:sticky;top:92px}
.ct-portrait{margin:0 0 1.4rem}
.ct-portrait img{width:100%;height:auto;border-radius:18px;box-shadow:0 34px 76px -38px rgba(0,0,0,.5)}
.ct-org{font-family:"Cinzel",serif;font-style:italic;font-size:1.05rem;color:rgba(58,42,30,.82);margin-bottom:1.1rem}
.ct-dir{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.ct-dir li{display:flex;flex-direction:column;gap:.16rem;padding:.72rem 0;border-top:1px solid rgba(58,42,30,.12)}
.ct-dir li:last-child{border-bottom:1px solid rgba(58,42,30,.12)}
.ct-dir__k{font-family:"Julius Sans One",sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.58rem;color:var(--gold)}
.ct-dir a{font-size:.98rem;color:var(--copper);text-decoration:none;width:fit-content}
.ct-dir a:hover{text-decoration:underline}

/* ============ closing CTA strip (optional, reused) ============ */
.pg-cta{background:var(--cream);color:var(--ink);text-align:center;padding:clamp(3.5rem,9vh,6rem) 0}
.pg-cta__h{font-family:"Cinzel",serif;font-weight:500;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--ink)}
.pg-cta__p{font-weight:300;color:rgba(58,42,30,.78);margin:.9rem auto 0;max-width:48ch}
.pg-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}

/* ============ responsive ============ */
@media (max-width:820px){
  .ct-grid{grid-template-columns:1fr;gap:2.6rem}
  .ct-aside{position:static}
  .cform__two{grid-template-columns:1fr}
}

/* ============ closing curve divider + video CTA (every content page foot) ============ */
/* divider = home's exact curve (gold line); fill = section above (bone), bg = dark closing below */
.pg-curve{line-height:0;margin-top:-1px;margin-bottom:-1px;background:#08070b}
.pg-curve svg{display:block;width:100%;height:clamp(66px,7.6vw,120px)}
.pg-end{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--black);min-height:88vh}
.pg-end__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-end__veil{position:absolute;inset:0;background:linear-gradient(180deg,var(--black) 0%,rgba(8,7,11,.86) 10%,rgba(8,7,11,.55) 19%,rgba(8,7,11,.3) 30%,rgba(8,7,11,.42) 58%,rgba(8,7,11,.74) 76%,rgba(8,7,11,.9) 87%,rgba(8,7,11,.97) 94%,#08070b 100%)}
.pg-end__in{position:relative;z-index:2;text-align:center;color:#fff;padding:10vh var(--pad)}
.pg-end__logo{margin:0 auto 12px;filter:drop-shadow(0 2px 10px rgba(0,0,0,.5))}
.pg-end .kicker{color:rgba(255, 255, 255, 0.92);font-weight:600;font-size:.8rem;letter-spacing:.3em;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.pg-end__h{font-family:"Cinzel Decorative",serif;font-weight:700;font-size:clamp(2.1rem,5.2vw,3.8rem);line-height:1.1;margin-top:1rem;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.pg-end__sub{margin-top:1.1rem;font-weight:300;font-size:clamp(.95rem,1.5vw,1.12rem);letter-spacing:.04em;color:rgba(255,255,255,.92);text-shadow:0 1px 12px rgba(0,0,0,.5)}
.pg-end__cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2rem}
@media (prefers-reduced-motion:reduce){
  .reveal{transition:none}
}
