#tnt-party{--green:#008038;--cream:#fff5e3;--yellow:#ffce32;--ink:#20251f;--dark:#005526;color:#000;background:var(--cream);font:18px/1.6 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
#tnt-party *,#tnt-party *:before,#tnt-party *:after{box-sizing:border-box}#tnt-party [hidden]{display:none!important}#tnt-party h1,#tnt-party h2,#tnt-party h3,#tnt-party p{margin:0}#tnt-party h1,#tnt-party h2,#tnt-party h3{font-family:Impact,'Arial Black',sans-serif!important;font-weight:400!important;line-height:1.04;letter-spacing:-.015em;color:var(--green);text-wrap:balance}#tnt-party h1{font-size:72px}#tnt-party h2{font-size:56px}#tnt-party h3{font-size:32px}#tnt-party p{text-wrap:pretty}#tnt-party p+p{margin-top:16px}#tnt-party .wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}#tnt-party .zone{padding-block:64px}#tnt-party .white{background:#fff}#tnt-party .green{background:var(--green);color:var(--cream)}#tnt-party .green h2,#tnt-party .green h3{color:var(--cream)}#tnt-party .green .eyebrow{color:var(--yellow)}#tnt-party .eyebrow{font-size:13px;font-weight:800;letter-spacing:.1em;line-height:1.4;color:var(--green);margin-bottom:16px}#tnt-party .underline{display:inline-block;border-bottom:6px solid var(--yellow);padding-bottom:8px}#tnt-party .hero-grid,#tnt-party .request-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center}#tnt-party .hero-copy,#tnt-party .request-copy{grid-column:span 6;padding-right:24px}#tnt-party .lead{font-size:20px;line-height:1.6;margin:24px 0 32px;max-width:540px}#tnt-party .cta{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;border:2px solid var(--ink);border-radius:100px;padding:8px 12px 8px 24px;background:var(--yellow);color:var(--dark);box-shadow:0 5px 0 var(--ink);font:800 14px/1.25 Arial;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}#tnt-party .cta:hover{background:#eabd23;transform:translateY(-2px);box-shadow:0 7px 0 var(--ink)}#tnt-party .cta:active{transform:scale(.96)}#tnt-party .arrow{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;background:var(--green);color:var(--yellow);border-radius:50%}#tnt-party .arrow svg{width:26px;height:26px}#tnt-party .text-link{display:block;width:fit-content;margin-top:24px;color:var(--green);text-decoration:underline;text-underline-offset:5px;font-size:16px;font-weight:700}#tnt-party :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b33217;outline-offset:5px}#tnt-party .green :is(a,button):focus-visible{outline-color:white}#tnt-party .hero-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}#tnt-party .hero-facts span{border:1px solid #00803855;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700}#tnt-party .fine{font-size:14px;line-height:1.5}#tnt-party .review-note{margin-top:16px;color:#555}#tnt-party .room-frame{grid-column:span 6;border:2px solid var(--ink);border-radius:24px;overflow:hidden;background:var(--green);box-shadow:8px 8px 0 var(--yellow)}#tnt-party .room-placeholder{min-height:350px;padding:32px;background:#f0e6d2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;gap:16px;color:#4b5148}#tnt-party .room-placeholder svg{width:64px;height:48px;stroke:var(--green);stroke-width:2}#tnt-party .room-placeholder strong{font-size:25px;line-height:1.25}#tnt-party .room-placeholder>span:last-child{font-size:13px}#tnt-party .placeholder-number{font:700 11px/1.4 Arial;letter-spacing:.12em;color:#48614d}#tnt-party .room-placeholder .placeholder-number{position:absolute;top:24px;left:24px}#tnt-party .room-caption{padding:24px 32px;color:var(--cream);display:grid;gap:8px}#tnt-party .room-caption strong{font:28px/1.1 Impact,'Arial Black',sans-serif;color:var(--yellow)}#tnt-party .room-caption span{font-size:15px}#tnt-party .section-head{max-width:1000px;margin:0 auto 32px;text-align:center}#tnt-party .section-head>p:last-child:not(.eyebrow){max-width:760px;margin:16px auto 0}#tnt-party .gallery-grid,#tnt-party .food-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}#tnt-party .gallery-placeholder{min-height:200px;border:1px dashed #00803888;border-radius:20px;background:var(--cream);padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px}#tnt-party .gallery-placeholder strong{font-size:22px}#tnt-party .gallery-placeholder p{font-size:14px}#tnt-party .facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}#tnt-party .facts-grid>div{padding:0 24px;border-left:3px solid var(--yellow)}#tnt-party .facts-grid strong{font-size:16px;color:var(--green)}#tnt-party .facts-grid p{font-size:15px;margin-top:8px}#tnt-party .food-card{border:2px solid var(--ink);border-radius:24px;overflow:hidden;box-shadow:0 5px 0 #00803825;background:var(--cream);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}#tnt-party .food-card:hover{transform:translateY(-3px);box-shadow:0 8px 0 #00803825}#tnt-party .food-card>img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block;outline:1px solid #0000001a}#tnt-party .card-body{padding:32px;display:flex;flex-direction:column;flex:1}#tnt-party .card-body .eyebrow{margin-bottom:8px}#tnt-party .card-body>p:not(.eyebrow){font-size:17px;margin-top:16px}#tnt-party .card-body .card-rule{border-top:1px solid #00803833;padding-top:16px;font-weight:700;margin-top:auto!important;padding-bottom:24px}#tnt-party .card-body>p:not(.card-rule):not(.eyebrow){margin-bottom:24px}#tnt-party .extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px;border-top:1px solid #00803833;padding-top:32px}#tnt-party .extras-grid h3{font-size:26px}#tnt-party .extras-grid p{font-size:16px;margin-top:12px}#tnt-party .centered{text-align:center;max-width:860px;margin:24px auto 0}#tnt-party .steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}#tnt-party .steps li{border-top:1px solid #ffffff55;padding-top:24px}#tnt-party .steps li>span{font:40px/1 Impact,'Arial Black',sans-serif;color:var(--yellow)}#tnt-party .steps h3{font-size:26px;margin-top:16px}#tnt-party .steps p{font-size:16px;margin-top:12px}#tnt-party .process-note{margin:32px auto 0;padding-top:24px;border-top:1px solid #ffffff55;font-size:14px;text-align:center}#tnt-party .request-grid{align-items:start}#tnt-party .request-facts{display:grid;gap:24px;border-top:1px solid #00803833;padding-top:24px;margin-bottom:24px}#tnt-party .request-facts p{font-size:16px;margin:0}#tnt-party .form-card{grid-column:span 6;padding:32px;background:white;border:1px solid #00803855;border-radius:24px}#tnt-party .form-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}#tnt-party .form-title h3{font-size:27px}#tnt-party .preview-tag{font-size:10px;font-weight:800;letter-spacing:.07em;background:var(--cream);padding:6px 8px;border-radius:4px;color:#555}#tnt-party .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin:24px 0}#tnt-party label{font-size:14px;line-height:1.4;font-weight:700;display:block}#tnt-party input,#tnt-party select,#tnt-party textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #00803888;background:white;color:black;border-radius:8px;font:16px/1.4 Arial;padding:12px;margin-top:8px}#tnt-party textarea{resize:vertical}#tnt-party .full{grid-column:1/-1;width:100%}#tnt-party .field-help{display:block;font-size:12px;font-weight:400;line-height:1.45;margin-top:8px}#tnt-party p.field-help{margin: -10px 0 0}#tnt-party .optional{font-weight:400;color:#555}#tnt-party .form-error{color:#99210c;background:#fff0e9;padding:16px;border-radius:8px;margin-bottom:24px;font-size:15px}#tnt-party [aria-invalid=true]{border:2px solid #99210c}#tnt-party #request-result{padding:24px;background:var(--cream);border:1px solid var(--green);border-radius:12px;margin-top:24px;font-size:16px;overflow-wrap:anywhere}#tnt-party #request-result strong{display:block;color:var(--green);font-size:20px}#tnt-party .faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;align-items:start}#tnt-party details{background:var(--cream);border:1px solid #00803855;border-radius:16px;padding:8px 20px}#tnt-party summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;cursor:pointer;font-size:17px;font-weight:700;line-height:1.4}#tnt-party summary::-webkit-details-marker{display:none}#tnt-party summary:after{content:'+';font-size:28px;color:var(--green);flex:none}#tnt-party details[open] summary:after{content:'−'}#tnt-party details p{font-size:16px;padding:8px 0 16px}#tnt-party .closing-grid{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:center}#tnt-party .closing h2{font-size:42px}#tnt-party .closing p{margin-top:16px}#tnt-party .closing .fine{font-size:12px;max-width:520px}#tnt-party .closing .text-link{color:var(--cream)}#tnt-party .mobile-cta{display:none}#tnt-party :is(section,input,select,button,textarea,summary){scroll-margin-top:24px}#tnt-party .reveal{opacity:1}
@media(min-width:701px) and (max-width:1100px){#tnt-party h1{font-size:56px}#tnt-party h2{font-size:46px}#tnt-party .hero-copy,#tnt-party .request-copy{padding:0}#tnt-party .lead{font-size:18px}#tnt-party .hero-grid{align-items:start}#tnt-party .room-placeholder{min-height:330px}#tnt-party .room-caption{padding:24px}#tnt-party .steps{grid-template-columns:repeat(2,minmax(0,1fr))}#tnt-party .form-card{padding:24px}#tnt-party .form-grid{grid-template-columns:1fr}#tnt-party .card-body{padding:24px}#tnt-party .closing-grid{grid-template-columns:3fr 2fr}}
@media(max-width:700px){#tnt-party{font-size:16px}#tnt-party .wrap{width:calc(100% - 40px)}#tnt-party .zone{padding-block:40px}#tnt-party h1{font-size:clamp(42px,10vw,56px)}#tnt-party h2{font-size:36px}#tnt-party h3{font-size:28px}#tnt-party .hero-grid,#tnt-party .request-grid{grid-template-columns:minmax(0,1fr);gap:32px}#tnt-party .hero-copy,#tnt-party .room-frame,#tnt-party .request-copy,#tnt-party .form-card{grid-column:1;padding-right:0}#tnt-party .lead{font-size:17px;margin:20px 0 24px}#tnt-party .room-frame{margin-right:6px}#tnt-party .room-placeholder{min-height:250px;padding:48px 24px 24px}#tnt-party .room-caption{padding:24px}#tnt-party .hero-facts{margin-top:24px}#tnt-party .section-head{margin-bottom:24px}#tnt-party .gallery-grid,#tnt-party .food-grid,#tnt-party .extras-grid,#tnt-party .faq-grid,#tnt-party .closing-grid{grid-template-columns:minmax(0,1fr)}#tnt-party .gallery-placeholder{min-height:160px}#tnt-party .facts-grid{grid-template-columns:1fr;gap:20px}#tnt-party .facts-grid>div{padding-left:16px}#tnt-party .steps{grid-template-columns:1fr 1fr;gap:24px 16px}#tnt-party .steps h3{font-size:23px}#tnt-party .steps p{font-size:15px}#tnt-party .card-body,#tnt-party .form-card{padding:24px}#tnt-party .form-grid{grid-template-columns:1fr}#tnt-party .closing h2{font-size:36px}#tnt-party .closing-grid{gap:24px}#tnt-party .mobile-cta{position:sticky;bottom:0;z-index:20;display:block;background:var(--cream);padding:12px 20px 16px;border-top:1px solid #00803844}#tnt-party .mobile-cta .cta{width:100%;min-height:56px}#tnt-party .mobile-cta.is-hidden{visibility:hidden;pointer-events:none;height:0;padding:0;border:0}#tnt-party :is(section,input,select,button,textarea,summary){scroll-margin-bottom:104px}#tnt-party .faq-grid summary{font-size:16px}#tnt-party .hero-copy>.cta{width:100%}}
@media(max-width:360px){#tnt-party .steps{grid-template-columns:1fr}#tnt-party .card-body,#tnt-party .form-card{padding:20px}#tnt-party .cta{padding-left:18px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#tnt-party *,#tnt-party *:before,#tnt-party *:after{transition:none!important;animation:none!important}#tnt-party .cta:hover,#tnt-party .food-card:hover,#tnt-party .cta:active{transform:none}}
/* Actual room photography: preserve full composition, without stretching or clipping people. */
#tnt-party .room-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
#tnt-party .room-gallery{margin:0;border:1px solid #00803840;border-radius:20px;overflow:hidden;background:var(--cream)}
#tnt-party .room-gallery figcaption{padding:16px 24px;color:#000;font-size:15px;line-height:1.5}
#tnt-party .food-card .cta{margin-top:auto}
/* Consistent information icons and useful photo interaction. */
#tnt-party .detail-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:50%;background:var(--yellow);color:var(--green)}
#tnt-party .detail-icon svg{width:28px;height:28px}
#tnt-party .facts-grid>div{display:flex;gap:16px;align-items:flex-start;border-left:0;padding:0}
#tnt-party .fact-copy{min-width:0}#tnt-party .fact-copy strong{display:block;margin:2px 0 8px}
#tnt-party .extra-card{display:flex;gap:20px;align-items:flex-start;background:#fffaf0;padding:24px;border-radius:20px;box-shadow:0 1px 0 #0001,inset 0 0 0 1px #0000000d}
#tnt-party .extra-card h3{font-size:27px;margin-bottom:12px}#tnt-party .extra-card p{font-size:16px}
#tnt-party .photo-open{position:relative;display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in;color:#005526}
#tnt-party .photo-hint{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;background:var(--cream);padding:8px 12px;border-radius:30px;font:700 13px Arial;box-shadow:0 2px 10px #0002}
#tnt-party .photo-hint .detail-icon{background:none;flex-basis:24px;width:24px;height:24px}#tnt-party .photo-hint svg{width:20px;height:20px}
#tnt-party .photo-open:hover .photo-hint{background:var(--yellow)}
#tnt-party dialog{width:min(1100px,94vw);max-height:94dvh;padding:0;border:0;border-radius:16px;background:#20251f;overflow:auto}
#tnt-party dialog::backdrop{background:#000c}#tnt-party dialog img{display:block;width:100%;height:auto}
#tnt-party .photo-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;background:var(--cream);color:#000;font:30px Arial;cursor:pointer}
@media(max-width:700px){#tnt-party .extra-card{padding:20px;gap:14px}#tnt-party .detail-icon{flex-basis:44px;width:44px;height:44px}#tnt-party .extra-card h3{font-size:24px}}
/* Consistent information cards, stronger supporting type and compact request flow. */
#tnt-party p,#tnt-party .field-help,#tnt-party .room-caption span{font-weight:600}
#tnt-party p,#tnt-party .field-help,#tnt-party .booking-note{color:#000}
#tnt-party .green p,#tnt-party .room-caption span{color:var(--cream)}
#tnt-party .facts-grid>div,#tnt-party .extra-card{align-items:center;gap:18px;padding:24px;background:#fffaf0;border:1px solid #00803824;border-radius:20px;box-shadow:0 3px 0 #20251f0a}
#tnt-party .facts-grid p{font-size:16px;line-height:1.55;margin-top:0}
#tnt-party .facts-grid strong{font-size:17px;line-height:1.35}
#tnt-party .detail-icon{flex-shrink:0;box-shadow:inset 0 0 0 1px #00000008}
#tnt-party .detail-icon svg{width:30px;height:30px}
#tnt-party .fine{font-size:15px}
#tnt-party #request .request-grid{display:block;max-width:940px}
#tnt-party #request .request-copy{padding:0;text-align:center;margin-bottom:28px}
#tnt-party #request .lead{max-width:660px;margin:18px auto 0;font-size:20px;line-height:1.5}
#tnt-party #request .form-card{padding:32px}
#tnt-party .booking-note{font-size:16px;line-height:1.5;margin:16px 0 12px}
@media(min-width:701px){#tnt-party #request .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px) and (min-width:701px){#tnt-party .facts-grid{grid-template-columns:1fr}#tnt-party .facts-grid>div{padding:20px}}
@media(max-width:700px){#tnt-party .facts-grid>div,#tnt-party .extra-card{padding:20px;gap:16px}#tnt-party #request .form-card{padding:24px}#tnt-party #request .lead{font-size:18px}#tnt-party .detail-icon svg{width:26px;height:26px}}
@media(max-width:360px){#tnt-party #request .form-card{padding:20px}}
/* Live availability calendar. */
#tnt-party .availability-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:56px;align-items:center}
#tnt-party .availability-copy .lead{margin:20px 0 24px}
#tnt-party .availability-legend{display:flex;flex-wrap:wrap;gap:16px 24px;margin:0 0 20px;font-size:15px;font-weight:800}
#tnt-party .availability-legend span{display:flex;align-items:center;gap:9px}
#tnt-party .status-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--ink)}
#tnt-party .status-dot.available{background:var(--green)}#tnt-party .status-dot.unavailable{background:#d6d6cc}
#tnt-party .availability-card{background:var(--cream);border:2px solid var(--ink);border-radius:24px;padding:28px;box-shadow:8px 8px 0 var(--yellow)}
#tnt-party .calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:20px}
#tnt-party .calendar-toolbar h3{font-size:27px;text-align:center}
#tnt-party .calendar-nav{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;background:white;color:var(--green);font:800 30px/1 Arial;cursor:pointer}
#tnt-party .calendar-nav:disabled{opacity:.32;cursor:not-allowed}
#tnt-party .calendar-weekdays,#tnt-party .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
#tnt-party .calendar-weekdays{margin-bottom:8px;color:var(--green);font-size:12px;font-weight:900;text-align:center}
#tnt-party .calendar-day{position:relative;display:grid;place-items:center;gap:3px;aspect-ratio:1;border:1px solid #00803830;border-radius:10px;background:white;color:var(--ink);font:800 15px Arial;cursor:pointer}
#tnt-party .calendar-day i{width:7px;height:7px;border-radius:50%;background:#d6d6cc}
#tnt-party .calendar-day.day-open i{background:var(--green)}#tnt-party .calendar-day.day-closed{color:#76766f;background:#f1eee5}
#tnt-party .calendar-day:hover:not(:disabled),#tnt-party .calendar-day[aria-selected=true]{border:2px solid var(--green);background:#fff8dc;transform:translateY(-1px)}
#tnt-party .calendar-day:disabled{opacity:.38;cursor:not-allowed}
#tnt-party .calendar-status{min-height:24px;margin-top:16px!important;font-size:13px!important;text-align:center}
#tnt-party .slot-panel{margin-top:18px;padding:18px;border-radius:14px;background:white;border:1px solid #00803844;text-align:center}
#tnt-party .slot-panel>strong{display:block;color:var(--green);margin-bottom:12px}
#tnt-party .slot-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#tnt-party .slot-buttons button{min-height:48px;border:2px solid var(--green);border-radius:999px;background:var(--yellow);color:var(--dark);font:800 14px Arial;cursor:pointer}
#tnt-party .slot-buttons button:disabled{border-color:#b9b9b0;background:#e6e4dc;color:#777;cursor:not-allowed}
#tnt-party .slot-panel p{font-size:12px!important;margin-top:10px!important}
#tnt-party button:disabled{transform:none!important;box-shadow:none!important}
#tnt-party .tnt-hp,#tnt-party input[name=started_at]{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;margin:0!important;padding:0!important}
@media(max-width:1000px){#tnt-party .availability-layout{grid-template-columns:1fr;gap:32px}#tnt-party .availability-copy{text-align:center}#tnt-party .availability-copy .lead{margin-inline:auto}#tnt-party .availability-legend{justify-content:center}}
@media(max-width:560px){#tnt-party .availability-card{padding:18px;border-radius:18px;box-shadow:5px 5px 0 var(--yellow)}#tnt-party .calendar-toolbar h3{font-size:22px}#tnt-party .calendar-weekdays,#tnt-party .calendar-grid{gap:4px}#tnt-party .calendar-day{border-radius:8px;font-size:13px}#tnt-party .slot-buttons{grid-template-columns:1fr}}
/* Availability statuses remain explicit in text as well as color. */
#tnt-party .day-available i,#tnt-party .status-dot.available{background:#00853e}
#tnt-party .day-held i,#tnt-party .status-dot.held{background:#b87900}
#tnt-party .day-booked i,#tnt-party .status-dot.booked{background:#712e38}
#tnt-party .day-unavailable i,#tnt-party .status-dot.unavailable{background:#555}
#tnt-party .day-unknown i{background:transparent;border:2px solid #555}
#tnt-party .calendar-day[aria-pressed=true]{outline:3px solid #00853e;outline-offset:2px}
#tnt-party .slot-buttons button{font-size:16px;min-height:52px;white-space:normal}
#tnt-party .tnt-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
