*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold:#d4af37;--gold-light:#f2d675;--gold-pale:#d4af371a;--gold-dark:#9c7c2c;--black:#050505;--black-soft:#0c0c0c;--black-card:#111;--black-border:#222;--white:#fff;--off-white:#f5f0e8;--text-muted:#aaa;--font-heading:"Playfair Display", Georgia, serif;--font-cursive:"Great Vibes", cursive;--font-body:"Cormorant Garamond", "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth;min-width:320px;overflow-x:clip}body{font-family:var(--font-body);background-color:var(--black);color:var(--off-white);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.7;overflow-x:hidden}section[id]{scroll-margin-top:clamp(74px,11vw,104px)}::selection{background:var(--gold);color:var(--black)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--black)}::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:3px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.section{padding:clamp(3.5rem,8vw,7rem) 1.5rem}.section--soft{background:var(--black-soft)}.section__inner{text-align:center;max-width:1000px;margin:0 auto}.section-title{font-family:var(--font-heading);color:var(--gold);letter-spacing:.05em;margin-bottom:.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:500}.section-subtitle{font-family:var(--font-cursive);color:var(--text-muted);margin-bottom:.25rem;font-size:clamp(1.3rem,2.5vw,1.9rem)}.gold-divider{justify-content:center;align-items:center;gap:1rem;max-width:280px;margin:1.2rem auto 2.5rem;display:flex}.gold-divider:before,.gold-divider:after{content:"";background:linear-gradient(to right, transparent, var(--gold), transparent);flex:1;height:1px}.gold-divider span{color:var(--gold);letter-spacing:.3em;font-size:.7rem}.btn{font-family:var(--font-heading);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border:2px solid var(--gold);touch-action:manipulation;min-height:48px;padding:1rem 2.5rem;font-size:.78rem;text-decoration:none;transition:all .3s;display:inline-block}.btn--gold{background:var(--gold);color:var(--black)}.btn--gold:hover{color:var(--gold);background:0 0}.btn--outline{color:var(--gold);background:0 0;border-color:#d4af3780}.btn--outline:hover{border-color:var(--gold);background:#d4af370d}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}img,iframe,video{max-width:100%;height:auto;display:block}@media (width<=600px){body{font-size:16px}section[id]{scroll-margin-top:calc(74px + env(safe-area-inset-top,0px))}.btn{text-align:center;width:100%;padding:.9rem 1rem;display:block}.gold-divider{max-width:220px}}@media (width<=400px){body{font-size:15px}.section-title{font-size:clamp(1.6rem,5vw,2.2rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.nav,.hero__canvas,.hero__bg-text,.hero__scroll,.hero__actions,.attendance,.condolences__form{display:none!important}.condolences__layout{display:block!important}.condolences__book{max-height:none!important;overflow:visible!important}.condolence{break-inside:avoid;background:#fff!important;border:1px solid #bbb!important}.condolence__text{color:#1a1a1a!important}.condolence__name{color:#6b5312!important}body{font-size:12pt;color:#1a1a1a!important;background:#fff!important}.hero,.section,.section--soft,.services,.attending,.footer{background:#fff!important;border:0!important;min-height:0!important;padding:1.2rem 0!important}.hero__portrait{-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid;box-shadow:none!important;background:0 0!important;border:1px solid #6b5312!important}.hero__portrait img{-webkit-print-color-adjust:exact;print-color-adjust:exact;filter:none!important}.service-card,.attending__card,.footer__enquiry{break-inside:avoid;background:#fff!important;border:1px solid #bbb!important}.gallery__viewport{margin-inline:0!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}.gallery__track{grid-template-columns:repeat(3,1fr)!important;gap:.5rem!important;width:auto!important;animation:none!important;display:grid!important;transform:none!important}.gallery__item[aria-hidden=true]{display:none!important}.gallery__item{width:auto!important}.gallery__hint{display:none!important}.gallery__frame{break-inside:avoid;background:#fff!important;border:1px solid #bbb!important}.gallery__frame img{-webkit-print-color-adjust:exact;print-color-adjust:exact;filter:none!important}.gallery__caption{color:#444!important}.service-card__time,.hero__monogram,.footer__monogram,.hero__years,.section-title,.services__verse p,.tribute__quote,.footer__love,.footer__enquiry-phone{color:#6b5312!important;text-shadow:none!important}.hero__name,.hero__pre,.service-card__venue,.footer__name,.footer__enquiry-name{color:#1a1a1a!important}.services__tagline,.tribute__body,.attending__body,.service-card__note,.service-card__address,.footer__closing,.section-subtitle{color:#444!important}.services__verse,.tribute__quote,.footer__inner{break-inside:avoid}}.nav{z-index:100;width:100%;padding:calc(.7rem + env(safe-area-inset-top,0px)) 3rem .7rem;background:0 0;justify-content:space-between;align-items:center;transition:transform .4s,background .4s;display:flex;position:fixed;top:0;left:0;transform:translateY(-100%)}.nav--visible{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050505f5;border-bottom:1px solid #d4af3733;transform:translateY(0)}.nav-brand{font-family:var(--font-cursive);color:var(--gold);font-size:2.2rem;line-height:1;text-decoration:none}.nav-links{gap:2.5rem;list-style:none;display:flex}.nav-links a{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:var(--off-white);font-size:.82rem;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--gold)}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.nav-toggle span{background:var(--gold);width:24px;height:1.5px;transition:all .3s;display:block}.nav-toggle.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@media (width<=900px){.nav{padding:calc(.65rem + env(safe-area-inset-top,0px)) 1rem .65rem}.nav-brand{font-size:1.9rem}.nav-toggle{display:flex}.nav-links{width:100%;padding:1.2rem 1rem calc(1.4rem + env(safe-area-inset-bottom,0px));max-height:calc(100svh - 64px - env(safe-area-inset-top,0px));transform-origin:top;background:#050505fa;flex-direction:column;align-items:center;gap:1.5rem;transition:transform .3s;position:absolute;top:100%;left:0;overflow-y:auto;transform:scaleY(0)}.nav-links.open{transform:scaleY(1)}.nav-links a{font-size:.9rem}}@media (width<=420px){.nav-brand{font-size:1.65rem}}.hero{background:radial-gradient(at 50% 55%,#170f00 0%,#050505 65%);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding-bottom:5rem;display:flex;position:relative;overflow:hidden}.hero__canvas{pointer-events:none;z-index:1;position:absolute;inset:0}.hero__bg-text{font-family:var(--font-heading);color:#d4af3709;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:0;font-size:42vw;font-weight:700;line-height:.85;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero__main{z-index:2;flex:1;justify-content:center;align-items:center;width:100%;margin:0 auto;padding:3rem 2rem 1rem;display:flex;position:relative}.hero__content{z-index:2;text-align:center;max-width:920px;padding:2rem;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__pre{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--off-white);margin-bottom:1.5rem;font-size:clamp(.9rem,1.4vw,1.05rem);font-style:italic;animation:1.4s .15s both fadeUp}.hero__portrait{aspect-ratio:4/5;background:linear-gradient(160deg,#d4af3729,#d4af3705);border:1px solid #d4af378c;border-radius:50% 50% 6px 6px/30% 30% 2% 2%;width:clamp(190px,34vw,290px);margin:0 auto 1.4rem;padding:6px;animation:1.4s .25s both fadeUp;box-shadow:0 0 60px #d4af372e,0 24px 60px -24px #000000e6}.hero__portrait img{object-fit:cover;object-position:center 22%;border-radius:inherit;filter:grayscale(.18)contrast(1.03);width:100%;height:100%}.hero__monogram{font-family:var(--font-cursive);color:var(--gold);text-shadow:0 0 50px #d4af3773,0 0 110px #d4af3733;margin-bottom:.25rem;font-size:clamp(5.5rem,14vw,11rem);line-height:1;animation:1.4s .25s both fadeUp}.hero__rule{align-items:center;gap:1rem;max-width:360px;margin:.8rem auto;animation:1.4s .35s both fadeUp;display:flex}.hero__rule-line{background:linear-gradient(to right, transparent, var(--gold), transparent);flex:1;height:1px}.hero__rule-gem{color:var(--gold);font-size:.45rem}.hero__name{font-family:var(--font-heading);color:var(--off-white);letter-spacing:.12em;margin-bottom:.4rem;font-size:clamp(1.9rem,5vw,3.6rem);font-weight:400;animation:1.4s .45s both fadeUp}.hero__known-as{font-family:var(--font-cursive);color:var(--gold-light);margin-bottom:.6rem;font-size:clamp(1.6rem,3.5vw,2.6rem);animation:1.4s .55s both fadeUp}.hero__years{font-family:var(--font-heading);letter-spacing:.22em;color:var(--gold);font-variant-numeric:lining-nums tabular-nums;margin-bottom:.6rem;font-size:clamp(1.1rem,2.4vw,1.8rem);font-weight:500;animation:1.4s .65s both fadeUp}.hero__lifespan{font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-light);justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;font-size:clamp(.9rem,1.6vw,1.1rem);animation:1.4s .75s both fadeUp;display:flex}.hero__dot{color:var(--gold);font-size:.38rem}.hero__roles{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2.6rem;font-size:clamp(.82rem,1.6vw,1rem);font-weight:300;animation:1.4s .85s both fadeUp}.hero__verse{max-width:44ch;margin:0 auto 2.6rem;animation:1.4s .9s both fadeUp}.hero__verse p{font-family:var(--font-body);color:var(--gold-light);text-wrap:balance;font-size:clamp(1.05rem,2.2vw,1.35rem);font-style:italic;line-height:1.7}.hero__verse cite{font-family:var(--font-heading);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-top:.9rem;font-size:.72rem;font-style:normal;display:block}.hero__actions{flex-wrap:wrap;justify-content:center;gap:1rem;animation:1.4s 1s both fadeUp;display:flex}.hero__scroll{font-family:var(--font-heading);letter-spacing:.35em;text-transform:uppercase;color:var(--gold-light);z-index:2;flex-direction:column;align-items:center;gap:.5rem;margin-top:auto;padding-bottom:.5rem;font-size:.72rem;animation:1.4s 1.4s both fadeUp;display:flex;position:relative}.hero__scroll-line{background:linear-gradient(to bottom, var(--gold), transparent);width:1px;height:52px;animation:1.6s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.9)}50%{opacity:1;transform:scaleY(1)}}@media (width<=600px){.hero{min-height:100svh;padding-bottom:3.5rem}.hero__main{padding:1.5rem 1rem .5rem}.hero__content{padding:1.2rem}.hero__pre{letter-spacing:.1em;margin-bottom:.8rem}.hero__monogram{margin-bottom:0}.hero__portrait{width:clamp(160px,46vw,220px);margin-bottom:1rem}.hero__name{letter-spacing:.04em;margin-bottom:.2rem}.hero__known-as{margin-bottom:.3rem}.hero__years{letter-spacing:.12em}.hero__lifespan{letter-spacing:.1em;flex-direction:column;gap:.3rem}.hero__dot{display:none}.hero__roles{letter-spacing:.1em;margin-bottom:2rem}.hero__actions{flex-direction:column;align-items:center;width:100%}.hero__actions .btn{text-align:center;width:100%;max-width:280px}.hero__scroll{display:none}}.services{background:var(--black)}.services__tagline{font-family:var(--font-body);color:var(--text-muted);text-wrap:pretty;max-width:62ch;margin:0 auto 3.5rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.9}.services__grid{text-align:center;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.2rem;list-style:none;display:grid}.service-card{background:var(--black-card);border:1px solid var(--black-border);padding:clamp(1.8rem,4vw,3rem) clamp(1.2rem,3vw,2rem);transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.service-card:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.service-card:hover{border-color:#d4af374d;transform:translateY(-5px)}.service-card:hover:after{opacity:1}.service-card__icon{color:var(--gold-dark);margin-bottom:1.2rem;font-size:1.4rem;display:block}.service-card__label{font-family:var(--font-heading);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;font-size:.78rem}.service-card__time{font-family:var(--font-heading);color:var(--gold);font-variant-numeric:lining-nums tabular-nums;text-shadow:0 0 20px #d4af3740;margin-bottom:.7rem;font-size:clamp(2.8rem,6vw,4rem);font-weight:700;line-height:1}.service-card__day{font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--off-white);overflow-wrap:anywhere;font-size:.95rem;line-height:1.45}.service-card__rule{background:linear-gradient(to right, transparent, var(--gold-dark), transparent);width:60px;height:1px;margin:1.6rem auto}.service-card__venue{font-family:var(--font-heading);color:var(--off-white);margin-bottom:.3rem;font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:500}.service-card__address{font-family:var(--font-body);color:var(--text-muted);overflow-wrap:anywhere;margin-bottom:1.2rem;font-size:1rem}.service-card__note{font-family:var(--font-body);color:#bbb;text-wrap:pretty;overflow-wrap:anywhere;font-size:1rem;font-style:italic;line-height:1.8}@media (width<=600px){.service-card__time{font-size:clamp(2.2rem,12vw,3rem)}.service-card__day{letter-spacing:.08em;font-size:.86rem}}.services__verse{max-width:52ch;margin:clamp(3rem,6vw,4.5rem) auto 0}.services__verse p{font-family:var(--font-body);color:var(--gold-light);text-wrap:balance;font-size:clamp(1.2rem,2.4vw,1.6rem);font-style:italic;line-height:1.7}.services__verse cite{font-family:var(--font-heading);letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted);margin-top:1rem;font-size:.74rem;font-style:normal;display:block}.tribute__inner{max-width:800px}.tribute__body{font-family:var(--font-body);color:var(--text-muted);text-align:left;text-wrap:pretty;margin-bottom:1.3rem;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.95}.tribute__body em{color:var(--gold-light);font-style:italic}.tribute__body strong{color:var(--off-white);font-weight:500}.tribute__quote{font-family:var(--font-cursive);color:var(--gold);border-left:2px solid var(--gold-dark);text-align:left;margin-top:2.5rem;padding-left:1.5rem;font-size:clamp(1.4rem,2.2vw,1.9rem)}.gallery{background:var(--black);border-top:1px solid #d4af371a}.gallery .section__inner{max-width:1100px}.gallery__intro{font-family:var(--font-body);color:var(--text-muted);text-wrap:pretty;max-width:54ch;margin:0 auto 3rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.9}.gallery__viewport{scroll-behavior:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:-1.5rem;position:relative;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.gallery__viewport::-webkit-scrollbar{display:none}.gallery__track{gap:1.1rem;width:max-content;padding:.5rem 0;list-style:none;display:flex}.gallery__item{flex-shrink:0;width:clamp(190px,24vw,250px);display:flex}.gallery__hint{font-family:var(--font-body);color:var(--text-muted);text-align:center;margin-top:1.4rem;font-size:.95rem;font-style:italic}.gallery__frame{background:var(--black-card);border:1px solid var(--black-border);cursor:pointer;width:100%;padding:8px 8px 0;transition:border-color .35s,transform .35s;display:block;position:relative;overflow:hidden}.gallery__frame:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;height:2px;transition:opacity .35s;position:absolute;top:0;left:0;right:0}.gallery__frame:hover,.gallery__frame:focus-visible{border-color:#d4af3766;transform:translateY(-4px)}.gallery__frame:hover:after,.gallery__frame:focus-visible:after{opacity:1}.gallery__frame img{aspect-ratio:4/5;object-fit:cover;object-position:center 25%;filter:grayscale(.35)brightness(.88);width:100%;transition:filter .45s,transform .6s;display:block}.gallery__frame:hover img,.gallery__frame:focus-visible img{filter:grayscale(0)brightness();transform:scale(1.03)}.gallery__caption{font-family:var(--font-body);color:var(--text-muted);text-align:center;padding:.85rem .4rem .9rem;font-size:.98rem;font-style:italic;line-height:1.5;transition:color .35s;display:block}.gallery__frame:hover .gallery__caption,.gallery__frame:focus-visible .gallery__caption{color:var(--gold-light)}.gallery__lb{z-index:999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000f5;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.gallery__lb-close{color:var(--gold);cursor:pointer;z-index:1001;background:0 0;border:1px solid #d4af3759;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:background .2s,border-color .2s;display:flex;position:fixed;top:1.2rem;right:1.5rem}.gallery__lb-close:hover{border-color:var(--gold);background:#d4af371f}.gallery__lb-stage{flex-direction:column;align-items:center;gap:1rem;max-width:90vw;max-height:86vh;display:flex}.gallery__lb-img{object-fit:contain;border:1px solid #d4af3740;width:auto;max-width:100%;height:auto;max-height:78vh;animation:.25s lbFade;display:block}@keyframes lbFade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.gallery__lb-caption{font-family:var(--font-body);color:var(--gold-light);text-align:center;max-width:46ch;font-size:1.1rem;font-style:italic}.gallery__lb-nav{color:var(--gold);cursor:pointer;z-index:1001;background:0 0;border:1px solid #d4af374d;justify-content:center;align-items:center;width:52px;height:52px;font-size:2.5rem;line-height:1;transition:background .2s,border-color .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.gallery__lb-nav:hover{border-color:var(--gold);background:#d4af371a}.gallery__lb-prev{left:1rem}.gallery__lb-next{right:1rem}.gallery__lb-count{font-family:var(--font-heading);letter-spacing:.2em;color:var(--text-muted);z-index:1001;white-space:nowrap;font-size:.8rem;position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%)}@media (width<=600px){.gallery__item{width:clamp(150px,52vw,190px)}.gallery__track{gap:.7rem}.gallery__caption{padding:.6rem .3rem .7rem;font-size:.88rem}.gallery__lb-nav{width:40px;height:40px;font-size:1.8rem}.gallery__lb-prev{left:.4rem}.gallery__lb-next{right:.4rem}.gallery__lb-stage{max-width:96vw}.gallery__lb-img{max-height:70vh}.gallery__lb-caption{font-size:.95rem}}.attending{background:var(--black-soft);border-top:1px solid #d4af371a}.attending__grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1.2rem;display:grid}.attending__card{background:var(--black-card);border:1px solid var(--black-border);padding:clamp(1.6rem,4vw,2.6rem) clamp(1.2rem,3vw,2rem);transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.attending__card:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.attending__card:hover{border-color:#d4af374d;transform:translateY(-5px)}.attending__card:hover:after{opacity:1}.attending__icon{color:var(--gold-dark);margin-bottom:1.2rem;font-size:1.4rem;display:block}.attending__label{font-family:var(--font-heading);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;font-size:.78rem}.attending__body{font-family:var(--font-body);color:var(--text-muted);text-wrap:pretty;font-size:1.05rem;line-height:1.85}.attendance{background:var(--black-soft);border-top:1px solid #d4af371a}.attendance .section__inner{max-width:760px}.attendance__intro{font-family:var(--font-body);color:var(--text-muted);text-wrap:pretty;max-width:58ch;margin:0 auto 1rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.9}.attendance__deadline{font-family:var(--font-body);color:#ccc;margin-bottom:3rem;font-size:1.1rem}.attendance__deadline strong{color:var(--gold-light);font-weight:500}.attendance__form{text-align:left;flex-direction:column;gap:1.6rem;display:flex}.attendance__row{grid-template-columns:1fr 1fr;gap:1.6rem;display:grid}.attendance__field{flex-direction:column;gap:.55rem;display:flex}.attendance__field label{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.8rem}.attendance__field label span{color:var(--text-muted);letter-spacing:.1em;text-transform:none;font-style:italic}.attendance__field input,.attendance__field select,.attendance__field textarea{background:var(--black-card);border:1px solid var(--black-border);color:var(--off-white);font-family:var(--font-body);appearance:none;resize:vertical;border-radius:0;outline:none;width:100%;min-height:48px;padding:.9rem 1rem;font-size:1.05rem;transition:border-color .3s}.attendance__field input::placeholder,.attendance__field textarea::placeholder{color:#4a4a4a}.attendance__field input:focus,.attendance__field select:focus,.attendance__field textarea:focus{border-color:var(--gold-dark)}.attendance__field select:disabled{opacity:.4;cursor:not-allowed}.attendance__error{font-family:var(--font-body);color:#e0838f;border-left:2px solid #e0838f;padding-left:1rem;font-size:1rem}.attendance__submit{align-self:center;margin-top:.5rem;padding:1.1rem 3.5rem}.attendance__thanks{padding:3rem 0}.attendance__gem{color:var(--gold);margin-bottom:1.5rem;font-size:2.5rem;animation:2s infinite gemPulse}@keyframes gemPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.attendance__thanks p{font-family:var(--font-body);color:var(--text-muted);max-width:46ch;margin:1rem auto 2.5rem;font-size:1.15rem}.attendance__reset{font-size:.72rem;font-family:var(--font-heading);background:0 0}@media (width<=600px){.attendance__field input,.attendance__field select,.attendance__field textarea{font-size:16px}.attendance__row{grid-template-columns:1fr;gap:1.2rem}.attendance__form{gap:1.2rem}.attendance__submit{width:100%;max-width:320px;padding:1.1rem 2rem}}.condolences{background:var(--black);border-top:1px solid #d4af371a}.condolences .section__inner{max-width:1100px}.condolences__intro{font-family:var(--font-body);color:var(--text-muted);text-wrap:pretty;max-width:58ch;margin:0 auto 3.5rem;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.9}.condolences__layout{text-align:left;grid-template-columns:1.15fr 1fr;align-items:start;gap:2rem;display:grid}.condolences__book{max-height:620px;padding-right:.75rem;overflow-y:auto}.condolences__list{gap:1rem;list-style:none;display:grid}.condolence{background:var(--black-card);border:1px solid var(--black-border);padding:1.8rem 1.8rem 1.5rem;transition:border-color .3s;position:relative}.condolence:hover{border-color:#d4af3740}.condolence__quote{font-family:var(--font-heading);color:#d4af372e;pointer-events:none;font-size:4rem;line-height:1;position:absolute;top:.1rem;left:.9rem}.condolence__text{font-family:var(--font-body);color:var(--off-white);text-wrap:pretty;overflow-wrap:anywhere;margin-bottom:1rem;font-size:1.1rem;font-style:italic;line-height:1.85;position:relative}.condolence__name{font-family:var(--font-heading);letter-spacing:.06em;color:var(--gold-light);font-size:.95rem}.condolence__date{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem;font-size:.68rem}.condolences__empty{font-family:var(--font-body);color:var(--text-muted);border:1px dashed var(--black-border);text-align:center;padding:3rem 2rem;font-size:1.1rem;font-style:italic}.condolences__form{background:var(--black-card);border:1px solid var(--black-border);flex-direction:column;gap:1.3rem;padding:clamp(1.6rem,3vw,2.4rem);display:flex;position:sticky;top:6rem}.condolences__form-title{font-family:var(--font-heading);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.82rem;font-weight:500}.condolences__field{flex-direction:column;gap:.5rem;display:flex}.condolences__field label{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:var(--off-white);font-size:.75rem}.condolences__field label span{color:var(--text-muted);letter-spacing:.08em;text-transform:none;font-style:italic}.condolences__field input,.condolences__field textarea{background:var(--black);border:1px solid var(--black-border);color:var(--off-white);font-family:var(--font-body);resize:vertical;border-radius:0;outline:none;width:100%;min-height:48px;padding:.85rem 1rem;font-size:1.05rem;transition:border-color .3s}.condolences__field input::placeholder,.condolences__field textarea::placeholder{color:#4a4a4a}.condolences__field input:focus,.condolences__field textarea:focus{border-color:var(--gold-dark)}.condolences__count{font-family:var(--font-heading);letter-spacing:.14em;color:var(--text-muted);text-align:right;font-size:.68rem}.condolences__error{font-family:var(--font-body);color:#e0838f;border-left:2px solid #e0838f;padding-left:1rem;font-size:1rem}.condolences__success{font-family:var(--font-body);color:var(--gold-light);border-left:2px solid var(--gold-dark);padding-left:1rem;font-size:1rem;line-height:1.7}.condolences__submit{margin-top:.2rem}.condolences__note{font-family:var(--font-body);color:var(--text-muted);text-align:center;font-size:.92rem;font-style:italic}@media (width<=900px){.condolences__layout{grid-template-columns:1fr}.condolences__form{order:-1;position:static}.condolences__book{max-height:none;padding-right:0;overflow:visible}}@media (width<=600px){.condolence{padding:1.4rem 1rem 1.2rem}.condolences__field input,.condolences__field textarea{font-size:16px}}.footer{background:var(--black-soft);text-align:center;border-top:1px solid #d4af3726;padding:clamp(3rem,7vw,5.5rem) 1.5rem clamp(2rem,4vw,3rem)}.footer__inner{max-width:640px;margin:0 auto}.footer__monogram{font-family:var(--font-cursive);color:var(--gold);text-shadow:0 0 40px #d4af374d;margin-bottom:.4rem;font-size:4.5rem;line-height:1}.footer__name{font-family:var(--font-heading);letter-spacing:.12em;color:var(--off-white);margin-bottom:.8rem;font-size:1.05rem}.footer__details{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:#ccc;margin-bottom:1.8rem;font-size:1rem}.numeral{font-family:var(--font-heading);font-variant-numeric:lining-nums slashed-zero}.footer__closing{font-family:var(--font-body);color:var(--text-muted);text-wrap:pretty;margin-bottom:2rem;font-size:clamp(1.05rem,1.6vw,1.2rem);font-style:italic;line-height:1.9}.footer__enquiries{margin:1.6rem 0 2rem}.footer__enquiries-title{font-family:var(--font-heading);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem;font-size:.78rem}.footer__enquiries-intro{font-family:var(--font-body);color:#ccc;margin-bottom:1rem}.footer__enquiries-list{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.footer__enquiry{border:1px solid var(--black-border);background:var(--black-card);max-width:260px;color:inherit;flex-direction:column;flex:200px;align-items:center;gap:.15rem;padding:1.1rem 1rem;text-decoration:none;transition:border-color .3s;display:flex}.footer__enquiry:hover{border-color:#d4af3759}.footer__enquiry-name{font-family:var(--font-heading);color:var(--off-white);font-size:1.05rem}.footer__enquiry-relation{font-family:var(--font-heading);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem}.footer__enquiry-phone{font-family:var(--font-body);color:var(--gold-light);font-variant-numeric:lining-nums tabular-nums;font-size:1.05rem}.footer__love{font-family:var(--font-cursive);color:var(--gold-light);margin-bottom:2rem;font-size:1.8rem}.footer__copy{font-family:var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:#b4b4b48c;font-size:.76rem}@media (width<=480px){.footer__details{letter-spacing:.06em;font-size:.82rem}.footer__monogram{font-size:3.5rem}.footer__enquiry{flex:100%;max-width:none}}
