:root{--ink:#27271f;--gold:#806020;--gold-light:#e9d395;--paper:#fffef9;--line:#b49a54;--serif:"Shippori Mincho B1","Hiragino Mincho ProN",serif;color-scheme:light;font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.95 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;-webkit-text-size-adjust:100%;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
p,h1,h2,h3,figure{margin:0}
.copy{width:min(640px,calc(100% - 40px));margin-inline:auto}
[data-source-line]{display:block}
.hero{position:relative;isolation:isolate;height:100svh;min-height:780px;max-height:960px;background:#211e18;color:#fffbed;text-align:center}
.hero-art,.hero-art img,.hero-veil{position:absolute;inset:0;width:100%;height:100%}
.hero-art{z-index:-3}
.hero-art img{object-fit:cover;object-position:center bottom}
.hero-veil{z-index:-2;background:linear-gradient(180deg,rgba(26,24,20,.16),transparent 70%,rgba(255,254,249,.12) 88%,#fffef9 100%)}
.hero-copy{padding-top:92px;position:relative;z-index:2;text-shadow:0 2px 22px #15130e}
.hero-rule{height:35px;width:1px;margin:0 auto 27px;background:linear-gradient(180deg,transparent,#e9d395)}
.headline{font:600 clamp(27px,4vw,44px)/1.85 var(--serif);letter-spacing:.05em}
.headline [data-source-line]:last-child{color:#f5df9e;font-size:1.13em;letter-spacing:.08em;margin-top:5px;text-shadow:0 0 35px rgba(218,181,85,.2)}
.hero-lead{margin-top:34px;font-size:17px;line-height:2.05;color:#f3ecda}
.hero-name{font:600 16px/1.9 var(--serif);letter-spacing:.1em;color:#e9d395;margin-top:22px}
.scroll-thread{position:absolute;bottom:24px;left:50%;width:1px;height:48px;background:linear-gradient(#927339,transparent);opacity:.7}
.gold-flecks{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.gold-flecks i{position:absolute;left:18%;bottom:18%;width:3px;height:5px;background:#e9d395;opacity:0;transform:rotate(18deg);animation:rise 12s ease-in-out infinite}
.gold-flecks i:nth-child(2){left:73%;bottom:20%;animation-delay:-3s;width:2px}
.gold-flecks i:nth-child(3){left:86%;bottom:26%;animation-delay:-7s}
.gold-flecks i:nth-child(4){left:10%;bottom:29%;animation-delay:-9s;width:2px;height:3px}
.gold-flecks i:nth-child(5){left:61%;bottom:14%;animation-delay:-5s;width:2px;height:3px}
@keyframes rise{0%,100%{transform:translate(0,20px) rotate(18deg);opacity:0}30%{opacity:.45}80%{opacity:.1}95%{transform:translate(20px,-110px) rotate(70deg)}}
.daylight{background:radial-gradient(ellipse 85% 12% at 0 22%,rgba(233,211,149,.16),transparent 85%),radial-gradient(ellipse 70% 15% at 100% 48%,rgba(233,211,149,.18),transparent 85%),linear-gradient(#fffef9,#fffbed 68%,#fffef9);position:relative}
.fine-rule{width:64px;height:1px;margin:0 auto 38px;background:linear-gradient(90deg,transparent,#b49a54,transparent)}
.intro{text-align:center;padding-top:62px;padding-bottom:76px}
.intro h2{font-weight:600}
.section-eyebrow{display:block;font:600 16px/2 var(--serif);letter-spacing:.28em;color:var(--gold);padding-left:.28em}
.section-title{display:block;font:600 29px/1.8 var(--serif);letter-spacing:.3em;color:var(--gold);text-align:center;padding-left:.3em}
.intro h2>.section-title{margin-top:12px}
.intro h2 [data-source-line]{font-size:0;line-height:0}
.intro-lead{margin-top:27px;font:600 21px/1.9 var(--serif)}
.intro-types{margin-top:18px;letter-spacing:.16em;color:#685732}
.gift{text-align:center;position:relative;padding:28px 0 80px}
.gift+.gift{padding-top:68px}
.gift+.gift::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:128px;height:1px;background:linear-gradient(90deg,transparent,#c5aa67,transparent)}
.gift-label{color:#806020;font:600 15px/1.6 var(--serif);letter-spacing:.4em;padding-left:.4em}
.gift-number{display:block;font:600 21px/1.1 var(--serif);color:#aa8b47;letter-spacing:.1em;margin-top:20px;margin-bottom:19px}
.gift-number b{font-size:66px;font-weight:600;vertical-align:middle;margin-inline:10px;color:#b29959;text-shadow:0 2px 1px #fff}
.gift-type{display:block;font:600 16px/1.8 var(--serif);letter-spacing:.25em;color:#7a6540;margin-bottom:9px}
.gift-title{display:block;font:600 31px/1.7 var(--serif);letter-spacing:.035em;text-wrap:balance}
.title-part{display:inline-block}
.gift-value{font-size:17px;line-height:1.9;color:var(--gold);margin:22px auto 0;max-width:580px;text-wrap:pretty}
.gift-description{margin-top:34px}
.gift-description p+p{margin-top:20px}
.gift-last-line{font-family:var(--serif);font-weight:600;font-size:21px}
.gift-art{margin-top:36px;position:relative;padding:7px;border:1px solid #cfb879;background:linear-gradient(125deg,#fffef9,#f4e7c4);box-shadow:0 20px 40px -27px #947d44}
.gift-art img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gift-art::before,.gift-art::after{content:"";position:absolute;pointer-events:none;width:32px;height:32px;border:1px solid #9a7d39}
.gift-art::before{top:-3px;left:-3px;border-right:0;border-bottom:0}
.gift-art::after{bottom:-3px;right:-3px;border-left:0;border-top:0}
.phone-scene{margin-top:34px;min-height:560px;display:grid;place-items:center;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 46%,#fffdf3 0%,#f0dfb353 44%,transparent 70%)}
.phone-scene::before{content:"";position:absolute;inset:20% 0 16%;border-top:1px solid #d8c69575;border-bottom:1px solid #d8c69575;transform:skewY(-8deg);z-index:-1;background:linear-gradient(110deg,transparent,#fffdf6a0,transparent)}
.phone{width:224px;border-radius:34px;padding:8px;background:linear-gradient(145deg,#c9b47c,#514a37 22%,#e6d4a2 49%,#6c6040 80%,#b9a165);box-shadow:0 26px 35px -20px #5c4d2e90,0 0 0 1px #6a5f44;position:relative}
.phone img{width:100%;height:auto;border:3px solid #29271e;border-radius:26px}
.phone::before{content:"";position:absolute;top:16px;left:50%;transform:translateX(-50%);width:56px;height:14px;border-radius:20px;background:#24231e}
.invitation{padding:12px 0 80px;text-align:center}
.invitation-title{font:600 23px/1.9 var(--serif);text-wrap:balance}
.phrase{display:inline-block}
.receive-button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:88px;margin:30px 0 0;border:1px solid #ac8e43;border-radius:9px;background:linear-gradient(112deg,#c4a559 0%,#e9d395 22%,#fff3c4 49%,#e3c577 76%,#c8a851);color:#302b1e;box-shadow:inset 0 1px 0 #fff9dd,inset 0 -3px 0 #9f813650,0 5px 0 #ae914f,0 12px 24px -12px #96752d70;padding:19px 14px;font:700 21px/1.75 var(--serif);text-align:center;opacity:1;-webkit-text-fill-color:#302b1e;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.receive-button:hover{box-shadow:inset 0 1px 0 #fff9dd,inset 0 -3px 0 #9f813650,0 5px 0 #ae914f,0 16px 28px -12px #96752d90}
.receive-button:active{transform:translateY(3px);box-shadow:inset 0 1px 0 #fff9dd,inset 0 -3px 0 #9f813650,0 2px 0 #ae914f,0 8px 16px -10px #96752d70}
.receive-button:disabled{opacity:.65;cursor:default;transform:none}
.subscribe-form{margin-top:30px;text-align:left}
.subscribe-form .receive-button{margin-top:18px}
.email-label{display:block;font:600 15px/1.8 var(--serif);letter-spacing:.2em;color:var(--gold);margin-bottom:8px}
.email-input{display:block;width:100%;font:400 17px/1.6 "Zen Kaku Gothic New","Hiragino Sans",sans-serif;padding:16px 18px;background:#fffef9;color:var(--ink);border:1px solid #c5aa67;border-radius:9px;box-shadow:inset 0 1px 3px #b49a5440;-webkit-appearance:none;appearance:none}
.email-input::placeholder{color:#a69b82}
.email-input:focus{outline:2px solid #d8bd72;outline-offset:2px}
.form-error{font-size:15px;line-height:1.8;color:#8d3b2c;margin-top:10px}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.thanks-main{min-height:100svh;padding-top:84px}
.thanks{text-align:center;padding-bottom:40px}
.thanks-title{font:600 27px/1.8 var(--serif);letter-spacing:.06em;text-wrap:balance}
.thanks p{margin-top:22px;text-align:left}
.thanks .fine-rule+.delivery-title{margin-top:0}
.thanks .delivery-title{margin-top:0}
.thanks-section{margin-top:56px}
.back-link{display:inline-block;margin-top:36px;color:var(--gold);font:600 16px/1.8 var(--serif);letter-spacing:.1em;text-underline-offset:.3em}
.receive-button svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3}
.registration-notes{text-align:left;font-size:16px;line-height:1.9;color:#595346;margin-top:32px}
.registration-notes [data-source-line]+[data-source-line]{margin-top:12px}
.letters{padding:12px 0 76px}
.letters-lead{margin-top:28px;text-align:center}
.letter-list{list-style:none;margin:30px 0 25px;padding:0;border-top:1px solid #c4aa6a75}
.letter-list li{position:relative;padding:19px 8px 19px 28px;border-bottom:1px solid #c4aa6a50}
.letter-list li::before{content:"";position:absolute;left:6px;top:30px;width:6px;height:6px;background:linear-gradient(135deg,#e9d395,#987737);transform:rotate(45deg)}
.unsubscribe-note{color:#595346;font-size:16px}
.delivery{padding:12px 0 58px}
.delivery-title{font:600 23px/1.9 var(--serif);letter-spacing:.09em;text-align:center;margin-bottom:24px;text-wrap:balance}
.signature{text-align:center;padding:12px 0 42px}
.signature-icon{width:70px;height:70px;object-fit:cover;border-radius:50%;margin:0 auto 17px;box-shadow:0 0 0 4px #fffdf5,0 0 0 5px #c8ad6a}
.signature-name{font:600 21px/1.8 var(--serif);letter-spacing:.15em}
.signature small{display:block;font-size:13px;letter-spacing:.08em;color:#6d6553;margin-top:30px}
@media(min-width:1000px){.hero-copy{padding-top:78px}.hero{min-height:800px;max-height:900px}.hero-lead{margin-top:24px}.hero-name{margin-top:18px}.intro{padding-top:60px;padding-bottom:88px}.gift{padding-bottom:95px}.gift+.gift{padding-top:76px}.gift-title{font-size:34px}.gift-description{font-size:18px}.phone{width:238px}.phone-scene{min-height:600px}}
@media(max-width:699px){body{font-size:16px}.hero{min-height:760px;max-height:900px}.hero-copy{padding-top:67px}.hero-rule{height:28px;margin-bottom:25px}.headline{font-size:29px;line-height:1.9;letter-spacing:.025em}.headline [data-source-line]:last-child{font-size:32px;letter-spacing:.035em}.hero-lead{font-size:16px;text-wrap:balance;margin-top:28px;line-height:1.95}.hero-lead [data-source-line]+[data-source-line]{margin-top:8px}.hero-name{font-size:15px;letter-spacing:.06em;margin-top:22px}.intro{padding-top:44px;padding-bottom:58px}.section-title{font-size:25px;letter-spacing:.22em;padding-left:.22em}.section-eyebrow{font-size:15px;letter-spacing:.23em}.intro-lead{font-size:19px}.intro-types{font-size:16px}.fine-rule{margin-bottom:29px}.gift-title{font-size:26px}.gift-number b{font-size:59px}.gift-value{font-size:16px;margin-top:18px;text-align:left}.gift-description{text-align:left;margin-top:28px}.gift-description p+p{margin-top:20px}.gift-art{padding:5px;margin-top:28px}.gift{padding-bottom:62px}.gift+.gift{padding-top:54px}.gift-last-line{text-align:center;font-size:21px}.phone-scene{min-height:500px}.phone{width:207px}.invitation-title{font-size:20px}.receive-button{font-size:17px;padding:17px 10px;gap:6px;min-height:86px}.receive-button svg{width:18px}.registration-notes{margin-top:28px}.invitation{padding-bottom:65px}.letters{padding-bottom:62px}.letters-lead{text-align:left;margin-top:24px}.delivery-title{font-size:21px}.signature{padding-top:10px}}
@media(max-width:359px){.copy{width:calc(100% - 32px)}.headline{font-size:25px}.headline [data-source-line]:last-child{font-size:28px}.hero-copy{padding-top:63px}.hero-name{font-size:14px}.section-title{font-size:23px}.gift-title{font-size:24px}.receive-button{font-size:16px}.receive-button svg{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
