:root{--paper:#FFFEFC;--accent:#8CCADD;--warm:#F3A58F;--ink:#51313b;--deep:#6b3843;--line:#8CCADD77;}
.concept-N01 .hero{box-sizing:border-box}
.concept-N01 .hero img{display:block;max-width:100%}

.concept-N01 .hero{position:relative;min-height:100vh;min-height:100svh;background:#eaf6f9;padding:14px;overflow:hidden;isolation:isolate}
.concept-N01 .ticket-paper{position:relative;min-height:calc(100vh - 28px);min-height:calc(100svh - 28px);background:#fffefc;overflow:hidden;box-shadow:0 5px 30px #314e5b12;clip-path:polygon(2% 0,98% 0,100% 1%,100% 99%,98% 100%,2% 100%,0 99%,0 1%)}
.concept-N01 .ticket-paper:before,.concept-N01 .ticket-paper:after{content:"";position:absolute;top:0;bottom:0;width:8px;z-index:7;background:radial-gradient(circle at center,#eaf6f9 0 3px,transparent 3.6px) center/8px 22px repeat-y;pointer-events:none}
.concept-N01 .ticket-paper:before{left:-4px}.concept-N01 .ticket-paper:after{right:-4px}
.concept-N01 .ticket-cap{position:relative;z-index:4;padding:23px 24px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed #8ccadd}
.concept-N01 .ticket-city{font:500 13px Manrope,sans-serif;color:#314e5b}
.concept-N01 .ticket-copy{position:relative;z-index:4;padding:25px 16px 0;text-align:center}
.concept-N01 .hero-eyebrow{font:400 13px/1.5 Manrope,sans-serif;max-width:28ch;margin:0 auto 14px;color:#6b3843}
.concept-N01 .couple-names{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:0 10px;font:400 clamp(54px,15vw,92px)/1.13 "Pinyon Script",cursive;margin:0;color:#6b3843;letter-spacing:0}
.concept-N01 .couple-names span{display:inline-block;max-width:100%}.concept-N01 .couple-names i{font:400 .55em "Cormorant Garamond",serif}
.concept-N01 .hero-thought{font:400 clamp(23px,6vw,34px)/1.22 "Cormorant Garamond",serif;max-width:22ch;margin:16px auto 0;color:#6b3843}
.concept-N01 .hero-date{font:500 13px/1.5 Manrope,sans-serif;margin:17px 0 0;color:#314e5b}
.concept-N01 .ticket-shore{position:absolute;inset:43% 0 62px;margin:0;z-index:1;mask-image:linear-gradient(transparent,#000 20%,#000 96%,transparent)}
.concept-N01 .ticket-shore img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.concept-N01 .ticket-counterfoil{position:absolute;z-index:4;bottom:0;left:0;right:0;height:65px;border-top:1px dashed #8ccadd;display:flex;align-items:center;justify-content:center;gap:14px;background:#fffefcee}
.concept-N01 .ticket-counterfoil img{width:62px;height:40px;object-fit:contain}.concept-N01 .ticket-counterfoil p{font:400 11px/1.4 Manrope,sans-serif;max-width:18ch;margin:0;color:#314e5b}
.concept-N01 .invitation-section{border-block:1px dashed #8ccadd;background:#fffefc}
.concept-N01 .date-section{background:#edf7fa;border-top:12px solid #fffefc;border-bottom:1px dashed #8ccadd}
.concept-N01 .date-card{border:1px solid #8ccadd;border-radius:0;padding:30px 18px;background:#fffefc;box-shadow:8px 8px 0 #8ccadd25}
.concept-N01 .chapter-a{border-left:5px solid #8ccadd}.concept-N01 .chapter-b{border-right:5px solid #f3a58f}
.concept-N01 .venue-section{background:#fffefc}.concept-N01 .program-section{background:#f4fafb}
.concept-N01 .program-list{border-left:2px dashed #8ccadd;margin-left:12px;padding-left:22px}.concept-N01 .program-event{position:relative}.concept-N01 .program-event:before{content:"";width:10px;height:10px;background:#f3a58f;border:4px solid #f4fafb;border-radius:50%;position:absolute;left:-31px;top:18px}
.concept-N01 .rsvp-section{background:#eef7fa;border-block:1px dashed #8ccadd}.concept-N01 .closing-section{border-top:1px dashed #8ccadd}
@media(min-width:700px){.concept-N01 .ticket-copy{padding-top:42px}.concept-N01 .hero-eyebrow{font-size:15px}.concept-N01 .hero-date{font-size:15px}.concept-N01 .ticket-shore{top:40%}.concept-N01 .ticket-paper{min-height:870px}.concept-N01 .hero{min-height:900px}}
@media(max-width:370px){.concept-N01 .hero{padding:10px}.concept-N01 .ticket-cap{padding-inline:18px}.concept-N01 .couple-names{font-size:54px}.concept-N01 .hero-thought{font-size:23px}}

.concept-N01 .hero figure{pointer-events:none}
.concept-N01 .rsvp-section input,.concept-N01 .rsvp-section select,.concept-N01 .rsvp-section button,.concept-N01 .btn{min-height:44px}
@media(prefers-reduced-motion:reduce){.concept-N01 .hero *{animation:none!important;transition:none!important}}
