:root{--bg:#0a0b0f;--graphite:#14161e;--panel:#101116;--ink:#f4f1ea;--muted:#a9a7a2;--gold:#d4a65a;--gold-light:#f0d291;--line:rgba(255,255,255,.11);--max:1200px;--radius:24px;--serif:"Playfair Display",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;overflow-x:hidden}body.nav-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit}button,input,textarea{font:inherit}::selection{background:var(--gold);color:#0a0b0f}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}.skip-link{position:fixed;z-index:200;top:12px;left:12px;padding:10px 16px;background:var(--gold);color:#0a0b0f;text-decoration:none;transform:translateY(-150%)}.skip-link:focus{transform:none}.eyebrow{margin:0 0 20px;color:var(--gold);font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.section{width:min(var(--max),100%);margin:auto;padding:120px 28px}.section-heading{max-width:760px;margin-bottom:56px}.section h2,.final-cta h2{margin:0;font:500 clamp(2.8rem,5.4vw,5.4rem)/1.08 var(--serif);letter-spacing:-.035em}.section h2 em,.hero h1 em{color:var(--gold-light);font-style:italic}
.site-header{position:fixed;z-index:100;inset:0 0 auto;min-height:82px;display:flex;align-items:center;justify-content:space-between;padding:10px max(24px,calc((100vw - var(--max))/2));background:linear-gradient(180deg,rgba(10,11,15,.96),rgba(10,11,15,.1));transition:background .3s,border-color .3s}.site-header.scrolled{background:rgba(10,11,15,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand{display:block;width:128px;text-decoration:none}.brand img{width:100%;height:62px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:21px}.main-nav a{color:#d3d0ca;font-size:.72rem;font-weight:500;text-decoration:none;transition:color .2s}.main-nav a:hover{color:var(--gold-light)}.main-nav .nav-cta{padding:9px 16px;border:1px solid rgba(212,166,90,.6);border-radius:999px;color:var(--gold-light)}.nav-toggle{display:none;width:46px;height:46px;padding:11px;border:0;background:transparent;cursor:pointer}.nav-toggle span{display:block;width:24px;height:1px;margin:6px auto;background:var(--ink);transition:transform .25s,opacity .25s}.nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:4vw;padding:140px max(28px,calc((100vw - var(--max))/2)) 100px;overflow:hidden;background:radial-gradient(circle at 76% 40%,rgba(212,166,90,.13),transparent 33%),linear-gradient(135deg,#0a0b0f 30%,#11131a)}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:15vw 100%;mask-image:linear-gradient(to bottom,transparent,#000 40%,transparent)}.hero-copy{position:relative;z-index:2;max-width:720px}.hero h1{margin:0 0 28px;font:500 clamp(4.1rem,7.2vw,7.6rem)/.98 var(--serif);letter-spacing:-.055em}.hero-copy>p:not(.eyebrow){max-width:625px;margin:0 0 38px;color:#c4c1ba;font-size:clamp(1rem,1.5vw,1.15rem)}.actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border-radius:999px;font-size:.78rem;font-weight:600;text-decoration:none;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}.button:hover{transform:translateY(-2px)}.button.primary{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#15120d;box-shadow:0 14px 40px rgba(212,166,90,.16)}.button.primary:hover{box-shadow:0 18px 46px rgba(212,166,90,.25)}.button.secondary{border:1px solid var(--line);background:rgba(255,255,255,.035)}.button.secondary:hover{border-color:rgba(212,166,90,.55);background:rgba(212,166,90,.07)}.hero-art{position:relative;z-index:1;display:grid;place-items:center;min-height:560px}.hero-art img{position:relative;z-index:2;width:min(650px,115%);filter:drop-shadow(0 30px 80px #000);animation:float 7s ease-in-out infinite}.hero-halo{position:absolute;width:min(41vw,560px);aspect-ratio:1;border:1px solid rgba(212,166,90,.3);border-radius:50%;box-shadow:0 0 110px rgba(212,166,90,.1),inset 0 0 90px rgba(212,166,90,.06)}.scroll-cue{position:absolute;z-index:3;bottom:27px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:.64rem;letter-spacing:.15em;text-decoration:none;text-transform:uppercase}.scroll-cue span{margin-left:9px;color:var(--gold)}
.statement{display:grid;grid-template-columns:.42fr 1.58fr;gap:8vw;border-bottom:1px solid var(--line)}.section-label{display:flex;gap:14px;align-items:flex-start}.section-label>span{color:var(--muted);font-size:.65rem}.statement-content h2{max-width:880px}.statement-content>p{max-width:750px;margin:35px 0 0;color:var(--muted);font-size:1.04rem}.process-section{padding-top:140px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.step{position:relative;padding:42px 38px 20px 0}.step+.step{padding-left:38px;border-left:1px solid var(--line)}.step-icon{width:54px;height:54px;margin-bottom:38px;display:grid;place-items:center;border:1px solid rgba(212,166,90,.33);border-radius:50%;color:var(--gold)}.step-icon svg{width:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.step>span,.reason>span{color:var(--gold);font-size:.65rem;letter-spacing:.12em}.step h3,.reason h3{margin:15px 0 10px;font:500 1.75rem var(--serif)}.step p,.reason p{margin:0;color:var(--muted);font-size:.86rem}
.memorial-section{background:var(--graphite);border-block:1px solid var(--line)}.memorial-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:8vw}.memorial-copy>p:not(.eyebrow){color:var(--muted);max-width:520px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:0;margin:35px 0 0;list-style:none}.feature-list li{padding:14px 0;border-top:1px solid var(--line);font-size:.82rem}.feature-list span{margin-right:12px;color:var(--gold);font-size:.6rem}.memorial-preview{position:relative;max-width:620px;margin-left:auto;padding:18px;border:1px solid var(--line);border-radius:28px;background:#090a0e;box-shadow:0 35px 90px #0007;transform:rotate(1.3deg)}.preview-top{display:flex;justify-content:space-between;padding:5px 6px 17px;color:var(--muted);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}.preview-portrait{height:350px;overflow:hidden;border-radius:17px}.preview-portrait img{width:100%;height:100%;object-fit:cover}.preview-content{padding:25px 16px 15px;text-align:center}.preview-content small{color:var(--gold);font-size:.61rem;letter-spacing:.18em;text-transform:uppercase}.preview-content h3{margin:5px 0;font:500 2.15rem var(--serif)}.preview-content p{margin:8px;color:var(--muted);font:italic 1rem var(--serif)}.preview-player{display:flex;align-items:center;gap:12px;margin:20px auto 0;max-width:330px;padding:11px;border:1px solid var(--line);border-radius:10px;text-align:left}.preview-player>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#0a0b0f;font-size:.7rem}.preview-player div{flex:1}.preview-player strong{display:block;font-size:.67rem}.preview-player i{display:block;width:72%;height:2px;margin-top:7px;background:linear-gradient(90deg,var(--gold) 40%,#292b31 40%)}
.nfc-layout{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw}.nfc-mockup{position:relative;min-height:510px;display:grid;place-items:center}.nfc-mockup:before{content:"";position:absolute;width:420px;aspect-ratio:1;border-radius:50%;background:rgba(212,166,90,.08);filter:blur(25px)}.nfc-card{position:absolute;z-index:2;left:4%;width:min(420px,70%);aspect-ratio:1.58;display:grid;place-items:center;border:1px solid rgba(212,166,90,.52);border-radius:19px;background:linear-gradient(145deg,#23242b,#090a0e 70%);box-shadow:0 30px 70px #0008;transform:rotate(-8deg)}.nfc-card img{width:62%;filter:drop-shadow(0 8px 20px #000)}.contactless{position:absolute;right:20px;top:20px;display:flex;gap:3px}.contactless i{display:block;width:8px;height:18px;border-right:1px solid var(--gold);border-radius:50%}.phone-outline{position:absolute;z-index:1;right:3%;width:210px;height:420px;border:2px solid #45464c;border-radius:36px;background:#0c0d11;box-shadow:0 30px 80px #000}.phone-outline>span{display:block;width:65px;height:6px;margin:15px auto;background:#2a2b31;border-radius:9px}.phone-message{position:absolute;inset:46% 15px auto;padding:14px;border:1px solid rgba(212,166,90,.4);border-radius:12px;color:var(--gold-light);font-size:.7rem;text-align:center}.nfc-copy>p:not(.eyebrow){color:var(--muted)}.check-list{display:grid;gap:14px;padding:0;margin:28px 0 0;list-style:none}.check-list li{position:relative;padding-left:27px;font-size:.83rem}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold)}
.reasons-section{padding-top:70px}.reasons{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.reason{padding:32px 32px 36px 0}.reason+.reason{padding-left:32px;border-left:1px solid var(--line)}.faq-section{max-width:980px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 3px;cursor:pointer;list-style:none;font:500 clamp(1.2rem,2.2vw,1.65rem) var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--gold);font:400 1.4rem var(--sans);transition:transform .25s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:720px;margin:-7px 0 25px;color:var(--muted);font-size:.88rem}
.final-cta{position:relative;overflow:hidden;min-height:650px;display:grid;place-items:center;padding:120px 25px;border-top:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#312616 0,transparent 40%),var(--graphite);text-align:center}.final-glow{position:absolute;width:min(75vw,720px);aspect-ratio:1;border:1px solid rgba(212,166,90,.14);border-radius:50%}.final-cta>div:last-child{position:relative}.final-cta img{width:180px;height:110px;margin:0 auto 15px;object-fit:contain}.final-cta h2{margin-bottom:36px}.final-cta .actions{justify-content:center}.site-footer{width:min(var(--max),100%);margin:auto;padding:70px 28px 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-brand .brand{width:160px}.footer-brand p{color:var(--muted);font-size:.8rem}.site-footer nav{display:grid;align-content:start;gap:8px}.site-footer nav h2{margin:0 0 12px;color:var(--gold);font:600 .66rem var(--sans);letter-spacing:.15em;text-transform:uppercase}.site-footer nav a{color:var(--muted);font-size:.76rem;text-decoration:none}.site-footer nav a:hover{color:var(--ink)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid var(--line);color:#74736f;font-size:.64rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(max-width:1020px){.main-nav{gap:15px}.main-nav a{font-size:.67rem}.hero{grid-template-columns:1fr 430px}.hero-art{min-height:460px}.memorial-layout{gap:5vw}}
@media(max-width:860px){.nav-toggle{display:block}.main-nav{position:fixed;inset:82px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:24px;background:rgba(10,11,15,.985);transform:translateX(100%);visibility:hidden;transition:transform .3s,visibility .3s}.main-nav.open{transform:none;visibility:visible}.main-nav a{width:100%;padding:10px 4px;font:500 1.35rem var(--serif)}.main-nav .nav-cta{width:auto;margin-top:14px;padding:9px 17px;font:500 .8rem var(--sans)}.hero{grid-template-columns:1fr;gap:0;padding-top:125px;text-align:center}.hero-copy{margin:auto}.hero-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.hero .actions{justify-content:center}.hero-art{min-height:380px}.hero-art img{width:min(600px,88vw)}.hero-halo{width:min(70vw,500px)}.statement,.memorial-layout,.nfc-layout{grid-template-columns:1fr}.statement{gap:25px}.steps{grid-template-columns:1fr}.step,.step+.step{padding:30px 0;border-left:0;border-top:1px solid var(--line)}.step-icon{margin-bottom:20px}.memorial-preview{margin:35px auto 0}.nfc-mockup{order:2}.reasons{grid-template-columns:1fr 1fr}.reason:nth-child(3){border-left:0}.reason:nth-child(n+3){border-top:1px solid var(--line)}.site-footer{grid-template-columns:1.6fr 1fr;gap:42px}.site-footer nav:last-of-type{grid-column:2}.footer-bottom{grid-column:1/-1}}
@media(max-width:560px){.section{padding:85px 20px}.site-header{width:100%;min-height:74px;padding:6px 18px}.brand{width:108px}.brand img{height:60px}.main-nav{inset:74px 0 0}.hero{width:100%;padding:115px 20px 75px}.hero-copy{width:100%;min-width:0}.hero h1{max-width:100%;font-size:clamp(2.75rem,13.5vw,3.7rem);overflow-wrap:normal}.hero-copy>p:not(.eyebrow){font-size:.95rem}.hero-art{min-height:290px}.actions{display:grid}.actions .button{width:100%}.scroll-cue{display:none}.statement{padding-top:100px}.feature-list{grid-template-columns:1fr}.preview-portrait{height:280px}.nfc-mockup{min-height:390px}.nfc-card{left:0;width:75%}.phone-outline{right:0;width:155px;height:325px}.reasons{grid-template-columns:1fr}.reason,.reason+.reason{padding:26px 0;border-left:0;border-top:1px solid var(--line)}.site-footer{grid-template-columns:1fr}.site-footer nav:last-of-type{grid-column:1}.footer-bottom{display:grid}.final-cta{min-height:570px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.legal-page{width:min(760px,100%);min-height:100svh;margin:auto;padding:80px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.legal-page .brand{width:180px;margin-bottom:55px}.legal-page h1{margin:0 0 24px;font:500 clamp(3rem,8vw,5.5rem)/1 var(--serif)}.legal-page>p:not(.eyebrow){margin:0 0 35px;color:var(--muted)}

/* Brand and responsive polish */
html{scroll-padding-top:calc(88px + env(safe-area-inset-top,0px));overflow-x:hidden}
body{min-width:320px;-webkit-text-size-adjust:100%}
.site-header{min-height:calc(82px + env(safe-area-inset-top,0px));padding-top:calc(10px + env(safe-area-inset-top,0px));padding-left:max(24px,env(safe-area-inset-left,0px),calc((100vw - var(--max))/2));padding-right:max(24px,env(safe-area-inset-right,0px),calc((100vw - var(--max))/2))}
.brand{width:clamp(124px,10vw,150px);height:64px;display:grid;place-items:center}
.brand img,.hero-art img,.nfc-card img,.final-cta img{width:100%;height:100%;object-fit:contain;object-position:center}
.site-header .brand{width:108px;height:64px;overflow:hidden}
.site-header .brand img{width:96px;height:64px;max-height:64px;object-fit:contain}
.hero{gap:clamp(28px,5vw,76px);padding-top:calc(142px + env(safe-area-inset-top,0px));padding-bottom:clamp(78px,9vw,120px)}
.hero-copy{padding-block:20px}
.hero-art img{width:min(650px,100%);height:auto;aspect-ratio:3/2}
.button{min-height:50px;border:1px solid transparent}
.button.secondary{border-color:rgba(255,255,255,.2);color:#f4f1ea}
.main-nav a{min-height:44px;display:inline-flex;align-items:center}
.main-nav .nav-cta{justify-content:center}
.nav-toggle{min-width:48px;min-height:48px;border-radius:50%}
.nav-toggle:hover{background:rgba(255,255,255,.06)}
.final-cta img{height:auto;aspect-ratio:3/2}
.footer-brand .brand{width:180px;height:120px;margin-top:-24px;margin-bottom:-12px}
.site-footer nav a{min-height:36px;display:flex;align-items:center;color:#aaa8a3}

@media(max-width:860px){
  .main-nav{inset:calc(82px + env(safe-area-inset-top,0px)) 0 0;padding:clamp(24px,6vw,44px) max(24px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));overflow-y:auto}
  .main-nav a{min-height:52px;padding-block:10px}
  .hero{padding-top:calc(128px + env(safe-area-inset-top,0px))}
  .hero-copy{max-width:680px}
  .hero-art{min-height:clamp(300px,55vw,430px)}
}
@media(max-width:560px){
  .site-header{min-height:calc(74px + env(safe-area-inset-top,0px));padding-top:calc(6px + env(safe-area-inset-top,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .brand{width:118px;height:60px}
  .site-header .brand{width:96px;height:60px}
  .site-header .brand img{width:90px;height:60px;max-height:60px}
  .main-nav{inset:calc(74px + env(safe-area-inset-top,0px)) 0 0}
  .hero{padding:calc(112px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(74px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}
  .hero h1{font-size:clamp(2.8rem,13vw,3.75rem);line-height:1.02;letter-spacing:-.045em}
  .hero-copy>p:not(.eyebrow){margin-bottom:30px}
  .hero-art{min-height:260px}
  .actions{gap:10px}
  .button{min-height:52px;padding-inline:20px}
  .section{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
  .site-footer{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
  .footer-brand .brand{width:160px;height:106px}
}
@media(prefers-contrast:more){.button.secondary,.faq-list,.steps,.reasons{border-color:rgba(255,255,255,.35)}.muted,.hero-copy>p:not(.eyebrow){color:#dedbd4}}
