.specialty-page h1{font-size:clamp(2.6rem,5.1vw,4.9rem);line-height:1.04;letter-spacing:-.055em}
.specialty-page h2{font-size:clamp(1.9rem,3.7vw,3.25rem);line-height:1.08;letter-spacing:-.045em}
.specialty-page section{padding:68px 0}
.specialty-page .hero{padding:0 0 64px}
.specialty-page .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;padding-top:38px}
.specialty-page .hero-actions{align-items:center;gap:18px}
.specialty-page .hero-image{aspect-ratio:auto;border:0;border-radius:0;transform:none;box-shadow:none;width:100%;overflow:visible}
.specialty-page .hero-image img{width:100%;height:auto;border-radius:22px}
.specialty-page .flower-hero{max-width:430px;margin:auto}
.specialty-page figcaption{font-size:1rem;line-height:1.4;color:var(--ink);font-weight:650;margin:12px 0 0}
.specialty-page .eyebrow{font-size:.875rem;color:#3a4da0;letter-spacing:.08em}
.specialty-page .small-copy{font-size:1rem}
.specialty-page .section-heading{margin-bottom:30px}
.specialty-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.specialty-gallery figure{min-width:0;margin:0}
.specialty-gallery img{width:100%;height:auto;border-radius:20px}
.specialty-gallery .wide{grid-column:1/-1;width:100%;max-width:1000px;margin:auto}
.specialty-gallery.mixed-gallery{display:block;columns:2;column-gap:32px}
.mixed-gallery figure{break-inside:avoid;margin:0 0 30px}
.specialty-page .other-card{padding:26px;border:0;box-shadow:none}
.specialty-page .other-card h3{font-family:inherit;font-size:1.3rem;font-weight:800}
.specialty-page .other-card p{font-size:1rem;margin:0}
.specialty-faq{max-width:900px}
.specialty-faq details{border-top:1px solid var(--line);padding:21px 0}
.specialty-faq summary{font-size:1.08rem;line-height:1.45;font-weight:800;cursor:pointer}
.specialty-faq details p{font-size:1rem;line-height:1.6;color:var(--soft);margin:14px 0 0}
.related-experiences{display:flex;flex-wrap:wrap;gap:15px 26px;margin-top:28px;font-size:1rem;font-weight:750}
.related-experiences a{text-underline-offset:4px}
@media(max-width:920px){.specialty-page .hero-grid{grid-template-columns:1fr;gap:30px}.specialty-page .hero-image{max-width:700px;margin:auto}.specialty-page .flower-hero{max-width:430px}.specialty-page .other-grid{grid-template-columns:1fr}}
@media(max-width:680px){.specialty-page section{padding:48px 0}.specialty-page .hero{padding-bottom:44px}.specialty-page .hero-grid{padding-top:30px}.specialty-page h1{font-size:clamp(2.4rem,11vw,3.4rem)}.specialty-page h2{font-size:clamp(1.9rem,8vw,2.5rem)}.specialty-page .hero-image img,.specialty-gallery img{border-radius:16px}.specialty-gallery{grid-template-columns:1fr;gap:26px}.specialty-gallery .wide{grid-column:auto}.specialty-page figcaption{margin-top:10px}.specialty-page .section-heading{margin-bottom:24px}.specialty-page .other-card{padding:24px}.related-experiences{gap:16px}}
@media(max-width:680px){.specialty-gallery.mixed-gallery{columns:1}.mixed-gallery figure{margin-bottom:26px}}

.detail-page .hero-image.portrait-hero{max-width:460px;margin:auto}
.detail-page .detail-step{position:relative;padding:24px}
.detail-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-weight:850;margin-bottom:15px}
.detail-note{margin-top:24px;border-left:5px solid var(--coral);background:#fff3e9;padding:22px 26px;border-radius:0 18px 18px 0}
.detail-note h3{font-size:1.2rem;margin:0 0 10px}
.detail-note p{margin:0;max-width:900px;color:var(--soft)}
.detail-note .related-experiences{margin-top:16px}
.specialty-gallery .portrait-detail{grid-column:1/-1;max-width:480px;margin:auto}
@media(max-width:680px){.detail-page .detail-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:7px 13px;padding:21px}.detail-step .detail-number{grid-row:1/3;margin:0}.detail-page .detail-step h3{margin:3px 0 0;font-size:1.15rem}.detail-step p{grid-column:2}.detail-note{padding:20px}.specialty-gallery .portrait-detail{grid-column:auto}}

