*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--ink:#162326;--muted:#697475;--cream:#f4efe7;--paper:#fffdf9;--deep:#102b31;--deep2:#0b2025;--gold:#c7a55b;--gold2:#e3d2a4;--line:#ddd5c8;--white:#fff;--shadow:0 18px 60px rgba(12,34,39,.14)}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.75}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin:auto}.narrow{width:min(900px,calc(100% - 48px));margin:auto}.center{text-align:center}.site-header{position:sticky;top:0;z-index:50;background:rgba(11,32,37,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1)}.nav-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand-seal{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;color:var(--gold2);font-weight:700}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.18rem}.brand-copy small{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:4px}.main-nav{display:flex;align-items:center;gap:22px;color:rgba(255,255,255,.78);font-size:.9rem}.main-nav a:hover{color:#fff}.nav-highlight{padding:9px 14px;border:1px solid rgba(199,165,91,.65);border-radius:999px}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}.hero{min-height:calc(100vh - 78px);display:grid;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(199,165,91,.2),transparent 28%),linear-gradient(135deg,#0a2025 0%,#153a40 58%,#0c282d 100%);color:#fff}.hero-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:88px;padding:80px 0}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;font-weight:600;color:var(--gold2)}.eyebrow.dark{color:#98752f}.hero h1,.page-hero h1,.section h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:.98;letter-spacing:-.025em}.hero h1{font-size:clamp(3.3rem,6.5vw,6.05rem);margin:0}.dates{font-family:"Cormorant Garamond",Georgia,serif;color:var(--gold2);font-size:1.45rem;letter-spacing:.08em;margin:18px 0 0}.gold-rule{width:90px;height:1px;background:var(--gold);margin:26px 0}.hero-summary{max-width:640px;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;line-height:1.55;color:rgba(255,255,255,.82)}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 22px;font-weight:600;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:#102326}.button.ghost{border:1px solid rgba(255,255,255,.32);color:#fff}.button.light{background:#fff;color:var(--deep)}.portrait-shell{justify-self:end;width:min(420px,100%)}.portrait-frame{aspect-ratio:4/5;border-radius:220px 220px 28px 28px;overflow:hidden;border:1px solid rgba(227,210,164,.4);box-shadow:0 34px 90px rgba(0,0,0,.3);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015));position:relative}.portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}.portrait-placeholder{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:rgba(255,255,255,.72);padding:28px}.portrait-monogram{font-family:"Cormorant Garamond",Georgia,serif;font-size:6rem;color:var(--gold2);line-height:1}.portrait-placeholder strong{font-size:.8rem;color:rgba(255,255,255,.5)}.portrait-shell>p{text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;color:var(--gold2);font-size:1.15rem}.scripture{background:var(--cream);text-align:center;padding:72px 0}.scripture-inner{max-width:850px}.cross{font-size:1.8rem;color:var(--gold)}.scripture blockquote{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.25;margin:14px auto 10px}.scripture p{margin:0;color:var(--muted)}.section{padding:105px 0}.section h2{font-size:clamp(2.65rem,4.6vw,4.25rem);margin:0 0 26px}.split{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}.lead{font-size:1.1rem;color:#3f4c4e}.text-link,.text-button{color:#8e6a24;font-weight:600}.soft{background:#faf7f1}.feature-card{background:var(--deep);color:#fff;padding:46px;border-radius:16px;box-shadow:var(--shadow)}.feature-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;color:var(--gold2)!important}.feature-quote{font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem;line-height:1.2;color:#fff!important;margin:18px 0}.feature-card span{color:rgba(255,255,255,.55)}.section-head.centered{text-align:center;max-width:760px;margin:auto}.split-head{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end;margin-bottom:48px}.split-head h2{margin-bottom:0}.split-head>p{margin:0 0 8px;color:var(--muted)}.tribute-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tribute-card{min-height:340px;display:flex;flex-direction:column;background:#f3eee5;padding:32px;border-radius:14px;border:1px solid #e9dfd1}.tribute-card.featured{background:var(--deep);color:#fff}.card-label{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;color:#98752f}.featured .card-label{color:var(--gold2)}.tribute-card h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem;line-height:1.07;margin:20px 0 16px}.tribute-card p{color:#5f6969}.tribute-card.featured p{color:rgba(255,255,255,.72)}.tribute-card .text-button{margin-top:auto}.gallery-preview{background:var(--deep);color:#fff}.split-head.light>p{color:rgba(255,255,255,.6)}.gallery-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.preview-photo{min-height:250px;border-radius:12px;background:radial-gradient(circle at 30% 25%,rgba(199,165,91,.18),transparent 28%),linear-gradient(150deg,#294b50,#122e34);display:flex;align-items:end;padding:18px;color:var(--gold2);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem}.center-button{text-align:center;margin-top:30px}.page-hero{background:linear-gradient(135deg,#0b2025,#173b41);color:#fff;padding:95px 0 80px}.page-hero-inner{max-width:820px}.page-hero h1{font-size:clamp(3.3rem,6vw,5.5rem);margin:0 0 18px}.page-hero p:last-child{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;color:rgba(255,255,255,.72);max-width:700px}.timeline{max-width:900px;margin:62px auto 0}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:34px 0;border-top:1px solid var(--line)}.timeline-item:last-child{border-bottom:1px solid var(--line)}.timeline-year{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;color:var(--gold)}.timeline-content h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem;margin:0 0 10px}.timeline-content p{color:#5a6667}.tribute-long-grid{display:grid;gap:28px}.tribute-full{background:#fff;border:1px solid #e7dfd2;border-radius:16px;padding:44px;box-shadow:0 12px 35px rgba(15,39,44,.05)}.tribute-full h2{font-size:3rem}.tribute-full p{color:#5b6667}.soft-card{background:#f6f2ea}.gallery-page{background:var(--deep);color:#fff}.notice-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:16px 18px;border-radius:10px;margin-bottom:28px;color:rgba(255,255,255,.75)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px}.gallery-item{margin:0;position:relative;border-radius:12px;overflow:hidden;background:radial-gradient(circle at 30% 25%,rgba(199,165,91,.18),transparent 28%),linear-gradient(150deg,#294b50,#122e34);border:1px solid rgba(255,255,255,.08)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.gallery-item figcaption{position:absolute;left:16px;bottom:14px;padding:7px 10px;background:rgba(8,28,33,.72);border-radius:6px;color:var(--gold2);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.programme-box{background:var(--deep);color:#fff;border-radius:20px;padding:62px;box-shadow:var(--shadow)}.programme-box h2{margin-bottom:18px}.programme-box>div:first-child p:last-child{color:rgba(255,255,255,.65);max-width:720px}.programme-list{margin:40px 0 32px;border-top:1px solid rgba(255,255,255,.14)}.programme-list>div{display:flex;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}.programme-list span{color:rgba(255,255,255,.58)}.programme-list strong{color:var(--gold2);font-weight:500}.disabled-link{opacity:.7;pointer-events:none}.memory-form{background:#f6f2eb;border:1px solid #e9dfd3;border-radius:14px;padding:36px}.memory-form label{display:block;font-size:.88rem;font-weight:600;margin-bottom:18px}.memory-form input,.memory-form textarea{width:100%;margin-top:8px;border:1px solid #d7d0c6;border-radius:8px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}.memory-form input:focus,.memory-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,165,91,.12)}.check-row{display:flex!important;gap:10px;align-items:flex-start}.check-row input{width:auto;margin-top:5px}.honeypot{position:absolute!important;left:-10000px!important;opacity:0!important}.success-message{margin-top:16px;color:#2f6d4e!important;font-weight:600}.site-footer{background:var(--deep2);color:#fff;padding:56px 0 28px}.footer-grid{display:grid;grid-template-columns:1fr 1fr .5fr;gap:38px;align-items:center}.footer-title{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem}.footer-grid p,.footer-verse{color:rgba(255,255,255,.55)}.footer-verse{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2rem}.footer-top-link{text-align:right;color:var(--gold2)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;color:rgba(255,255,255,.36);font-size:.78rem}@media(max-width:980px){.main-nav{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;padding:24px;background:#0b2025}.main-nav.open{display:flex}.menu-button{display:block}.hero-grid,.split,.split-head{grid-template-columns:1fr}.hero-grid{gap:48px}.portrait-shell{justify-self:start;width:min(360px,86%)}.tribute-grid,.gallery-preview-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}.footer-top-link{text-align:left}}@media(max-width:620px){.container{width:min(100% - 30px,1160px)}.section{padding:76px 0}.hero h1{font-size:3.45rem}.hero-buttons{flex-direction:column}.portrait-shell{width:100%}.timeline-item{grid-template-columns:1fr;gap:4px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item.tall,.gallery-item.wide{grid-row:auto;grid-column:auto}.programme-box{padding:34px 24px}.programme-list>div{flex-direction:column;gap:2px}.memory-form,.tribute-full{padding:26px 20px}.footer-bottom{flex-direction:column;gap:6px}}