@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ink:#253c32;--paper:#f6f5ed;--line:#d4d9ca;--olive:#dce2cb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{height:96px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:30px;white-space:nowrap}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2.5px;margin-top:8px}nav{display:flex;gap:36px;font-size:12px}nav a:last-child{border-bottom:1px solid;padding-bottom:7px}.hero{height:calc(100svh - 96px);min-height:640px;max-height:950px;position:relative;color:#fff;overflow:hidden}.hero-image,.hero video,.shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-image{object-position:center}.shade{background:linear-gradient(90deg,rgba(10,31,23,.68),rgba(10,31,23,.16) 75%),linear-gradient(0deg,rgba(7,24,16,.4),transparent 30%)}.hero-content{position:relative;padding:8% 7%;max-width:900px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:500;line-height:1.7}h1,h2,h3,blockquote{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:clamp(65px,6.8vw,110px);line-height:1.02;letter-spacing:-2px;margin:28px 0}h2{font-size:clamp(40px,4.5vw,68px);line-height:1.1;margin:22px 0}h3{font-size:37px;line-height:1.15;margin:25px 0}p{line-height:1.8}.hero-content>p:not(.eyebrow){font-size:15px;color:#e3e7df}.button{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:19px 24px;font-size:12px;font-weight:500;border:0}.hero .button{display:inline-flex;margin-top:21px}.light{background:var(--paper);color:var(--ink)}.green{background:var(--ink);color:#fff}.button span{font-size:18px}.scroll{position:absolute;bottom:35px;left:7%;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:35px}.scroll span{font-size:24px}.hero-note{position:absolute;right:5%;bottom:42px;font-size:8px;letter-spacing:2px}.essence{padding:100px 8% 110px;text-align:center}.essence blockquote{font-size:clamp(34px,4.6vw,70px);line-height:1.2;margin:45px auto 20px;letter-spacing:-1px}em{font-weight:400;color:#7c8868}.signature{font-family:'Libre Caslon Display',serif;font-size:25px}.intro{border-top:1px solid var(--line);padding-top:65px;margin-top:85px;display:grid;grid-template-columns:1fr 1fr;gap:12%;text-align:left}.intro h2{font-size:47px;margin:0}.intro p{font-size:14px;margin:0 0 20px;color:#5c665b}.film{background:#e7eadd;padding:80px 8% 100px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:#65715e}.film-frame{aspect-ratio:16/8;position:relative;overflow:hidden;background:var(--ink)}.film-frame>img{width:100%;height:100%;object-fit:cover}.film-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,22,12,.55));pointer-events:none}.film-frame button{position:absolute;inset:0;border:0;color:white;background:transparent;display:flex;align-items:center;justify-content:center;gap:20px;z-index:1}.play-icon{width:75px;height:75px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;font-size:30px;background:#153b2d35;backdrop-filter:blur(5px)}.film-frame button>span:last-child{position:absolute;bottom:28px;left:30px;font-size:9px;letter-spacing:2px;text-align:left}.film-frame small{display:block;letter-spacing:0;font-size:12px;margin-top:8px}.film-frame video{position:absolute;width:100%;height:100%;inset:0;z-index:2;background:#000}.proposal{padding:110px 10%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.proposal-intro>p:last-child{font-size:14px;color:#68705f}.price-card{border:1px solid #cbd2bf;padding:42px;background:#edf0e4}.price{font-family:'Libre Caslon Display',serif;font-size:67px;margin:20px 0 0;line-height:1}.price>span{font-family:'DM Sans',sans-serif;font-size:20px}.price-caption{font-size:11px;color:#727c69;margin-bottom:28px}.price-card ul{list-style:none;padding:22px 0;margin:0 0 15px;border-top:1px solid #cbd2bf}.price-card li{font-size:12px;padding:9px 0;display:flex;gap:12px}.price-card li:before{content:'✓';color:#71805f}.fine{font-size:10px;line-height:1.7;margin:16px 0 0;color:#707961}.closing{text-align:center;padding:80px 20px 95px;background:var(--ink);color:var(--paper)}.closing em{color:#c8d1b4}.closing h2{font-size:70px;margin:25px 0 32px}.text-link{font-size:12px;border-bottom:1px solid #9eac91;padding-bottom:10px}footer{padding:40px 5.3%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer>span,footer>a:last-child{font-size:11px}dialog{border:1px solid var(--line);padding:60px;max-width:550px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#10271cd9;backdrop-filter:blur(6px)}dialog h2{font-size:44px}#close-modal{position:absolute;right:15px;top:10px;background:none;border:0;font-size:30px;color:var(--ink)}dialog>p:not(.eyebrow){font-size:14px}a,button{transition:opacity .2s}a:hover,button:hover{opacity:.78}:focus-visible{outline:3px solid #b59351;outline-offset:5px}[hidden]{display:none!important}@media(min-width:1600px){.hero-content{padding-top:120px}}@media(max-width:700px){header{height:84px;padding:0 6%}.brand{font-size:25px}.brand span{font-size:7px}nav{gap:0}nav a{display:none}nav a:last-child{display:block;font-size:11px}.hero{height:calc(90svh - 84px);min-height:640px}.hero-image{object-position:62% center}.hero-content{padding:85px 7%}.hero-content .eyebrow{font-size:8px;max-width:220px}h1{font-size:66px}.hero-note{display:none}.essence{padding:70px 7%}.essence blockquote{font-size:35px;margin:35px 0}.essence blockquote br{display:none}.intro{grid-template-columns:1fr;gap:25px;padding-top:40px;margin-top:55px}.intro h2{font-size:39px}.film{padding:60px 7%}.section-heading{display:block}.section-heading>p{margin-top:24px}.film-frame{aspect-ratio:4/3}.film-frame>img{object-position:32%}.film-frame button>span:last-child{left:18px;bottom:18px;font-size:7px}.play-icon{width:60px;height:60px}.proposal{grid-template-columns:1fr;padding:70px 7%;gap:30px}.price-card{padding:28px}.price-card .button{font-size:11px;padding:17px}.closing h2{font-size:53px}.closing .eyebrow{font-size:8px}footer{flex-wrap:wrap;padding:35px 7%}footer>span{order:3;width:100%;font-size:10px}dialog{padding:45px 25px;width:90%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.editor-toggle{background:transparent;border:0;border-bottom:1px solid #a9b39e;color:#65715e;padding:8px 0;font-size:10px}#proposal-editor{width:620px;max-width:94vw;max-height:90svh;overflow:auto;padding:40px}#proposal-editor h2{font-size:40px}.editor-close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:28px;color:var(--ink)}form label{display:block;font-size:12px;font-weight:500;margin:18px 0}label span{font-weight:300;color:#717c68}input{width:100%;padding:13px;margin-top:8px;background:#fffdf8;border:1px solid #c6cebc;color:var(--ink);font:14px 'DM Sans',sans-serif;border-radius:0}.field-row{display:flex;gap:18px}.field-row>*{flex:1;min-width:0}form>.button{width:100%;justify-content:center;margin-top:24px}#link-result{border-top:1px solid var(--line);margin-top:22px}#copy-status,#form-status{font-size:12px}.couple-greeting{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(26px,4vw,48px);line-height:1.15;margin:0 0 22px}.proposal-validity{font-size:12px;padding:12px 0;border-top:1px solid var(--line)}.expired-notice{background:#eee1cf;padding:16px;color:#594125;font-size:14px}.price.expired-price{font-size:38px}@media(max-width:700px){#proposal-editor{padding:35px 22px}.field-row{flex-wrap:wrap}.field-row>*{flex-basis:100%}.hero:has(.couple-greeting){min-height:820px}.hero:has(.couple-greeting) h1{font-size:54px}footer .editor-toggle{order:4}}

.hero-content>p.couple-greeting{font:400 clamp(38px,5vw,76px)/1.1 "Libre Caslon Display",Georgia,serif;color:#fff;margin:0 0 24px;max-width:850px}.hero:has(.couple-greeting) h1{font-size:clamp(48px,5vw,78px)}.hero:has(.couple-greeting){min-height:780px}.proposal-validity{font-size:12px;line-height:1.8;padding:12px 0}.hero-content{padding-top:6%}@media(max-width:700px){.hero-content{padding-top:65px}.hero-content>p.couple-greeting{font-size:45px}.hero:has(.couple-greeting) h1{font-size:49px}.hero:has(.couple-greeting){height:auto;min-height:850px}.price{font-size:56px}}

.public-invitation{font-size:14px;color:#64705d;line-height:1.8;margin:24px 0}.price-card:has(.public-invitation) h3{margin-bottom:20px}
