/* Inner pages: the approved homepage's soft boutique frames and bright accents. */
.page-refreshed{--frame-edge:#d891ae;--frame-inner:#efd0dd;--frame-top:#fffdfd;--frame-bottom:#fff5f9;--frame-shadow:#ad356712;--accent:#a3265b;--icon-bg:#fce4ee}
.page-refreshed .hero{background:radial-gradient(ellipse at 10% 15%,#ffd9e8,transparent 55%),#fff7fa;padding-block:3rem}
.page-refreshed .hero-grid{gap:2.5rem;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.page-refreshed .hero-grid>div:only-child{width:100%;max-width:1000px;margin:auto}
.page-refreshed .boutique-frame,.page-refreshed .hero-grid>div:first-child,.page-refreshed .card,.page-refreshed .side-note,.page-refreshed .contact-aside,.page-refreshed .legal,.page-refreshed .glow-info>div,.page-refreshed .glow-book>.wrap{position:relative;min-width:0;padding:clamp(2rem,3vw,3rem);border:2px solid var(--frame-edge);border-radius:72px 72px 24px 24px;background:linear-gradient(160deg,var(--frame-top),var(--frame-bottom));box-shadow:0 10px 28px var(--frame-shadow)}
.page-refreshed .boutique-frame:before,.page-refreshed .hero-grid>div:first-child:before,.page-refreshed .card:before,.page-refreshed .side-note:before,.page-refreshed .contact-aside:before,.page-refreshed .legal:before,.page-refreshed .glow-info>div:before,.page-refreshed .glow-book>.wrap:before{content:'';position:absolute;inset:7px;border:1px solid var(--frame-inner);border-radius:63px 63px 17px 17px;pointer-events:none}
.page-refreshed .hero h1{font-size:clamp(2.6rem,4.3vw,4.6rem);line-height:1.12;text-wrap:balance}
.page-refreshed .hero h1 em{color:var(--accent);line-height:1.05}
.page-refreshed .hero .intro{font-size:1.08rem}
.page-refreshed .eyebrow{color:var(--accent)}
.page-refreshed .page-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:62px;height:62px;margin-bottom:1.2rem;padding:14px;border:1px solid var(--frame-inner);border-radius:50%;background:var(--icon-bg);color:var(--accent)}
.page-refreshed .page-icon svg{width:100%;height:100%;display:block}
.page-refreshed .hero .eyebrow,.page-refreshed .glow-hero .eyebrow{display:flex;align-items:center;gap:.85rem;letter-spacing:.15em}
.page-refreshed .hero .eyebrow .page-icon,.page-refreshed .glow-hero .eyebrow .page-icon{width:48px;height:48px;margin:0;padding:10px}
.page-refreshed .section{padding-block:4rem}
.page-refreshed .section-intro{max-width:1000px;margin-bottom:2.5rem}
.page-refreshed .section-intro h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.18;text-wrap:balance}
.page-refreshed .section-intro>:last-child{margin-bottom:0}
.page-refreshed .cards{align-items:stretch;gap:1.5rem;margin-top:2rem}
.page-refreshed .card{padding:2.2rem 1.7rem;border-radius:56px 56px 24px 24px}
.page-refreshed .card:before{border-radius:47px 47px 17px 17px}
.page-refreshed .card .number{width:auto;min-width:42px;align-self:flex-end;margin:0 0 -42px;padding:.2rem .55rem;border:1px solid var(--frame-inner);border-radius:20px;background:white;color:var(--accent);font-weight:700}
.page-refreshed .card h3{color:var(--accent);font-size:1.3rem;margin-bottom:1rem}
.page-refreshed .card .text-link{min-height:44px;border:1px solid var(--frame-edge);border-radius:22px;padding:.65rem 1rem;background:var(--icon-bg);text-decoration:none;color:var(--accent);font-size:.92rem;box-shadow:0 4px 0 var(--frame-shadow)}
.page-refreshed .card .text-link:hover{background:var(--frame-top)}
.page-refreshed .split-copy{gap:3rem;align-items:start}
.page-refreshed .split-copy>.large{position:relative;padding:2.2rem 2rem;border:2px solid var(--frame-edge);border-radius:56px 56px 24px 24px;background:linear-gradient(160deg,var(--frame-top),var(--frame-bottom));box-shadow:0 10px 28px var(--frame-shadow);color:var(--accent);font-family:Georgia,serif;font-size:clamp(1.5rem,2.3vw,2rem);text-wrap:balance}
.page-refreshed .split-copy>.large:before{content:'';position:absolute;inset:7px;border:1px solid var(--frame-inner);border-radius:47px 47px 17px 17px;pointer-events:none}
.page-refreshed .side-note{text-align:center;align-self:center;padding-top:2.5rem}
.page-refreshed .side-note .small{max-width:none;font-size:.9rem;margin-bottom:0}
.page-refreshed .side-note>p{font-size:1.12rem}
.page-refreshed .side-note .six-week-mark{margin-top:1rem}
.page-refreshed .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page-refreshed .steph-portrait,.page-refreshed .coaching-photo,.page-refreshed .studio-view,.page-refreshed .glow-photo{position:relative;padding:12px;border:2px solid var(--frame-edge);border-radius:72px 72px 24px 24px;background:linear-gradient(160deg,var(--frame-top),var(--frame-bottom));box-shadow:0 10px 28px var(--frame-shadow);isolation:isolate}
.page-refreshed .steph-portrait:after,.page-refreshed .coaching-photo:after,.page-refreshed .studio-view:after,.page-refreshed .glow-photo:after{content:'';position:absolute;inset:7px;border:1px solid var(--frame-inner);border-radius:63px 63px 17px 17px;pointer-events:none;z-index:1}
.page-refreshed .steph-portrait{max-width:400px}
.page-refreshed .steph-portrait img,.page-refreshed .coaching-photo img,.page-refreshed .studio-window,.page-refreshed .glow-photo img{border-radius:58px 58px 10px 10px}
.page-refreshed .steph-portrait img,.page-refreshed .coaching-photo img,.page-refreshed .glow-photo img{height:auto;object-fit:contain}
.page-refreshed .steph-portrait figcaption,.page-refreshed .coaching-photo figcaption{background:transparent;color:var(--accent);font-family:var(--script);font-size:1.85rem;line-height:1.2;padding:1.1rem .5rem .5rem}
.page-refreshed .studio-view figcaption{padding:1.3rem 1rem .5rem}
.page-refreshed .studio-view figcaption strong{color:var(--accent)}
.page-refreshed .studio-band{padding-block:2.5rem;background:#fff7fa}
/* Show only the studio photograph from the supplied 1024 x 1536 website reference.
   Original asset stays unchanged; window: x=1, y=711, width=636, height=349. */
.page-refreshed .studio-reference-window{position:relative;aspect-ratio:636 / 349;overflow:hidden;border-radius:58px 58px 10px 10px;background:#fce4ee}
.page-refreshed .studio-reference-window img{position:absolute;max-width:none;width:161.00629%;height:auto;left:-.157233%;top:-203.724928%;border-radius:0}
@media(max-width:650px){.page-refreshed .studio-reference-window{border-radius:42px 42px 10px 10px}}
.page-refreshed .faq{max-width:100%}
.page-refreshed main details{margin-bottom:1rem;padding:0 1.3rem;border:1.5px solid var(--frame-edge);border-radius:22px;background:linear-gradient(145deg,var(--frame-top),var(--frame-bottom));box-shadow:0 4px 0 var(--frame-shadow)}
.page-refreshed main summary{cursor:pointer;padding:1.15rem .25rem;font-weight:700;font-size:1rem;color:var(--accent);line-height:1.5}
.page-refreshed main summary::marker{color:var(--accent)}
.page-refreshed main details[open]{border-color:var(--accent)}
.page-refreshed main details p{padding:0 .25rem 1.1rem;margin:0}
.page-refreshed .qualifications{gap:1.1rem;max-width:none;margin-top:2rem}
.page-refreshed .qualifications li{display:flex;gap:1rem;align-items:center;border:1.5px solid var(--frame-edge);border-radius:24px;background:var(--frame-bottom);color:var(--accent);font-weight:700;padding:1.3rem}
.page-refreshed .qualifications .page-icon{width:48px;height:48px;padding:10px;margin:0}
.page-refreshed .contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start}
.page-refreshed .contact-form-frame{padding:2.5rem}
.page-refreshed .contact-form-frame h2{font-size:clamp(2rem,3vw,2.8rem)}
.page-refreshed .contact-aside{padding:2.5rem 2rem}
.page-refreshed .contact-aside h3{display:flex;align-items:center;gap:.7rem;color:var(--accent);font-size:1.15rem}
.page-refreshed .contact-aside .page-icon{width:42px;height:42px;padding:10px;margin:0}
.page-refreshed .contact-aside .contact-instagram{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-weight:700;font-size:.94rem;color:var(--accent)}
.page-refreshed .contact-instagram svg{width:25px;height:25px;flex:none}
.page-refreshed input,.page-refreshed select,.page-refreshed textarea{border-radius:16px;border-color:#c78ca6;background:#fffdfd}
.page-refreshed .consent input{border-radius:4px}
.page-refreshed .form-notice,.page-refreshed .note{border-radius:16px;background:var(--frame-bottom)}
.page-refreshed .legal{max-width:900px}
.page-refreshed .legal h2{color:var(--accent);font-size:1.75rem}
.page-refreshed .glow-hero,.page-refreshed .glow-band,.page-refreshed .glow-info,.page-refreshed .glow-book{--frame-edge:#c38c7b;--frame-inner:#e6c6b6;--frame-top:#fffcf8;--frame-bottom:#f9e8df;--frame-shadow:#80494314;--accent:#714940;--icon-bg:#f8e6d7}
.page-refreshed .glow-hero{gap:2rem;padding:3rem max(1.25rem,calc((100vw - 1200px)/2));background:radial-gradient(ellipse at 10% 15%,#f8dccd,transparent 60%),#f9f0e9;align-items:center}
.page-refreshed .glow-hero .glow-copy{padding:clamp(2rem,3vw,3rem)}
.page-refreshed .glow-copy h1{font-size:clamp(3rem,4.5vw,5rem)}
.page-refreshed .glow-photo{width:100%;max-width:480px;justify-self:center;margin:0}
.page-refreshed .glow-info{gap:2rem}
.page-refreshed .glow-info h2{font-size:clamp(2rem,3.2vw,3rem)}
.page-refreshed .glow-book>.wrap{text-align:center}
.page-refreshed .glow-book .actions{justify-content:center}
.page-refreshed .glow-book .button:focus-visible,.page-refreshed .glow-hero .button:focus-visible{outline-color:#714940}
.page-refreshed .button{box-shadow:0 5px 0 #84234722;transition:background .2s,transform .2s}
.page-refreshed .button:disabled{box-shadow:none}
@media(max-width:1050px){.page-refreshed .hero-grid{gap:1.5rem}.page-refreshed .hero h1{font-size:clamp(2.4rem,4.5vw,4rem)}.page-refreshed .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-refreshed .cards>.card:last-child:nth-child(odd){grid-column:1/-1}.page-refreshed .contact-grid{grid-template-columns:1fr}.page-refreshed .contact-aside{max-width:none;width:100%}}
@media(max-width:800px){.page-refreshed .hero-grid{grid-template-columns:1fr;gap:2rem}.page-refreshed .hero-grid>div:first-child{width:100%}.page-refreshed .hero h1{font-size:clamp(2.5rem,6vw,3.8rem)}.page-refreshed .side-note{max-width:500px;width:100%;justify-self:center}.page-refreshed .glow-hero{grid-template-columns:1fr}.page-refreshed .split-copy{gap:1.5rem}}
@media(max-width:650px){.page-refreshed .hero{padding-block:1.5rem}.page-refreshed .hero-grid{gap:1.5rem}.page-refreshed .hero h1{font-size:clamp(2rem,8vw,3.2rem)}.page-refreshed .hero h1 em{display:block;margin-top:.2em}.page-refreshed .boutique-frame,.page-refreshed .hero-grid>div:first-child,.page-refreshed .card,.page-refreshed .side-note,.page-refreshed .contact-aside,.page-refreshed .legal,.page-refreshed .glow-info>div,.page-refreshed .glow-book>.wrap{padding:2.2rem 1.5rem;border-radius:56px 56px 24px 24px}.page-refreshed .boutique-frame:before,.page-refreshed .hero-grid>div:first-child:before,.page-refreshed .card:before,.page-refreshed .side-note:before,.page-refreshed .contact-aside:before,.page-refreshed .legal:before,.page-refreshed .glow-info>div:before,.page-refreshed .glow-book>.wrap:before{border-radius:47px 47px 17px 17px}.page-refreshed .section{padding-block:2.5rem}.page-refreshed .cards{grid-template-columns:1fr}.page-refreshed .section-intro{margin-bottom:1.7rem}.page-refreshed .section-intro h2{font-size:1.85rem}.page-refreshed .hero .eyebrow{align-items:flex-start;font-size:.72rem;letter-spacing:.1em}.page-refreshed .hero .eyebrow .page-icon{width:38px;height:38px;padding:8px}.page-refreshed .hero .button{width:100%;padding:.9rem 1rem;gap:.6rem}.page-refreshed .hero .intro{font-size:1rem}.page-refreshed .glow-hero{padding:1.5rem 1.25rem}.page-refreshed .glow-copy h1{font-size:2.8rem}.page-refreshed .glow-copy h1 span{font-size:.8rem;letter-spacing:.25em}.page-refreshed .glow-script{font-size:2.3rem}.page-refreshed .glow-book .actions{align-items:stretch}.page-refreshed .glow-info>div{padding:2rem 1.2rem}.page-refreshed .glow-info details{padding:0 .8rem}.page-refreshed .qualifications li{padding:1rem;gap:.7rem}.page-refreshed .split-copy>.large{padding:2rem 1.5rem}.page-refreshed .legal h2{font-size:1.6rem}.page-refreshed .steph-portrait,.page-refreshed .coaching-photo,.page-refreshed .studio-view,.page-refreshed .glow-photo{border-radius:56px 56px 24px 24px}.page-refreshed .steph-portrait:after,.page-refreshed .coaching-photo:after,.page-refreshed .studio-view:after,.page-refreshed .glow-photo:after{border-radius:47px 47px 17px 17px}.page-refreshed .steph-portrait img,.page-refreshed .coaching-photo img,.page-refreshed .studio-window,.page-refreshed .glow-photo img{border-radius:42px 42px 10px 10px}}
@media(prefers-reduced-motion:reduce){.page-refreshed .button{transition:none}.page-refreshed .button:hover{transform:none}}

.page-refreshed .glow-hero .button+.small{margin-top:1rem}
@media(max-width:380px){.page-refreshed .side-note .six-week-mark{width:160px;height:160px}.page-refreshed .side-note .badge-number{font-size:64px}.page-refreshed .side-note .badge-kicker{font-size:8px}.page-refreshed .side-note .badge-ribbon{font-size:28px;left:-10px;right:-10px}.page-refreshed .side-note .badge-spark{width:28px;height:28px}.page-refreshed .side-note .spark-left{left:-25px}.page-refreshed .side-note .spark-right{right:-18px}}

.six-week-mark{position:relative;width:190px;height:190px;border:8px solid #fff8fc;border-radius:50%;background:radial-gradient(circle at 30% 20%,#c84e80,#a3265b);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:.6rem auto 2.5rem;box-shadow:0 0 0 2px #ce7e9d,6px 9px 0 #e4a1bb;transform:rotate(-7deg)}
.six-week-mark:before{content:'';position:absolute;inset:7px;border:1px dashed #ffdce9;border-radius:50%}
.six-week-mark .badge-kicker{font:9px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-top:0;z-index:1}
.six-week-mark .badge-number{font:76px/.95 Georgia,serif;margin-top:7px;z-index:1}
.six-week-mark .badge-weeks{font:bold 15px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-top:3px;z-index:1}
.six-week-mark .badge-ribbon{position:absolute;bottom:-17px;left:-17px;right:-17px;background:#fff8fc;color:#a3265b;padding:4px 8px 1px;border:1px solid #d895b0;border-radius:6px;box-shadow:0 4px 0 #d895b055;font:32px/1.2 var(--script);transform:rotate(3deg)}
.badge-spark{position:absolute;width:34px;height:34px;stroke:#ab2d61;stroke-width:2;fill:#fff8fc;overflow:visible}
.spark-left{left:-34px;top:34px;transform:rotate(9deg)}.spark-right{right:-25px;top:-3px;width:43px;height:43px;transform:rotate(15deg)}

/* One matching frame for the homepage footer, with the complete supplied logo. */
.site-refreshed .footer-grid{position:relative;padding:clamp(2rem,3vw,3rem);gap:clamp(1.5rem,3vw,3rem);align-items:center;border:2px solid #d891ae;border-radius:72px 72px 24px 24px;background:linear-gradient(160deg,#fffdfd,#fff5f9);box-shadow:0 10px 28px #ad356712}
.site-refreshed .footer-grid:before{content:'';position:absolute;inset:7px;border:1px solid #efd0dd;border-radius:63px 63px 17px 17px;pointer-events:none}
.site-refreshed .footer .wordmark{width:100%;max-width:240px;margin:0 auto 1rem}
.site-refreshed .footer .brand-logo-crop{width:100%;height:auto;overflow:visible;border-radius:0;background:transparent;mix-blend-mode:multiply}
.site-refreshed .footer .brand-logo-crop img{display:block;position:static;inset:auto;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:0}
.site-refreshed .footer-grid>div:last-child{text-align:center}
.site-refreshed .footer-grid>div>p:last-child{margin-bottom:0}
.site-refreshed .footer-tagline,.site-refreshed .footer-location{text-wrap:balance}
.site-refreshed .footer-grid>div:first-child{container-type:inline-size;container-name:footer-brand}
.site-refreshed .footer-tagline{display:flex;align-items:center;justify-content:center;gap:.45rem;color:#a3265b;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-shadow:0 1px #fff}
.site-refreshed .footer-tagline>span{white-space:nowrap}
.site-refreshed .footer-tagline .tagline-heart{color:#c5457e;font-size:1rem;letter-spacing:0;line-height:1}
@container footer-brand (max-width:330px){.site-refreshed .footer-tagline{flex-direction:column;gap:.2rem;font-size:.86rem}.site-refreshed .footer-tagline .tagline-heart{font-size:.65rem}}
.site-refreshed .footer-location{margin-bottom:0}
.site-refreshed .footer-instagram{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;max-width:100%;min-height:44px;margin-top:.45rem;padding:.25rem .15rem;color:#92204e;font-size:.875rem;font-weight:600;line-height:1.4;text-decoration:none;border-radius:10px}
.site-refreshed .footer-instagram span{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.site-refreshed .footer-instagram .instagram-icon{flex:none;box-sizing:border-box;width:32px;height:32px;padding:6px;border-radius:9px;background:linear-gradient(135deg,#8740a0,#b83275 55%,#b54e32);color:white}
.site-refreshed .footer-instagram .instagram-arrow{flex:none;width:15px;height:15px}
.site-refreshed .footer-instagram:hover{color:#762043;background:#ffe8f1}
.site-refreshed .footer-instagram:hover span{text-decoration-thickness:2px}
.site-refreshed .footer-instagram:focus-visible{outline:3px solid #92204e;outline-offset:4px}
.site-refreshed .footer-grid nav{gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.site-refreshed .footer-grid nav a{position:relative;display:flex;align-items:center;justify-content:center;min-height:68px;padding:.9rem .8rem;border:1.5px solid #d891ae;border-radius:22px;background:linear-gradient(145deg,#fff8fc,#fbdce9);box-shadow:0 4px 0 #edbdd166,0 6px 16px #ad35670c;color:#92204e;font-weight:700;line-height:1.4;text-align:center;text-decoration:none}
.site-refreshed .footer-grid nav a:before{content:'';position:absolute;inset:4px;border:1px solid #fff9fc;border-radius:17px;pointer-events:none}
.site-refreshed .footer-grid nav a:hover{background:#f8cadd;border-color:#b33770;color:#762043}
.site-refreshed .footer-grid nav a:focus-visible{outline:3px solid #92204e;outline-offset:4px;background:#f8cadd;color:#762043}
@media(max-width:650px){.site-refreshed .footer-grid{padding:2rem 1.5rem;gap:2rem;border-radius:56px 56px 24px 24px}.site-refreshed .footer-grid:before{border-radius:47px 47px 17px 17px}.site-refreshed .footer-grid nav{grid-template-columns:1fr;gap:.9rem;text-align:center}.site-refreshed .footer-grid nav a{min-height:58px}}

/* A love-heart frame around the closing invitation. Decorative art stays behind real text. */
.site-refreshed .closing{padding:2.5rem 0 3rem}
.site-refreshed .closing-heart{position:relative;isolation:isolate;width:min(1000px,calc(100% - 2rem));text-align:center}
.closing-heart-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:drop-shadow(0 10px 0 #b53a701a)}
.closing-heart-art path{vector-effect:non-scaling-stroke;stroke-linejoin:round}
.closing-heart-art .heart-fill{fill:#fff5f9;stroke:#b53a70;stroke-width:3}
.closing-heart-art .heart-inner{fill:none;stroke:#e8adc6;stroke-width:1.5}
.closing-heart .heart-narrow{display:none}
.site-refreshed .closing-heart-copy{position:relative;z-index:1;width:78%;margin:auto;padding:9rem 0 11rem}
.site-refreshed .closing-heart-copy .eyebrow{color:#92204e;font-weight:700;font-size:.8rem;margin-bottom:1.25rem}
.site-refreshed .closing-heart-copy h2{font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.25;margin-bottom:1.8rem}
.site-refreshed .closing-heart-copy h2 em{color:#a3265b}
.site-refreshed .closing-heart-copy .button{box-shadow:0 5px 0 #84234733,0 8px 20px #b53a701a}
@media(max-width:650px){.site-refreshed .closing{padding:2rem 0}.closing-heart .heart-wide{display:none}.closing-heart .heart-narrow{display:block}.site-refreshed .closing-heart-copy{width:76%;padding:7.5rem 0 10rem}.site-refreshed .closing-heart-copy .eyebrow{font-size:.72rem;letter-spacing:.14em}.site-refreshed .closing-heart-copy h2{font-size:clamp(1.65rem,6.7vw,2rem)}.site-refreshed .closing-heart-copy h2 em{display:inline-block;width:100%;text-wrap:balance;line-height:1.1;vertical-align:top}.site-refreshed .closing-heart-copy .button{max-width:100%;gap:.65rem;padding:.9rem 1.1rem}}
