/* Final candidate 1. Desktop keeps Round G; phones get their own composition. */
.phone-offer,.contact-dock{display:none}
.skip:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.site-footer{padding-bottom:35px}.service-area{flex:1 0 100%;max-width:650px;color:#c6c6bc}.motion-control{border:0;background:none;color:inherit;padding:0;font-size:13px;text-decoration:underline;text-underline-offset:4px}
.kinetic .k-hero h1{left:calc(4vw + 24px)}
.kinetic .k-topline{max-width:65%}
.confidence-layout{grid-template-columns:1.55fr 1fr;gap:8vw;align-items:center}
.confidence-layout .confidence-photos{grid-template-columns:1.15fr 1fr;gap:0;align-items:center}
.confidence-layout .confidence-photos img{width:100%;height:auto;max-height:610px;object-fit:contain}
.confidence-photos blockquote{background:#d6fc48;margin:0 0 0 -30px;padding:40px 28px;position:relative;rotate:var(--angle-b,6deg);translate:var(--shift-b,25px) 0;transition:rotate .6s,translate .6s}
.confidence-photos blockquote p{font:500 clamp(28px,3.3vw,48px)/1.16 'Oswald';letter-spacing:-.02em}
.confidence-photos blockquote span{display:block;margin-top:28px;font-size:9px;letter-spacing:1.2px}
.teacher-story{margin-top:22px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}
.teacher-story summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;padding:15px 0;font-weight:500}.teacher-story summary::-webkit-details-marker{display:none}.teacher-story[open] summary span{rotate:45deg}.teacher-story p{margin:0 0 18px}.teacher-story p+p{margin-top:0}
.motion-off .confidence-photos blockquote{rotate:0deg!important;translate:0 0!important}
.wedding-preview{background:#f3e6de;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;padding:65px 7vw 0;gap:30px}
.wp-copy{position:relative;z-index:2;padding-bottom:65px}.wp-copy>.label{font-size:10px;color:#8e4524}
.kinetic .wp-copy h2{font-size:clamp(60px,7vw,102px);line-height:1.06;letter-spacing:-.035em;margin:28px 0 35px;font-weight:500}
.wp-card{max-width:460px;background:#faf6f0;border:1px solid #ded3c7;padding:32px 30px;rotate:-1deg;box-shadow:0 12px 30px #4229120e}
.kinetic .wp-card h3{font:500 32px/1.2 'Oswald';letter-spacing:-.015em;margin-bottom:18px}.wp-card p{font-size:16px;max-width:340px;line-height:1.6}.wp-card .button{background:#a9552f;color:white;border:0;font-size:15px;margin-top:24px;width:100%;gap:14px}
.wedding-preview figure{align-self:end;margin:0 0 0 -50px;width:calc(100% + 50px)}.wedding-preview figure img{width:100%;max-height:850px;object-fit:contain;object-position:bottom}
@media(min-width:881px){.kinetic .k-dancer{right:-2%;width:69%;bottom:48px;transform:rotate(-7deg)}.kinetic .k-hero-invite{bottom:85px}.kinetic .k-hero h1{font-size:clamp(90px,10.4vw,172px)}}
@media(min-width:1600px){.kinetic .k-dancer{width:min(69%,1390px);right:1%;bottom:40px}}
@media(min-width:721px) and (max-width:880px){.k-music{gap:30px}.kinetic .k-questions h2{font-size:46px}.confidence-layout{display:block}.confidence-story{margin-top:40px}}
@media(max-width:880px){
 html{scroll-padding-top:25px}.kinetic{background:#f2f1e9;padding-bottom:75px}
 .kinetic .site-header{background:#f2f1e9;color:#1b1b1b;margin:0;padding:14px 20px;min-height:80px;gap:12px;display:flex;align-items:center}
 .site-header .brand{font-size:15px;line-height:1;letter-spacing:-.5px}.site-header .brand small{font-size:7px;letter-spacing:.8px;margin-top:5px}.site-header>nav{display:none!important}.site-header .mobile-book{display:none}.site-header .nav-toggle{display:block;margin-left:auto;border:1px solid #ccc7b8;border-radius:30px;min-height:44px;padding:10px 17px;font-size:13px}
 .kinetic .k-hero{height:auto;max-height:none;min-height:0;margin:0 14px 20px;padding:0 0 16px;background:#d6fc48;border-radius:22px;overflow:visible;display:flex;flex-direction:column}
 .kinetic .k-topline,.kinetic .k-hero h1,.kinetic .k-hero-invite,.kinetic .k-edge{display:none}
 .kinetic .k-dancer{position:relative;right:auto;bottom:auto;width:100%;height:clamp(265px,calc(45svh - 50px),370px);margin:0;padding:8px 14px 0;transform:none;animation:none;translate:none!important;overflow:hidden;border-radius:22px 22px 0 0}
 .k-dancer picture{height:100%;display:block}.kinetic .k-dancer img{height:calc(100% + 95px);width:100%;max-width:100%;object-fit:contain;object-position:center top}
 .phone-offer{display:block;position:relative;z-index:4;background:#fff;margin:-10px 9px 0;padding:23px 21px 18px;border-radius:18px;box-shadow:0 5px 12px #17150d0b}
 .phone-location{font-size:9px;letter-spacing:1.3px;font-weight:600;color:#515348}.phone-location:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#3941d3;margin-right:8px}
 .kinetic .k-hero .phone-headline{display:block;position:static;translate:none;pointer-events:auto;font:700 clamp(30px,8.4vw,44px)/1.08 'DM Sans';letter-spacing:-.055em;margin:13px 0 12px}
 .phone-offer>p:not(.phone-location):not(.phone-price){font-size:15px;line-height:1.55;max-width:410px;color:#55554e}
 .teacher-chip{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:11px;line-height:1.4;margin-top:15px;min-height:44px}.teacher-chip img{width:36px;height:36px;border-radius:50%;object-fit:cover}.teacher-chip strong{display:block;font-size:13px;color:#1b1b1b}.teacher-chip>span:last-child{margin-left:auto;font-size:23px;color:#3941d3}
 .phone-book{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#3941d3;color:#fff;text-decoration:none;border-radius:10px;padding:14px 16px;min-height:52px;margin-top:17px;font-size:15px;font-weight:600}.phone-book>span{font-size:23px}
 .phone-price{font-size:11px;text-align:center;margin:10px 0 0!important;color:#66665c;letter-spacing:.1px}
 .contact-dock{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:54px 54px 1fr;gap:7px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #deded5;background:#fffffff2;backdrop-filter:blur(12px);transition:translate .25s}
 .contact-dock a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:13px;text-decoration:none;font-size:12px;font-weight:600;border:1px solid #d6d6ce;border-radius:8px}.contact-dock .dock-book{background:#1b1b1b;color:#fff;border-color:#1b1b1b;font-size:13px}.contact-dock.at-end{translate:0 110%}
 .k-home{margin-top:5px;background:#ebece3}.confidence-layout{display:block}.confidence-story{margin-top:35px}.confidence-story p{max-width:none}.confidence-layout .confidence-photos{grid-template-columns:1.05fr 1fr;gap:0;width:100%;margin-top:15px}.confidence-photos blockquote{margin-left:-17px;padding:25px 18px}.confidence-photos blockquote p{font-size:clamp(27px,7vw,43px)}.confidence-photos blockquote span{font-size:7px;letter-spacing:.6px;margin-top:20px}.confidence-layout .confidence-photos img{max-height:470px}
 .wedding-preview{padding:38px 7vw 40px;display:flex;flex-direction:column;gap:0}.wp-copy{display:contents}.wp-copy>.label{order:0}.kinetic .wp-copy h2{order:1;font-size:57px;margin:20px 0 10px}.wedding-preview figure{order:2;width:100%;margin:0 auto;height:390px;overflow:hidden}.wedding-preview figure img{height:520px;max-height:none;width:100%;object-fit:contain;object-position:top}.wp-card{position:relative;z-index:3;order:3;max-width:none;padding:26px 24px;margin-top:-28px}.kinetic .wp-card h3{font-size:30px}.wp-card p{font-size:15px}.wp-card .button{font-size:14px}
 .site-footer{padding-bottom:30px}.f-closing{align-items:start}.motion-control{min-height:44px}
}
@media(max-width:380px){.phone-offer{padding:20px 18px 16px}.kinetic .k-hero .phone-headline{font-size:29px}.phone-offer>p:not(.phone-location):not(.phone-price){font-size:14px}.kinetic .k-dancer{height:260px}}
@media(prefers-reduced-motion:reduce){.confidence-photos blockquote{rotate:0!important;translate:0 0!important}.contact-dock{transition:none}}
