/* Power-Quinn: warm, personal, buildless refresh of version 12. */
:root{--radius:26px;--soft-purple:#f1ebf5;--warm:#fffdf7;--shadow:0 18px 45px #503c6214}
body{background:var(--warm)}
[hidden]{display:none!important}
::selection{background:var(--gold);color:var(--navy2)}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
.container{width:min(1200px,calc(100% - 64px))}
.section{padding-block:72px}
.site-header{background:#fffdf7ed;border-bottom:1px solid #503c6214;transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 4px 28px #503c6210}
.nav-inner{min-height:84px}.brand-logo{width:58px}.brand-copy strong{font-size:1.06rem}
.nav-desktop a{position:relative;padding-block:12px}.nav-desktop a:after{content:'';position:absolute;height:3px;bottom:5px;left:0;right:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav-desktop a:hover:after,.nav-desktop a[aria-current=page]:after{transform:scaleX(1)}
.language-links{padding:4px;border:1px solid var(--line);border-radius:100px;background:#fff}.language-links a{border-radius:100px;min-width:28px;text-align:center}.language-links a.active{background:var(--navy2);color:#fff}
.nav-wa{background:var(--navy2);padding:12px 17px}
.eyebrow{font-size:.72rem;letter-spacing:.16em;color:var(--navy);margin-bottom:15px}
.hero-lead{font-size:1.08rem;line-height:1.8;color:var(--muted)}
.home-hero{padding:64px 0 65px;background:radial-gradient(ellipse at 95% 0,#ffda2926,transparent 55%),var(--cream)}
.home-hero-grid{gap:6%;align-items:center}.home-hero h1{font-size:clamp(2.7rem,4.5vw,4.6rem);line-height:1.07;letter-spacing:-.045em;margin-bottom:25px}
.home-hero h1 em{font-family:Georgia,serif;font-weight:400;font-style:italic;display:block;margin-top:7px;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:7px;text-underline-offset:8px}
.hero-visual{padding:20px 8px 28px 20px}.hero-visual:before{background:var(--gold);inset:7% -1% 4% 5%;border-radius:110px 28px 110px 28px;transform:rotate(4deg)}
.hero-photo{height:475px;border-radius:110px 28px 110px 28px;transform:rotate(-2deg);box-shadow:none;border:7px solid #fffdf7}.hero-photo img{transform:scale(1.05)}
.photo-stamp{right:2px;bottom:4px;background:var(--navy2);color:#fff;border:0;border-radius:15px;padding:16px 19px;font-size:.78rem;transform:rotate(2deg);box-shadow:0 10px 25px #503c6220}
.hero-trust{color:var(--navy);font-size:.82rem;margin-top:22px}.dot{width:10px;height:10px;border:2px solid var(--navy2);background:var(--gold)}
.hero-buttons{margin:27px 0 20px}
.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 22px;border-radius:100px;font-size:.9rem;font-weight:750;line-height:1.35;text-align:center;white-space:normal;transition:transform .2s,background .2s,box-shadow .2s;text-decoration:none}
.button svg,.btn svg{width:19px;height:19px;flex-shrink:0}.btn-primary{background:var(--gold);color:var(--navy2);box-shadow:0 4px 0 #503c6212}.btn-primary:hover{background:#efca16;box-shadow:0 6px 0 #503c6212;transform:translateY(-2px)}
.btn-outline{border:1px solid #503c6260;background:transparent;color:var(--navy2)}.btn-outline:hover{background:var(--soft-purple)}
button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.section-head{gap:36px;margin-bottom:30px}.section-head>div{min-width:0}.section-head .eyebrow{margin-bottom:12px}.section-head>p{font-size:.98rem;line-height:1.75}
.services-section{background:var(--warm)}
.experience-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:5px 0 25px}.experience-filters{display:flex;flex-wrap:wrap;gap:8px}.experience-filter{border:1px solid #503c6230;border-radius:100px;background:#fff;padding:10px 18px;min-height:44px;font-size:.84rem;font-weight:650;color:var(--navy2)}.experience-filter[aria-pressed=true]{background:var(--navy2);color:#fff;border-color:var(--navy2)}.experience-filter:hover{border-color:var(--navy)}.experience-count{font-size:.8rem;color:var(--muted);flex-shrink:0}
.service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}.service-card{grid-column:span 2;border-radius:24px;border-color:#503c621c;box-shadow:none;background:#fff;display:flex;flex-direction:column}.service-card:nth-child(-n+2){grid-column:span 3}.service-card[hidden]{display:none}.service-grid.is-filtered .service-card{grid-column:span 3}.card-photo{height:220px}.service-card:nth-child(-n+2) .card-photo{height:275px}.card-content{padding:25px;flex:1;min-height:240px}.card-content h3{font-size:1.32rem;margin-bottom:12px}.card-content p{font-size:.91rem;margin-bottom:15px}.card-content .card-price{background:var(--cream);border-radius:8px;color:var(--navy);padding:7px 10px;font-size:.81rem;margin:0 0 19px;font-weight:700}.text-link{min-height:44px;border-top:1px solid var(--line);width:100%;justify-content:space-between;padding-top:13px;margin-top:auto}.text-link svg{background:var(--gold);border-radius:100%;box-sizing:content-box;padding:7px}
.why-section{background:var(--soft-purple)}.value-card{padding:30px;border-radius:22px;min-height:0;background:#fffdfb;border:0}.value-number,.feature-num{background:var(--gold);color:var(--navy2);font-size:.8rem;padding:8px 13px;margin-bottom:20px}.value-card p{margin-bottom:0}
.about-preview{background:var(--warm)}.photo-stack .wide-photo{border-radius:28px 90px 28px 28px}.photo-stack .small-overlap{transform:rotate(5deg);border-radius:22px}
.fees-section{background:var(--cream)}.fees-section .section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:end}.fees-section .section-head h2{font-size:clamp(2rem,3.3vw,2.9rem)}.fee-list{gap:12px}.fee-row{padding:20px;border-radius:16px;border:1px solid #503c621c;flex-direction:row;align-items:center;gap:20px}.fee-name{font-size:.87rem;font-weight:600;flex:1}.fee-amount{font-size:1.12rem;white-space:nowrap}.fee-cta{padding:28px;border-radius:24px;gap:30px;margin-top:28px;border-color:#503c6220;background:var(--warm)}.fee-cta>div{min-width:0;flex:1}.fee-cta h3{font-size:1.35rem}.fee-cta p{font-size:.94rem}.fee-cta .btn{flex:0 1 310px;max-width:350px}
.service-hero{background:radial-gradient(ellipse at 90% 0,#ffda292a,transparent 55%),var(--cream);padding:45px 0 38px}.service-hero-grid{grid-template-columns:1.08fr .92fr;gap:6%}.service-hero h1{font-size:clamp(2.4rem,3.7vw,3.65rem);line-height:1.1;letter-spacing:-.04em}.service-hero-image{height:440px;border-radius:85px 24px 24px 24px;transform:rotate(1.5deg);border:7px solid var(--warm);box-shadow:18px 18px 0 #ffda2940}.service-hero-image img{transition:transform .6s}.service-hero-image:hover img{transform:scale(1.025)}.breadcrumbs{margin-bottom:23px;color:var(--muted);font-size:.77rem}.facts{gap:10px;padding-top:30px}.facts span{background:#fffdf7;border-color:#503c6220;padding:9px 15px;font-size:.77rem;display:flex;align-items:center;gap:8px}.facts span:before{content:'✓';color:var(--navy);font-weight:850}
.page-jumps{background:var(--warm);border-bottom:1px solid var(--line);padding:13px 0}.page-jumps .container{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin}.page-jumps a{flex-shrink:0;font-size:.82rem;color:var(--navy);border-radius:100px;padding:9px 16px;background:#f2edf4;min-height:42px;display:flex;align-items:center;gap:8px}.page-jumps a:hover{background:var(--gold)}.page-jumps a:first-child{background:var(--navy2);color:#fff}
.detail-section{background:var(--warm)}.feature{background:#fff;border-radius:22px;border-color:#503c6220;padding:30px;transition:transform .2s,box-shadow .2s}.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.detail-note{background:var(--soft-purple);border-color:var(--gold);border-radius:5px 20px 20px 5px}
.gallery-strip{background:var(--soft-purple);padding:42px 0}.gallery-image{border-radius:22px;position:relative}.gallery-image button{display:block;position:relative;border:0;padding:0;background:none;width:100%;height:100%;color:#fff}.gallery-image img{transition:transform .45s}.gallery-image button:hover img{transform:scale(1.045)}.gallery-zoom{position:absolute;right:12px;bottom:12px;width:38px;height:38px;display:grid;place-items:center;background:#3c2d4ae6;border-radius:50%;font-size:1.35rem}
.gallery-help{font-size:.8rem;color:var(--muted);margin:14px 0 0}
.steps-section{background:var(--warm)}.steps-grid{gap:9%}.steps-grid li{padding:0 0 25px;margin-bottom:25px;border-color:var(--line)}.step-index{background:var(--gold);min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.steps-grid li h3{padding-top:8px}.steps-grid li p{font-size:.94rem}
.faq-section{background:#fff}.faq-items details{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:0 22px;background:var(--warm)}.faq-items details[open]{background:var(--soft-purple);border-color:#503c6230}.faq-items summary{padding:20px 0;font-size:.96rem}.faq-items summary span{background:var(--gold);color:var(--navy2);transition:transform .2s}.faq-items details p{padding-right:0;line-height:1.8}
.related-section{background:var(--soft-purple)}.related-card{border-radius:18px;min-height:86px;transition:transform .2s}.related-card:hover{transform:translateY(-3px);background:#fff}.related-card svg{background:var(--gold);border-radius:100%;padding:6px;width:31px;height:31px}
.cta-section{padding:56px 0;background:var(--gold);position:relative;overflow:hidden}.cta-section:before{content:'';position:absolute;right:-60px;top:-90px;width:340px;height:340px;border:45px solid #fff5;border-radius:50%;pointer-events:none}.cta-wrap{position:relative;display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.cta-copy h2{font-size:clamp(2rem,3.3vw,3rem);margin-bottom:14px}.cta-copy>p:not(.eyebrow){max-width:700px;font-size:.98rem}.cta-copy .bespoke-price-note{font-size:.84rem;line-height:1.7;max-width:680px}.cta-wrap>.button{max-width:310px;padding:17px 24px}.cta-section .btn-light{background:var(--navy2);color:#fff;box-shadow:0 5px 0 #503c6220}
.location-reviews-section{background:var(--soft-purple);padding:42px 0}.location-reviews-content{max-width:900px}.location-reviews-content h2{font-size:2rem}.location-reviews-links .btn{padding:12px 20px;min-height:46px}
.footer-grid{padding:48px 0 35px;gap:55px}.footer li a{display:inline-block;padding-block:3px}.footer-bottom{padding-block:22px}.footer .footer-contact-actions a{min-height:44px}.social-links a{min-width:44px;min-height:44px}.floating-wa{display:none!important}
.scroll-progress{position:fixed;left:0;top:0;height:3px;background:var(--gold);width:100%;transform-origin:left;transform:scaleX(0);z-index:80;pointer-events:none}
.back-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;border:1px solid #503c6230;background:#fffdf7;color:var(--navy2);box-shadow:var(--shadow);z-index:40;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s,transform .2s}.back-top.is-visible{opacity:1;visibility:visible}.back-top:hover{transform:translateY(-3px)}
.mobile-contact{display:none}
.pq-lightbox{padding:0;border:0;background:var(--navy2);color:#fff;width:min(1100px,94vw);max-width:94vw;border-radius:20px;overflow:hidden;box-shadow:0 20px 80px #0006}.pq-lightbox::backdrop{background:#22182ce8;backdrop-filter:blur(5px)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;font-size:.8rem}.lightbox-close,.lightbox-nav{border:1px solid #ffffff50;background:#ffffff16;color:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem}.lightbox-image{width:100%;height:min(65vh,700px);object-fit:contain;display:block;background:#291e33}.lightbox-bottom{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:18px;padding:15px 18px}.lightbox-caption{margin:0;text-align:center;font-size:.88rem;line-height:1.5}.pq-lightbox button:focus-visible{outline-color:var(--gold)}
.about-hero{background:var(--cream);padding:55px 0}.about-image{border-radius:80px 25px 25px 25px;box-shadow:15px 15px 0 #ffda2940}.about-bios{background:var(--soft-purple)}.story-photo{border-radius:25px}.legal-content{background:var(--warm)}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s}.reveal-ready.is-revealed{opacity:1;transform:translateY(0)}
@media(min-width:1450px){.home-hero{padding-block:85px}.hero-photo{height:510px}}
@media(max-width:1050px){.nav-inner{gap:12px}.nav-desktop{gap:15px}.brand-copy strong{font-size:.95rem}.hero-photo{height:420px}.service-hero-image{height:390px}.cta-wrap{gap:30px}.service-grid{gap:16px}.card-content{padding:22px}.fee-row{flex-direction:column;align-items:flex-start;gap:10px}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.nav-inner{min-height:76px}.home-hero{padding-block:45px}.home-hero-grid,.service-hero-grid{gap:4%}.home-hero h1{font-size:clamp(2.5rem,5vw,3.2rem)}.hero-photo{height:380px;border-radius:70px 22px 70px 22px}.hero-visual:before{border-radius:70px 22px 70px 22px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.service-card:nth-child(-n+2),.service-grid.is-filtered .service-card{grid-column:auto}.service-card:last-child{grid-column:1/-1}.card-photo,.service-card:nth-child(-n+2) .card-photo{height:230px}.section{padding-block:54px}.fees-section .section-head{grid-template-columns:1fr;gap:16px}.fee-cta{flex-direction:column;align-items:flex-start;gap:20px}.fee-cta .btn{flex:none;max-width:100%}.cta-wrap{grid-template-columns:1fr;gap:26px}.experience-tools{align-items:flex-start;flex-direction:column;gap:10px}.experience-count{padding-left:4px}.service-hero h1{font-size:clamp(2.2rem,4vw,3rem)}.footer-grid{gap:30px}.planner-fields{grid-template-columns:1fr 1fr}.planner-fields label:nth-child(3){grid-column:1/-1}}
@media(max-width:650px){.container{width:calc(100% - 36px)}.nav-inner{min-height:72px;gap:7px}.brand{gap:6px;min-width:0}.brand-logo{width:43px}.brand-copy strong{font-size:.89rem}.brand-copy span{font-size:.56rem}.language-links{padding:2px;gap:0}.language-links a{min-width:25px;padding:8px 3px;font-size:.64rem}.menu-mobile>summary{width:42px;height:44px;border-color:#503c6220;background:#fff}.mobile-links{right:0;top:53px;border-radius:20px;padding:16px;max-height:calc(100dvh - 120px)}.mobile-links a{padding:14px 9px;font-size:.92rem}.menu-mobile[open]>summary{background:var(--gold)}
.home-hero{padding:32px 0 35px}.home-hero-grid,.service-hero-grid{grid-template-columns:1fr;gap:0}.home-hero h1{font-size:clamp(2.45rem,9vw,3.4rem);max-width:600px;margin-bottom:21px}.home-hero h1 em{text-decoration-thickness:5px;text-underline-offset:6px}.hero-lead{font-size:.99rem;line-height:1.75}.hero-buttons{gap:9px;margin-top:22px}.hero-buttons .button{padding:13px 17px;font-size:.84rem}.hero-trust{font-size:.77rem;margin-top:16px}.hero-visual{margin-top:25px;padding:7px 7px 24px}.hero-photo{height:335px;border-width:5px;border-radius:65px 20px 65px 20px}.hero-visual:before{inset:7% 0 5% 3%;border-radius:65px 20px 65px 20px}.photo-stamp{right:0;bottom:1px;font-size:.69rem;padding:13px 15px}
.section{padding-block:42px}.section-head{gap:15px;margin-bottom:24px}h2{font-size:clamp(1.85rem,7vw,2.3rem)}.section-head>p{font-size:.94rem}.service-grid{grid-template-columns:1fr;gap:20px}.service-card:last-child{grid-column:auto}.service-card,.service-card:nth-child(-n+2){border-radius:22px}.card-photo,.service-card:nth-child(-n+2) .card-photo{height:235px}.card-content{padding:23px;min-height:0}.card-content h3{font-size:1.3rem}.experience-filter{padding:9px 14px;font-size:.79rem}.experience-filters{gap:6px}.experience-tools{margin-bottom:21px}.value-card{padding:26px}.values-grid{gap:15px}.photo-stack{padding:0 38px 35px 0}.photo-stack .wide-photo{height:330px}.photo-stack .small-overlap{height:160px;width:43%}
.service-hero{padding:28px 0 28px}.service-hero h1{font-size:clamp(2.1rem,8.4vw,3rem);line-height:1.12}.service-hero-image{height:320px;margin:28px 10px 4px 0;border-radius:65px 22px 22px 22px;box-shadow:10px 10px 0 #ffda2940;border-width:5px;transform:rotate(1deg)}.facts{padding-top:26px;gap:7px}.facts span{font-size:.72rem;padding:8px 11px}.facts span:before{font-size:.8rem}.breadcrumbs{font-size:.73rem;margin-bottom:22px}.page-jumps{padding-block:11px}.page-jumps a{font-size:.76rem;padding:8px 13px}.feature-grid{gap:15px}.feature{padding:25px}.detail-note{padding:21px;font-size:.93rem}.gallery-strip{padding-block:33px}.photo-gallery{gap:10px}.gallery-image{border-radius:16px}.gallery-zoom{width:33px;height:33px;right:8px;bottom:8px}.gallery-image:last-child{aspect-ratio:16/9}.fee-cta{padding:23px;gap:20px}.fee-cta .btn{width:100%;font-size:.87rem}.fees-section .section-head h2{font-size:clamp(1.9rem,7vw,2.5rem)}.fee-row{flex-direction:row;align-items:center;padding:17px;gap:14px}.fee-name{font-size:.8rem}.fee-amount{font-size:1rem}.fee-list{grid-template-columns:1fr}.faq-items details{padding-inline:18px}.faq-items summary{font-size:.91rem;gap:12px}.steps-grid li{gap:16px}.steps-grid li h3{font-size:1.18rem}.step-index{min-width:35px;height:35px}.steps-grid{gap:20px}.cta-section{padding-block:40px}.cta-wrap{gap:22px}.cta-copy h2{font-size:2rem}.cta-wrap>.button{max-width:100%;width:100%;font-size:.87rem}.location-reviews-section{padding-block:35px}.location-reviews-content h2{font-size:1.85rem}.location-reviews-content p{font-size:.94rem}.location-reviews-links{flex-direction:column;align-items:stretch}.location-reviews-links .btn{width:100%}.footer-grid{padding-block:38px 28px;gap:28px 18px}.footer-bottom{padding-bottom:98px}.back-top{display:none}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:45;align-items:center;justify-content:space-between;gap:12px;background:#fffdf7f5;backdrop-filter:blur(15px);border-top:1px solid #503c6220;padding:10px 18px max(10px,env(safe-area-inset-bottom));transform:translateY(110%);visibility:hidden;transition:transform .25s,visibility .25s}.mobile-contact.is-visible{transform:translateY(0);visibility:visible}.mobile-contact>span{font-size:.72rem;font-weight:650;line-height:1.5;color:var(--navy2);max-width:140px}.mobile-contact .button{min-height:46px;font-size:.83rem;padding:12px 18px;flex-shrink:0;box-shadow:none}.planner-fields{grid-template-columns:1fr}.planner-fields label:nth-child(3){grid-column:auto}.planner-body{padding:0 20px 22px}.family-planner>summary{padding:20px;font-size:.94rem}.planner-actions button{width:100%}.pq-lightbox{max-width:96vw;width:96vw;border-radius:16px}.lightbox-image{height:55vh}.lightbox-caption{font-size:.79rem}.lightbox-bottom{gap:10px;padding:12px}.about-hero{padding:35px 0}.about-image{height:340px;margin-right:10px;border-radius:65px 22px 22px 22px}.legal-content{padding-bottom:50px}}
@media(max-width:360px){.brand-copy strong{font-size:.78rem}.brand-logo{width:36px}.language-links a{min-width:22px}.nav-inner{gap:5px}.container{width:calc(100% - 28px)}.hero-buttons{flex-direction:column;align-items:stretch}.fee-row{flex-direction:column;align-items:flex-start}.mobile-contact>span{max-width:115px;font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none}.hero-photo,.hero-visual:before,.photo-stamp,.service-hero-image{transform:none}html{scroll-behavior:auto}}
/* Keep the language selector comfortable to tap on small screens. */
.language-links a{min-width:38px}
@media(max-width:650px){.language-links a{min-width:36px}}
@media(max-width:430px){html{scroll-padding-top:135px}.nav-inner .language-links{gap:4px}.language-links a{min-width:44px}.nav-inner{padding-block:6px}}