.content-page { background: #fff7dc; color: var(--ink); }
.subpage-topbar { background: rgba(255,247,220,.95); }
.page-hero { position: relative; isolation: isolate; min-height: 480px; overflow: hidden; padding: clamp(4rem, 8vw, 8rem) clamp(1.2rem, 6vw, 6.5rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); color: #fff; background: radial-gradient(circle at 82% 20%, #f52980 0 7%, transparent 31%), linear-gradient(135deg, #180537 0%, #351087 60%, #102e91 100%); }
.page-hero::after { content: ""; position: absolute; z-index: -1; inset: auto 0 0; height: 52px; background: #fff7dc; clip-path: polygon(0 80%, 10% 35%, 22% 66%, 36% 22%, 49% 70%, 64% 28%, 78% 68%, 91% 25%, 100% 58%, 100% 100%, 0 100%); }
.page-hero-copy { max-width: 870px; }
.page-hero .eyebrow { color: #ff9fc8; }
.page-hero h1 { margin: 0 0 1.3rem; font-family: "Bowlby One SC", Impact, sans-serif; font-size: clamp(3rem, 7.4vw, 7.4rem); line-height: .9; letter-spacing: -.045em; color: #fff; text-transform: uppercase; text-shadow: 7px 9px 0 #100326; }
.page-hero h1 span { color: var(--yellow); }
.page-hero-copy > p:not(.eyebrow) { max-width: 720px; color: #e7ddf5; font-size: clamp(1rem, 1.7vw, 1.2rem); line-height: 1.7; }
.page-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.3rem; margin-top: 1.5rem; color: #d9cbea; font-size: .875rem; font-weight: 800; }
.page-meta a { color: var(--yellow); }
.page-hero-mark { position: relative; min-height: 280px; display: grid; place-items: center; }
.page-hero-mark::before { content: ""; position: absolute; width: min(32vw, 330px); aspect-ratio: 1; border: 2px solid #ffffff55; border-radius: 50%; box-shadow: 0 0 0 30px #ffffff08, 0 0 0 78px #ffffff08; }
.page-hero-mark strong { position: relative; z-index: 1; font-family: "Bowlby One SC", Impact, sans-serif; font-size: clamp(4.7rem, 10vw, 9rem); color: transparent; -webkit-text-stroke: 3px #fff; filter: drop-shadow(8px 10px 0 #100326); }
.page-hero-mark span { position: absolute; z-index: 2; right: 7%; bottom: 10%; padding: .65rem .8rem; border-radius: 999px; background: var(--pink); box-shadow: 5px 6px 0 #100326; font-family: "Bowlby One SC"; font-size: .9rem; transform: rotate(-8deg); }

.legal-shell { width: min(1280px, 100%); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 5vw, 4rem); display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); }
.legal-nav { position: sticky; top: 110px; padding: 1.3rem; border: 1px solid #3510871c; border-radius: 22px; background: #fff; box-shadow: 0 16px 45px #35108712; }
.legal-nav p { margin: 0 0 .7rem; color: var(--pink-dark); text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; font-weight: 900; }
.legal-nav a { display: block; padding: .48rem .55rem; border-radius: 8px; color: #62537f; text-decoration: none; font-size: .84rem; font-weight: 800; }
.legal-nav a:hover { color: var(--pink-dark); background: #fff2bd; }
.legal-content { min-width: 0; }
.legal-intro { margin-bottom: 1.2rem; padding: 1.4rem; border-left: 5px solid var(--pink); border-radius: 0 18px 18px 0; background: #fff1bd; }
.legal-intro strong { display: block; margin-bottom: .35rem; color: var(--pink-dark); text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.legal-intro p { margin: 0; line-height: 1.65; }
.legal-content section { position: relative; scroll-margin-top: 110px; margin-top: 1.2rem; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid #3510871c; border-radius: 24px; background: #fff; box-shadow: 0 18px 50px #3510870d; }
.legal-number { position: absolute; right: 1.3rem; top: 1rem; font-family: "Bowlby One SC"; color: #f5298018; font-size: 3rem; line-height: 1; }
.legal-content h2 { position: relative; margin: 0 3.5rem 1rem 0; color: var(--purple); font-family: "Bowlby One SC"; font-size: clamp(1.25rem, 2.4vw, 1.85rem); line-height: 1.15; }
.legal-content p { margin-bottom: .75rem; color: #5a4b75; line-height: 1.75; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-content a { color: var(--pink-dark); font-weight: 900; }

.page-hero-contact { background: radial-gradient(circle at 76% 26%, #ffd44a 0 5%, transparent 24%), radial-gradient(circle at 95% 76%, #087fe8 0 8%, transparent 32%), linear-gradient(135deg, #f52980 0%, #7a178a 52%, #351087 100%); }
.contact-orbit { position: relative; min-height: 300px; display: grid; place-items: center; }
.contact-orbit::before, .contact-orbit::after { content: ""; position: absolute; border: 2px solid #ffffff55; border-radius: 50%; }
.contact-orbit::before { width: min(30vw, 300px); aspect-ratio: 1; }
.contact-orbit::after { width: min(20vw, 195px); aspect-ratio: 1; }
.contact-orbit span { position: relative; z-index: 2; display: grid; place-items: center; width: 145px; aspect-ratio: 1; border-radius: 50%; background: var(--yellow); color: var(--purple); font-family: "Bowlby One SC"; font-size: 5rem; box-shadow: 10px 12px 0 #351087; transform: rotate(-7deg); }
.contact-orbit i { position: absolute; width: 16px; aspect-ratio: 1; background: #fff; transform: rotate(45deg); }
.contact-orbit i:nth-child(2) { top: 12%; right: 10%; }
.contact-orbit i:nth-child(3) { bottom: 12%; left: 13%; background: var(--yellow); }
.contact-orbit i:nth-child(4) { top: 22%; left: 2%; background: #32d5df; }
.contact-shell { width: min(1240px, 100%); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) clamp(1rem, 5vw, 4rem); display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.35fr); align-items: start; gap: clamp(1.4rem, 4vw, 4rem); }
.contact-sidebar { display: grid; gap: 1rem; }
.contact-card, .contact-form-card { border: 1px solid #3510871c; border-radius: 25px; background: #fff; box-shadow: 0 18px 50px #35108710; }
.contact-card { padding: 1.45rem; }
.contact-card-primary { color: #fff; background: linear-gradient(145deg, var(--purple), #641186); }
.contact-card .eyebrow { margin-bottom: .5rem; }
.contact-card-primary .eyebrow { color: #ff91bf; }
.contact-card h2, .contact-form-card h2 { margin: 0 0 .9rem; font-family: "Bowlby One SC"; font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.05; }
.contact-card h3 { margin: 0 0 .6rem; font-size: 1.2rem; }
.contact-card p { color: #65577f; line-height: 1.6; }
.contact-card-primary p { color: #e4d8f3; }
.contact-card-primary > a { display: inline-block; margin-bottom: .8rem; color: var(--yellow); font-weight: 900; overflow-wrap: anywhere; }
.contact-card-link { color: var(--pink-dark); font-weight: 900; }
.contact-socials { display: flex; flex-wrap: wrap; gap: .5rem; }
.contact-socials a { padding: .62rem .78rem; border-radius: 999px; background: #fff2bd; color: var(--purple); text-decoration: none; font-size: .84rem; font-weight: 900; }
.contact-socials a:hover { background: var(--purple); color: #fff; }
.contact-form-card { padding: clamp(1.4rem, 4vw, 3rem); }
.contact-form-card .eyebrow { margin-bottom: .6rem; }
.contact-form-card form { display: grid; gap: 1rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-form-card label { display: grid; gap: .4rem; color: var(--purple); font-size: .9rem; font-weight: 900; }
.contact-form-card label span { color: #7c6c96; font-size: .78rem; font-weight: 700; }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea { width: 100%; border: 1px solid #35108732; border-radius: 13px; padding: .85rem .9rem; color: var(--ink); background: #fffdf8; font: inherit; font-weight: 700; }
.contact-form-card textarea { resize: vertical; min-height: 150px; }
.contact-form-card input:focus, .contact-form-card select:focus, .contact-form-card textarea:focus { border-color: var(--pink); outline: 3px solid #f5298025; }
.contact-submit { display: flex; justify-content: space-between; align-items: center; width: 100%; border: 0; border-radius: 999px; padding: 1rem 1.2rem; color: #fff; background: var(--pink); font-weight: 900; cursor: pointer; box-shadow: 0 8px 0 #bd095b; transition: transform .2s ease, box-shadow .2s ease; }
.contact-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 0 #bd095b; }
.form-note { margin: .35rem 0 0; color: #76688d; font-size: .78rem; line-height: 1.55; }
.form-status { min-height: 1.3rem; margin: 0; color: var(--pink-dark); font-weight: 900; }

@media (max-width: 900px) {
  .page-hero { grid-template-columns: 1fr; }
  .page-hero-mark, .contact-orbit { min-height: 230px; }
  .legal-shell { grid-template-columns: 1fr; }
  .legal-nav { position: static; columns: 2; }
  .legal-nav p { column-span: all; }
  .contact-shell { grid-template-columns: 1fr; }
  .contact-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-card-primary { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .page-hero { min-height: auto; padding-top: 4rem; }
  .page-hero h1 { font-size: clamp(2.7rem, 14vw, 4.7rem); text-shadow: 5px 6px 0 #100326; }
  .page-hero-mark, .contact-orbit { min-height: 190px; }
  .page-hero-mark::before { width: 210px; }
  .page-hero-mark strong { font-size: 5.2rem; }
  .page-hero-mark span { right: 18%; }
  .contact-orbit::before { width: 230px; }
  .contact-orbit::after { width: 155px; }
  .contact-orbit span { width: 115px; font-size: 4rem; }
  .legal-nav { columns: 1; }
  .legal-content section { border-radius: 18px; }
  .legal-content h2 { margin-right: 2.5rem; }
  .legal-number { font-size: 2.35rem; }
  .contact-sidebar, .form-grid { grid-template-columns: 1fr; }
  .contact-card-primary { grid-column: auto; }
}
