:root{--orange:#ef4b23;--cream:#fff8ed;--ink:#1c1814;--wine:#7c2939;--gold:#d9a34a;--muted:#756c63;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 "DM Sans",sans-serif}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button{font:inherit}.topbar{position:fixed;inset:0 0 auto;z-index:50;height:86px;display:flex;align-items:center;padding:10px 4vw;background:linear-gradient(rgba(16,12,9,.82),rgba(16,12,9,.2));color:#fff}.brand img{width:130px;height:62px;object-fit:contain;object-position:left;filter:drop-shadow(0 2px 8px #0008)}.nav{margin-left:auto;display:flex;align-items:center;gap:24px}.nav a{font-size:.9rem;font-weight:700}.languages{display:flex;margin-left:18px;border:1px solid #ffffff55;border-radius:99px;overflow:hidden}.languages button{border:0;background:transparent;color:#fff;padding:8px 10px;cursor:pointer}.languages button.active{background:#fff;color:#111}.menu-toggle{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:1.8rem}.btn{border:0;background:var(--orange);color:#fff;border-radius:999px;padding:14px 23px;font-weight:800;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;transition:.2s}.btn:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-small{padding:10px 17px}.btn-ghost{background:#ffffff18;border:1px solid #ffffff88}.btn-secondary{background:var(--wine)}.hero{height:min(920px,100vh);min-height:720px;position:relative;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#130d08d9 0%,#130d0870 48%,transparent),linear-gradient(0deg,#160d0670,transparent 50%)}.hero-content{position:absolute;left:8vw;bottom:15%;max-width:760px}.eyebrow{font-weight:800;letter-spacing:.18em;font-size:.78rem;color:var(--orange);margin:0 0 15px}h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.05;margin:0 0 20px}h1{font-size:clamp(4rem,8vw,7.6rem)}h2{font-size:clamp(2.5rem,5vw,4.8rem)}h3{font-size:1.8rem}.hero-copy{font-size:1.25rem;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.section{padding:105px max(5vw,20px)}.intro{text-align:center}.intro>h2{max-width:850px;margin:0 auto 50px}.place-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.place-card{height:620px;position:relative;border-radius:28px;overflow:hidden;text-align:left;color:#fff}.place-card>img{width:100%;height:100%;object-fit:cover}.card-shade{position:absolute;inset:0;background:linear-gradient(transparent 30%,#120c08ee)}.place-copy{position:absolute;inset:auto 34px 34px}.place-copy span{font-weight:800;letter-spacing:.2em}.place-copy h3{font-size:2.4rem;margin-top:12px}.place-copy a,.place-copy strong{color:#fff;font-weight:800}.split{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px;background:#fff}.split.reverse{grid-template-columns:.92fr 1.08fr}.split.reverse .feature-image{order:2}.feature-image img{height:100%;width:100%;object-fit:cover}.feature-copy{padding:9vw;align-self:center}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.chips span{background:#f2e7d8;padding:8px 13px;border-radius:99px;font-size:.85rem}.text-link{border:0;background:none;padding:0;color:var(--orange);font-weight:800;cursor:pointer;margin-right:18px}.rooftop-feature{background:#21130d}.rooftop-panel{position:relative;max-width:var(--max);height:760px;margin:auto;border-radius:30px;overflow:hidden;color:#fff}.rooftop-panel img{width:100%;height:100%;object-fit:cover}.rooftop-shade{position:absolute;inset:0;background:linear-gradient(90deg,#120906d9,transparent 70%)}.rooftop-copy{position:absolute;left:7%;bottom:10%;max-width:600px}.live{background:#142a30;color:#fff}.live-panel{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center}.live-badge{display:inline-flex;align-items:center;gap:8px;background:#e72828;padding:6px 11px;border-radius:99px;font-weight:800}.live-badge i{width:8px;height:8px;border-radius:50%;background:#fff}.cam-placeholder{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/9}.cam-placeholder img{width:100%;height:100%;object-fit:cover}.cam-ui{position:absolute;inset:18px 20px auto;display:flex;justify-content:space-between;font-size:.8rem}.play{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#ffffffd9;color:#111;font-size:1.4rem}.menu-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:var(--max);margin:auto}.menu-categories{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-categories span{padding:22px;border-radius:16px;background:#fff;border:1px solid #eadfce;font-weight:700}.story{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.story-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.story-gallery img{width:100%;height:340px;object-fit:cover;border-radius:22px}.story-gallery .wide{grid-column:1/-1;height:420px}.quote{font-family:"Playfair Display",serif;font-size:1.5rem;color:var(--wine)}.facts{display:grid;gap:10px;margin-top:25px}.facts div{display:flex;flex-direction:column;padding:15px 0;border-top:1px solid #dfd1c0}.facts span{color:var(--muted)}.memorial{background:#efe4d5;display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;align-items:center}.memorial-copy{max-width:540px;margin-left:auto}.memorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.memorial-grid img{width:100%;height:520px;object-fit:cover;border-radius:22px}.cta{height:650px;position:relative;color:#fff}.cta>img{width:100%;height:100%;object-fit:cover}.cta-shade{position:absolute;inset:0;background:#120c0875}.cta-copy{position:absolute;inset:50% auto auto 50%;translate:-50% -50%;text-align:center;width:min(800px,90%)}footer{background:#1a100b;color:#eee;padding:55px 5vw;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}footer>div{display:flex;flex-direction:column;gap:8px}.footer-brand img{width:150px}.footer-brand p{color:#aaa}dialog{width:min(850px,calc(100% - 24px));border:0;border-radius:28px;padding:45px;background:var(--cream);max-height:92vh}dialog::backdrop{background:#080503bb}.dialog-close{position:absolute;right:22px;top:14px;border:0;background:none;font-size:2rem;cursor:pointer}.booking-head{text-align:center}.booking-head h2{font-size:3rem}form{display:grid;gap:18px}label{display:grid;gap:7px;font-weight:700}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;border:1px solid #dacbb9;border-radius:14px;padding:16px;background:#fff;font:inherit}.success{text-align:center;padding:25px}.check{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:#dcece7;margin:auto;font-size:2rem}.send-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:24px 0}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}.booking-send-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn-line{background:#06c755;color:#fff}.btn-line:hover{filter:brightness(.96)}@media(max-width:900px){.topbar{height:74px}.brand img{width:100px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#1a100bf5;padding:24px;flex-direction:column}.nav.open{display:flex}.languages{margin-left:12px}.place-grid{grid-template-columns:1fr}.place-card{height:520px}.split,.split.reverse,.live-panel,.menu-section,.story,.memorial{grid-template-columns:1fr}.split.reverse .feature-image{order:0}.feature-image{height:500px}.story-gallery .wide{height:330px}.memorial-copy{margin:0}.memorial-grid img{height:390px}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.booking-send-options{grid-template-columns:1fr}.languages button{padding:7px}.section{padding:78px 16px}.hero-content{left:22px;right:22px}.hero-copy{font-size:1.05rem}.place-copy{left:24px;right:24px}.place-copy h3{font-size:2rem}.feature-copy{padding:70px 24px}.rooftop-panel{height:650px;border-radius:0}.rooftop-feature{padding-left:0;padding-right:0}.menu-categories{grid-template-columns:1fr}.story-gallery{grid-template-columns:1fr}.story-gallery .wide{grid-column:auto}.story-gallery img,.story-gallery .wide{height:360px}.memorial-grid{grid-template-columns:1fr}.memorial-grid img{height:440px}footer{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}dialog{padding:35px 20px}.booking-head h2{font-size:2.4rem}}
.cam-note{margin-top:24px;font-weight:700;color:#c9dadd}.life{background:#fff8ed}.life-head{max-width:800px;margin:0 auto 42px;text-align:center}.life-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.life-grid figure{margin:0;position:relative;height:390px;border-radius:22px;overflow:hidden;background:#eee}.life-grid figure.life-wide{grid-column:span 2}.life-grid img{width:100%;height:100%;object-fit:cover}.life-grid figcaption{position:absolute;left:16px;bottom:16px;background:#fffdf5e8;color:#21130d;padding:8px 13px;border-radius:999px;font-weight:800;font-size:.82rem;backdrop-filter:blur(8px)}
@media(max-width:900px){.life-grid{grid-template-columns:1fr 1fr}.life-grid figure.life-wide{grid-column:span 2}}
@media(max-width:600px){.booking-send-options{grid-template-columns:1fr}.life-grid{grid-template-columns:1fr}.life-grid figure,.life-grid figure.life-wide{grid-column:auto;height:360px}}

/* Friends of Siri's guest gallery */
.friends{background:#fff;text-align:center}.friends-head{max-width:820px;margin:0 auto 42px}.friends-head>p:last-child{max-width:700px;margin:0 auto;color:var(--muted);font-size:1.08rem}.friends-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.friends-photo{position:relative;display:block;overflow:hidden;border-radius:24px;background:#eee;min-height:420px}.friends-photo:first-child{grid-column:span 2}.friends-photo img{width:100%;height:100%;min-height:420px;max-height:620px;object-fit:cover;transition:transform .35s ease}.friends-photo:hover img{transform:scale(1.025)}.friends-photo span{position:absolute;left:18px;bottom:18px;background:#fffdf5e8;color:#21130d;padding:9px 14px;border-radius:999px;font-weight:800;font-size:.84rem;backdrop-filter:blur(8px)}.friends-note{margin:20px auto 0;color:var(--muted);font-size:.85rem}.friends-grid:has(.friends-photo:only-child){grid-template-columns:minmax(0,760px);justify-content:center}.friends-grid:has(.friends-photo:only-child) .friends-photo:first-child{grid-column:auto}
@media(max-width:900px){.friends-grid{grid-template-columns:1fr 1fr}.friends-photo:first-child{grid-column:span 2}}
@media(max-width:600px){.friends-grid{grid-template-columns:1fr}.friends-photo,.friends-photo:first-child{grid-column:auto;min-height:0}.friends-photo img{min-height:0;max-height:none;aspect-ratio:3/4;object-fit:cover}}

/* Google Maps location */
.location-section{background:#f3eadc}.location-head{max-width:820px;margin:0 auto 36px;text-align:center}.location-head>p:last-child{color:var(--muted);font-size:1.08rem}.location-map{max-width:var(--max);margin:auto;border-radius:26px;overflow:hidden;box-shadow:0 20px 55px #3b241522;background:#ddd}.location-map iframe{display:block;width:100%;height:480px;border:0}.location-actions{display:flex;justify-content:center;margin-top:28px}@media(max-width:600px){.location-map{border-radius:18px}.location-map iframe{height:380px}.location-actions .btn{width:100%;max-width:420px}}

/* V4 language selector: always visible in header */
.languages{display:flex;align-items:center;margin-left:10px;border:1px solid #ffffff66;border-radius:999px;overflow:hidden;flex-shrink:0}
.languages button{border:0;background:transparent;color:#fff;padding:8px 10px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.languages button.active{background:#fff;color:#1a100b}
@media(max-width:900px){.nav .languages{order:-1;margin:0 0 8px 0;align-self:flex-start}.nav .languages button{padding:9px 14px}}

/* V4.1 About Siri facts */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.facts div{padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.05)}
.facts strong,.facts span{display:block}.facts span{margin-top:5px;font-size:.82rem;opacity:.72}
@media(max-width:720px){.facts{grid-template-columns:1fr}}
