@import url('fonts-b2a97f780d.css');
:root{--ink:#10100f;--paper:#fff;--rose:#a66d79;--rose-light:#dec1bc;--mauve:#853649;--cream:#f5efed;--brown:#483629;--header:6rem;--gutter:clamp(1.25rem,4vw,4rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6}body.modal-open{overflow:hidden}button,a,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1.06}h2{font-size:clamp(2.6rem,5.2vw,5.5rem)}h3{font-weight:400;letter-spacing:-.025em}p+p{margin-top:1.2rem}.skip{position:fixed;top:-6rem;left:1rem;background:#fff;padding:1rem;z-index:100}.skip:focus{top:1rem}.header{height:var(--header);padding:0 var(--gutter);background:white;border-bottom:1px solid #e5dedb;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;position:sticky;top:0;z-index:30;transition:transform .25s}.header.header-away{transform:translateY(-100%)}.brand{justify-self:center}.brand img{width:5rem;height:5rem;object-fit:contain}.header-link{justify-self:end;font-size:.65rem;letter-spacing:.16em;min-height:44px;display:flex;align-items:center}.menu-toggle{width:48px;height:48px;background:none;border:0;padding:12px 4px;display:flex;flex-direction:column;justify-content:center;gap:8px}.menu-toggle span{display:block;width:28px;height:1px;background:var(--ink)}dialog{border:0}.menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;background:var(--ink);color:var(--rose-light);padding:clamp(1.3rem,4vw,4rem);z-index:60;overflow-y:auto}.menu::backdrop,.lightbox::backdrop{background:#000b}.menu-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff26;padding-bottom:1.5rem;font-size:.7rem;letter-spacing:.14em;color:white}.menu-close,.lightbox-close{border:0;background:none;color:white;min-height:44px;min-width:70px;display:flex;gap:1rem;align-items:center;justify-content:end}.menu-close span,.lightbox-close span{font-size:2rem;font-weight:200}.menu nav{margin:clamp(1.5rem,4vh,3rem) auto;max-width:56rem;display:flex;flex-direction:column}.menu nav a{font-size:clamp(1.6rem,3.4vw,3.6rem);font-weight:300;line-height:1.25;min-height:44px;padding:.35em 0;letter-spacing:-.04em;border-bottom:1px solid #ffffff12;transition:color .2s,padding .2s}.menu nav a:hover{color:white;padding-left:.4em}.menu-email{display:block;max-width:56rem;margin:1rem auto;font-size:.8rem;overflow-wrap:anywhere;color:white;min-height:44px}
.hero{position:relative;background:var(--brown);height:auto;aspect-ratio:.5398351648;isolation:isolate;overflow:hidden}.slides,.slide{position:absolute;inset:0}.slide[hidden]{display:none}.slide img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:none}.kit-slide{background:var(--mauve);padding:2rem 1rem 14rem}.kit-slide img{object-fit:contain}.hero-copy{position:absolute;bottom:4.9rem;left:var(--gutter);right:var(--gutter);text-align:center;background:var(--ink);color:white;padding:1.7rem 1.25rem;max-width:38rem;margin:auto}.hero h1{font-size:clamp(2rem,7.4vw,3.9rem);margin-bottom:1.4rem}.button{min-height:48px;display:inline-flex;justify-content:center;align-items:center;padding:.95rem 1.6rem;font-size:.75rem;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;border:1px solid currentColor;text-align:center;transition:background .2s,color .2s}.outline:hover{background:var(--rose-light);border-color:var(--rose-light);color:var(--ink)}.dark{background:var(--ink);color:white;border-color:var(--ink)}.dark:hover{background:var(--mauve);border-color:var(--mauve)}.carousel-tools{position:absolute;bottom:.5rem;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:1rem;color:white;background:var(--ink);padding:0 .65rem;width:max-content;max-width:calc(100% - 2 * var(--gutter));margin:auto}.dots{display:flex}.dots button{border:0;background:none;min-width:44px;min-height:44px;position:relative}.dots button::after{content:'';position:absolute;inset:19px;min-width:6px;border:1px solid var(--rose-light);border-radius:50%}.dots button[aria-current=true]::after{background:var(--rose-light)}.pause{background:none;border:0;font-size:.65rem;letter-spacing:.05em;min-height:44px;min-width:44px;padding:0}.slide-count{font-size:.6rem;white-space:nowrap;letter-spacing:.06em}.section{padding:clamp(4rem,8vw,8rem) var(--gutter)}.section-heading{max-width:46rem;margin:0 auto 3rem;text-align:center}.eyebrow{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.2rem}.section-heading p:last-child{margin-top:1.4rem;color:#625a57}.service-grid{display:grid;gap:2.5rem}.card-photo{aspect-ratio:4/5;overflow:hidden;background:var(--cream)}.card-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .5s}.service-card:hover img{transform:scale(1.025)}.detail-photo img{object-position:50% 20%;transform:scale(1.8);transform-origin:50% 20%}.service-card:hover .detail-photo img{transform:scale(1.85)}.card-caption{margin-top:1rem;display:flex;flex-direction:column;gap:.3rem}.card-caption h3{font-size:1.45rem}.card-caption span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.service-card>p{color:#736762;font-size:.8rem;margin-top:.6rem}.booking-note{border-top:1px solid #ded5d1;margin-top:3rem;padding-top:2rem;display:flex;gap:1.5rem;flex-direction:column;align-items:flex-start}.booking-note p{max-width:45rem;font-size:.88rem;color:#625a57}.feature{display:grid}.feature-photo{min-height:0;aspect-ratio:4/5;overflow:hidden}.feature-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.feature-copy{padding:clamp(3rem,6vw,7rem) var(--gutter);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.feature-copy h2{margin-bottom:2rem}.feature-copy p:not(.eyebrow){max-width:35rem}.feature-copy .button{margin-top:2rem}.feature-copy .quiet-link{min-height:44px;display:flex;align-items:center;margin-top:.7rem;font-size:.75rem;text-decoration:underline;text-underline-offset:5px}.bridal{background:var(--ink);color:white}.bridal .eyebrow{color:var(--rose-light)}.bridal .feature-copy>p:not(.eyebrow){color:#d5ccc8;font-size:.9rem}.classes{background:var(--cream)}.class-list{max-width:65rem;margin:auto}.class-list details{border-top:1px solid #c9b6b0}.class-list details:last-child{border-bottom:1px solid #c9b6b0}summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:2rem 1fr 1.5rem;gap:1rem;align-items:center;padding:1.6rem 0;min-height:60px}summary::-webkit-details-marker{display:none}summary h3{font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.3}.class-number{font-size:.7rem;color:var(--mauve)}.expand{font-size:1.5rem;font-weight:200;justify-self:end}.class-list details[open] .expand{transform:rotate(45deg)}.class-body{padding:0 0 2rem 3rem;max-width:50rem;font-size:.9rem;color:#564b46}.class-body ul{padding-left:1.2rem}.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;font-size:.8rem;margin-top:1rem}.collection{background:var(--mauve);color:white}.collection-image{padding:3rem 2rem;display:flex;align-items:center;justify-content:center}.collection-image img{max-height:42rem;object-fit:contain}.collection-word{font-family:Manrope,Arial,Helvetica,sans-serif;letter-spacing:.18em;text-transform:uppercase;font-size:.32em;display:block;margin-top:.8rem}.kit-title{font-size:.75rem;letter-spacing:.12em}.feature-copy small{font-size:.68rem;margin-top:2rem;opacity:.8}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.gallery-item{padding:0;border:0;aspect-ratio:3/4;background:var(--cream);overflow:hidden}.gallery-item img{height:100%;width:100%;object-fit:cover;object-position:50% 24%;transition:transform .4s}.gallery-item:hover img{transform:scale(1.035)}.gallery>.text-link{margin-top:2rem}.about{background:var(--brown);color:white}.about .eyebrow{color:var(--rose-light)}.team{background:var(--cream);text-align:center}.team h2{margin-bottom:1.5rem}.team>p:not(.eyebrow){max-width:38rem;margin:0 auto 2rem}.contact{background:var(--ink);color:white;display:grid;gap:3rem}.contact .eyebrow{color:var(--rose-light)}.contact-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.6rem}.contact-details>a:not(.button){min-height:44px;display:flex;align-items:center;font-size:clamp(.9rem,1.6vw,1.25rem);overflow-wrap:anywhere;max-width:100%}.contact-details p{color:#c5b0aa;font-size:.9rem}.contact-details .button{margin-top:1.2rem}footer{padding:2rem var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.65rem;letter-spacing:.04em}footer img{width:5rem;height:5rem;object-fit:contain}footer>a:last-child{min-height:44px;display:flex;align-items:center}.lightbox{background:var(--ink);color:white;width:min(95vw,60rem);max-height:95dvh;padding:1rem;overflow:auto}.lightbox-close{margin-left:auto}.lightbox img{max-height:75dvh;width:100%;object-fit:contain}.lightbox p{text-align:center;font-size:.8rem;padding:1rem}
@media(max-width:480px){.header-link{font-size:.58rem}.hero-copy{padding:1.5rem .75rem}.hero h1{font-size:clamp(1.85rem,7.4vw,2.5rem)}.carousel-tools{gap:.45rem}.dots button{min-width:44px}.slide-count{display:none}.collection-image{padding:2rem 1.5rem}.gallery-grid{gap:.4rem}}
@media(min-width:768px){:root{--header:7rem}.hero{height:calc(100svh - var(--header));min-height:38rem;aspect-ratio:auto}.slide:not(.kit-slide) img{width:59%;object-position:50% 30%}.slide:not(.kit-slide){background:var(--ink)}.hero-copy{background:transparent;left:61%;right:3%;bottom:6.5rem;text-align:right;padding:0;margin:0;max-width:none}.hero h1{font-size:clamp(2.5rem,4.1vw,5rem)}.kit-slide{padding:3rem 43% 3rem 5%;background:var(--mauve)}.carousel-tools{left:auto;right:3%;bottom:1.4rem;margin:0}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.card-caption h3{font-size:1.2rem}.feature{grid-template-columns:1fr 1fr;min-height:80svh}.feature-photo{aspect-ratio:auto;min-height:38rem}.feature-copy{padding:4rem clamp(2rem,5vw,6rem)}.feature-copy h2{font-size:clamp(2.6rem,4.4vw,5rem)}.collection-image{padding:4rem 3rem}.contact{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-note{flex-direction:row;justify-content:space-between;align-items:center}.booking-note .button{flex-shrink:0}.section-heading{margin-bottom:4rem}}
@media(min-width:1024px){.hero h1{font-size:clamp(3rem,4.25vw,6rem)}.card-caption h3{font-size:1.65rem}.header-link{font-size:.7rem}.service-grid{gap:2rem}.contact{min-height:65svh;align-items:center}.team{min-height:65svh;display:flex;flex-direction:column;justify-content:center;align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.collection-logo{width:min(100%,34rem);height:auto;object-fit:contain}
.collection .feature-copy h2{width:100%;max-width:34rem}
/* Full-width campaign imagery and compact reference-style drawer. */
:root{--menu-rose:#bc8791}
.header{height:var(--header)}.brand img{width:10rem;height:5.2rem;object-fit:contain}.menu-toggle{gap:6px}.menu-toggle span{width:30px}.menu-toggle::after{content:'';display:block;width:30px;height:1px;background:var(--ink)}
.menu{inset:0 auto 0 0;width:min(26rem,calc(100vw - .7rem));height:100dvh;margin:0;padding:1.2rem 1.7rem 1.5rem;background:#000;color:var(--menu-rose);border-right:7px solid #d2a6ad}
.menu-top{border:0;padding:0;min-height:5rem;align-items:flex-start}.menu-top img{width:8.2rem;height:4.6rem;object-fit:contain}.menu-close{min-width:44px;width:44px;padding:0}.menu-close span{font-family:Arial,sans-serif;font-size:3rem;font-weight:200;line-height:1}
.menu nav{margin:1.7rem 0 0;padding-left:clamp(1rem,5vw,3rem);gap:0}.menu nav a{font-family:Montserrat,Manrope,sans-serif;font-size:.95rem;font-weight:300;line-height:1.4;letter-spacing:.01em;text-transform:uppercase;min-height:5.4rem;padding:1rem 0;display:flex;align-items:center;border:0}.menu nav a:first-child{color:#eee}.menu nav a:hover{padding-left:0;color:#fff}.menu-social{display:flex;width:44px;min-height:44px;align-items:center;justify-content:center;color:#fff;margin:1rem auto 0}
.hero{width:100%;height:calc(100svh - var(--header));min-height:36rem;aspect-ratio:auto;background:#191716}.slide picture{display:block;width:100%;height:100%}.slide:not(.kit-slide) img{width:100%;height:100%;object-fit:cover;object-position:center top}.slide:not(.kit-slide){background:#191716}.kit-slide{padding:2rem 1rem 13rem;background:#181415}.kit-slide img{width:100%;height:100%;object-fit:contain;object-position:center center}
.hero-copy{left:var(--gutter);right:var(--gutter);bottom:2.5rem;margin:0 auto;padding:1.25rem 1rem;background:#10100fd9;color:white;text-align:center;max-width:38rem}.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.7rem,9vw,4.5rem);font-weight:400;letter-spacing:-.035em;line-height:.98;margin-bottom:1.4rem}.hero-copy .button{background:transparent;border:1px solid white;color:white;font-weight:300}.hero-copy .button:hover{background:white;color:#10100f}.carousel-tools{display:none}.carousel-access:focus{clip:auto;width:auto;height:auto;inset:1rem auto auto 1rem;z-index:4;background:#000;color:#fff;padding:1rem;white-space:normal}
.studio-welcome{font-family:'Cormorant Garamond',Georgia,serif;text-align:center;margin:0 auto 2.2rem;font-size:clamp(2.8rem,6vw,5.5rem);letter-spacing:-.035em}.studio-welcome.will-reveal{opacity:0;transform:translateY(16px);transition:opacity 1.2s ease,transform 1.2s ease}.studio-welcome.revealed{opacity:1;transform:none}.services-subtitle{font-size:clamp(1.3rem,2.5vw,2rem)}
.classes{background:#d8a0aa}.classes .section-heading h2{font-family:Montserrat,Manrope,sans-serif;font-size:clamp(1.8rem,4vw,3.3rem);font-weight:300;letter-spacing:.035em;text-transform:uppercase;color:#fff}.class-feature{display:grid;max-width:68rem;margin:auto;background:#fff}.class-flyer img{width:100%;height:auto}.class-inclusions{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.class-inclusions .eyebrow{color:#996572}.class-inclusions h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.1rem,3vw,3rem);line-height:1.1}.class-inclusions ul{list-style:none;padding:0;margin:1.8rem 0 2rem;display:grid;gap:1.25rem}.class-inclusions li{position:relative;padding-left:1.5rem;font-size:.92rem;line-height:1.65;font-weight:300}.class-inclusions li::before{content:'';position:absolute;top:.55em;left:.15rem;width:.35rem;height:.35rem;border:1px solid #a66d79;transform:rotate(45deg)}.class-book{background:#b87e8c;color:#fff;border-color:#b87e8c;min-width:10rem}.class-book:hover{background:#10100f;border-color:#10100f}
@media(min-width:768px){.hero{height:calc(100svh - var(--header));min-height:36rem}.hero-copy{left:auto;right:4%;bottom:5%;max-width:44%;padding:1.4rem 1.6rem;text-align:right;margin:0}.hero h1{font-size:clamp(3rem,5.7vw,6.5rem)}.kit-slide{padding:2rem 1rem}.kit-slide img{object-position:38% center}.class-feature{grid-template-columns:1fr 1fr}.class-flyer img{height:100%;object-fit:contain;background:#121212}.class-inclusions{min-width:0}}
@media(max-width:480px){:root{--header:5.5rem}.brand img{width:8.8rem;height:4.6rem}.hero-copy{bottom:1.5rem;padding:1.2rem .65rem}.hero h1{font-size:clamp(2.5rem,9.5vw,3.3rem)}.menu nav a{font-size:.95rem}.hero .button{font-size:.65rem}.class-inclusions{padding:2.3rem 1.5rem}}
@media(prefers-reduced-motion:reduce){.studio-welcome.will-reveal{opacity:1;transform:none}}

.hero-copy{background:transparent;text-shadow:0 1px 2px #0008}.hero[data-kit=true] .hero-copy{color:white}.hero[data-kit=true] .hero-copy .button{border-color:white;color:white}
@media(min-width:768px){.hero-copy{max-width:35%;right:4%;bottom:7%;padding:0;color:#151211;text-shadow:none}.hero-copy .button{color:#151211;border-color:#151211}.hero-copy .button:hover{background:#151211;color:white}.hero[data-kit=true] .hero-copy{color:white}.hero[data-kit=true] .hero-copy .button{color:white;border-color:white}.hero[data-kit=true] .hero-copy .button:hover{background:white;color:#10100f}}

/* Modern homepage wordmark. */
.brand img{width:clamp(9rem,14vw,12rem);height:4.6rem}.menu-top img{width:8.2rem;height:4.4rem}.footer-logo img{width:8rem;height:4rem}

/* Google review links: a static badge, with the current reviews on Google. */
.services .section-heading{max-width:65rem}.services-subtitle{font-size:clamp(1.1rem,2.1vw,1.7rem);line-height:1.5}.subtitle-divider{margin:0 .5em;color:var(--rose)}.google-reviews{display:flex;flex-direction:column;align-items:center;margin:1.7rem auto 0;gap:.3rem}.review-badge{display:grid;justify-items:center;gap:.5rem;border:1px solid #e6dcd8;padding:1.2rem 2.5rem;background:#fff;min-width:min(100%,18rem);transition:border-color .2s}.review-badge:hover{border-color:var(--rose)}.review-provider{font-size:1.05rem;letter-spacing:.01em}.review-stars{display:flex;gap:.3rem;color:#b38a4c}.review-stars svg{width:1.25rem;height:1.25rem;fill:currentColor}.review-label,.write-review{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.review-label{color:#78655e}.write-review{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;color:#78515a}@media(max-width:480px){.services-subtitle span:last-child{display:block}.subtitle-divider{display:none}}

/* Gallery entry and an expandable three-column photographic collage. */
.gallery-portal{position:relative;width:min(100%,46rem);margin:0 auto clamp(2.5rem,5vw,5rem);isolation:isolate}.gallery-portal>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.gallery-portal-links{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.gallery-glass{display:flex;align-items:center;justify-content:center;min-height:52px;padding:1rem clamp(1.3rem,4vw,3rem);font-family:Montserrat,Manrope,sans-serif;font-weight:300;font-size:clamp(.8rem,1.5vw,1.05rem);letter-spacing:.14em;text-transform:uppercase;color:white;background:rgb(255 255 255 / .14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border:0;text-shadow:0 1px 5px #0007;transition:background .25s}.gallery-glass:hover{background:rgb(255 255 255 / .26)}.gallery-instagram{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:white;filter:drop-shadow(0 1px 3px #0009)}.gallery-instagram:hover{color:#ead2d7}.gallery-collage{background:#242222;color:#fff}.gallery-collage .section-heading p:last-child{color:#d6c5c4}.gallery-collage .gallery-grid{width:100%;max-width:75rem;margin:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.35rem,.8vw,.75rem)}.gallery-collage .gallery-item{aspect-ratio:1;background:#302c2b;min-width:0;min-height:44px}.gallery-collage .gallery-item img{object-position:center top}.gallery-collage .text-link{color:#dec1bc}.gallery-reveal.will-reveal{opacity:0;transform:translateY(20px);transition:opacity 1.1s ease,transform 1.1s ease}.gallery-reveal.revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.gallery-reveal.will-reveal{opacity:1;transform:none}}

.gallery-page{min-height:calc(100svh - var(--header));padding-top:clamp(1.5rem,3vw,3rem)}

.bridal-introduction{background:#FADBD8;padding:clamp(3.5rem,7vw,7rem) var(--gutter);text-align:center;color:#1a1a1a}.bridal-introduction-inner{max-width:66rem;margin:auto}.bridal-introduction h1,.bridal-introduction h2{font-family:Montserrat,Manrope,sans-serif;font-weight:300;line-height:1.25}.bridal-introduction h1{font-size:clamp(2rem,4.5vw,4.1rem);margin-bottom:1.8rem}.bridal-introduction h2{font-size:clamp(1.1rem,2vw,1.65rem);max-width:49rem;margin:0 auto 2rem}.bridal-introduction p{font-family:Montserrat,Manrope,sans-serif;font-weight:300;line-height:1.9;font-size:clamp(.9rem,1.1vw,1.05rem);max-width:58rem;margin:0 auto 2.3rem}.bridal-introduction p a{text-decoration:underline;text-underline-offset:.2em}.bridal-learn{background:#fff9f8;border-color:transparent;color:#653f42;min-width:11rem}.bridal-learn:hover{background:#fff}.services:has(+.bridal-introduction){padding-bottom:0}

.welcome-introduction a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;color:#80535d}.welcome-separator{border:0;border-top:1px solid #1a1a1a35;width:min(100%,36rem);margin:1.2rem auto 0}

/* Full-width homepage gallery and longer hero, retaining existing CTA anchors. */
.services .gallery-portal{width:calc(100% + 2 * var(--gutter));max-width:none;margin-inline:calc(-1 * var(--gutter))}.services .gallery-portal>img{width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none;filter:none}

/* Close editorial portraits; each focal point follows the subject, with no stretch or extra zoom. */
.hero .slide:not(.kit-slide) img{width:100%;height:100%;object-fit:cover;object-position:var(--portrait-focus,50%) top;transform:none;filter:none}
.hero .slide:nth-child(1){--portrait-focus:56%}
.hero .slide:nth-child(2){--portrait-focus:51%}
.hero .slide:nth-child(3){--portrait-focus:50%}

/* Rose tone sampled from the KS wordmark; spacious responsive content gutters. */
:root{--logo-rose:#B86A73;--section-gutter:clamp(1.25rem,5vw,4rem)}
.hero-separator{display:block;width:100%;height:1px;border:0;margin:0;background:var(--logo-rose)}
.section{--gutter:var(--section-gutter);padding-inline:var(--section-gutter)}
.feature-copy{padding-inline:var(--section-gutter)}
.bridal-introduction{padding-inline:var(--section-gutter)}
.welcome-introduction a{font-weight:700}
.bridal-entry{background:#FAF9F6;padding:0}
.bridal-portal{width:100%;max-width:none;margin:0;height:clamp(38rem,85svh,65rem);overflow:hidden}
.bridal-portal>img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
@media(min-width:1024px){:root{--section-gutter:clamp(120px,9vw,144px)}}
@media(max-width:767px){.services .gallery-portal{min-height:82svh;background:#FAF9F6;display:grid;align-items:center;margin-bottom:0}.services .gallery-portal>img{width:100%;height:auto;object-fit:contain}.bridal-portal{height:85svh;min-height:32rem}}

.events-heading,.event-matrix{width:min(calc(100% - 2 * var(--section-gutter)),78rem)}

/* Homepage editorial refresh. */
.hero-separator{background:#E8DCC4;height:2px}
.studio-intro{background:var(--logo-rose);color:#fff;padding:clamp(2.2rem,5vw,4rem) var(--section-gutter);text-align:center}
.studio-intro .studio-welcome{font-family:Montserrat,Manrope,sans-serif;font-weight:300;font-size:clamp(1.55rem,3vw,2.9rem);text-transform:uppercase;letter-spacing:.065em;line-height:1.4;margin:0 0 1rem}
.studio-services{font-family:Montserrat,Manrope,sans-serif;font-weight:300;font-size:clamp(.8rem,1.2vw,1.1rem);letter-spacing:.03em;line-height:1.8}.studio-services span{margin-inline:.7em;opacity:.65}
.home-gallery .gallery-portal{width:100%;max-width:none;margin:0;height:clamp(24rem,49vw,43rem);overflow:hidden;background:#f5f1ec}
.home-gallery .gallery-portal>img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 35%}
.home-reviews{background:#FAF9F6;text-align:center;padding-block:clamp(2.5rem,5vw,4.5rem)}.home-reviews .google-reviews{margin:0 auto 1.8rem}.home-reviews .welcome-introduction{max-width:52rem;margin:auto;line-height:1.9;font-size:clamp(.9rem,1.15vw,1.08rem)}
.home-bridal{background:#f5f3ef;padding-block:clamp(3rem,6vw,6rem)}.bridal-editorial-grid{max-width:82rem;margin:auto;display:grid;grid-template-columns:.9fr 2.2fr;gap:clamp(1.5rem,3vw,3rem);align-items:stretch}.bridal-entry-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:2rem 0}.bridal-kicker{font-size:.72rem;letter-spacing:.2em;color:#a58b50;margin-bottom:1rem}.bridal-entry-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,2.7vw,3rem);line-height:1.13;letter-spacing:-.02em;margin-bottom:1.4rem}.bridal-entry-copy>p:not(.bridal-kicker){color:#82766b;font-size:.9rem;line-height:1.85;margin-bottom:1.5rem}.bridal-entry-copy .gallery-glass{color:#fff;background:#b6a272;backdrop-filter:none;text-shadow:none;letter-spacing:.08em;padding:1rem 1.3rem;font-size:.7rem;border-radius:6px}.bridal-entry-copy .gallery-glass:hover{background:#9c895e}
.bridal-entry-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:.5rem;height:clamp(30rem,43vw,44rem)}.bridal-tile{margin:0;overflow:hidden;min-width:0;min-height:0}.bridal-tile img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.tile-1{grid-area:1/1/5/2}.tile-2{grid-area:5/1/7/2}.tile-3{grid-area:1/2/3/3}.tile-4{grid-area:3/2/7/3}.tile-5{grid-area:1/3/5/4}.tile-6{grid-area:5/3/7/4}
body .classes{margin-top:clamp(1.5rem,3vw,3rem)}
.studio-footer{display:block;background:#353535;color:#f8f7f4;padding:clamp(3rem,5vw,5rem) var(--section-gutter) 1.5rem;text-align:left}.footer-grid{max-width:86rem;margin:auto;display:grid;grid-template-columns:1.25fr .8fr .9fr 1.25fr;gap:clamp(1.5rem,3vw,3.5rem)}.studio-footer .footer-logo img{width:11rem;height:6rem;object-fit:contain;object-position:left;margin-bottom:1rem}.studio-footer h2{font-family:Manrope,Arial,sans-serif;font-size:.95rem;letter-spacing:.09em;line-height:1.6;margin:1rem 0}.studio-footer p{font-size:.9rem;line-height:1.85;color:#ededeb}.studio-footer nav a{display:block;padding:.25rem 0;font-size:.85rem}.studio-footer a:hover{color:#e8dcc4}.footer-social{display:flex;align-items:center;gap:.7rem;margin-top:1.2rem;font-size:.8rem;min-height:44px}.footer-contact>a:not(.footer-enquire){display:block;margin:1rem 0;overflow-wrap:anywhere;font-size:.86rem}.footer-enquire{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:#b6a272;color:#fff;padding:.8rem 1.8rem;border-radius:6px;font-size:.85rem;margin-top:1rem}.footer-bottom{max-width:86rem;margin:3rem auto 0;padding-top:1.3rem;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;gap:1rem}.footer-bottom a,.footer-bottom p{font-size:.8rem}
@media(max-width:900px){.bridal-editorial-grid{grid-template-columns:1fr}.bridal-entry-copy{padding:0;max-width:35rem}.bridal-entry-collage{height:35rem}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.studio-services{display:none}.studio-intro .studio-welcome{margin:0;font-size:clamp(1.1rem,5.2vw,1.8rem);letter-spacing:.025em}.home-gallery .gallery-portal{height:clamp(23rem,110vw,31rem);min-height:0}.home-gallery .gallery-portal>img{object-position:center 30%}.bridal-entry-collage{height:28rem;gap:.3rem}.home-bridal{padding-inline:1.25rem}.home-reviews .review-badge{padding:1rem 2rem}.footer-grid{grid-template-columns:1fr;gap:1.5rem}.footer-bottom{flex-direction:column}.studio-footer .footer-logo img{width:10rem}}

/* The reference welcome panel is 1861 x 604; scale its height to viewport width. */
.studio-intro{height:clamp(440px,32.45567vw,604px);padding:clamp(40px,4.1vw,76px) var(--section-gutter);display:flex;flex-direction:column;align-items:center;justify-content:center}
.studio-intro-logo{width:clamp(250px,20vw,370px);height:clamp(96px,7vw,130px);object-fit:contain;filter:brightness(0) invert(1);margin:0 0 clamp(32px,3.3vw,61px)}
.studio-intro .studio-welcome{font-family:Montserrat,Manrope,sans-serif;font-size:clamp(1.35rem,1.7vw,2rem);font-weight:300;letter-spacing:.035em;line-height:1.35;margin:0 0 .55rem;-webkit-font-smoothing:antialiased}
.studio-intro .studio-services{font-size:clamp(.63rem,.65vw,.78rem);font-weight:300;letter-spacing:.025em;line-height:1.6}
.studio-booking{display:inline-flex;align-items:center;justify-content:center;width:clamp(240px,16.66vw,310px);min-height:clamp(68px,5.37vw,100px);padding:1.2rem 1rem;border:2px solid #fff;background:transparent;color:#fff;font-family:Montserrat,Manrope,sans-serif;font-weight:300;font-size:clamp(.72rem,.84vw,.98rem);letter-spacing:.03em;margin-top:clamp(30px,3vw,56px);transition:background .2s}
.studio-booking:hover{background:rgb(255 255 255 / .13)}.studio-booking:focus-visible{outline:2px solid #E8DCC4;outline-offset:6px}
.home-gallery .gallery-portal::after{content:'';position:absolute;inset:0;background:rgb(0 0 0 / .18);pointer-events:none;z-index:1}.home-gallery .gallery-portal-links{z-index:2}.home-gallery .gallery-portal>img{object-position:50% 40%}
@media(max-width:767px){.studio-intro{height:auto;min-height:440px;padding:52px 20px}.studio-intro-logo{width:260px;height:104px;margin-bottom:38px}.studio-intro .studio-welcome{font-size:clamp(1.1rem,5vw,1.6rem);letter-spacing:.025em}.studio-booking{width:260px;min-height:76px;margin-top:34px}.home-gallery .gallery-portal>img{object-position:50% 40%}}

/* Kay introduction, refined scale and soft rose accents. */
:root{--header:7.25rem;--bridal-rose:#B6818A;--bridal-rose-deep:#825661}
.header{border-bottom:1px solid #ece7e2;box-shadow:0 5px 16px rgb(25 20 20 / .07)}.menu-toggle{width:60px;height:60px;padding:12px 6px;gap:10px}.menu-toggle span{width:38px;height:1.5px}
.hero{height:calc(100svh - var(--header) - 80px);min-height:28rem}.hero .artist-slide img{object-position:70% top}.artist-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#FAF9F6f5 0%,#FAF9F6e8 28%,#FAF9F620 54%,transparent 66%);z-index:1;pointer-events:none}.artist-slide-copy{position:absolute;left:var(--section-gutter);top:50%;transform:translateY(-50%);width:36%;max-width:34rem;z-index:2;color:#292321}.artist-label{font-family:Montserrat,Manrope,sans-serif;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#9f6e77;margin-bottom:1rem}.artist-slide-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.025em;line-height:1.05;margin-bottom:1.2rem}.artist-slide-copy>p:not(.artist-label){font-size:clamp(.85rem,1.1vw,1rem);line-height:1.9}.artist-learn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.85rem 1.5rem;border:1px solid #a97480;color:#69424d;background:transparent;letter-spacing:.07em;font-size:.75rem;margin-top:1.5rem}.artist-learn:hover{background:#a97480;color:#fff}.hero .graduation-slide{background:#f0eeeb}.hero .graduation-slide img{object-fit:contain;object-position:center;transform:none}
.studio-intro .studio-welcome{font-size:clamp(1.55rem,1.95vw,2.25rem);letter-spacing:.09em}.studio-intro .studio-services{font-size:clamp(.94rem,1vw,1.2rem)}.home-reviews .review-badge{padding:1.7rem 3.5rem;min-width:min(100%,23rem);gap:.8rem}.home-reviews .review-provider{font-size:1.3rem}.home-reviews .review-stars svg{width:1.6rem;height:1.6rem}.home-reviews .review-label{font-size:.8rem}.home-reviews .write-review{font-size:.85rem}
.home-bridal .bridal-kicker{color:var(--bridal-rose);font-size:.8rem}.home-bridal .bridal-entry-copy .gallery-glass{background:var(--bridal-rose)}.home-bridal .bridal-entry-copy .gallery-glass:hover{background:var(--bridal-rose-deep)}.home-bridal .bridal-entry-copy>p:not(.bridal-kicker){color:var(--bridal-rose-deep)}body .home-bridal+.classes{margin-top:clamp(3.5rem,6vw,6rem)}
.kay-about-page{background:#FAF9F6;color:#292321}.kay-about-hero{position:relative;min-height:36rem;height:calc(85svh - var(--header));overflow:hidden}.kay-about-hero>img{width:100%;height:100%;object-fit:cover;object-position:70% top}.kay-about-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#FAF9F6f5,#FAF9F6dd 30%,transparent 65%)}.kay-about-intro{position:absolute;top:50%;transform:translateY(-50%);left:var(--section-gutter);width:38%;max-width:38rem}.kay-about-intro h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,4.5vw,5.5rem);margin-bottom:1.5rem;letter-spacing:-.025em}.kay-about-intro>p:last-child{line-height:1.9}.kay-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;padding-block:3rem;border-bottom:1px solid #e7dcd5}.kay-facts span{color:#ac7a83;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.kay-facts p{margin-top:.6rem;font-size:.95rem}.kay-story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,7rem);align-items:center}.kay-story h2,.kay-education h2,.kay-invitation h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.025em;margin-bottom:1.6rem}.kay-story p{line-height:1.9;color:#71625d}.kay-story>img{width:100%;height:32rem;object-fit:cover;object-position:72% top}.kay-story-actions{display:flex;gap:1rem;flex-wrap:wrap}.kay-education{text-align:center;background:#eee6df}.kay-education>p:not(.artist-label){max-width:48rem;margin:auto;line-height:1.9}.kay-invitation{text-align:center}.kay-invitation p{max-width:35rem;margin:auto}
@media(max-width:767px){:root{--header:6.5rem}.hero{height:calc(100svh - var(--header) - 64px);min-height:31rem}.hero .artist-slide img{object-position:70% top}.artist-slide::before{background:linear-gradient(0deg,#FAF9F6fa,#FAF9F6e8 34%,transparent 63%)}.artist-slide-copy{left:1.25rem;right:1.25rem;top:auto;bottom:1.3rem;transform:none;width:auto;max-width:28rem}.artist-slide-copy h2{font-size:2.4rem;margin-bottom:.7rem}.artist-slide-copy .artist-label{margin-bottom:.4rem;font-size:.65rem}.artist-slide-copy>p:not(.artist-label){font-size:.8rem;line-height:1.6}.artist-slide-copy .artist-learn{margin-top:.8rem;padding:.6rem 1.1rem}.studio-intro .studio-welcome{font-size:clamp(1.25rem,5.4vw,1.9rem);letter-spacing:.065em}.home-reviews .review-badge{padding:1.5rem 2.5rem}.kay-about-hero{height:auto;min-height:0;display:flex;flex-direction:column}.kay-about-hero>img{height:22rem;object-fit:cover;object-position:72% top}.kay-about-hero::before{display:none}.kay-about-intro{position:static;transform:none;width:auto;max-width:none;padding:2.5rem 1.25rem}.kay-about-intro h1{font-size:3rem}.kay-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem}.kay-story{grid-template-columns:1fr}.kay-story>img{height:25rem;order:-1}}

.hero .slide.artist-slide img{object-position:70% top}.hero .slide.graduation-slide img{object-fit:cover;object-position:center 25%}.gallery-item.grad-original{position:relative;overflow:hidden}.gallery-item.grad-original img{position:absolute;top:-52.1127%;left:0;width:100%;height:auto;max-width:none;object-fit:initial;transform:none}.lightbox.grad-original-view .lightbox-image-frame{position:relative;overflow:hidden;height:min(80svh,111vw);width:min(66.2svh,92vw)}.lightbox.grad-original-view .lightbox-image-frame img{position:absolute;top:-43.1235%;left:0;width:100%;height:auto;max-width:none;max-height:none;object-fit:initial}@media(max-width:767px){.hero .slide.graduation-slide img{object-fit:contain;object-position:center}.hero .slide.artist-slide img{object-position:70% top}}

/* Original-pixel portrait framing: no face or makeup reconstruction. */
.hero .slide.artist-slide,.kay-about-hero{background:#22c6db}
.kay-original-frame{position:absolute;top:0;left:71%;transform:translateX(-50%);height:100%;aspect-ratio:540/1030;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.hero .slide.artist-slide .kay-original-frame img,.kay-about-hero .kay-original-frame img{position:absolute;left:-69.4444%;top:-7.28155%;width:232.2222%;height:auto;max-width:none;object-fit:initial;filter:none;transform:none}
.artist-slide-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.025em;line-height:1.05;margin-bottom:1.2rem}
.hero .graduation-slide{overflow:hidden}.graduate-original-frame{height:100%;aspect-ratio:710/858;position:relative;margin-inline:auto;overflow:hidden}.hero .slide.graduation-slide .graduate-original-frame img{position:absolute;top:-32.8671%;left:0;width:100%;height:auto;object-fit:initial;max-width:none;transform:none}
.gallery-item.grad-sitting-original img{top:-39.7183%}.lightbox.grad-sitting-view .lightbox-image-frame img{top:-32.8671%}
.kay-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-bridal .bridal-kicker{color:#95616C}.home-bridal .bridal-entry-copy .gallery-glass{color:#25191D}
@media(max-width:767px){.hero{height:calc(100svh - var(--header) - 64px);min-height:0}.hero .artist-slide .kay-original-frame{height:52%;top:0;left:58%;aspect-ratio:540/1030}.artist-slide::before{background:linear-gradient(0deg,#FAF9F6 0%,#FAF9F6 46%,transparent 62%)}.artist-slide-copy{bottom:1rem}.artist-slide-copy h2{font-size:clamp(1.7rem,6vw,2.25rem);margin-bottom:.65rem}.artist-slide-copy>p:not(.artist-label){font-size:.8rem;line-height:1.55}.kay-about-hero{display:block;min-height:0;height:auto;padding-top:22rem}.kay-about-hero .kay-original-frame{height:22rem;top:0;left:50%}.kay-about-intro{position:relative;left:auto;top:auto;background:#FAF9F6;transform:none;padding:2.5rem 1.25rem}.kay-facts{grid-template-columns:1fr}}
@media(max-width:767px) and (max-height:700px){.hero .artist-slide .kay-original-frame{height:44%}.artist-slide-copy h2{font-size:1.6rem}.artist-slide-copy>p:not(.artist-label){font-size:.73rem;line-height:1.4}.artist-slide-copy .artist-learn{min-height:44px;margin-top:.5rem}.artist-slide-copy .artist-label{font-size:.6rem}}

.studio-intro .studio-services,.studio-intro .studio-booking{color:#10100f}.studio-intro .studio-booking:hover{background:rgb(0 0 0 / .08)}

/* Match the supplied hero reference while keeping original photographic pixels. */
:root{--hero-peek:clamp(64px,9svh,104px)}
.hero{height:calc(100svh - var(--header) - var(--hero-peek));min-height:0}
.hero .slide.graduation-slide .graduate-source-frame{height:100%;aspect-ratio:545/946;width:auto;max-width:100%;overflow:hidden}
.hero .slide.graduation-slide .graduate-source-frame img{top:-29.8097%;left:-10.0917%;width:130.2752%;height:auto;object-fit:initial;max-width:none}
.gallery-item.grad-source img{top:-51.7431%;left:-10.0917%;width:130.2752%;height:auto;object-fit:initial;transform:none;filter:none}
.lightbox.grad-source-view .lightbox-image-frame{height:min(80svh,159.7vw);width:min(46.1svh,92vw);position:relative;overflow:hidden}
.lightbox.grad-source-view .lightbox-image-frame img{position:absolute;top:-29.8097%;left:-10.0917%;width:130.2752%;height:auto;max-height:none;max-width:none;object-fit:initial;transform:none;filter:none}
@media(max-width:767px){.hero{height:calc(100svh - var(--header) - var(--hero-peek));min-height:0}.hero .slide.graduation-slide .graduate-source-frame{aspect-ratio:545/946}.hero .slide.graduation-slide .graduate-source-frame img{object-fit:initial}}

.hero .slide.graduation-slide .graduate-source-frame{width:calc((100svh - var(--header) - var(--hero-peek)) * .57610994)}

/* Widescreen desktop banners; originals keep their natural proportions. */
.hero {
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
}
.hero .slide.artist-slide,
.hero .slide.graduation-slide,
.kay-about-hero { background:#756f69; }
.hero .slide.artist-slide .hero-banner-image,
.hero .slide.graduation-slide .hero-banner-image {
  display:block;
  position:static;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center;
  transform:none;
  filter:none;
}
.artist-slide::before {
  background:linear-gradient(90deg,#FAF9F6f7 0%,#FAF9F6ec 29%,#FAF9F6c4 41%,transparent 61%);
}
.artist-slide-copy h2 { letter-spacing:.015em; }
.artist-slide-copy { max-width:34rem; }
.kay-about-hero {
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16 / 9;
  padding-top:0;
}
.kay-about-hero .kay-about-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.kay-about-hero::before {
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,#FAF9F6f7 0%,#FAF9F6ec 29%,#FAF9F6c4 41%,transparent 61%);
}
.kay-about-intro { z-index:2; }
.kay-about-intro h1 { letter-spacing:.015em; }
@media(max-width:767px) {
  /* A stable mobile carousel gives the portrait and readable copy separate space. */
  .hero {
    height:clamp(34rem,calc(100svh - var(--header) - 64px),46rem);
    aspect-ratio:auto;
  }
  .hero .slide.artist-slide .hero-banner-image {
    position:absolute;
    inset:0 0 auto;
    height:54%;
    object-position:72% center;
  }
  .artist-slide::before {
    background:linear-gradient(0deg,#FAF9F6 0%,#FAF9F6 48%,transparent 60%);
  }
  .artist-slide-copy {
    left:1.25rem;
    right:1.25rem;
    top:auto;
    bottom:1.25rem;
    width:auto;
    max-width:none;
    transform:none;
  }
  .artist-slide-copy h2 { font-size:clamp(2rem,7vw,2.6rem); margin-bottom:.6rem; }
  .artist-slide-copy .artist-label { font-size:.65rem; margin-bottom:.4rem; }
  .artist-slide-copy>p:not(.artist-label) { font-size:.875rem; line-height:1.5; }
  .artist-slide-copy .artist-learn { min-height:46px; margin-top:1rem; }
  .hero .slide.graduation-slide .hero-banner-image { object-position:55% center; }
  .kay-about-hero { display:block; height:auto; aspect-ratio:auto; padding-top:0; }
  .kay-about-hero .kay-about-image {
    position:static;
    height:clamp(21rem,70vw,28rem);
    object-position:72% center;
  }
  .kay-about-intro { position:static; width:100%; max-width:none; transform:none; }
}
@media(max-width:1023px) and (max-height:500px) and (min-width:768px) {
  .hero .artist-slide-copy h2 { font-size:2rem; margin-bottom:.6rem; }
  .artist-slide-copy>p:not(.artist-label) { font-size:.85rem; line-height:1.5; }
  .artist-slide-copy .artist-label { margin-bottom:.6rem; }
  .artist-slide-copy .artist-learn { margin-top:.75rem; }
}

/* Shared spacing baseline, with equal breathing room above and below sections. */
:root {
  --section-space-block:clamp(3rem,6vw,6rem);
  --section-space-compact:clamp(2.5rem,4vw,4.5rem);
  --section-gap:clamp(2rem,4vw,4rem);
  --component-space-block:.875rem;
  --component-space-inline:1.5rem;
  --card-space:clamp(1.5rem,3vw,3rem);
  --input-space-block:.8rem;
  --input-space-inline:1rem;
}
.section { padding-block:var(--section-space-block); }
.home-reviews { padding-block:var(--section-space-compact); }
.home-bridal { padding-block:var(--section-space-block); }
body .home-bridal+.classes { margin-top:var(--section-gap); }
.button,.artist-learn,.editorial-button {
  padding:var(--component-space-block) var(--component-space-inline);
}
.class-inclusions { padding:var(--card-space); }
.kay-facts { padding-block:var(--section-space-compact); }
.team.section { min-height:0; }
.mobile-hero-welcome { display:none; }
@media(max-width:767px) {
  .hero {
    height:calc(100svh - var(--header));
    min-height:34rem;
    aspect-ratio:auto;
  }
  .studio-intro,.hero-separator { display:none; }
  .hero .slide:not(.artist-slide)::after {
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgb(0 0 0 / .64),rgb(0 0 0 / .15) 38%,transparent 60%);
    pointer-events:none;
  }
  .mobile-hero-welcome {
    display:flex;
    position:absolute;
    z-index:2;
    left:1.25rem;
    right:1.25rem;
    bottom:max(1.5rem,env(safe-area-inset-bottom));
    flex-direction:column;
    align-items:center;
    gap:1.5rem;
    color:#fff;
    text-align:center;
  }
  .mobile-hero-welcome h2 {
    font-family:Montserrat,Manrope,sans-serif;
    font-weight:300;
    font-size:clamp(1.4rem,5.4vw,1.9rem);
    line-height:1.4;
    letter-spacing:.065em;
    text-transform:uppercase;
    text-shadow:0 1px 5px rgb(0 0 0 / .35);
  }
  .mobile-hero-welcome .studio-booking {
    margin:0;
    width:min(100%,260px);
    min-height:76px;
    border:2px solid #fff;
    color:#fff;
    background:transparent;
    padding:var(--component-space-block) var(--component-space-inline);
  }
  .mobile-hero-welcome .studio-booking:hover { background:rgb(255 255 255 / .13); }
}

/* The supplied desktop reference is 1905 x 841. */
.hero .slide.soft-glam-slide { --portrait-focus:51%; }
.hero .slide.natural-beauty-slide { --portrait-focus:50%; }
.kay-about-photo { position:absolute; inset:0; }
.hero .slide.artist-slide .kay-local-blur,
.kay-about-hero .kay-local-blur {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center top;
  z-index:0;
  pointer-events:none;
  transform:none;
  filter:none;
}
@media(min-width:768px) {
  .hero,.kay-about-hero { height:auto; min-height:0; aspect-ratio:1905 / 841; }
  .hero .slide.artist-slide .hero-banner-image,
  .hero .slide.graduation-slide .hero-banner-image,
  .kay-about-hero .kay-about-image { object-position:center top; }
}
@media(max-width:767px) {
  :root { --mobile-hero-extension:2rem; }
  .hero {
    height:calc(100vh - var(--header) + var(--mobile-hero-extension));
    height:calc(100dvh - var(--header) + var(--mobile-hero-extension));
    min-height:0;
    aspect-ratio:auto;
  }
  .hero .slide.artist-slide .kay-local-blur {
    height:54%;
    object-position:72% center;
  }
  .mobile-hero-welcome {
    bottom:calc(max(1.5rem,env(safe-area-inset-bottom)) + var(--mobile-hero-extension));
  }
  .artist-slide-copy { bottom:calc(1.25rem + var(--mobile-hero-extension)); }
  .kay-about-photo {
    position:relative;
    inset:auto;
    height:clamp(21rem,70vw,28rem);
  }
  .kay-about-hero .kay-about-image,
  .kay-about-hero .kay-local-blur {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-position:72% center;
  }
}
@media(max-width:767px) and (max-height:700px) {
  .hero .slide.artist-slide .hero-banner-image,
  .hero .slide.artist-slide .kay-local-blur { height:44%; }
  .artist-slide::before {
    background:linear-gradient(0deg,#FAF9F6 0%,#FAF9F6 56%,transparent 64%);
  }
  .artist-slide-copy h2 { font-size:1.8rem; }
  .artist-slide-copy>p:not(.artist-label) { font-size:.8rem; }
  .artist-slide-copy .artist-label { font-size:.6rem; }
  .artist-slide-copy .artist-learn { margin-top:.8rem; min-height:44px; }
}
@media(max-width:767px) and (orientation:landscape) {
  .hero .slide.artist-slide .hero-banner-image,
  .hero .slide.artist-slide .kay-local-blur { height:100%; object-position:center top; }
  .artist-slide::before {
    background:linear-gradient(90deg,#FAF9F6f7 0%,#FAF9F6ec 29%,#FAF9F6c4 41%,transparent 61%);
  }
  .artist-slide-copy { top:50%; bottom:auto; width:46%; right:auto; transform:translateY(-50%); }
  .artist-slide-copy h2 { font-size:1.6rem; }
  .artist-slide-copy>p:not(.artist-label) { line-height:1.4; }
}

