html{line-height:1.5;-webkit-text-size-adjust:100%}button{border-radius:0;background-color:transparent}button,input{font:inherit}img{display:block;max-width:100%;height:auto}p{margin:0}button{cursor:pointer}[hidden]{display:none!important}


:root { --ink:#28251f; --ivory:#f4f0e5; --paper:#ebe4d4; --gold:#b99045; --deep-gold:#7d5b20; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 72% 36%,#fffdf6 0,#f2ecdd 34%,#e8dfcd 100%); font-family:Georgia,"Times New Roman",serif; }
button { font:inherit; }
main { min-height:100vh; position:relative; overflow:hidden; }
.grain { position:fixed; inset:0; opacity:.16; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E"); mix-blend-mode:multiply; }
.masthead { height:104px; max-width:1240px; margin:auto; padding:26px 44px; display:flex; align-items:center; gap:13px; letter-spacing:.24em; text-transform:uppercase; font:600 11px/1 Arial,sans-serif; position:relative; z-index:2; }
.brand-mark { width:36px; height:36px; border:1px solid rgba(125,91,32,.5); transform:rotate(45deg); display:grid; place-items:center; }
.brand-mark span { transform:rotate(-45deg); color:var(--deep-gold); font:23px/1 Georgia,serif; }
.hero { max-width:1180px; min-height:650px; margin:auto; padding:40px 44px 70px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; position:relative; z-index:1; }
.copy { padding-bottom:22px; }
.eyebrow,.modal-eyebrow { font:600 11px/1.4 Arial,sans-serif; letter-spacing:.34em; text-transform:uppercase; color:var(--deep-gold); }
h1 { margin:23px 0 26px; font-weight:400; font-size:clamp(58px,6.4vw,94px); line-height:.86; letter-spacing:-.045em; }
h1 em { font-weight:400; color:#80652f; font-size:.71em; letter-spacing:-.035em; }
.gold-rule { width:88px; height:1px; background:linear-gradient(90deg,var(--gold),transparent); margin:29px 0; }
.intro { font-size:19px; line-height:1.65; max-width:510px; margin:0 0 22px; }
.invitation { font:14px/1.75 Arial,sans-serif; color:#6a6255; max-width:500px; margin:0; }
.vessel-stage { min-height:575px; display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; }
.halo { position:absolute; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle,rgba(216,180,102,.28) 0,rgba(224,199,142,.10) 42%,transparent 70%); animation:breathe 5s ease-in-out infinite; }
.vessel-button { width:310px; height:440px; border:0; padding:0; background:none; cursor:pointer; position:relative; z-index:2; filter:drop-shadow(0 28px 24px rgba(84,61,23,.16)); transition:transform .5s ease,filter .5s ease; }
.vessel-button:hover,.vessel-button:focus-visible { transform:translateY(-7px); filter:drop-shadow(0 34px 28px rgba(84,61,23,.24)); outline:none; }
.vessel-neck { width:110px; height:55px; margin:auto; border:2px solid rgba(130,101,48,.42); border-bottom:0; border-radius:16px 16px 7px 7px; background:linear-gradient(90deg,rgba(255,255,255,.36),rgba(231,215,176,.14),rgba(255,255,255,.45)); position:relative; }
.vessel-neck:before { content:""; position:absolute; left:-10px; right:-10px; top:-10px; height:16px; border:2px solid rgba(130,101,48,.56); border-radius:50%; background:rgba(245,239,222,.78); }
.vessel-neck span { position:absolute; left:20px; top:10px; width:17px; height:35px; background:linear-gradient(90deg,rgba(255,255,255,.7),transparent); border-radius:20px; }
.vessel { width:294px; height:330px; margin:auto; border:2px solid rgba(130,101,48,.44); border-radius:42% 42% 34% 34% / 18% 18% 25% 25%; overflow:hidden; position:relative; background:linear-gradient(100deg,rgba(255,255,255,.45),rgba(241,228,193,.16) 30%,rgba(255,255,255,.32) 70%,rgba(215,190,128,.18)); box-shadow:inset 16px 0 20px rgba(255,255,255,.28),inset -12px 0 16px rgba(137,101,39,.07); }
.glass-shine { position:absolute; z-index:4; left:34px; top:33px; width:31px; height:185px; border-radius:50%; background:linear-gradient(90deg,rgba(255,255,255,.57),transparent); transform:rotate(3deg); }
.provision-fill { position:absolute; left:0; right:0; bottom:0; height:23%; overflow:hidden; background:linear-gradient(180deg,rgba(233,199,111,.78),rgba(171,118,31,.91)); box-shadow:0 -7px 24px rgba(240,204,112,.55); animation:liquid 7s ease-in-out infinite; }
.provision-fill:before { content:""; position:absolute; top:-8px; left:-7%; width:114%; height:19px; border-radius:50%; background:#efd286; opacity:.9; }
.thread { position:absolute; bottom:-10px; width:1px; height:125px; background:linear-gradient(transparent,#fff4bd,#8d671e); transform-origin:bottom; box-shadow:0 0 7px #fff0a3; }
.thread-one { left:34%; transform:rotate(-23deg); }.thread-two { left:54%; height:154px; transform:rotate(11deg); }.thread-three { left:69%; height:110px; transform:rotate(28deg); }
.spark { position:absolute; width:4px; height:4px; border-radius:50%; background:#fff5b6; box-shadow:0 0 10px 4px rgba(255,239,147,.8); animation:rise 4s infinite; }
.spark-one{left:28%;bottom:22%;}.spark-two{left:57%;bottom:18%;animation-delay:1.5s}.spark-three{left:76%;bottom:27%;animation-delay:2.6s}
.vessel-label { position:absolute; z-index:5; top:132px; left:50%; transform:translateX(-50%); width:176px; padding:18px 8px; border-top:1px solid rgba(125,91,32,.36); border-bottom:1px solid rgba(125,91,32,.36); text-align:center; color:#59451f; }
.vessel-label span { display:block; font:8px/1.4 Arial,sans-serif; letter-spacing:.28em; text-transform:uppercase; }.vessel-label strong { display:block; font-weight:400; font-size:25px; font-style:italic; }
.vessel-foot { width:185px; height:24px; margin:-1px auto 0; border:2px solid rgba(130,101,48,.46); border-top:0; border-radius:0 0 50% 50%; background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(205,172,101,.15)); }
.touch-prompt { border:0; background:transparent; color:#765a29; padding:10px 20px; margin-top:4px; cursor:pointer; font:10px/1 Arial,sans-serif; letter-spacing:.2em; text-transform:uppercase; position:relative; z-index:3; }
.touch-prompt:after { content:""; display:block; margin:8px auto 0; width:0; height:1px; background:var(--gold); transition:width .3s; }.touch-prompt:hover:after{width:100%;}
.growth-line { width:330px; display:flex; align-items:center; gap:12px; margin-top:13px; position:relative; z-index:2; }.growth-line>span { flex:1; height:1px; background:rgba(125,91,32,.23); position:relative; }.growth-line i { position:absolute; width:23%; height:1px; background:var(--gold); box-shadow:0 0 5px #d9b45f; }.growth-line p { width:195px; font:italic 12px/1.45 Georgia,serif; color:#736957; margin:0; }
.principle { border-top:1px solid rgba(96,74,37,.17); border-bottom:1px solid rgba(96,74,37,.17); padding:23px 30px; display:flex; justify-content:center; align-items:center; gap:22px; color:#6f5a31; font:10px/1 Arial,sans-serif; text-transform:uppercase; letter-spacing:.18em; position:relative; z-index:2; background:rgba(250,247,238,.37); }.principle p{margin:0}.principle span{font-size:7px;color:#b58a3e}
footer { text-align:center; padding:38px 24px 45px; font:11px/1.5 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; color:#665d50; position:relative; z-index:2; }.legal { max-width:690px; margin:12px auto 0; font-size:9px; letter-spacing:.06em; line-height:1.5; text-transform:none; color:#8a8173; }
.modal-backdrop { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; background:rgba(31,27,20,.56); backdrop-filter:blur(9px); animation:fade .3s ease; }
.payment-modal { width:min(610px,100%); max-height:92vh; overflow:auto; background:linear-gradient(145deg,#faf6eb,#e9dfca); border:1px solid rgba(194,157,80,.55); box-shadow:0 35px 90px rgba(20,15,8,.35); padding:52px; position:relative; text-align:center; animation:lift .4s ease; }
.payment-modal:before { content:""; position:absolute; inset:10px; border:1px solid rgba(159,123,56,.2); pointer-events:none; }
.close { position:absolute; top:17px; right:21px; border:0; background:transparent; color:#67542e; font:30px/1 Georgia,serif; cursor:pointer; z-index:2; }.payment-modal h2 { margin:12px 0 14px; font-size:42px; font-weight:400; }.modal-copy { max-width:440px; margin:0 auto 29px; color:#6c6252; font:14px/1.65 Arial,sans-serif; }
.payment-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.payment-grid button { min-height:82px; border:1px solid rgba(139,106,47,.28); background:rgba(255,255,255,.33); padding:16px; cursor:pointer; color:#3c352b; transition:.25s; }.payment-grid button:hover,.payment-grid button.selected{border-color:#a67d35;background:rgba(255,250,233,.8);transform:translateY(-2px)}.payment-grid strong{display:block;font-size:18px;font-weight:400}.payment-grid span{display:block;margin-top:6px;font:10px/1.3 Arial,sans-serif;color:#776d5d}
.connection-note { margin-top:14px; border-left:2px solid #b38a40; background:rgba(255,255,255,.35); padding:14px 18px; text-align:left; }.connection-note strong,.connection-note span{display:block}.connection-note strong{font-size:14px;font-weight:400}.connection-note span{font:10px/1.5 Arial,sans-serif;color:#786e5f;margin-top:4px}.privacy-note{margin:20px 0 0;font:9px/1.5 Arial,sans-serif;color:#8a8172;letter-spacing:.05em}
.payment-result { text-align:center; }
.payment-result img { display:block; width:min(265px,100%); max-height:265px; object-fit:contain; margin:14px auto; background:white; border:1px solid rgba(139,106,47,.2); padding:8px; }
.payment-result a { display:inline-block; margin:14px auto 10px; padding:13px 25px; color:#fffaf0; background:#715622; border:1px solid #9e7b38; text-decoration:none; font:10px/1 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; transition:.25s; }
.payment-result a:hover,.payment-result a:focus-visible { background:#4f3b18; transform:translateY(-1px); }
@keyframes breathe{50%{transform:scale(1.08);opacity:.72}}@keyframes rise{0%{transform:translateY(15px);opacity:0}35%{opacity:1}100%{transform:translateY(-76px);opacity:0}}@keyframes liquid{0%,100%{clip-path:polygon(0 5%,18% 1%,38% 6%,58% 2%,78% 6%,100% 2%,100% 100%,0 100%)}50%{clip-path:polygon(0 2%,18% 6%,38% 1%,58% 6%,78% 2%,100% 6%,100% 100%,0 100%)}}@keyframes fade{from{opacity:0}}@keyframes lift{from{opacity:0;transform:translateY(20px) scale(.98)}}
@media(max-width:800px){.masthead{height:80px;padding:22px 24px}.hero{grid-template-columns:1fr;padding:45px 24px 60px;gap:36px;text-align:center}.copy{max-width:620px;margin:auto}.gold-rule{margin:25px auto}.intro,.invitation{margin-left:auto;margin-right:auto}.vessel-stage{min-height:530px}.principle{flex-wrap:wrap;gap:12px 16px;line-height:1.4}.principle span{display:none}.payment-modal{padding:47px 25px 34px}}
@media(max-width:480px){h1{font-size:57px}.intro{font-size:17px}.vessel-button{transform:scale(.88);margin:-22px 0}.vessel-button:hover,.vessel-button:focus-visible{transform:scale(.88) translateY(-5px)}.halo{width:330px;height:330px}.growth-line{width:290px}.payment-grid{grid-template-columns:1fr}.payment-modal h2{font-size:34px}.principle{display:grid;grid-template-columns:1fr 1fr;text-align:center}.brand-mark{width:31px;height:31px}.masthead{justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