/* Specialty pages: saturated event colors, clear type and compact galleries. */
.specialty-page{--ink:#17233e;--soft:#515969;--cream:#fffaf5;--page-color:#3155d9;--page-accent:#ffc33d;--line:rgba(23,35,62,.16);background:#fff}
.traditional-page{--page-color:#234394;--page-accent:#ff8454}
.flower-page{--page-color:#7137c4;--page-accent:#ffb72e}
.miniature-page{--page-color:#26385f;--page-accent:#c7df4b}
.silhouette-page{--page-color:#2c50cf;--page-accent:#ff8257}
.pet-page{--page-color:#18664f;--page-accent:#e2e958}
.pop-art-page{--page-color:#b42669;--page-accent:#ffe25b}
.calligraphy-page{--page-color:#6435b6;--page-accent:#ff9c4d}
.flower-minis-page{--page-color:#6740bf;--page-accent:#ffd34c}
.wedding-page{--page-color:#294173;--page-accent:#ff8358}
.specialty-page h1,.specialty-page h2{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:900;color:var(--ink)}
.specialty-page .hero{background:var(--cream)}
.specialty-page .hero::before{display:none}
.specialty-page .hero-copy{position:relative;z-index:2}
.specialty-page .hero h1{color:var(--ink)}
.specialty-page .eyebrow{color:var(--page-color);font-size:.875rem;letter-spacing:.09em}
.specialty-page .hero-image{isolation:isolate;padding:0;background:none;transform:none;overflow:visible}
.specialty-page .hero-image::before{content:"";position:absolute;inset:-18px -30px -16px -18px;border-radius:38% 23% 32% 19%;background:var(--page-color);transform:rotate(-5deg);z-index:-2}
.specialty-page .hero-image::after{content:"";position:absolute;width:32%;aspect-ratio:1;left:-7%;bottom:-7%;border-radius:50%;background:var(--page-accent);z-index:-1}
.specialty-page .hero-image img{position:relative;z-index:0}
.specialty-page .hero-actions{margin-bottom:12px}
.specialty-page .nav-links .button-primary{background:var(--ink)}
.specialty-page .hero-actions .button-primary{background:var(--page-color);border-color:var(--page-color)}
.specialty-page .section-blue{background:var(--page-color);color:#fff}
.specialty-page .section-blue h2,.specialty-page .section-blue .section-heading h3{color:#fff}
.specialty-page .section-blue .eyebrow{color:#fff}
.specialty-page .section-blue .eyebrow::before{content:"";display:inline-block;width:25px;height:4px;background:var(--page-accent);margin-right:10px;vertical-align:middle}
.specialty-page .section-blue .lede,.specialty-page .section-blue .experience-summary p{color:#fff}
.specialty-page .section-cream{background:var(--cream)}
.specialty-page .other-card{background:#fff;color:var(--ink);border:0;border-top:5px solid var(--page-accent);border-radius:6px 6px 20px 20px;box-shadow:none}
.specialty-page .other-card:nth-child(2){border-top-color:#ff8257}
.specialty-page .other-card:nth-child(3){border-top-color:#bda3ff}
.specialty-page .other-card h3{color:var(--ink)}
.specialty-page .other-card p{color:var(--soft)}
.specialty-page .detail-number{background:var(--page-accent);color:var(--ink)}
.specialty-page .detail-note{background:var(--ink);color:#fff;border:0;border-left:5px solid var(--page-accent);border-radius:0 16px 16px 0}
.specialty-page .detail-note p{color:#fff}
.specialty-page .detail-note h3{color:var(--page-accent)}
.experience-summary{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px;align-items:start}
.experience-summary h2{margin-bottom:0}
.experience-summary p{font-size:1.0625rem;line-height:1.65;margin:0 0 16px;max-width:65ch}
.experience-summary p:last-child{margin-bottom:0}
.experience-summary .related-experiences{margin-top:16px}
.specialty-page :is(.specialty-faq,.pet-faq) h2{margin-bottom:22px}
.specialty-page :is(.specialty-faq,.pet-faq) details{border-top:1px solid var(--line);padding:19px 0}
.specialty-page :is(.specialty-faq,.pet-faq) summary{color:var(--ink);font-size:1.05rem;font-weight:750;cursor:pointer;line-height:1.45}
.specialty-page :is(.specialty-faq,.pet-faq) details p{font-size:1rem;line-height:1.6;color:var(--soft);margin:12px 0 0}
.specialty-page .section-blue :is(.specialty-faq,.pet-faq) :is(summary,details p){color:#fff}
.specialty-page .section-blue :is(.specialty-faq,.pet-faq) details{border-top-color:rgba(255,255,255,.35)}
.specialty-page .cta-panel{background:var(--ink);position:relative;isolation:isolate;overflow:hidden;border-radius:24px}
.specialty-page .cta-panel::before{content:"";position:absolute;right:-60px;top:-80px;width:220px;height:220px;border-radius:50%;background:var(--page-color);z-index:-1}
.specialty-page .cta-panel h2{color:#fff}
.specialty-page .cta-panel .eyebrow{color:var(--page-accent)}
.specialty-page .cta-panel .button{background:var(--page-accent);border-color:var(--page-accent);color:var(--ink)}
.specialty-page :is(a,summary):focus-visible{outline:3px solid var(--page-color);outline-offset:5px}
.specialty-page .section-blue :is(a,summary):focus-visible{outline-color:#fff}
.specialty-page .cta-panel a:focus-visible{outline-color:var(--page-accent)}
@media(max-width:920px){.specialty-page .hero-image{margin-top:10px;margin-bottom:12px}}
@media(max-width:680px){.specialty-page .wrap{width:calc(100% - 36px)}.specialty-page .hero-image::before{inset:-12px -17px -13px -11px}.specialty-page .hero-image::after{left:-3%;bottom:-7%;width:26%}.specialty-page .hero-image{width:calc(100% - 14px)}.experience-summary{grid-template-columns:1fr;gap:18px}.experience-summary p{font-size:1rem}.occasion-list{gap:8px}.specialty-page .hero-actions{gap:16px}.specialty-page .breadcrumb{font-size:.875rem}.specialty-page .button{white-space:normal;text-align:center;padding:10px 20px;line-height:1.35}.specialty-page .nav-links .button{padding:8px 12px;font-size:.875rem}.specialty-page .logo img{max-width:126px;height:auto}.specialty-page .nav{gap:10px}}
