.service-page{background:var(--paper)}
.service-page main{overflow:hidden}
.service-hero{position:relative;display:flex;min-height:100svh;overflow:hidden;isolation:isolate;background:#e9f8fa}
.service-hero__image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.service-hero__wash{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(247,249,251,.98),rgba(247,249,251,.85) 38%,rgba(247,249,251,.26) 68%,rgba(247,249,251,.08))}
.service-hero__content{align-self:center;padding-top:var(--header-h);position:relative;z-index:2}
.service-hero h1{margin:12px 0 30px;font-size:var(--type-display);line-height:.77;letter-spacing:-.105em;font-weight:800;text-transform:uppercase}
.service-hero h1 span{color:transparent;-webkit-text-stroke:2px var(--cyan)}
.service-hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--cyan)}
.service-hero__lead{max-width:min(620px,52vw);margin:0 0 30px;font-size:clamp(18px,1.6vw,25px);line-height:1.38}
.service-vertical-label{position:absolute;z-index:2;left:max(34px,calc((100% - var(--content))/2 - 55px));top:36%;margin:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;letter-spacing:.04em}
.service-vertical-label::before{content:'✦';display:block;margin-bottom:25px;color:var(--cyan);font-size:20px}
.service-hero__fish{right:4%;bottom:6%;width:clamp(270px,26vw,460px);height:clamp(160px,17vw,280px);opacity:.57}
.service-hero__bubbles{right:31%;top:18%;width:140px;height:190px}
.service-hero__bubbles i:nth-child(1){top:0;right:0;width:52px;height:52px}
.service-hero__bubbles i:nth-child(2){top:61px;left:4px;width:27px;height:27px}
.service-hero__bubbles i:nth-child(3){right:16px;bottom:0;width:68px;height:68px}
.service-intro{background:#fff}
.service-intro__grid,.service-prices__grid{display:grid;grid-template-columns:1fr minmax(350px,.88fr);gap:clamp(48px,9vw,150px);align-items:center}
.service-intro h2,.service-intro h3,.service-section-heading h2,.service-section-heading h3,.service-prices h2{margin:0;font-size:clamp(47px,5.6vw,92px);line-height:.95;letter-spacing:-.085em;font-weight:500}
.service-intro__copy h2,.service-intro__copy h3{margin-bottom:clamp(24px,2.4vw,36px)}
.service-prices__copy h2{margin-bottom:clamp(24px,2.4vw,36px)}
.service-intro h2 em,.service-intro h3 em{font-style:normal;color:var(--cyan)}
.service-prices h2 em{font-style:normal;color:var(--cyan)}
.service-intro__copy>p:not(.section-kicker),.service-prices__copy>p:not(.section-kicker),.parents-copy{font-size:17px;line-height:1.64}
.service-intro__content{font-size:17px;line-height:1.64}
.service-intro__content>:first-child{margin-top:0}
.service-intro__content>:last-child{margin-bottom:0}
.service-intro__content ul,.service-intro__content ol{padding-left:1.25em}
.service-prices__content{font-size:17px;line-height:1.64}
.service-prices__content>:first-child{margin-top:0}
.service-prices__content>:last-child{margin-bottom:0}
.service-prices__content ul,.service-prices__content ol{padding-left:1.25em}
.service-image{position:relative;margin:0;overflow:hidden;background:var(--ice)}
.service-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.service-image iframe{display:block;width:100%;height:100%;border:0}
.service-image:hover img{transform:scale(1.03)}
.service-image--intro{height:min(59vw,650px);border-radius:0 39% 0 0}
.service-image--intro span{position:absolute;inset:9%;border:1px solid rgba(255,255,255,.78);border-radius:0 36% 0 0}
.service-intro__jelly{right:5%;top:8%;width:clamp(150px,17vw,285px);height:clamp(210px,24vw,400px);opacity:.28}
.service-conditions{background:linear-gradient(140deg,#eafbfd,#fff 72%)}
.service-conditions{overflow:hidden}
.service-section-heading{position:relative;z-index:2}
.service-conditions .service-section-heading{margin-bottom:clamp(22px,2.5vw,36px)}
.service-section-heading h2 span,.service-section-heading h3 span,.service-prices h2 span{color:var(--cyan)}
.service-section-heading h2 em,.service-section-heading h3 em{font-style:normal;color:var(--cyan)}
.condition-list{position:relative;z-index:2;margin:62px 0 38px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(16,197,215,.5);list-style:none}
.condition-list li{min-height:185px;padding:24px 25px;border-right:1px solid rgba(16,197,215,.34);display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(26px,2.6vw,42px)}
.condition-list::before{content:'';position:absolute;inset:0 auto 0 0;border-left:1px solid rgba(16,197,215,.34)}
.condition-list b,.treatment-steps b{font-size:clamp(43px,4vw,68px);font-weight:500;line-height:1;color:var(--cyan);letter-spacing:-.08em}
.condition-list span{font-size:20px;line-height:1.22;letter-spacing:-.04em}
.service-note{position:relative;z-index:2;max-width:1100px;margin:0;font-size:18px;line-height:1.55}
.service-note p{margin:0 0 1em}.service-note p:last-child{margin-bottom:0}
.service-conditions__bubbles{right:8%;top:12%;width:145px;height:210px}
.service-conditions__bubbles i:nth-child(1){top:0;right:0;width:48px;height:48px}
.service-conditions__bubbles i:nth-child(2){top:43%;left:8%;width:25px;height:25px}
.service-conditions__bubbles i:nth-child(3){right:28%;bottom:3%;width:16px;height:16px}
.service-steps{background:#fff;overflow:hidden}
.treatment-steps{position:relative;z-index:2;margin:60px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);list-style:none;gap:18px}
.treatment-steps li{min-height:305px;padding:24px 18px;border-top:1px solid var(--cyan);background:linear-gradient(180deg,rgba(234,251,253,.5),transparent 60%)}
.treatment-steps h3{margin:54px 0 14px;font-size:20px;line-height:1.15;letter-spacing:-.05em}
.treatment-steps__content{font-size:14px;line-height:1.55}.treatment-steps__content p{margin:0 0 .7em}.treatment-steps__content p:last-child{margin-bottom:0}.treatment-steps__content ul,.treatment-steps__content ol{margin:.15em 0 0;padding-left:1.2em}.treatment-steps__content li{min-height:0;padding:0;border:0;background:none;list-style:inherit}.treatment-steps__content li+li{margin-top:.28em}
.service-steps__dolphin{right:4%;bottom:5%;width:clamp(180px,19vw,325px);height:clamp(112px,13vw,205px);opacity:.25}
.service-prices{background:linear-gradient(125deg,#fff,#eafbfd)}
.service-prices--contacts{background:#fff}
.service-image--prices{height:min(61vw,670px);border-radius:42% 0 0 0}
.service-prices--contacts .service-image--prices{border-radius:0}
.service-hero--prices .service-hero__lead{max-width:560px}
.service-prices h2{margin-bottom:24px}
.price-list{margin:35px 0 0;padding:0}
.price-list div{display:grid;grid-template-columns:1fr auto;gap:18px;padding:17px 0;border-top:1px solid rgba(41,39,93,.18)}
.price-list dt{font-weight:700}
.price-list small{display:block;margin-top:4px;color:#53588a;font-weight:500}
.price-list dd{margin:0;font-size:18px;font-weight:800;color:var(--cyan);white-space:nowrap}
.service-parents{background:#fff;overflow:hidden}
.service-parents__grid{display:grid;grid-template-columns:1.1fr .82fr .75fr;gap:clamp(30px,5vw,80px);align-items:end}
.parents-copy{position:relative;z-index:2}
.course-card{position:relative;z-index:2;padding:32px;border-radius:32px;background:rgba(234,251,253,.82);border:1px solid rgba(16,197,215,.3)}
.course-card b{display:block;font-size:clamp(62px,6vw,95px);line-height:.8;color:var(--cyan);letter-spacing:-.09em}
.course-card span{display:block;margin-top:18px;font-weight:800;line-height:1.2}
.course-card p{font-size:14px;line-height:1.55}
.service-parents__fish{right:3%;top:6%;width:clamp(205px,21vw,360px);height:clamp(130px,14vw,220px);opacity:.32}
.service-faq{background:var(--paper)}
.faq-list{margin-top:54px;border-top:1px solid rgba(41,39,93,.2)}
.faq-list details{padding:0;border-bottom:1px solid rgba(41,39,93,.2)}
.faq-list summary{padding:26px 58px 26px 0;position:relative;cursor:pointer;list-style:none;font-size:clamp(20px,2.2vw,31px);line-height:1.2;letter-spacing:-.05em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:5px;top:18px;color:var(--cyan);font-size:38px;font-weight:400}
.faq-list details[open] summary::after{content:'−'}
.faq-answer{max-width:900px;padding:0 0 28px;font-size:16px;line-height:1.62}.faq-answer p{margin:0 0 1em}.faq-answer p:last-child{margin-bottom:0}.faq-answer ul,.faq-answer ol{margin:.25em 0 1em;padding-left:1.35em}.faq-answer li+li{margin-top:.3em}.faq-answer a{color:var(--cyan)}
.service-closing{background:#29275d url('../assets/images/about/3.webp') center/cover no-repeat}
.service-closing::after{background:linear-gradient(112deg,rgba(41,39,93,.97),rgba(41,39,93,.78) 52%,rgba(16,197,215,.61)),radial-gradient(circle at 75% 20%,rgba(255,255,255,.22),transparent 30%)}
@media(max-width:900px){.service-vertical-label{display:none}
.service-hero__content{padding-top:130px}
.service-intro__grid,.service-prices__grid,.service-parents__grid{grid-template-columns:1fr;gap:42px}
.service-prices__copy{order:-1}
.condition-list{grid-template-columns:repeat(2,1fr)}
.treatment-steps{grid-template-columns:repeat(2,1fr)}
.service-steps__dolphin{right:-5%;bottom:2%}
.service-parents__fish{right:-6%}
}
@media(max-width:560px){.service-hero{min-height:780px}
.service-hero__image{object-position:60% center}
.service-hero__wash{background:linear-gradient(180deg,rgba(247,249,251,.94),rgba(247,249,251,.75) 45%,rgba(247,249,251,.2))}
.service-page .service-hero h1{font-size:var(--type-display)!important}
.service-hero__lead{font-size:17px;max-width:310px}
.service-hero__fish{width:205px;height:125px;right:-25px;bottom:6%}
.service-hero__bubbles{right:20px;top:20%;transform:scale(.72)}
.service-intro__grid,.service-prices__grid,.service-parents__grid{gap:32px}
.service-image--intro,.service-image--prices{height:390px}
.condition-list{grid-template-columns:1fr 1fr;margin-top:38px}
.condition-list li{min-height:145px;padding:19px 15px}
.condition-list span{font-size:16px}
.treatment-steps{grid-template-columns:1fr;gap:10px;margin-top:38px}
.treatment-steps li{min-height:auto;padding:22px}
.treatment-steps h3{margin:25px 0 12px}
.price-list div{grid-template-columns:1fr}
.service-steps__dolphin,.service-parents__fish{opacity:.2}
.course-card{padding:27px}
.faq-list{margin-top:35px}
}


/* Each bubble rises independently; scroll only drifts the group through the layout. */
.service-page .about-bubbles i{will-change:transform,opacity;animation:serviceBubbleRise 5.4s cubic-bezier(.4,0,.2,1) infinite}

.service-page .about-bubbles i:nth-child(2){animation-delay:-1.8s;animation-duration:4.7s}

.service-page .about-bubbles i:nth-child(3){animation-delay:-3.35s;animation-duration:6.1s}

@keyframes serviceBubbleRise{0%{opacity:0;transform:translate3d(-6px,42px,0) scale(.72)}
18%{opacity:.78}
72%{opacity:.94;transform:translate3d(9px,-78px,0) scale(1.04)}
100%{opacity:0;transform:translate3d(15px,-122px,0) scale(1.15)}
}

@media(prefers-reduced-motion:reduce){.service-page .about-bubbles i{animation:none}
}


/* Reusable variants for content-heavy internal pages. */
.service-hero h1.service-hero__title--long{max-width:1080px;font-size:var(--type-display);line-height:.84}

.service-copy-list{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid rgba(41,39,93,.18)}

.service-copy-list li{position:relative;padding:17px 0 17px 34px;border-bottom:1px solid rgba(41,39,93,.18);font-size:17px;line-height:1.5}

.service-copy-list li::before{content:'';position:absolute;left:0;top:24px;width:10px;height:10px;border:2px solid var(--cyan);border-radius:50%}
.service-copy-list a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}
.service-copy-list a:hover{color:var(--cyan)}

@media(max-width:560px){.service-hero h1.service-hero__title--long{font-size:var(--type-display);line-height:.94;letter-spacing:-.055em;word-spacing:.08em}
}


/* Reusable catalogue pattern for pages containing several related price lists. */
.price-overview{overflow:hidden;background:#fff}
.price-overview h2,.price-section__header>h2,.price-section__header>h3{margin:0;font-size:clamp(47px,5.6vw,92px);font-weight:500;line-height:.95;letter-spacing:-.085em}
.price-overview h2 span{color:var(--cyan)}
.price-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:58px;border-top:1px solid rgba(41,39,93,.2)}
.price-nav a{position:relative;padding:21px 52px 21px 0;border-bottom:1px solid rgba(41,39,93,.2);color:var(--navy);font-size:17px;font-weight:700;text-decoration:none;transition:color .25s var(--ease),padding-left .25s var(--ease)}
.price-nav a:nth-child(odd){margin-right:34px}
.price-nav a::after{content:'↘';position:absolute;right:8px;color:var(--cyan);font-size:21px;font-weight:400}
.price-nav a:hover{padding-left:8px;color:var(--cyan)}

.price-catalog{background:#fff}
.price-section{scroll-margin-top:90px;background:#fff}
.price-section--tint{background:linear-gradient(145deg,#eafbfd,#fff 82%)}
.price-section__inner{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(480px,1.25fr);column-gap:clamp(55px,8vw,130px);align-items:start}
.price-section__header{position:sticky;top:130px;grid-column:1;grid-row:1 / span 4}
.price-section__header>h3{font-size:clamp(40px,4.8vw,78px)}
.price-section__header>p:not(.section-kicker),.price-section__header>h3:not(:first-of-type){margin:25px 0 0;max-width:620px;font-size:16px;font-weight:500;line-height:1.62;letter-spacing:0}
.price-section__header>h3:not(:first-of-type){font-size:17px}
.price-list--catalog,.price-subgroup,.price-section__note,.price-section__link,.price-section__actions,.price-section__free{grid-column:2}
.price-list--catalog{margin-top:0}
.price-list--catalog div:first-child{border-top-color:var(--cyan)}
.price-list--catalog div{align-items:start;padding:19px 0}
.price-list--catalog dt{font-size:15px;line-height:1.45}
.price-list--catalog dd{font-size:16px}
.price-list--catalog small{font-size:12px;line-height:1.5}
.price-subgroup+ .price-subgroup{margin-top:55px}
.price-subgroup h3{margin:0 0 20px;font-size:clamp(21px,2vw,29px);font-weight:600;line-height:1.2;letter-spacing:-.04em}
.price-section__note{margin-top:46px;padding:30px 34px;border:1px solid rgba(16,197,215,.32);border-radius:30px;background:rgba(234,251,253,.64)}
.price-section--tint .price-section__note{background:rgba(255,255,255,.72)}
.price-section__note h2{margin:0 0 20px;font-size:clamp(25px,2.7vw,39px);font-weight:500;line-height:1.05;letter-spacing:-.05em}
.price-section__note p{margin:12px 0;font-size:15px;line-height:1.6}
.price-section__link{justify-self:start;margin-top:34px}
.price-section__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.button--outline{border:1px solid var(--cyan);color:var(--cyan);background:transparent;box-shadow:none}
.price-section__free{position:relative;margin:38px 0 0;padding:22px 28px 22px 56px;border-radius:22px;background:var(--navy);color:#fff;font-size:16px;font-weight:700;line-height:1.5}
.price-section__free::before{content:'✓';position:absolute;left:27px;color:var(--cyan);font-size:20px}

@media(max-width:900px){.price-section__inner{grid-template-columns:1fr}
.price-section__header{position:static;grid-column:auto;grid-row:auto;margin-bottom:45px}
.price-list--catalog,.price-subgroup,.price-section__note,.price-section__link,.price-section__actions,.price-section__free{grid-column:auto}
.price-nav{grid-template-columns:1fr}
.price-nav a:nth-child(odd){margin-right:0}
}

@media(max-width:560px){.price-overview h2,.price-section__header>h2,.price-section__header>h3{font-size:13vw}
.price-section__header>h3:not(:first-of-type){font-size:16px}
.price-nav{margin-top:38px}
.price-nav a{padding-block:18px;font-size:15px}
.price-list--catalog div{grid-template-columns:1fr auto;gap:12px}
.price-list--catalog dd{font-size:15px;white-space:normal;text-align:right}
.price-section__note{padding:25px 22px;border-radius:24px}
.price-section__actions{flex-direction:column;align-items:stretch}
.price-section__actions .button{width:100%}
.price-section__free{padding:20px 20px 20px 48px}
.price-section__free::before{left:21px}
}

.prices-page .price-section__note h2{font-size:clamp(25px,2.7vw,39px);line-height:1.05;letter-spacing:-.05em}


.prices-page .price-section__header>.price-section__description{margin:25px 0 0;font-size:17px;font-weight:500;line-height:1.62;letter-spacing:0}


/* Reusable editorial-card pattern for the local blog index. */
.blog-hero .service-hero__image{object-position:center}
.blog-index{overflow:hidden;background:#fff}
.blog-index__header{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:clamp(54px,7vw,95px)}
.blog-index__header h2{margin:0;font-size:clamp(62px,8.5vw,142px);font-weight:500;line-height:.83;letter-spacing:-.09em}
.blog-index__header h2 span{color:var(--cyan)}
.blog-index__jelly{right:5%;top:4%;width:clamp(145px,16vw,270px);height:clamp(210px,23vw,390px);opacity:.21}
.blog-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.2vw,52px) clamp(20px,2.4vw,38px)}
.blog-card{display:flex;min-width:0;flex-direction:column;background:linear-gradient(145deg,#eefbfc,#fff 72%);border:1px solid rgba(16,197,215,.2);border-radius:0 62px 0 0;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.blog-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(41,39,93,.11)}
.blog-card[hidden]{display:none}
.blog-card__image{display:block;overflow:hidden;aspect-ratio:1.42/1;background:var(--ice)}
.blog-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}
.blog-card:hover .blog-card__image img{transform:scale(1.045)}
.blog-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:clamp(24px,2.3vw,36px)}
.blog-card__category{display:inline-flex;margin-bottom:21px;padding:8px 12px;border-radius:10px;background:var(--cyan);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em}
.blog-card h3{margin:0;font-size:clamp(22px,2vw,31px);font-weight:600;line-height:1.1;letter-spacing:-.05em}
.blog-card h3 a{color:var(--navy);text-decoration:none}
.blog-card p{margin:22px 0 28px;color:#4d527d;font-size:15px;line-height:1.62}
.blog-card__link{display:inline-flex;align-items:center;min-height:48px;margin-top:auto;padding:12px 18px;border-radius:14px;background:var(--navy);color:#fff;font-size:14px;font-weight:800;text-decoration:none;transition:background .25s var(--ease),transform .25s var(--ease)}
.blog-card__link::after{content:'→';margin-left:22px;color:var(--cyan);font-size:18px}
.blog-card__link:hover{background:var(--cyan);transform:translateX(3px)}
.blog-card__link:hover::after{color:#fff}
.blog-load-more{display:flex;justify-content:center;margin-top:clamp(48px,7vw,92px)}
.blog-load-more[hidden]{display:none}

@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.blog-index__jelly{right:-5%}
}

@media(max-width:560px){.blog-hero .service-hero__image{object-position:62% center}
.blog-index__header{display:block}
.blog-index__header h2{font-size:18vw}
.blog-grid{grid-template-columns:1fr;gap:24px}
.blog-card{border-radius:0 44px 0 0}
.blog-card__image{aspect-ratio:1.35/1}
.blog-card__body{padding:24px}
.blog-card h3{font-size:26px}
.blog-card p{font-size:15px}
.blog-load-more .button{width:100%}
}

/* Shared service template: price sections linked through the price entry. */
.service-prices__grid--no-image{grid-template-columns:minmax(0,780px);justify-content:end}
.service-price-block{margin-top:38px}
.service-price-block:first-of-type{margin-top:0}
.service-price-block h3{margin:0 0 14px;font-size:clamp(23px,2.3vw,34px);font-weight:600;line-height:1.12;letter-spacing:-.05em}
.service-price-block h4{margin:32px 0 0;font-size:clamp(19px,1.8vw,26px);font-weight:600;line-height:1.2;letter-spacing:-.04em}
.service-price-block__description{margin:0 0 22px;font-size:16px;line-height:1.6}
.service-price-block .price-list{margin-top:18px}
@media(max-width:900px){.service-prices__grid--no-image{grid-template-columns:1fr}}

/* Editors can use <br> for a line break and <em> for the cyan title accent. */
.service-page h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--cyan)}
.service-page .service-hero h1{line-height:.98!important}
.service-page .service-intro h2 em,.service-page .service-section-heading h2 em,.service-page .service-prices h2 em,.service-page .service-parents h2 em,.service-page .service-faq h2 em,.service-page .about-closing h2 em{font-style:normal;color:var(--cyan)}
/* In all content headings, <em> is an accent marker rather than italic text. */
.service-page h2 em,.service-page h3 em{font-style:normal;color:var(--cyan)}

/* Alternating section backgrounds are assigned by the template in display order. */
.service-page .about-section.section-tone--white{background:#fff}
.service-page .about-section.section-tone--ice{background:#f7f9fb}

/* Optional long-form service sections, managed through one repeater. */
.service-editorial__item{display:grid;grid-template-columns:minmax(250px,.74fr) minmax(0,1.26fr);gap:clamp(38px,7vw,110px)}
.service-page .service-editorial__item h2{margin:0;font-size:clamp(34px,3.6vw,62px);font-weight:500;line-height:1.02;letter-spacing:-.065em}
.service-editorial__item h2 em{font-style:normal;color:var(--cyan)}
.service-editorial__content{max-width:720px;padding-left:clamp(20px,2.5vw,38px);border-left:2px solid var(--cyan);font-size:17px;line-height:1.68}
.service-editorial__content>*:first-child{margin-top:0}.service-editorial__content>*:last-child{margin-bottom:0}.service-editorial__content p{margin:0 0 1em}.service-editorial__content ul,.service-editorial__content ol{margin:0 0 1em;padding-left:1.3em}.service-editorial__content li+li{margin-top:.35em}.service-editorial__content a{color:var(--cyan)}
@media(max-width:900px){.service-editorial__item{grid-template-columns:1fr;gap:28px}.service-editorial__content{max-width:760px}}
@media(max-width:560px){.service-editorial__content{padding-left:18px;font-size:16px}}

/* Service FAQ uses the homepage accordion without its photographic backdrop. */
.service-faq .faq-section__inner{width:min(var(--content),calc(100% - 2*clamp(28px,6vw,108px)));max-width:none;margin:auto}
.service-faq .faq-heading{max-width:none;margin:0 0 clamp(34px,5vh,64px);text-align:left}
.service-faq .faq-heading h2{max-width:none;font-size:clamp(48px,4.4vw,64px);line-height:.98}
.service-faq .faq-list{display:grid;gap:12px;width:min(900px,62vw);max-width:100%;margin-top:0;border:0}
.service-faq .faq-list details.faq-item{padding:0;border:1px solid rgba(41,39,93,.13);border-radius:18px;background:rgba(255,255,255,.72);overflow:hidden;transition:background .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.service-faq .faq-list details.faq-item[open]{background:rgba(255,255,255,.92);border-color:rgba(16,197,215,.42);box-shadow:0 18px 42px rgba(41,39,93,.09)}
.service-faq .faq-item summary{display:flex;align-items:center;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;color:var(--navy);font-size:17px;font-weight:800;line-height:1.35;letter-spacing:normal}
.service-faq .faq-item summary::after{content:none!important;display:none!important}
.service-faq .faq-item__icon{position:relative;flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(16,197,215,.55);border-radius:50%}
.service-faq .faq-item__icon::before,.service-faq .faq-item__icon::after{content:"";position:absolute;top:50%;left:50%;background:var(--cyan);transform:translate(-50%,-50%);transition:transform .22s var(--ease)}
.service-faq .faq-item__icon::before{width:10px;height:2px}.service-faq .faq-item__icon::after{width:2px;height:10px}.service-faq .faq-item[open] .faq-item__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.service-faq .faq-item__answer{max-width:880px;padding:0 62px 26px;color:rgba(41,39,93,.84);font-size:16px;line-height:1.65}
.service-faq .faq-item__answer>*:first-child{margin-top:0}.service-faq .faq-item__answer>*:last-child{margin-bottom:0}.service-faq .faq-item__answer p{margin:0 0 16px}.service-faq .faq-item__answer ul,.service-faq .faq-item__answer ol{margin:0 0 16px;padding-left:22px}.service-faq .faq-item__answer li+li{margin-top:7px}.service-faq .faq-item__answer a{color:var(--cyan)}
@media(max-width:680px){.service-faq .faq-item summary{padding:17px 16px;font-size:15px;gap:12px}.service-faq .faq-item__answer{padding:0 16px 22px 50px;font-size:14px;line-height:1.58}}
@media(max-width:900px){.service-faq .faq-list{width:100%}}
@media(max-width:560px){.service-faq .faq-section__inner{width:calc(100% - 48px)}}


/* Published brand pages form the frames catalogue; no page-level fields required. */
.frames-brands{padding:clamp(80px,9vw,145px) 0;background:#fff;overflow:hidden}
.frames-brands__heading{text-align:center}
.frames-brands__heading .section-kicker{margin-bottom:20px}
.frames-brands__heading h2{max-width:900px;margin:0 auto;color:var(--navy);font-size:clamp(42px,5.2vw,78px);font-weight:500;line-height:1;letter-spacing:-.075em}
.frames-brands__carousel{position:relative;margin-top:clamp(48px,6vw,86px);padding:0 48px}
.frames-brands__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.frames-brands__track::-webkit-scrollbar{display:none}
.frames-brands__carousel.is-static .frames-brands__track{justify-content:center}
.frames-brands__item{display:flex;align-items:center;justify-content:center;min-width:0;min-height:148px;padding:18px;scroll-snap-align:start;color:var(--navy);font-size:clamp(22px,2.4vw,36px);font-weight:700;line-height:1.1;letter-spacing:-.055em;text-align:center;text-decoration:none;transition:transform .25s ease,opacity .25s ease}
.frames-brands__item:hover{transform:translateY(-5px)}
.frames-brands__item img{display:block;max-width:100%;max-height:105px;width:auto;height:auto;object-fit:contain}
.frames-brands__arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:42px;height:50px;padding:0;border:0;background:#fff;color:var(--navy);cursor:pointer;transform:translateY(-50%);font:inherit;font-size:42px;line-height:1;transition:color .2s ease}
.frames-brands__arrow:hover{color:var(--cyan)}
.frames-brands__arrow:disabled{opacity:.25;cursor:default}
.frames-brands__arrow[hidden]{display:none}
.frames-brands__arrow--prev{left:0}
.frames-brands__arrow--next{right:0}
.frames-brands__dots{display:flex;justify-content:center;gap:10px;min-height:12px;margin-top:clamp(22px,3vw,42px)}
.frames-brands__dots[hidden]{display:none}
.frames-brands__dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:var(--navy);cursor:pointer;transition:background .2s ease,transform .2s ease}
.frames-brands__dots button[aria-current="true"]{background:var(--cyan);transform:scale(1.15)}
@media(max-width:900px){.frames-brands__track{grid-auto-columns:calc((100% - 24px)/2)}}
@media(max-width:560px){.frames-brands{padding:70px 0}.frames-brands__heading h2{font-size:clamp(38px,11vw,56px)}.frames-brands__carousel{padding:0 34px}.frames-brands__track{grid-auto-columns:100%;gap:16px}.frames-brands__item{min-height:135px}.frames-brands__arrow{width:32px}}
@media(prefers-reduced-motion:reduce){.frames-brands__track{scroll-behavior:auto}.frames-brands__item{transition:none}}

@media(max-width:560px){.frames-brands__dots{display:none}}
