
:root{--bg:#100d0f;--panel:#191014;--ink:#eee8d9;--muted:#b2a7ad;--gold:#d92544;--green:#df405b;--line:#392028;--maroon:#aa6b64;--cream:#eee8d9;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,serif;line-height:1.65;background-image:linear-gradient(#b5223810 1px,transparent 1px),linear-gradient(90deg,#b5223810 1px,transparent 1px);background-size:60px 60px}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
header{max-width:1280px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}header h1{font:18px var(--mono);letter-spacing:2px;margin:0}nav{display:flex;gap:26px;flex-wrap:wrap}nav a{font:12px var(--mono);text-decoration:none;color:var(--muted)}nav a:hover,nav a.on{color:var(--gold)}main{max-width:1200px;margin:auto;padding:60px 40px}h2{font-size:38px;font-weight:normal;color:var(--gold);text-align:center}h3{font-weight:normal}p{color:var(--muted)}footer{max-width:1200px;margin:40px auto 0;padding:28px 40px;border-top:1px solid var(--line);font:11px var(--mono);color:var(--muted);display:flex;justify-content:space-between;gap:20px}.center{text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.card{border:1px solid var(--line);background:var(--panel);padding:28px;text-decoration:none;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--gold);transform:translateY(-3px)}.card h3{font-size:25px;color:var(--ink);margin-top:0}.card p{font-size:16px}.btn{display:inline-block;border:1px solid var(--gold);padding:12px 22px;color:var(--gold);background:transparent;text-decoration:none;font:12px var(--mono);cursor:pointer}.btn:hover{background:var(--gold);color:var(--bg)}.ph{aspect-ratio:4/3;background:linear-gradient(145deg,#343c2b,#39292a);display:grid;place-items:center;border:1px solid var(--line);color:var(--gold);font-style:italic}.gallery img{width:100%;display:block}
.home-main{padding-top:36px}.status{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted);letter-spacing:1px}.status span:first-child:before{content:"";display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:10px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center;padding:90px 0 80px}.eyebrow{font:11px var(--mono);color:var(--gold);text-transform:uppercase;letter-spacing:3px}.hero h2{font-size:clamp(44px,6.4vw,82px);line-height:1.08;text-align:left;color:var(--ink);letter-spacing:-3px;margin:28px 0}.hero h2 em{font-weight:normal;color:var(--gold)}.intro{max-width:430px;font-size:18px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.quiet-link{font:11px var(--mono);color:var(--muted);text-underline-offset:5px}
.wedding-panel{position:relative;padding:45px 38px;background:linear-gradient(145deg,#32121d,#1c1016 55%,#3c1222);border:1px solid #7c1e34;box-shadow:12px 12px 0 #080b0870;text-align:center;overflow:hidden}.wedding-panel:after{content:"";position:absolute;inset:12px;border:1px solid #d9254435;pointer-events:none}.leaf{width:65px;height:65px;margin:0 auto 18px;display:block;color:var(--gold)}.wedding-panel .names{font-size:46px;line-height:1.15;color:var(--ink);margin:18px 0}.names i{font-size:30px;color:var(--gold);display:block;margin:8px}.wedding-panel .date{letter-spacing:2px;font:12px var(--mono);color:var(--gold);margin-top:25px}.wedding-panel .place{font-size:15px;margin:12px 0 28px}.wedding-panel .btn{position:relative;z-index:1}
.section-label{font:10px var(--mono);color:var(--muted);letter-spacing:2px;display:flex;align-items:center;gap:16px;margin-bottom:20px}.section-label:after{content:"";height:1px;flex:1;background:var(--line)}.destination-grid{grid-template-columns:repeat(2,1fr)}.destination-grid .number{font:10px var(--mono);color:var(--gold);display:block;margin-bottom:24px}.destination-grid .card h3{margin-bottom:8px}.destination-grid .path{display:block;font:10px var(--mono);color:var(--green);margin-top:28px;word-break:break-word}.terminal{margin-top:45px;border:1px solid var(--line);background:#0b0e0b}.terminal-bar{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;gap:7px;align-items:center;font:10px var(--mono);color:var(--muted)}.terminal-bar b{width:7px;height:7px;border-radius:50%;background:#926657}.terminal-bar b:nth-child(2){background:#aa935d}.terminal-bar b:nth-child(3){background:#748961}.terminal-bar span{margin-left:12px}.terminal-body{padding:20px 22px;font:12px/1.9 var(--mono);color:var(--muted)}.terminal-body p{margin:0;font:inherit}.terminal-form{display:flex;align-items:center;gap:10px;margin-top:12px}.prompt{color:var(--green);white-space:nowrap}.terminal-form input{width:100%;min-width:0;background:transparent;border:0;color:var(--ink);font:12px var(--mono);padding:8px}.terminal-form button{background:none;border:1px solid var(--line);color:var(--gold);font:11px var(--mono);padding:7px 12px;cursor:pointer}.terminal-output{white-space:pre-line;color:var(--gold)}
@media(max-width:800px){header{align-items:flex-start;padding:24px;flex-direction:column;gap:18px}nav{gap:20px}main{padding:32px 24px}.status{font-size:9px;gap:16px}.hero{grid-template-columns:1fr;gap:36px;padding:50px 0}.hero h2{letter-spacing:-2px}.wedding-panel{max-width:500px;width:100%;justify-self:center}.destination-grid{grid-template-columns:1fr}.destination-grid .card{padding:25px}.destination-grid .number{margin-bottom:14px}.destination-grid .path{margin-top:16px}footer{padding:24px;flex-direction:column}.terminal-form{flex-wrap:wrap}.terminal-form input{flex:1}.hero-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

body{position:relative;isolation:isolate;background-color:#100d0f}
body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(70px);opacity:.35;will-change:transform}
body:before{width:70vw;height:70vw;left:-30vw;top:-40vw;background:radial-gradient(circle,#ad173e 0,transparent 64%);animation:drift-one 24s ease-in-out infinite alternate}
body:after{width:65vw;height:65vw;right:-28vw;bottom:-38vw;background:radial-gradient(circle,#921136 0,transparent 66%);animation:drift-two 28s ease-in-out infinite alternate}
@keyframes drift-one{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(32vw,28vh,0) scale(1.15)}}
@keyframes drift-two{from{transform:translate3d(0,0,0)}to{transform:translate3d(-30vw,-30vh,0) scale(1.2)}}
.hero{padding:75px 0 65px}.hero h2{font-size:clamp(48px,7vw,88px);line-height:1.15;letter-spacing:-2px}.hero-actions{margin-top:30px}
.destination-grid .card{display:flex;align-items:center;justify-content:space-between;padding:28px 30px}
.destination-grid .card h3{margin:0;font-size:26px}.card-arrow{font:20px var(--mono);color:var(--gold)}
.wedding-panel{background:linear-gradient(145deg,#2b111b,#160e13 55%,#35101f)}
.wedding-panel .names{font-size:36px}.wedding-panel .date{color:var(--ink)}
.personal-main{min-height:65vh;padding-top:95px}.personal-main h2{text-align:left;color:var(--ink);font-size:clamp(48px,8vw,84px);margin:0 0 18px}
@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none!important;will-change:auto}}
@media(max-width:800px){.hero{padding:42px 0}.hero h2{font-size:58px}.personal-main{padding-top:55px}}
