.card{background:var(--color-bg-surface);border-radius:var(--radius-xl);padding:clamp(2rem,4vw,3rem);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),opacity var(--transition-base),color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);border:none;display:flex;flex-direction:column;color:var(--color-text-secondary);content-visibility:auto;contain-intrinsic-size:auto 300px;will-change:transform;margin-block-start:var(--space-md)}@scope(.card-grid){:scope>.card:nth-child(odd){margin-inline-end:var(--space-lg)}:scope>.card:nth-child(2n){margin-inline-start:var(--space-lg)}}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md),0 0 0 1px #b20d8f1a}.card-compact{padding:var(--space-lg)}.card-elevated{box-shadow:var(--shadow-md);border:none}.card-outlined{background:transparent;border:2px solid oklch(52% .22 340 / .2);box-shadow:none}.grid-container{container-name:main-grid}.condition-list,.features-grid,.gallery-grid,.grid-container,.services-grid,.testimonials-grid{display:grid;gap:clamp(1.5rem,3vw,2.5rem);width:var(--content);margin:0 auto;container-type:inline-size}.condition-list,.features-grid,.gallery-grid,.services-grid,.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));container-name:component-grid}@container main-grid (max-width: 600px){.grid-container{grid-template-columns:1fr}}@container component-grid (max-width: 650px){.condition-list,.features-grid,.gallery-grid,.services-grid,.testimonials-grid{grid-template-columns:1fr}}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-size:var(--fs-small);font-weight:600;min-height:max(44px,1em * var(--lh-base))}@media(hover:hover)and (pointer:fine){.badge[role=button],.badge[tabindex="0"]{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.badge[role=button]:hover,.badge[tabindex="0"]:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}}@media(pointer:coarse){.badge[role=button],.badge[tabindex="0"]{padding-inline:var(--space-lg);min-height:48px}}.badge-primary{background:linear-gradient(135deg,#671b501a,#671b500d);color:var(--primary);border:1px solid rgba(103,27,80,.2)}.badge-support{background:var(--blush);color:var(--primary);border:1px solid rgba(103,27,80,.15)}.icon-box{width:clamp(48px,8vw,64px);height:clamp(48px,8vw,64px);background:linear-gradient(135deg,#671b5026,#671b5014);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg)}svg[role=img]{fill:currentcolor}svg[aria-hidden=true]{pointer-events:none}.icon{display:inline-block;width:1em;height:1em;vertical-align:middle}.icon-xs{width:12px;height:12px}.icon-sm{width:16px;height:16px}.icon-md{width:20px;height:20px}.icon-lg{width:24px;height:24px}.card-icon .icon-lg,.icon-xl{width:32px;height:32px}.card h3{color:var(--card-heading,#0f172a);font-family:Playfair Display,serif;font-size:var(--fs-h3);font-weight:700;margin-bottom:var(--space-md);line-height:var(--lh-tight)}.card p{color:var(--card-text,#334155);font-size:var(--fs-body);line-height:var(--lh-relaxed);margin-bottom:var(--space-lg)}@media(prefers-color-scheme:dark){.card h3{color:var(--card-heading,#fff)}.card p{color:var(--card-text,#e0d0e0)}}.card-link{color:#671b50;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:var(--space-xs);transition:transform var(--transition-fast),opacity var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);margin-top:auto;border-radius:var(--radius-sm)}.card-link:hover{color:#b94d8a;gap:var(--space-sm)}@media(prefers-color-scheme:dark){.card-link{color:#ffb6c1}.card-link:hover{color:pink}}.card .card-icon{width:clamp(56px,10vw,72px);height:clamp(56px,10vw,72px);background:linear-gradient(135deg,#e3977426,#671b5014);border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg)}.card .card-icon svg{width:32px;height:32px;stroke:var(--primary);stroke-width:1.5}.contact-form,.notice-box{background:var(--white);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.contact-form:has(:focus-visible),.notice-box:has(:focus-visible){box-shadow:var(--shadow-md),0 0 0 3px #671b5033}.form-group input,.form-group textarea{width:100%;padding:var(--space-sm) var(--space-md);border:none;border-bottom:2px solid var(--support);border-radius:0;background:transparent;min-height:48px;padding-inline:var(--space-md);padding-block:var(--space-sm)}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,white);outline-offset:2px;border-bottom-color:var(--primary);background:#671b5005}@media(prefers-reduced-data:reduce){.contact-form,.notice-box{background:var(--white);box-shadow:none;border:2px solid var(--warm-gray)}.form-group input,.form-group textarea{background:var(--white);border:2px solid var(--text-muted)}}.iframe-container{width:100%;max-height:75vh;overflow-y:auto;border-radius:var(--radius-md);background:var(--white);padding-bottom:4px}.accordion{display:grid;gap:var(--space-md)}.accordion-item{background:var(--white);border-radius:var(--radius-md);overflow:hidden}.accordion-trigger{width:100%;display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg);cursor:pointer;border:none;background:none;text-align:left;border-radius:var(--radius-md);min-height:48px;anchor-name:--accordion-trigger}.accordion-trigger:focus-visible{outline:3px solid var(--accent);outline-offset:-2px}@supports (anchor-name:--test){.accordion-trigger:before{content:attr(aria-label);position:absolute;bottom:anchor(top);left:anchor(center);translate:-50% calc(-100% - var(--space-sm));padding:var(--space-xs) var(--space-sm);background:var(--text-dark);color:var(--white);font-size:var(--fs-tiny);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.accordion-trigger:focus-visible:before,.accordion-trigger:hover:before{opacity:1}}@media(pointer:coarse){.accordion-trigger:before{display:none}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.glass{background:#ffffffb3;backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.3)}@media(prefers-reduced-transparency:reduce){.glass{background:var(--white);backdrop-filter:none;border:1px solid var(--warm-gray)}}.text-gradient{background:linear-gradient(135deg,var(--primary),var(--text-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--primary)}@media(prefers-contrast:more){.text-gradient{background:none;-webkit-text-fill-color:var(--primary);color:var(--primary)}}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline:before{content:"";position:absolute;inset-inline-start:40px;inset-block:0;width:2px;background:var(--blush)}.timeline-item{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);position:relative;flex-direction:row}.step-number{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;background:var(--primary);color:var(--text-on-plum);z-index:1;box-shadow:var(--shadow-sm);min-height:48px;min-width:48px}[dir=rtl] .timeline:before{inset-inline:auto 40px}@container (max-width: 600px){.timeline-item{flex-direction:column;gap:var(--space-md)}.timeline:before{inset-inline-start:24px}}@media(width<=768px){.condition-list,.grid-container,.services-grid{grid-template-columns:1fr}.timeline:before{inset-inline-start:28px}.iframe-container{max-height:70vh}.step-number{width:40px;height:40px}}@media(display-mode:standalone){.mobile-sticky-cta{padding-block-end:env(safe-area-inset-bottom)}}@media(display-mode:fullscreen){body{padding-block-start:env(safe-area-inset-top)}}.section-white{background:var(--white)}.section-blush{background:var(--blush)}.section-cream{background:var(--cream)}.section-plum{background:var(--primary);color:var(--text-on-plum)}.section-light{background:var(--light-bg)}.section-primary{background:var(--primary);color:var(--text-on-plum)}.shell{width:var(--content);margin:0 auto;padding-inline:var(--space-lg)}.stack>*+*{margin-top:var(--space-xl)}.surface{background:var(--white);box-shadow:var(--shadow-sm)}.surface,.surface-soft{border-radius:var(--radius-xl);padding:clamp(2rem,4vw,3rem);border:none}.surface-soft{background:var(--soft-plum)}.panel{transition:transform var(--transition-base),opacity var(--transition-base),color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.panel:hover{box-shadow:var(--shadow-md)}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(1.5rem,3vw,2rem);margin-top:var(--space-lg)}.image-card{margin:0;cursor:zoom-in;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;border-radius:12px;overflow:hidden;background:var(--surface-soft,#f3f4f6)}.image-card.is-loading{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.image-card.is-loaded img{opacity:1;transform:scale(1) translateY(0)}.image-card.is-error{background:#fef2f2;border:1px dashed #fca5a5}.image-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014}.image-card img{width:100%;height:auto;border-radius:var(--radius-md);display:block;opacity:0;transform:scale(.96) translateY(10px);animation:reveal-image linear both;animation-timeline:view();animation-range:entry 0 entry 40%}@keyframes reveal-image{to{opacity:1;transform:scale(1) translateY(0)}}.image-card figcaption{padding:var(--space-sm) 0;font-size:var(--fs-small);color:var(--text-muted);text-align:center}.image-card.is-focused{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(1);z-index:1000;max-width:90vw;max-height:90vh;background:var(--bg-main,#fff);padding:1.5rem;box-shadow:0 25px 50px -12px #00000040;cursor:zoom-out;border-radius:16px;margin:0}.image-card.is-focused img{width:100%;height:auto;max-height:75vh;object-fit:contain;border-radius:8px;animation:none;opacity:1;transform:none}.image-card.is-focused figcaption{text-align:center;margin-top:1rem;font-weight:500;color:var(--text-main,#111827);font-size:1rem;opacity:1;transform:none}.gallery-backdrop{position:fixed;inset:0;background:#111827d9;z-index:999;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.gallery-backdrop.is-active{opacity:1;pointer-events:auto}.gallery-close-btn,.gallery-next-btn,.gallery-prev-btn{position:fixed;z-index:1002;background:#fffffff2;border:none;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #0003;transition:transform .2s ease,background .2s ease,opacity .3s ease;color:var(--text-main,#111827)}.gallery-close-btn:hover,.gallery-next-btn:hover,.gallery-prev-btn:hover{background:#fff;transform:scale(1.1)}.gallery-close-btn:focus,.gallery-next-btn:focus,.gallery-prev-btn:focus{outline:2px solid #ec4899;outline-offset:2px}.gallery-close-btn{top:1.5rem;right:1.5rem}.gallery-prev-btn{top:50%;left:1.5rem;transform:translateY(-50%)}.gallery-prev-btn:hover{transform:translateY(-50%) scale(1.1)}.gallery-next-btn{top:50%;right:1.5rem;transform:translateY(-50%)}.gallery-next-btn:hover{transform:translateY(-50%) scale(1.1)}.gallery-counter{bottom:1.5rem;background:#fffffff2;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;color:var(--text-main,#111827);box-shadow:0 2px 8px #00000026}.gallery-caption-overlay,.gallery-counter{position:fixed;left:50%;transform:translate(-50%);z-index:1002}.gallery-caption-overlay{bottom:4rem;background:#111827d9;color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:500;max-width:90vw;text-align:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@media(width<=768px){.gallery-next-btn,.gallery-prev-btn{width:40px;height:40px}.gallery-prev-btn{left:.75rem}.gallery-next-btn{right:.75rem}.gallery-close-btn{top:.75rem;right:.75rem;width:40px;height:40px}.gallery-counter{bottom:1rem;font-size:.8rem}.gallery-caption-overlay{bottom:3.5rem;padding:.5rem 1rem;font-size:.85rem}}@media(prefers-reduced-motion:reduce){.image-card img,.image-card.is-loading{animation:none;opacity:1;transform:none}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation-duration:.01s}.gallery-backdrop,.gallery-close-btn,.gallery-next-btn,.gallery-prev-btn,.image-card{transition:none}.image-card:hover{transform:none}}@media(width<=600px){.image-card.is-focused{max-width:95vw;max-height:85vh;padding:1rem}.image-card.is-focused figcaption{font-size:.9rem}}.gallery-tour{display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:start;margin-top:2rem}.tour-nav{position:sticky;top:100px;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;background:var(--surface-soft,#f9fafb);border-radius:16px;border:1px solid var(--border-color,#e5e7eb);max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin}.tour-nav::-webkit-scrollbar{width:6px}.tour-nav::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}.tour-dot{text-decoration:none;color:var(--text-muted,#6b7280);font-size:.9rem;padding:.75rem 1rem;border-radius:8px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);display:block;border-left:3px solid transparent;font-weight:500}.tour-dot.active,.tour-dot:hover{color:var(--text-main,#111827);background:var(--surface-main,#fff);font-weight:600;box-shadow:0 2px 8px #0000000a;border-left-color:#ec4899}.tour-content{display:flex;flex-direction:column;gap:4rem}.tour-zone{scroll-margin-top:100px}@media(width<=1024px){.gallery-tour{grid-template-columns:1fr;gap:2rem}.tour-nav{position:static;flex-direction:row;overflow:auto hidden;padding:1rem;gap:.5rem;border-radius:12px;max-height:none;scrollbar-width:none}.tour-nav::-webkit-scrollbar{display:none}.tour-dot{white-space:nowrap;font-size:.85rem;padding:.6rem 1rem;border-left:none;border-bottom:3px solid transparent}.tour-dot.active,.tour-dot:hover{border-left-color:transparent;border-bottom-color:#ec4899}}.lead{font-size:var(--fs-h4);color:var(--text-body);max-width:var(--measure);margin:0}.lead,.lead-mini{line-height:var(--lh-relaxed)}.lead-mini{font-size:var(--fs-body);color:var(--text-muted)}.emergency-banner{display:none}.emergency-banner__marquee{display:flex;overflow:hidden;--offset:20vw;--move-initial:calc(-25% + var(--offset));--move-final:calc(-50% + var(--offset))}.emergency-banner__inner{width:fit-content;display:flex;position:relative;transform:translate3d(var(--move-initial),0,0);animation:marquee-scroll 15s linear infinite;animation-play-state:paused;padding:.75rem 0}.emergency-banner:hover .emergency-banner__inner{animation-play-state:running}.emergency-banner__message{padding:0 2rem;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.emergency-indicator{display:none}@keyframes pulse-emergency{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #dc2626b3}50%{opacity:.8;transform:scale(1.1);box-shadow:0 0 0 6px #dc262600}}@keyframes marquee-scroll{0%{transform:translate3d(var(--move-initial),0,0)}to{transform:translate3d(var(--move-final),0,0)}}.emergency-banner a{color:#b91c1c;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease;font-weight:700}.emergency-banner a:focus,.emergency-banner a:hover{color:#7f1d1d;text-decoration:none;outline:2px solid #dc2626;outline-offset:2px;border-radius:2px}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--primary);color:var(--white);padding:.75rem 1.5rem;border-radius:var(--radius-md);z-index:10000;font-weight:600;text-decoration:none;transition:top .3s ease}.skip-link:focus{top:10px;outline:3px solid var(--accent);outline-offset:2px}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--accent));width:0;z-index:9999;transition:width .1s ease-out}.mobile-nav-overlay{position:fixed;inset:0;background:#2d1b2e99;backdrop-filter:blur(4px);z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-nav-overlay.is-active{opacity:1;pointer-events:auto}.mobile-nav-panel{position:fixed;top:0;right:0;width:min(85vw,320px);height:100dvh;background:var(--white);z-index:999;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.mobile-nav-panel.is-open{transform:translate(0)}.mobile-nav-panel nav{padding:var(--space-lg);flex:1}.mobile-nav-panel nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.mobile-nav-panel nav a{display:block;padding:var(--space-md);color:var(--text-body);text-decoration:none;border-radius:var(--radius-md);transition:background .2s ease,color .2s ease}.mobile-nav-panel nav a:focus,.mobile-nav-panel nav a:hover{background:var(--soft-plum);color:var(--primary)}.close-mobile-menu{align-self:flex-end;margin:var(--space-md);background:transparent;border:none;cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-sm);color:var(--text-muted);transition:color .2s ease}.close-mobile-menu:focus,.close-mobile-menu:hover{color:var(--primary);background:var(--soft-plum)}@media(prefers-reduced-motion:reduce){.emergency-banner__inner{animation:none;transform:translate(0)}.emergency-banner__marquee{overflow-x:auto;-webkit-overflow-scrolling:touch}.emergency-indicator{animation:none;opacity:1}}@media(width<=768px){.emergency-banner{font-size:.8125rem}.emergency-banner__message{padding:0 1rem}}.form-wrapper{position:relative;padding-bottom:150%;background:#f8f9fa;border-radius:12px;overflow:hidden;border:1px solid #e1e4e8;box-shadow:0 4px 12px #0000000d}.form-wrapper,.form-wrapper:before{width:100%;transition:opacity .3s ease}.form-wrapper:before{content:"Loading secure form...";position:absolute;top:30%;text-align:center;color:#6b7280;font-family:Inter,sans-serif;z-index:1}.form-wrapper.is-loaded:before{opacity:0}.form-wrapper.is-error{border-color:#ef4444;background:#fef2f2}.form-wrapper.is-error:before{content:"Unable to load form. Please refresh or contact us.";color:#dc2626;font-weight:500}.form-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:2;background:#fff;opacity:0;transition:opacity .3s ease}.form-wrapper.is-loaded iframe{opacity:1}.mobile-sticky-cta{display:none;position:fixed;bottom:0;left:0;width:100%;padding:1rem;background:#fffffff2;backdrop-filter:blur(8px);box-shadow:0 -4px 12px #00000014;z-index:999;text-align:center;opacity:1;pointer-events:auto;transition:opacity .3s ease,transform .3s ease}.mobile-sticky-cta .btn-primary{display:block;width:100%;max-width:400px;margin:0 auto}@media(width<=768px){.mobile-sticky-cta{display:block}.form-wrapper{padding-bottom:200%}}.hidden{display:none}.text-center{text-align:center}.confidentiality-note{font-size:.85rem;color:#6b7280;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:8px}.og-card{background:linear-gradient(135deg,#fff5f8,#fcfaf7);border-radius:var(--radius-lg);padding:var(--space-xl);border:1px solid rgba(103,27,80,.1);box-shadow:var(--shadow-md);max-width:600px;margin:var(--space-lg) auto}.og-card-image{width:100%;aspect-ratio:1200/630;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.og-card-title{font-size:var(--fs-h3);color:var(--primary);margin-bottom:var(--space-sm);line-height:var(--lh-tight)}.og-card-description{font-size:var(--fs-body);color:var(--text-body);line-height:var(--lh-base);margin-bottom:var(--space-md)}.og-card-branding{display:flex;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid rgba(103,27,80,.1)}.og-card-logo{width:40px;height:40px;object-fit:contain}.og-card-clinic-name{font-weight:600;color:var(--primary);font-size:var(--fs-small)}.link-preview-card{display:flex;gap:var(--space-md);padding:var(--space-md);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--warm-gray);transition:transform var(--transition-fast),opacity var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.link-preview-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.link-preview-image{width:120px;height:120px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.link-preview-content{flex:1;min-width:0}.link-preview-title{font-size:var(--fs-h4);color:var(--primary);margin-bottom:var(--space-xs);text-wrap:pretty}.link-preview-description{font-size:var(--fs-small);color:var(--text-muted);line-height:var(--lh-base);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.link-preview-domain{font-size:var(--fs-tiny);color:var(--text-light);margin-top:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.hero-location-cta{margin-top:var(--space-lg);animation:fadeInUp .6s ease-out .3s both}.location-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#671b500d;border-radius:var(--radius-full);color:var(--text-body);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:transform var(--transition-base),opacity var(--transition-base),color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);border:1px solid rgba(103,27,80,.1)}.location-link:hover{background:#671b501a;transform:translate(4px);border-color:#671b5033}.location-link .arrow{width:14px;height:14px;opacity:0;transform:translate(-4px);transition:transform var(--transition-base),opacity var(--transition-base),color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.location-link:hover .arrow{opacity:1;transform:translate(0)}@media(prefers-color-scheme:dark){.location-link{background:#ffb7c51a;border-color:#ffb7c533;color:var(--text-dark)}.location-link:hover{background:#ffb7c526;border-color:#ffb7c54d}}.media-stage{position:relative;width:100%;aspect-ratio:16 / 10;background:var(--surface-soft, #f8fafc);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / .1))}.stage-viewport{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.stage-img{max-width:100%;max-height:100%;object-fit:contain;opacity:0;transform:scale(.98);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.stage-img[hidden]{display:none}.stage-img.active,.stage-img[style*="opacity: 1"]{opacity:1;transform:scale(1)}.stage-overlay{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(to top,rgb(0 0 0 / .7) 0%,transparent 100%);color:#fff;pointer-events:none;opacity:0;transform:translateY(1rem);transition:opacity .3s ease,transform .3s ease}.stage-img.active~.stage-overlay,.stage-viewport:hover .stage-overlay{opacity:1;transform:translateY(0)}.stage-caption{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;text-shadow:0 2px 4px rgb(0 0 0 / .3)}.stage-desc{font-size:1rem;opacity:.9;max-width:60ch}.stage-nav{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 1rem;pointer-events:none;z-index:10;transform:translateY(-50%)}.stage-nav-btn{width:48px;height:48px;border-radius:50%;background:#a61e63;border:2px solid rgb(236 72 153 / .3);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgb(236 72 153 / .3));transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);pointer-events:auto}.stage-nav-btn:hover:not(:disabled){background:#be185d;transform:scale(1.15);box-shadow:0 15px 30px -5px #ec489980;border-color:transparent}.stage-nav-btn:active:not(:disabled){transform:scale(.95)}.stage-nav-btn:disabled{opacity:.4;cursor:not-allowed;background:#94a3b880}.stage-nav-btn svg{width:28px;height:28px;stroke-width:2.5}@media(max-width:768px){.stage-nav-btn{width:44px;height:44px;background:#ec4899fa;box-shadow:0 8px 20px #ec489966}.stage-nav-btn.prev-btn{left:8px!important}.stage-nav-btn.next-btn{right:8px!important}.stage-nav-btn:hover:not(:disabled){transform:scale(1.1)}.stage-nav-btn svg{width:24px;height:24px}}.media-filmstrip{display:flex;gap:.75rem;padding:1rem 0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--primary, #ec4899) transparent;-webkit-overflow-scrolling:touch}.media-filmstrip::-webkit-scrollbar{height:6px}.media-filmstrip::-webkit-scrollbar-track{background:transparent}.media-filmstrip::-webkit-scrollbar-thumb{background:var(--primary, #ec4899);border-radius:3px}.filmstrip-thumb{flex:0 0 auto;width:100px;height:70px;border-radius:var(--radius-md, 8px);border:2px solid transparent;overflow:hidden;cursor:pointer;position:relative;background:var(--surface-soft, #f1f5f9);transition:transform .2s ease,opacity .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease;padding:0}.filmstrip-thumb:hover{border-color:var(--primary-muted, #f472b6);transform:scale(1.05)}.filmstrip-thumb.active{border-color:var(--primary, #ec4899);box-shadow:0 0 0 3px var(--primary-muted, #f472b633)}.filmstrip-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-meta{padding:4rem 0}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.meta-card{padding:2rem;background:var(--surface, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-sm, 0 1px 3px 0 rgb(0 0 0 / .1));border:1px solid var(--border-light, #e2e8f0)}.meta-card h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:.75rem}.meta-card p{color:var(--text-secondary, #64748b);line-height:1.6}.meta-btn{padding:1.75rem;background:transparent;border:2px solid var(--primary, #ec4899);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-sm, 0 1px 3px 0 rgb(236 72 153 / .1));cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);text-align:left;width:100%;position:relative;overflow:hidden}.meta-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ec48990d,#ec48991a);opacity:0;transition:opacity .3s ease}.meta-btn:hover:before{opacity:1}.meta-btn:hover{background:#a61e63;color:#fff;transform:translateY(-4px);box-shadow:0 8px 20px #ec48994d;border-color:transparent}.meta-btn:hover h3,.meta-btn:hover p{color:#fff}.meta-btn--ghost{background:transparent;border-color:var(--primary, #ec4899)}.meta-btn h3{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:.75rem;transition:color .3s ease;position:relative;z-index:1}.meta-btn p{color:var(--text-secondary, #64748b);line-height:1.6;transition:color .3s ease;position:relative;z-index:1}@media(max-width:768px){.meta-btn{padding:1.25rem}.meta-btn h3{font-size:1.1rem}.meta-btn p{font-size:.9rem}}@media(max-width:768px){.media-stage{aspect-ratio:4 / 3}.stage-nav{width:40px;height:40px}.stage-caption{font-size:1.25rem}.stage-desc{font-size:.875rem}.filmstrip-thumb{width:80px;height:56px}.meta-grid{grid-template-columns:1fr}}@media(max-width:768px){.stage-nav{padding:0 .5rem}.stage-nav-btn{width:44px;height:44px;background:#a61e63;color:#fff}.stage-nav-btn:hover:not(:disabled){background:#be185d}}@media(max-width:480px){.media-stage{aspect-ratio:1 / 1}.stage-overlay{padding:1rem}.stage-caption{font-size:1rem}}@media(prefers-reduced-motion:reduce){.stage-img,.stage-overlay,.stage-nav,.filmstrip-thumb{transition:none}.media-filmstrip{scroll-behavior:auto}}@media(prefers-contrast:high){.filmstrip-thumb.active{border-width:3px}.stage-nav{border:2px solid currentColor}}.section-title-card{max-width:600px;margin:2rem auto 1.5rem;text-align:center;opacity:0;transition:opacity .4s cubic-bezier(.4,0,.2,1);pointer-events:none}.section-title-card:not([hidden]){opacity:1}.section-title-text{font-size:1.5rem;font-weight:700;color:var(--color-primary, #007bff);margin-bottom:.75rem;letter-spacing:-.02em}.section-title-decoration{width:60px;height:4px;background:linear-gradient(90deg,transparent,var(--color-primary, #007bff),transparent);margin:0 auto;border-radius:2px;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.6;box-shadow:0 0 8px #007bff4d}50%{opacity:1;box-shadow:0 0 16px #007bff99}}@media(max-width:768px){.section-title-text{font-size:1.25rem}.section-title-card{margin:1.5rem auto 1rem}}@media(max-width:480px){.section-title-text{font-size:1.1rem}.section-title-decoration{width:40px;height:3px}}@media(prefers-reduced-motion:reduce){.section-title-card{transition:none}.section-title-decoration{animation:none}}
