@font-face{font-family:FlirtingWeb;src:url('fonts/FlirtingWeb.woff2?v=20261012-1') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#0d0711;--panel:#1c0d21;--line:#783059;--muted:#c6b1c1;--pink:#ff9bdc;--gradient:linear-gradient(110deg,#ef168e,#cf15ce);font-family:FlirtingWeb,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#60204742,transparent 38%),var(--bg);color:#fff0f9;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--pink);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;word-break:keep-all}p{word-break:keep-all}img{max-width:100%}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.skip{position:fixed;top:10px;left:15px;padding:8px 15px;background:var(--bg);transform:translateY(-180%);z-index:5}.skip:focus{transform:none}
.guide-header{display:flex;align-items:center;justify-content:space-between;padding-block:26px;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:2.2rem;font-weight:850;letter-spacing:-.05em;line-height:1}.brand span{display:block;margin-top:9px;font-size:.65rem;letter-spacing:.17em;font-weight:500;color:var(--pink)}.header-link{font-size:.9rem;border:1px solid var(--line);border-radius:7px;padding:9px 16px}.header-link:hover{border-color:var(--pink)}
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding-top:28px;color:var(--muted);font-size:.875rem}.breadcrumb a{color:var(--pink)}.guide-intro{padding:55px 0 58px}.eyebrow{color:#ff87d2;font-size:.75rem;letter-spacing:.18em;font-weight:700;margin-bottom:17px}h1{font-size:clamp(2.9rem,6vw,5.1rem);font-weight:850;letter-spacing:-.065em;margin-bottom:25px}h1 span{color:var(--pink);text-shadow:0 0 32px #ff42bb38}.intro-copy{color:#dec7d8;font-size:1.15rem;line-height:1.9}.intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 21px;border:1px solid #bd568e;border-radius:8px;background:#27112a;font-size:.9375rem;font-weight:650;line-height:1.6;text-align:center;transition:box-shadow .2s,border-color .2s}.button img{flex-shrink:0;width:24px;height:24px;object-fit:contain;border-radius:5px}.button.primary{background:var(--gradient);border-color:#f55dbc}.button:hover{border-color:#ffbbe6;box-shadow:0 0 22px #ee329844}.contents{display:flex;gap:12px;flex-wrap:wrap;border-block:1px solid var(--line);padding:20px 0;color:#e6c6db;font-size:.875rem}.contents a{padding:5px 13px;background:#321227;border-radius:5px}.contents a:hover{color:#ffabe0}
.guide-section{padding:70px 0;border-bottom:1px solid #6826507a}.section-heading{max-width:760px;margin-bottom:28px}.section-heading h2,.address-section h2{font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.045em;margin-bottom:18px}.section-heading>p:last-child{color:var(--muted);margin-bottom:0}.preparation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{background:linear-gradient(135deg,#251027,#170b1c);border:1px solid #ba4d9080;border-radius:13px;padding:27px;box-shadow:0 0 19px #e92fa911}.panel h3{color:#ffb0df;font-size:1.2rem;margin-bottom:15px}.panel p:last-child{margin-bottom:0}.number{display:block;color:#f04aac;font-size:.8rem;margin-bottom:23px;letter-spacing:.15em}.panel p{color:#e1cbdc}.cost-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.table-panel{border:1px solid #ba4d9080;border-radius:13px;overflow:hidden;align-self:start}table{border-collapse:collapse;width:100%;text-align:left}caption{text-align:left;padding:20px 23px;font-weight:700;background:#27122b}th,td{padding:16px 23px;vertical-align:top;border-top:1px solid #71315373}thead th{font-size:.875rem;color:#d9b8cf;font-weight:500}tbody th{white-space:nowrap;font-weight:600;font-size:.9375rem}td{color:var(--muted);font-size:.9375rem}.estimate h3{font-size:1.15rem}.estimate dl{margin:22px 0}.estimate dl div{display:flex;justify-content:space-between;gap:15px;margin-bottom:9px;color:#dec9d7}.estimate dd{margin:0;white-space:nowrap}.estimate-total{border-top:1px solid var(--line);padding-top:22px;font-size:3rem;font-weight:800;letter-spacing:-.05em;line-height:1.2;color:#ffb0df!important;margin-bottom:14px}.estimate-total span{font-size:1rem;margin-left:9px;letter-spacing:0}.muted{color:var(--muted)!important}.estimate .muted{font-size:.875rem}.estimate .button{margin-top:10px;width:100%}
.questions{border-top:1px solid var(--line)}.questions article{padding:26px 0;border-bottom:1px solid #65264765}.questions h3{font-size:1.125rem;color:#ffbae4;margin-bottom:12px}.questions p{max-width:920px;margin-bottom:0;color:#d9c2d3}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.message-panel{margin-top:24px;border-left:2px solid #ff64c5;padding:10px 0 10px 24px}.message-panel h3{font-size:1.1rem;color:#f7d9ee}.message-panel p{margin-bottom:0;line-height:2;color:var(--muted)}.address-section{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.address-brand{font-size:1.6rem;font-weight:750;margin-bottom:22px}.address-brand span{font-size:1rem;font-weight:400;color:var(--muted)}address{font-style:normal;font-size:1rem;line-height:1.9;word-break:keep-all}.text-link{display:inline-block;margin-top:24px;color:var(--pink);border-bottom:1px solid var(--line);font-size:.9375rem}.contact-phone{display:block;font-size:clamp(1.5rem,2.8vw,2.2rem);font-weight:800;letter-spacing:-.025em;margin-bottom:25px}.contact-links{display:flex;flex-wrap:wrap;gap:10px}.contact-links .button{padding-inline:15px;font-size:.875rem}.guide-footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:32px 45px;color:#af8da4;font-size:.875rem}.guide-footer>a{color:var(--pink)}.guide-footer p{margin:0}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.guide-header{padding-block:23px}.brand{font-size:1.9rem}.header-link{font-size:.875rem;padding:8px 12px}.guide-intro{padding:40px 0}.intro-copy{font-size:1rem}.intro-copy br{display:none}.guide-section{padding:48px 0}.preparation-grid{grid-template-columns:1fr}.number{margin-bottom:10px}.panel{padding:23px}.cost-layout,.visit-grid,.address-section{grid-template-columns:1fr}.cost-layout{gap:20px}.contents{gap:9px}.contents a{padding:5px 9px}th,td{padding:14px 17px}.address-section{gap:28px}.guide-footer{display:block}.guide-footer p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* October 2026: photographic hero and shared portrait/venue galleries. */
.guide-intro{position:relative;isolation:isolate;display:flex;align-items:center;min-height:610px;margin:28px 0 30px;padding:50px 48px;overflow:hidden;border:1px solid #d657b57a;border-radius:18px;box-shadow:0 0 30px #fc32bb1c;background:#160b18}
.guide-hero-media{position:absolute;inset:0;z-index:-2}
.guide-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 27%}
.guide-intro::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0d0711f2 0%,#0d0711b8 38%,#0d071133 70%),linear-gradient(0deg,#0d0711a6,transparent 65%)}
.guide-hero-copy{max-width:555px}
.guide-hero-copy .intro-copy{max-width:450px;color:#f1e0ed;text-shadow:0 2px 12px #0008}
.guide-hero-copy h1{text-shadow:0 3px 24px #0d071199}
.portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.portrait-grid figure,.venue-grid figure{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid #d65baf85;border-radius:12px;background:#201020;box-shadow:0 0 20px #e92fa919}
.portrait-grid figure{aspect-ratio:3/4}
.portrait-grid img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 16%}
.venue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.venue-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.venue-grid figcaption{position:absolute;bottom:0;left:0;right:0;padding:36px 20px 16px;background:linear-gradient(transparent,#100711ec);font-size:.9375rem;font-weight:600;color:#ffe3f5}
@media(max-width:800px){
  .guide-intro{min-height:650px;align-items:flex-end;margin:22px 0 25px;padding:28px 23px;border-radius:13px}
  .guide-hero-media img{object-position:52% 12%}
  .guide-intro::after{background:linear-gradient(180deg,#0d071119 0%,#0d071100 22%,#0d07118c 48%,#0d0711f5 87%)}
  .guide-hero-copy{max-width:none;width:100%}
  .guide-hero-copy h1{font-size:clamp(2.4rem,8.8vw,4rem);margin-bottom:14px;line-height:1.22}
  .guide-hero-copy .eyebrow{margin-bottom:12px;font-size:.6875rem}
  .guide-hero-copy .intro-copy{font-size:.9375rem;line-height:1.7;margin-bottom:0}
  .guide-hero-copy .intro-actions{margin-top:20px;gap:8px}
  .guide-hero-copy .button{padding:10px 12px;font-size:.875rem;min-height:46px}
  .portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .venue-grid{gap:12px}
  .venue-grid figcaption{padding:28px 10px 10px;font-size:.8125rem}
}
@media(max-width:390px){.guide-intro{padding-inline:18px}.guide-hero-copy .button{font-size:.8125rem;padding-inline:10px}.guide-hero-copy .intro-actions{gap:7px}}
