html,body{margin:0;padding:0;background:#FAF3E3;}
body{font-family:'Nunito',sans-serif;color:#1D2749;}
a{color:#C22F27;} a:hover{color:#2E9CCB;}
input::placeholder, select:invalid{color:#9aa0b5;}
section[id]{scroll-margin-top:64px;}

/* Button and link hover states */
.btn-hero-red:hover{transform:translate(-1px,-1px); box-shadow:6px 6px 0 #1D2749; color:#FFFFFF;}
.btn-hero-blue:hover{transform:translate(-1px,-1px); box-shadow:6px 6px 0 #1D2749; color:#1D2749;}
.btn-phone:hover{color:#D9372E; transform:translate(-1px,-1px); box-shadow:6px 6px 0 #1D2749;}
.btn-send:hover{transform:translate(-1px,-1px); box-shadow:6px 6px 0 #7EC4E8;}

/* Form inputs fill their grid column (fixes cutoff on narrow screens) */
#book-form input{width:100%; box-sizing:border-box;}

/* Kettle Nation gallery arrows */
.gallery-arrow{font-family:'Lilita One',sans-serif; font-size:19px; line-height:1; color:#1D2749; background:#FFFFFF; border:3px solid #1D2749; border-radius:50%; width:42px; height:42px; box-shadow:3px 3px 0 #1D2749; cursor:pointer; flex:0 0 auto;}
.gallery-arrow:hover{transform:translate(-1px,-1px); box-shadow:5px 5px 0 #1D2749;}
.gallery-arrow:disabled{opacity:0.35; cursor:default; transform:none; box-shadow:3px 3px 0 #1D2749;}

/* FAQ cards */
.faq-item{background:#FFFFFF; border:3px solid #1D2749; border-radius:16px; box-shadow:5px 5px 0 #1D2749;}
.faq-item summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 18px; font-family:'Lilita One',sans-serif; font-size:19px; line-height:1.2; color:#1D2749;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:'Lilita One',sans-serif; font-size:26px; color:#D9372E; flex:0 0 auto; transition:transform 0.15s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-answer{padding:0 18px 18px; font-size:15.5px; font-weight:600; color:#1D2749; line-height:1.55;}
.faq-answer p{margin:0;}
