:root {
  --ink:#414a56;
  --pink:#e8a3b5;
  --rose:#f7e9ed;
  --accent:#a44662;
  --white:#fff;
  --mist:#f4f4f5;
  --rule:#d7d9dd;
  --display:Manrope,"Avenir Next",Avenir,Arial,sans-serif;
  --body:"Avenir Next",Avenir,Arial,sans-serif;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth}
body {margin:0;background:var(--white);color:var(--ink);font:1rem/1.55 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,ol,ul {margin:0}
h1,h2,h3 {font-family:var(--display);line-height:1.04;letter-spacing:-.052em}
h2 {font-size:clamp(2rem,4.25vw,3.65rem);font-weight:700}
h3 {font-size:clamp(1.24rem,2.55vw,2.18rem)}
img,svg {display:block;max-width:100%;height:auto}
a {color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible {outline:2px solid var(--accent);outline-offset:5px}
section[id] {scroll-margin-top:20px}
.shell {width:min(1320px,calc(100% - 112px));margin-inline:auto}
.skip {position:fixed;top:12px;left:12px;z-index:4;background:var(--white);padding:9px 14px;transform:translateY(-170%)}
.skip:focus {transform:translateY(0)}
.top {min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.top nav {display:flex;gap:clamp(20px,4vw,58px);align-items:center;font-size:clamp(.91rem,1.75vw,1.3rem);font-weight:600}
.top nav a:hover,.arrow-link:hover {text-decoration:underline;text-underline-offset:5px}
.brand {display:inline-flex;flex:none}
.hero {display:grid;grid-template-columns:54% 46%;align-items:stretch}
.hero-copy {position:relative;align-self:center;padding:clamp(36px,5.5vw,84px) max(28px,calc((100vw - 1320px)/2)) clamp(36px,5.5vw,84px) clamp(20px,2.65vw,44px)}
h1 {font-size:clamp(2.6rem,5.2vw,5.55rem);margin-bottom:22px;font-weight:700}
.lead {max-width:480px;font-size:clamp(1.12rem,2.25vw,1.86rem);line-height:1.3}
.actions {margin-top:clamp(22px,3vw,38px)}
.button {display:inline-flex;align-items:center;justify-content:center;min-height:49px;border-radius:40px;padding:10px clamp(17px,2.7vw,36px);font-size:clamp(.98rem,1.7vw,1.38rem);font-weight:650}
.solid {background:var(--pink);color:#333945}
.solid:hover {background:#e092a8}
.hero-figure,.about-figure {position:relative;overflow:hidden}
.hero-figure {width:114%;max-width:none;min-height:clamp(460px,46vw,720px);background:#e5d8d1}
.hero-image,.about-figure>img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-image {object-position:44% 45%}
.hero-sweep,.about-sweep {position:absolute;top:0;height:100%;width:40%;pointer-events:none}
.hero-sweep {right:-1px}
.hero-figure figcaption,.about-figure figcaption {position:absolute;bottom:11px;background:var(--white);padding:2px 7px;font-size:.68rem;color:var(--ink)}
.hero-figure figcaption {left:16px}
.about-figure figcaption {right:16px}
.audience-strip {border-top:clamp(12px,2.6vw,33px) solid #f4c5d1}
.audience-inner {padding-block:clamp(31px,3.6vw,54px)}
.audience-inner h2 {margin-bottom:clamp(22px,3vw,38px);font-size:clamp(1.95rem,3.6vw,3.3rem)}
.audience-inner ul,.steps {display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0}
.audience-inner li,.steps li {display:grid;grid-template-columns:clamp(34px,5.4vw,73px) 1fr;align-items:center;gap:clamp(11px,2.4vw,28px);padding-right:14px}
.audience-inner li+li,.steps li+li {border-left:1px solid var(--rule);padding-left:clamp(12px,3.5vw,48px)}
.audience-inner li span,.steps h3 {font-size:clamp(1.02rem,2vw,1.58rem);line-height:1.18;letter-spacing:0;font-weight:550}
.audience-inner svg,.section-icon {width:100%;fill:none;stroke:#cc6a87;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}
.about {display:grid;grid-template-columns:44% 56%;background:var(--rose);align-items:stretch}
.about-copy {align-self:center;padding:clamp(34px,6vw,82px) clamp(16px,3vw,40px) clamp(34px,6vw,82px) max(56px,calc((100vw - 1320px)/2))}
.about-copy p {font-size:clamp(1.18rem,2.4vw,1.9rem);line-height:1.3;margin-top:clamp(15px,2.3vw,28px)}
.about-figure {min-height:clamp(340px,39vw,610px);background:#e5d8d1}
.about-figure>img {object-position:63% 50%}
.about-sweep {left:-1px;width:35%}
.section {padding-block:clamp(39px,5.8vw,82px)}
.cards {display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(25px,4vw,48px)}
.card {display:grid;grid-template-columns:clamp(42px,6vw,80px) 1fr;gap:clamp(12px,2.8vw,38px);padding-right:clamp(10px,3.8vw,55px)}
.card+.card {border-left:1px solid var(--rule);padding-left:clamp(12px,3.8vw,55px);padding-right:0}
.card p {max-width:395px;font-size:clamp(1rem,1.9vw,1.45rem);line-height:1.32;margin-block:12px 17px}
.arrow-link {font-weight:650;color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.arrow-link:hover {color:#763249}
.inquiries {border-top:1px solid var(--rule)}
.steps {margin-top:clamp(24px,3.7vw,43px)}
.index {display:block;color:var(--accent);font-size:clamp(1.2rem,2.5vw,2.1rem);line-height:1.15;font-weight:750;margin-bottom:5px}
.faq {background:var(--mist)}
.questions {margin-top:18px}
details {border-bottom:1px solid #bec2c9}
summary {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;font-size:clamp(1.05rem,2vw,1.44rem);font-weight:600;cursor:pointer;list-style:none}
summary::-webkit-details-marker {display:none}
summary::after {content:"+";flex:none;color:var(--accent);font-size:1.5em;line-height:1}
details[open] summary::after {content:"−"}
details p {max-width:760px;padding:0 26px 15px 0}
.contact-section {position:relative;isolation:isolate;overflow:hidden;background:var(--rose);padding-block:clamp(37px,5.8vw,80px)}
.contact-panel {position:relative;z-index:1}
.contact-panel h2 {max-width:min(100%,900px)}
.contact-button {margin-top:clamp(18px,2.7vw,32px);background:var(--ink);color:var(--white)}
.contact-button:hover {background:#555f6c}
.contact-mark {position:absolute;right:-5%;bottom:-35%;width:clamp(220px,30vw,470px);transform:rotate(-9deg);z-index:-1}
.footer-inner {display:flex;justify-content:center;align-items:center;min-height:106px;padding-block:16px}
@media (max-width:1000px) {
  .shell {width:calc(100% - 72px)}
  .about-copy {padding-left:36px}
}
@media (max-width:760px) {
  .shell {width:calc(100% - 40px)}
  .top {min-height:77px;gap:12px}
  .top .brand img {width:91px}
  .top nav {gap:clamp(8px,2.4vw,18px);font-size:clamp(.73rem,2.1vw,.95rem)}
  .hero,.about {grid-template-columns:1fr}
  .hero-copy {grid-row:1;padding:36px 20px 30px}
  h1 {font-size:clamp(2.5rem,8.9vw,4.3rem);margin-bottom:14px}
  .hero-figure,.about-figure {min-height:clamp(230px,58vw,390px)}
  .hero-figure {width:100%}
  .hero-sweep,.about-sweep {width:18%}
  .hero-image {object-position:50% 42%}
  .about-copy {padding:31px 20px 26px}
  .contact-mark {opacity:.28}
}
@media (max-width:530px) {
  .audience-inner ul,.steps,.cards {grid-template-columns:1fr;gap:13px}
  .audience-inner li+li,.steps li+li,.card+.card {border-left:0;border-top:1px solid var(--rule);padding:13px 0 0}
  .audience-inner li,.steps li {grid-template-columns:37px 1fr}
  .card {padding-bottom:6px}
}
@media (max-width:350px) {
  .shell {width:calc(100% - 30px)}
  .top .brand img {width:75px}
  .hero-copy,.about-copy {padding-inline:15px}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
}
