
/* globals.css */

:root{--navy:#14273f;--blue:#2d5b82;--pink:#f757bb;--soft-pink:#fff0f9;--gray:#5d6470;--cream:#f5f5f7;--ink:#17181d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff}a{color:inherit;text-decoration:none}.topbar{max-width:1180px;height:94px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand img{display:block;width:68px;height:68px;object-fit:contain}.header-phone{font-weight:700;font-size:15px;color:#111}.hero{background:var(--navy);color:white;padding:94px max(28px,calc((100vw - 1124px)/2));display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;color:var(--pink);margin:0 0 18px}.hero h1,.section h2,.split-section h2,.contact h2{font-family:Georgia,serif;line-height:1.06;margin:0}.hero h1{font-size:clamp(38px,5vw,64px);max-width:720px}.lead{font-size:19px;line-height:1.55;color:#e3e7ed;max-width:650px;margin:27px 0}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-block;padding:15px 24px;font-size:14px;font-weight:700;border-radius:3px}.button-primary{background:var(--pink);color:#17181d}.button-quiet{border:1px solid #d3dae3;color:#fff}.microcopy{font-size:12px;color:#c5ccd7;margin-top:19px}.hero-card{background:#fff;color:var(--ink);padding:34px;box-shadow:16px 16px 0 rgba(247,87,187,.23)}.card-kicker{font-size:10px;letter-spacing:.14em;font-weight:bold;color:#c8328c}.hero-card h2{font-family:Georgia,serif;font-size:28px;line-height:1.15;margin:10px 0 20px}.hero-card ul{padding:0;margin:0 0 23px;list-style:none}.hero-card li{border-top:1px solid #e6e6e8;padding:12px 0;font-size:14px;line-height:1.35}.hero-card a,.text-link{font-weight:700;color:var(--navy)}.hero-card span{color:var(--pink);margin-left:7px}.proof{background:var(--soft-pink);padding:24px max(28px,calc((100vw - 1124px)/2));display:flex;gap:40px;align-items:center;justify-content:space-between}.proof>p{font-size:10px;letter-spacing:.13em;font-weight:bold;max-width:225px}.proof div{display:grid;gap:4px}.proof strong{font-family:Georgia,serif;font-size:23px;color:var(--navy)}.proof span{font-size:12px;color:var(--gray)}.section,.split-section,.contact{max-width:1124px;margin:auto;padding:105px 28px}.section h2,.split-section h2,.contact h2{font-size:clamp(34px,4vw,50px);max-width:680px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}.steps article{border-top:2px solid var(--pink);padding-top:18px}.steps b{color:#c8328c;font-size:13px}.steps h3{font-family:Georgia,serif;font-size:22px;margin:22px 0 10px}.steps p,.split-section p,.contact p{font-size:15px;line-height:1.65;color:var(--gray)}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:105px;background:#fff}.split-section>div:first-child{padding-top:13px}.quote{background:#f3f4f6;padding:46px;border-left:5px solid var(--pink)}.quote p{font-family:Georgia,serif;font-size:28px!important;line-height:1.25!important;color:var(--navy)!important;margin:0 0 30px}.quote span{font-size:12px;font-weight:bold;color:var(--gray)}.contact{max-width:none;background:var(--navy);color:white;display:grid;grid-template-columns:1.1fr .9fr;gap:90px;padding-left:max(28px,calc((100vw - 1124px)/2));padding-right:max(28px,calc((100vw - 1124px)/2))}.contact h2{max-width:500px}.contact>div>p{color:#dde1e7;max-width:520px}.contact .button{margin-top:12px}.contact-details{border-left:1px solid #76869a;padding-left:36px}.contact-details p{margin:0 0 22px;display:grid;gap:4px}.contact-details b{font-size:11px;color:var(--pink);letter-spacing:.12em;text-transform:uppercase}.contact-details a,.contact-details span{color:#fff;font-size:15px;line-height:1.4}footer{background:#080b10;color:#b1b4bb;text-align:center;font-size:11px;padding:20px}@media(max-width:760px){.topbar{height:82px;padding:0 20px}.brand img{width:58px;height:58px}.header-phone{font-size:13px}.hero{grid-template-columns:1fr;padding-top:64px;padding-bottom:64px;gap:42px}.hero-card{padding:26px;box-shadow:10px 10px 0 rgba(247,87,187,.23)}.proof{display:grid;grid-template-columns:1fr 1fr;gap:20px}.proof>p{grid-column:1/-1}.section,.split-section,.contact{padding-top:70px;padding-bottom:70px}.steps{grid-template-columns:1fr 1fr;margin-top:38px}.split-section,.contact{grid-template-columns:1fr;gap:38px}.contact-details{border-left:0;border-top:1px solid #76869a;padding-left:0;padding-top:28px}}@media(max-width:430px){.header-phone{display:none}.steps{grid-template-columns:1fr}.proof{grid-template-columns:1fr}.hero h1{font-size:39px}}


/* faq.module.css */
.faq-faq{max-width:1124px;margin:auto;padding:94px 28px;display:grid;grid-template-columns:.75fr 1.25fr;gap:78px;background:#fff}.faq-intro h2{font-family:Georgia,serif;color:#131172;font-size:clamp(34px,4vw,50px);line-height:1.06;margin:0}.faq-intro>p:not(.faq-eyebrow){color:#5d6470;font-size:15px;line-height:1.65;margin:22px 0}.faq-items{border-top:1px solid #cbc5c8}.faq-items details{border-bottom:1px solid #cbc5c8;padding:0}.faq-items summary{cursor:pointer;list-style:none;padding:22px 36px 22px 0;position:relative;font-weight:700;font-size:17px;color:#000}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary::after{content:"+";position:absolute;right:2px;top:15px;font-size:27px;line-height:1;color:#f531ca;font-weight:400}.faq-items details[open] summary::after{content:"−"}.faq-items details p{margin:0;padding:0 34px 22px 0;color:#5d6470;font-size:15px;line-height:1.65}.faq-items details[open] summary{color:#131172}@media(max-width:760px){.faq-faq{grid-template-columns:1fr;gap:36px;padding-top:70px;padding-bottom:70px}.faq-items summary{font-size:16px}}


/* reviews.module.css */
.reviews-section{background:#f7f7f8;padding:94px max(28px,calc((100vw - 1124px)/2))}.reviews-heading{text-align:center;max-width:650px;margin:0 auto 44px}.reviews-heading h2{font-family:Georgia,serif;color:#131172;font-size:clamp(34px,4vw,50px);line-height:1.06;margin:0}.reviews-heading>p:not(.reviews-eyebrow){color:#5d6470;line-height:1.6;font-size:15px;margin:18px 0 0}.reviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.reviews-grid article{background:#fff;padding:27px 23px;min-height:230px;display:flex;flex-direction:column;border-top:3px solid #fe65c3;box-shadow:0 8px 24px rgba(0,0,0,.05)}.reviews-stars{color:#f531ca;letter-spacing:2px;font-size:15px}.reviews-grid article p{font-family:Georgia,serif;color:#131172;font-size:19px;line-height:1.38;margin:22px 0 auto}.reviews-person{display:flex;align-items:center;gap:10px;margin-top:22px}.reviews-person span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#131172;color:#fff;font-size:11px;font-weight:700}.reviews-person strong{font-size:13px;color:#000;margin:0}@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.reviews-section{padding-top:70px;padding-bottom:70px}.reviews-grid{grid-template-columns:1fr}.reviews-grid article{min-height:190px}}


/* services.module.css */
.services-section{background:#131172;color:#fff;padding:94px max(28px,calc((100vw - 1124px)/2))}.services-heading{max-width:720px}.services-heading h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,50px);line-height:1.08;margin:0}.services-heading>p:not(.services-eyebrow){color:#e5e4f1;font-size:16px;line-height:1.65;margin:20px 0 0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:45px}.services-grid article{background:#fff;color:#000;padding:27px 24px;min-height:205px;border-top:4px solid #fe65c3}.services-grid span{color:#f531ca;font-weight:700;font-size:12px;letter-spacing:.12em}.services-grid h3{font-family:Georgia,serif;color:#131172;font-size:23px;line-height:1.15;margin:18px 0 11px}.services-grid p{color:#5d6470;font-size:14px;line-height:1.58;margin:0}@media(max-width:800px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.services-section{padding-top:70px;padding-bottom:70px}.services-grid{grid-template-columns:1fr}.services-grid article{min-height:0}}


/* trust.module.css */
.trust-section{max-width:1124px;margin:auto;padding:88px 28px 40px}.trust-intro{max-width:780px}.trust-intro h2{font-family:Georgia,serif;color:#131172;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:38px}.trust-grid article{padding:22px 5px;border-top:3px solid #fe65c3}.trust-grid b{font-family:Georgia,serif;font-size:22px;color:#000}.trust-grid p{font-size:14px;line-height:1.55;color:#5d6470;margin:11px 0 0}@media(max-width:760px){.trust-section{padding-top:65px}.trust-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:440px){.trust-grid{grid-template-columns:1fr}}


/* story.module.css */
.story-section{max-width:1124px;margin:auto;padding:88px 28px;display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.story-imageWrap{min-height:385px;background:#000;overflow:hidden}.story-imageWrap img{width:100%;height:100%;min-height:385px;display:block;object-fit:cover}.story-copy h2{font-family:Georgia,serif;color:#131172;font-size:clamp(34px,4vw,48px);line-height:1.08;margin:0}.story-copy>p:not(.story-eyebrow){font-size:16px;line-height:1.65;color:#5d6470;margin:20px 0}.story-tagline{font-family:Georgia,serif!important;color:#000!important;font-size:21px!important;line-height:1.35!important;margin-bottom:26px!important}@media(max-width:760px){.story-section{grid-template-columns:1fr;gap:32px;padding-top:65px;padding-bottom:65px}.story-imageWrap,.story-imageWrap img{min-height:270px}}


/* founder.module.css */
.founder-section{background:#000;color:#fff;padding:88px max(28px,calc((100vw - 1124px)/2));display:grid;grid-template-columns:.78fr 1.22fr;gap:64px;align-items:center}.founder-photoWrap{max-width:400px;margin:auto;border:2px solid #fe65c3;padding:8px}.founder-photoWrap img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover;object-position:center top}.founder-copy{max-width:630px}.founder-copy h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,62px);line-height:1;margin:0}.founder-copy>p:not(.founder-eyebrow){color:#e0e0e4;font-size:16px;line-height:1.68;margin:18px 0}.founder-signature{font-family:Georgia,serif;color:#fe65c3!important;font-size:23px!important;line-height:1.35!important;margin-top:30px!important}@media(max-width:760px){.founder-section{grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:65px}.founder-photoWrap{max-width:320px}}


/* interactions.css */
/* Hover states and motion designed to give the page a clear, confident response. */
.topbar {
  width: 100%;
  max-width: none;
  margin: 0;
  background: #000 !important;
  padding-left: max(28px, calc((100vw - 1124px) / 2));
  padding-right: max(28px, calc((100vw - 1124px) / 2));
  border-bottom: 1px solid rgba(254,101,195,.45);
}

.brand { display: grid; place-items: center; width: 78px; height: 78px; background: #000; }
.brand img { width: 74px; height: 74px; }
.topbar .header-phone { color: #fff !important; text-shadow: 0 0 0 transparent; transition: color .25s ease, transform .25s ease, text-shadow .25s ease; }
.topbar .header-phone:hover { color: var(--pink) !important; transform: translateY(-2px); text-shadow: 0 0 14px rgba(254,101,195,.8); }

.button, .text-link, .hero-card a {
  transition: transform .25s ease, background-color .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.button:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(254,101,195,.28); }
.button-primary:hover { background: #fff; color: #000; }
.button-quiet:hover { background: var(--pink); border-color: var(--pink); color: #000; }
.text-link:hover, .hero-card a:hover { color: var(--pink); }

.steps article {
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease, padding .25s ease;
}
.steps article:hover { transform: translateY(-7px); border-color: var(--navy); background: var(--soft-pink); padding: 18px 14px 8px; }
.steps article b { display: inline-block; transition: transform .25s ease, color .25s ease; }
.steps article:hover b { color: var(--navy); transform: translateY(-4px) scale(1.12); }

.hover-trust-grid article {
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease, padding .25s ease;
}
.hover-trust-grid article:hover { transform: translateY(-7px); background: var(--soft-pink); border-color: var(--navy); padding-left: 15px; padding-right: 15px; }

.hover-service-grid article {
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hover-service-grid article:hover { transform: translateY(-8px); background: var(--soft-pink); border-color: #fff; box-shadow: 0 14px 28px rgba(0,0,0,.28); }
.hover-service-grid article span { display: inline-block; transition: transform .25s ease, color .25s ease; }
.hover-service-grid article:hover span { color: var(--navy); transform: scale(1.12); }

.service-cta { margin-top: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 28px; border: 1px solid rgba(254,101,195,.55); background: #000; }
.service-cta p { margin: 0; color: #fff; font-family: Georgia, serif; font-size: 20px; line-height: 1.35; }
.service-cta .button-primary:hover { background: var(--pink); color: #000; }

.hover-reviews-grid article {
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hover-reviews-grid article:hover { transform: translateY(-8px); background: var(--soft-pink); border-color: var(--navy); box-shadow: 0 16px 32px rgba(19,17,114,.15); }
.hover-reviews-grid .person span { transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.hover-reviews-grid article:hover .person span { background: var(--pink); color: #000; transform: rotate(-8deg) scale(1.08); }

.contact .button-primary:hover { background: var(--pink); color: #000; }
.contact-details a { transition: color .25s ease; }
.contact-details a:hover { color: var(--pink); }
footer { background: #000; color: #d3d3d8; border-top: 1px solid #333; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (max-width: 640px) {
  .service-cta { align-items: flex-start; flex-direction: column; }
  .service-cta p { font-size: 18px; }
}

