:root{--ink:#261d23;--accent:#e6007e;--accent-dark:#e6007e;--accent-soft:#f4efe5;--gold:#e6007e}
.site-header{height:92px;min-height:92px;align-items:center;padding-top:0}.logo-link{width:360px;height:80px;overflow:visible;display:flex;align-items:center;flex-shrink:0}.logo-link img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.button:hover,.button:focus-visible{background:var(--accent-dark)}.nav-cta{border-color:var(--accent)}.nav-cta:hover,.nav-cta:focus-visible{background:var(--accent);border-color:var(--accent)}.booking-progress span.active{background:var(--accent);border-color:var(--accent)}.inline-link,.callout a,.contact-section address a{text-decoration-color:var(--accent);text-decoration-thickness:2px}.gallery-owned figcaption{border-left:4px solid var(--accent)}
.hero{background-image:linear-gradient(90deg,rgba(38,29,35,.92),rgba(38,29,35,.58) 50%,rgba(38,29,35,.12)),url('images/hero-raffaels.jpg');background-position:center}
.inline-link{display:inline-block;margin-top:1.2rem;font-weight:700;text-underline-offset:5px}
.gallery-owned{grid-template-columns:1.5fr 1fr;height:620px}.gallery-owned figure{position:relative;margin:0;overflow:hidden}.gallery-owned img{position:absolute;inset:0}.gallery-owned figcaption{position:absolute;left:24px;bottom:20px;background:rgba(38,29,35,.92);color:#fff;padding:.6rem .85rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.celebration-section{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;max-width:none;background:#f4efe5}.celebration-image img,.about-photo img{display:block;width:100%;height:auto;object-fit:cover}.celebration-image img{aspect-ratio:4/3}.celebration-section h2{font-size:clamp(2.7rem,4.5vw,4.8rem)}
.about{grid-template-columns:.9fr 1.1fr;align-items:center}.about-photo img{aspect-ratio:1/1;object-position:42% center}
.job-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:#fff}.details-strip{max-width:1240px;margin:auto;padding:2rem max(24px,4vw);display:grid;grid-template-columns:1fr 1fr;gap:5vw;border-bottom:1px solid rgba(19,35,29,.18)}.details-strip .eyebrow{margin-bottom:.4rem}.details-strip p:last-child{margin-bottom:0;font-size:.9rem;color:#59655f}
.contact-section{max-width:none;background:var(--ink);color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding-left:max(24px,calc((100vw - 1240px)/2 + 4vw));padding-right:max(24px,calc((100vw - 1240px)/2 + 4vw))}.contact-section h2{color:#fff}.contact-section address{font-style:normal;color:#ded8dc}.contact-section address a{color:#fff}.contact-form{background:#fff;color:var(--ink);padding:clamp(1.5rem,4vw,3.5rem);border-top:5px solid var(--accent)}.contact-form label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem}.contact-form input:not([type=checkbox]),.contact-form select{display:block;box-sizing:border-box;width:100%;height:46px;margin-top:6px;padding:0 12px;border:1px solid #ccc;border-radius:4px;background:#fff;color:#555;font:16px/20px Arial,sans-serif}.contact-form textarea{display:block;box-sizing:border-box;width:100%;min-height:145px;margin-top:6px;padding:12px;border:1px solid #ccc;border-radius:4px;color:#555;font:16px/1.45 Arial,sans-serif;resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);outline:2px solid #e6007e;outline-offset:1px}.contact-form .consent{display:flex;gap:.7rem;text-transform:none;letter-spacing:0;font-weight:400}.contact-form input[type=checkbox]{width:18px;height:18px;min-width:18px;margin:2px 0 0;padding:0;accent-color:var(--accent)}.contact-success{margin-top:1.3rem;padding:1rem;background:var(--accent-soft);color:var(--ink)}.contact-success p{margin:0}.footer-logo{display:block;width:240px;height:100px;overflow:hidden}.footer-logo img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}.social-links{display:flex!important;flex-direction:row!important;gap:.6rem}.social-links a{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.7);border-radius:50%}.social-links a:hover,.social-links a:focus-visible{background:#fff;color:var(--accent);border-color:#fff}.social-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-links a:first-child svg,.social-links .fill-dot{fill:currentColor;stroke:none}footer{grid-template-columns:1.4fr repeat(4,1fr);background:var(--accent);color:#fff}footer strong,footer a,footer .copyright{color:#fff}.copyright{border-top-color:rgba(255,255,255,.35)}
.brand-animation{display:grid;place-items:center;overflow:hidden;background:#1d1c21}.brand-animation video{display:block;width:100%;height:auto;max-height:min(70vh,760px);object-fit:cover}
@media(max-width:850px){.site-header{height:78px;min-height:78px;padding-top:0}.logo-link{width:285px;height:64px}.gallery-owned{grid-template-columns:1fr 1fr}.celebration-section,.about,.job-section,.contact-section{grid-template-columns:1fr}.about-photo img{aspect-ratio:16/10}.details-strip{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}}
@media(max-width:560px){.logo-link{width:245px;height:56px}.gallery-owned{grid-template-columns:1fr;height:auto}.gallery-owned figure{height:320px}.celebration-section{padding-left:24px;padding-right:24px}.contact-form{margin:0 -12px}.footer-logo{width:210px}}
@media(prefers-reduced-motion:reduce){.brand-animation{display:none}}
.footer-social{grid-column:2/-1;display:block!important;margin-top:.5rem}.footer-social>strong{display:block}.social-actions{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:wrap;gap:.65rem}.social-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.8);border-radius:50%;transition:background .2s,color .2s,transform .2s}.social-icon:hover,.social-icon:focus-visible{background:#fff;color:var(--accent);transform:translateY(-2px)}.social-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.social-icon:first-child svg,.social-icon .fill-dot{fill:currentColor;stroke:none}.google-review{display:inline-flex;align-items:center;gap:.55rem;min-height:42px;padding:.55rem 1rem;border:1px solid #fff;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.08em}.google-review:hover,.google-review:focus-visible{background:#fff;color:var(--accent)}.google-review svg{width:18px;height:18px;fill:currentColor;stroke:none}.legal-footer .footer-social{grid-column:auto;margin-top:1rem}.legal-footer .social-actions{justify-content:center}@media(max-width:850px){.footer-social{grid-column:1/-1}}@media(max-width:560px){.social-actions{align-items:flex-start!important}.google-review{width:100%;justify-content:center}}
.contact-routing{margin-top:1.5rem;padding:1.15rem 1.25rem;border-left:4px solid var(--accent);background:var(--cream)}.contact-routing strong{font-weight:800}.contact-routing a{font-weight:700;text-decoration-color:var(--accent);text-underline-offset:3px}.footer-contact-label{margin-top:.65rem;font-size:.64rem;font-weight:800;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.78)}footer a[href^="mailto:"]{overflow-wrap:anywhere}
