
:root{--family-red:#c82d36;--family-ink:#543e27;--family-muted:#82705d;--family-paper:#faf3e8;--family-line:#e4d3ba}
.family-body{margin:0;color:var(--family-ink);background:#f7eedf;min-height:100svh;font-family:Cairo,Arial,sans-serif;position:relative;isolation:isolate;overflow-x:hidden}
.family-body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 43%,#fff9ed00 15%,#f6ecdbdd 85%),repeating-conic-gradient(from -8deg at 50% 42%,#eed2b250 0deg 8deg,#fff8ed80 8deg 20deg)}
.family-body:after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 40%,#fffaf000 10%,#fffaf064 68%);pointer-events:none}
.family-body *{box-sizing:border-box}.family-body [hidden]{display:none!important}.family-body :focus-visible{outline:3px solid #bb7847;outline-offset:4px}
.family-shell{min-height:100svh;padding:38px 24px;display:grid;place-items:center;position:relative}.family-ticket{width:min(100%,520px);position:relative;text-align:center;border:1px solid #e2c9a8;border-radius:23px;background:#fffdf8;box-shadow:0 22px 65px #8d5b2420,0 2px 4px #8d5b2408;padding:24px 36px 20px;overflow:hidden}
.ticket-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#9a7550;gap:12px}.ticket-top [lang=en]{font-size:9px;letter-spacing:.17em}.family-gift{width:85px;height:85px;margin:13px auto 2px;color:var(--family-red);transform:rotate(-5deg)}.family-gift svg{width:100%;height:100%}.family-surprise{display:inline-flex;padding:5px 13px;border-radius:30px;background:#fff0e9;color:#b73732;font-weight:600;font-size:12px;margin-top:5px}.family-ticket h1{font-size:31px;line-height:1.65;margin:14px -12px 5px;font-weight:800;color:#543e27}.family-ticket h1 span{font-size:25px;white-space:nowrap}.family-offer{font-size:17px;line-height:1.85;margin:4px 0 8px;color:#76604a}.family-offer strong{color:var(--family-red);font-size:22px;font-weight:700}.family-intro{font-size:13px;line-height:1.9;margin:6px 0 22px;color:#8a765f}
.ticket-perforation{position:relative;border-top:1px dashed #d9c3a4;margin:20px -36px 28px;height:1px}.ticket-perforation:before,.ticket-perforation:after{content:"";position:absolute;top:-12px;width:23px;height:23px;background:#f7eedf;border:1px solid #e2c9a8;border-radius:50%}.ticket-perforation:before{right:-13px}.ticket-perforation:after{left:-13px}.ticket-perforation span{position:relative;top:-14px;background:#fffdf8;padding:0 16px;font-size:11px;color:#a48967;letter-spacing:.03em}
.family-field{margin-top:17px;text-align:right}.family-field label{display:block;margin-bottom:7px;font-size:14px;font-weight:600;color:#6b5439}.family-ticket input[type=tel],.family-ticket input[type=text]{display:block;width:100%;height:59px;border:1px solid #dfcfbb;border-radius:10px;background:#fff;color:#543e27;padding:10px 15px;font:600 21px Cairo,Arial,sans-serif;outline:none;transition:border-color .15s,box-shadow .15s}.family-ticket input[type=tel]{text-align:center;font-size:26px;letter-spacing:.12em}.family-ticket input::placeholder{color:#b5a693;font-weight:400}.family-ticket input[type=text]::placeholder{font-size:15px}.family-ticket input:focus{border-color:#ad7850;box-shadow:0 0 0 3px #d1aa8026}
.family-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:60px;margin-top:22px;padding:13px 18px;border:0;border-radius:11px;background:var(--family-red);color:#fffaf2;font:700 17px Cairo,Arial,sans-serif;box-shadow:0 5px 0 #9d2329;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.family-primary:hover{background:#b8252e}.family-primary:active{transform:translateY(2px);box-shadow:0 3px 0 #9d2329}.family-primary:disabled{opacity:.65;cursor:wait}.family-primary .icon{width:20px;height:20px}.family-consent{font-size:10px;line-height:1.9;color:#9c8b76;margin:19px 0 0}.family-error{background:#fff0e9;color:#a63026;border-radius:9px;padding:11px 13px;font-size:12px;line-height:1.8;text-align:right}
.ticket-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px dashed #e4d5c0;margin-top:20px;padding-top:14px;font-size:10px;color:#aa9273}.ticket-bottom .icon{width:21px;height:21px}.family-honey{position:absolute!important;left:0!important;top:0!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.family-back{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:44px;margin-top:7px;color:#8b7052;font-size:11px}.family-change{display:block;min-height:44px;border:0;background:none;font:400 12px Cairo,Arial,sans-serif;color:#856348;margin:14px auto 0;cursor:pointer}.family-step{color:#a58966;font-size:12px}
.family-success{padding:24px 0 15px}.family-success-mark{width:75px;height:75px;display:grid;place-items:center;background:#fff0e8;color:var(--family-red);border-radius:50%;margin:0 auto 18px}.family-success-mark .icon{width:34px;height:34px}.family-success h2{font-size:27px;line-height:1.6;margin:12px 0;color:#543e27}.family-success p{font-size:14px;line-height:1.9;color:#8a7055}.family-success span{font-size:11px;color:#a58966}.family-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.family-confetti i{position:absolute;width:8px;height:22px;background:#c82d3630;transform:rotate(30deg);top:17%;left:14%;border-radius:2px}.family-confetti i:nth-child(2){top:33%;left:84%;transform:rotate(-28deg);background:#d7a36365}.family-confetti i:nth-child(3){top:72%;left:12%;height:10px;width:10px;border:2px solid #c82d3640;background:none;transform:rotate(20deg)}.family-confetti i:nth-child(4){top:82%;left:88%;height:9px;width:9px;border-radius:50%;background:#b98b5440}.family-confetti i:nth-child(5){top:7%;left:74%;height:8px;width:8px;background:#c82d3630;transform:rotate(-20deg)}.family-confetti i:nth-child(6){top:61%;left:91%;height:18px;width:5px;transform:rotate(50deg)}
.family-invite{position:fixed;bottom:95px;inset-inline-end:24px;z-index:75;width:min(340px,calc(100vw - 32px));padding:17px 42px 17px 18px;border:1px solid #dfd0bc;border-radius:16px;background:#fffdf9;box-shadow:0 10px 32px #543e2717;font-family:Cairo,Arial,sans-serif;animation:family-in .25s ease-out}.family-invite[hidden]{display:none}.family-invite b{display:block;font-size:15px;color:#543e27}.family-invite p{font-size:12px;margin:5px 0 9px;color:#78654f;line-height:1.7}.family-invite a{font-size:13px;color:#b8252e;font-weight:700;text-decoration:underline;text-underline-offset:5px}.family-invite button{position:absolute;inset-inline-start:4px;top:5px;width:44px;height:44px;border:0;border-radius:50%;background:none;cursor:pointer;color:#6c4925}.family-invite .icon{width:17px;height:17px}.mobile-dock .dock-family span{font-size:8px;font-weight:500;line-height:1.55;white-space:nowrap;text-wrap:nowrap;max-width:none}.mobile-dock .dock-family{color:#b42c34}
@keyframes family-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:768px) and (orientation:portrait){.family-shell{padding:35px 28px}.family-ticket{padding:28px 40px 23px;width:540px}.ticket-perforation{margin-inline:-40px}.family-gift{width:94px;height:94px;margin-top:18px}.family-ticket h1{font-size:34px}.family-offer strong{font-size:24px}.family-ticket input[type=tel],.family-ticket input[type=text]{height:64px}.family-primary{min-height:65px}.family-intro{font-size:14px}}
@media(max-width:540px){.family-shell{padding:23px 18px;display:flex;align-items:flex-start;justify-content:center}.family-ticket{padding:19px 24px 16px;border-radius:19px}.ticket-top{font-size:10px}.ticket-top [lang=en]{font-size:8px;letter-spacing:.12em}.family-gift{width:72px;height:72px;margin:10px auto 0}.family-surprise{font-size:10px;padding:4px 12px}.family-ticket h1{font-size:25px;margin:11px -12px 5px}.family-ticket h1 span{font-size:21px}.family-offer{font-size:14px;margin-top:2px}.family-offer strong{font-size:19px}.family-intro{font-size:12px;margin-bottom:18px}.ticket-perforation{margin:18px -24px 24px}.family-field{margin-top:14px}.family-field label{font-size:13px}.family-ticket input[type=tel],.family-ticket input[type=text]{height:56px}.family-primary{min-height:57px;font-size:16px;margin-top:20px}.family-consent{font-size:9px}.ticket-bottom{margin-top:16px;padding-top:13px;font-size:9px}.family-invite{inset-inline-end:16px;bottom:98px}}
@media(prefers-reduced-motion:reduce){.family-invite{animation:none}.family-primary,.family-ticket input{transition:none}}

.family-entry{position:relative}.family-kiosk .family-entry .family-success{position:absolute;inset:0;background:#fffdf8;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px 4px}.family-kiosk .family-entry .family-success h2{font-size:25px}.family-kiosk .family-entry .family-success-mark{width:66px;height:66px;margin-bottom:8px}.family-kiosk .family-entry .family-success p{margin:5px 0}.family-kiosk .family-entry .family-success span{margin-top:10px}

/* Review only: gray coupon head, clean cutouts and the menu's brown button. */
.family-ticket{padding:0!important;border:0;background:none;box-shadow:none;overflow:visible;filter:drop-shadow(0 13px 24px #543e2712)}
.coupon-head,.coupon-body{position:relative;border:1px solid #e1d9cb}
.coupon-head{padding:24px 36px 18px;background:#eeede9;border-bottom:0;border-radius:22px 22px 0 0;-webkit-mask:radial-gradient(circle at left bottom,transparent 15px,#000 15.6px) left/51% 100% no-repeat,radial-gradient(circle at right bottom,transparent 15px,#000 15.6px) right/51% 100% no-repeat;mask:radial-gradient(circle at left bottom,transparent 15px,#000 15.6px) left/51% 100% no-repeat,radial-gradient(circle at right bottom,transparent 15px,#000 15.6px) right/51% 100% no-repeat}
.coupon-body{padding:21px 36px 18px;background:#fffdf8;border-top:0;border-radius:0 0 22px 22px;-webkit-mask:radial-gradient(circle at left top,transparent 15px,#000 15.6px) left/51% 100% no-repeat,radial-gradient(circle at right top,transparent 15px,#000 15.6px) right/51% 100% no-repeat;mask:radial-gradient(circle at left top,transparent 15px,#000 15.6px) left/51% 100% no-repeat,radial-gradient(circle at right top,transparent 15px,#000 15.6px) right/51% 100% no-repeat}
.family-gift{color:#735739;width:74px;height:74px;margin-top:16px;transform:rotate(-3deg)}.family-surprise{background:#e5dfd4;color:#7b5c3c;font-size:11px}.family-ticket h1{font-size:29px;margin-top:12px}.family-intro{color:#80715f;font-size:14px;margin-top:10px;margin-bottom:13px}.coupon-cut-label{font-size:10px;letter-spacing:.03em;color:#a3927a;display:block;margin-top:15px}.coupon-body .family-field:first-child{margin-top:0}
.family-primary{background:#543e27;box-shadow:none;border:1px solid #543e27;border-radius:10px;min-height:56px;font-size:16px;font-weight:700;gap:15px}.family-primary:hover{background:#6d5032}.family-primary:active{transform:translateY(1px);box-shadow:none}.family-consent{color:#9a8c79}.ticket-bottom{border-top:0;margin-top:15px;padding-top:4px}.family-back{margin-top:3px}.mobile-dock .dock-family{color:#543e27}.mobile-dock .dock-family .icon{stroke-width:1.6}
.family-header-join{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 15px;border-radius:10px;border:1px solid #543e27;background:#543e27;color:#fffdf8!important;font-size:11px;font-weight:700;white-space:nowrap}.family-header-join .icon{width:19px;height:19px}.family-header-join:hover{background:#6d5032}
@media(min-width:768px) and (orientation:portrait){.family-ticket{width:540px}.coupon-head{padding:27px 40px 19px}.coupon-body{padding:23px 40px 22px}.family-ticket h1{font-size:33px}.family-gift{width:84px;height:84px}.family-primary{min-height:61px}}
@media(max-width:700px){.family-header-join{display:none}}
@media(max-width:540px){.coupon-head{padding:20px 24px 16px;border-radius:19px 19px 0 0}.coupon-body{padding:19px 24px 16px;border-radius:0 0 19px 19px}.family-ticket h1{font-size:25px}.family-gift{width:66px;height:66px;margin-top:12px}.family-intro{font-size:12px}.family-primary{font-size:15px;min-height:55px}.family-surprise{font-size:10px}.coupon-cut-label{font-size:9px;margin-top:11px}}

/* Local revision requested by owner: deeper beige and a shorter upper section. */
.coupon-head{background:#e0c5a1;border-color:#cdb18a;padding:18px 36px 14px}.coupon-body{border-color:#d9c4a6}.ticket-top{color:#836445;font-size:10px}.family-gift{width:60px;height:60px;margin:8px auto 0}.family-surprise{background:#ead8be;color:#765737;font-size:10px;padding:3px 12px;margin-top:3px}.family-ticket h1{font-size:28px;line-height:1.5;margin:9px -12px 4px}.family-intro{font-size:13px;line-height:1.7;margin:6px 0;color:#745b40}.coupon-cut-label{font-size:10px;line-height:1.6;margin-top:8px;color:#8b6b46}.family-header-join{box-shadow:none}
@media(min-width:701px) and (max-width:1050px){.topbar .nav-menu,.topbar .nav-location{display:none}.family-header-join{font-size:11px;padding-inline:12px}}
@media(min-width:768px) and (orientation:portrait){.coupon-head{padding:22px 40px 15px}.family-gift{width:68px;height:68px;margin-top:8px}.family-ticket h1{font-size:31px}.family-intro{font-size:13px;line-height:1.7;margin-block:6px}}
@media(max-width:540px){.coupon-head{padding:16px 24px 13px}.family-gift{width:54px;height:54px;margin-top:7px}.family-ticket h1{font-size:24px;margin-top:8px}.family-intro{font-size:11.5px;line-height:1.8;margin:6px 0}.coupon-cut-label{font-size:9px;margin-top:7px}.family-surprise{font-size:9px;padding:3px 11px}}

/* Dashed cut line sits exactly on the beige/white seam, outside both masks. */
.coupon-seam{position:relative;z-index:1;height:0;pointer-events:none}.coupon-seam:before{content:"";position:absolute;top:-.75px;left:24px;right:24px;height:1.5px;background:repeating-linear-gradient(90deg,#ad8758 0 6px,transparent 6px 11px)}
.family-gift{transform:none}.family-gift img{display:block;width:100%;height:100%;object-fit:contain}
