@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');
:root{--gold:#a18a54;--black:#000000;--paper:#ffffff;--ink:#000000;--heading:#000000}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:var(--ink);font:400 15px/1.65 Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.planner{max-width:980px;margin:0 auto;padding:30px 24px 54px}
.planner-head{text-align:center;background:#ffffff;color:var(--ink);padding:28px 24px 30px;margin:0 0 24px;border-top:3px solid var(--gold);border-bottom:1px solid #a18a54}
.planner-head img,.result img{width:190px;max-height:80px;object-fit:contain}
.eyebrow{color:#a18a54;font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;margin:15px 0 10px}
.planner h1{color:var(--heading);font-size:clamp(30px,5vw,44px);line-height:1.18;margin:0 0 13px;font-weight:600;letter-spacing:-.02em}
.intro{max-width:700px;margin:0 auto;color:#000000;font-size:15px}
.section{background:#ffffff;margin:13px 0;border:1px solid #a18a54;border-top:2px solid var(--gold)}
.section summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:19px 21px;font-size:16px;font-weight:600;color:#000000;transition:background .2s,color .2s}
.section summary:hover{background:#ffffff}
.section summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.section summary::-webkit-details-marker{display:none}
.section summary:after{content:'+';margin-left:auto;color:#a18a54;font-size:23px;font-weight:400}
.section[open] summary:after{content:'−'}
.number{color:#a18a54;font-size:11px;font-weight:600;letter-spacing:1.5px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:2px 21px 22px}
.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:500;color:#000000}
.field.wide{grid-column:1/-1}
.field input,.field textarea,.field select{width:100%;min-height:45px;border:1px solid #a18a54;background:#ffffff;border-radius:2px;padding:11px 12px;font:400 14px/1.45 Montserrat,Arial,sans-serif;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:92px}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:#a18a54;box-shadow:0 0 0 2px #a18a5433}
.field small{font-size:11px;font-weight:400;color:#000000}
.required-hint{color:#a18a54;font-size:10px;font-weight:600}
.location-input-row{display:flex;gap:9px;align-items:stretch}
.location-input-row input{flex:1;min-width:0}
.maps-picker{flex:0 0 auto;min-height:45px;padding:10px 14px;border:1px solid var(--gold);border-radius:2px;background:#ffffff;color:#000000;font:600 11px/1.35 Montserrat,Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.maps-picker:hover,.maps-picker:focus-visible{background:var(--gold);color:#000000}
.maps-picker:focus-visible{outline:2px solid #000000;outline-offset:2px}
.privacy,.privacy-consent{font-size:12px;color:#000000;line-height:1.7;margin:22px 2px}
.privacy-consent{display:flex;gap:12px;align-items:flex-start}
.privacy-consent input{flex:0 0 auto;margin-top:5px;accent-color:#a18a54}
.privacy-consent a{text-decoration:underline;text-underline-offset:2px;color:#a18a54}
.submit{width:100%;min-height:50px;border:1px solid var(--gold);border-radius:2px;background:var(--black);color:#ffffff;text-transform:uppercase;letter-spacing:1.3px;font:600 12px Montserrat,Arial,sans-serif;padding:15px 18px;cursor:pointer;transition:background .2s,color .2s}
.submit:hover,.submit:focus-visible{background:var(--gold);color:#000000}
.submit:focus-visible{outline:2px solid #000000;outline-offset:3px}
.planner footer{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:32px;padding:20px 18px;border-top:3px solid var(--gold);background:var(--black);color:#ffffff;font-size:11px}
.planner footer a{color:#a18a54;text-decoration:none}
.planner footer a:hover{text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute;left:-10000px;height:1px;width:1px;overflow:hidden}
.result{max-width:680px;margin:9vh auto;padding:34px 26px;background:#ffffff;border-top:3px solid var(--gold);text-align:center}
.result h1{font-size:clamp(26px,4vw,36px);margin:24px auto;color:var(--heading)}
.back{display:inline-block;padding:12px 20px;border:1px solid var(--gold);border-radius:2px;background:var(--black);color:#ffffff;text-decoration:none;transition:background .2s,color .2s}
.back:hover{background:var(--gold);color:#000000}
.sonique-status{max-width:932px;margin:22px auto;padding:16px 20px;border-left:3px solid #a18a54;background:#ffffff;color:#000000;font:500 14px/1.7 Montserrat,sans-serif}
.sonique-planner-button{margin-top:18px}
@media(max-width:620px){.planner{padding:18px 14px 34px}.planner-head{padding:24px 12px 23px;margin-bottom:18px}.planner-head img{width:165px}.eyebrow{font-size:10px;letter-spacing:2px}.planner h1{font-size:clamp(28px,8vw,36px)}.intro{font-size:13px}.fields{grid-template-columns:1fr;gap:14px;padding:0 15px 18px}.field.wide{grid-column:auto}.location-input-row{flex-direction:column}.maps-picker{width:100%}.section summary{padding:16px;font-size:14px;gap:12px}.planner footer{gap:10px 18px;padding:18px 12px;text-align:center}.sonique-status{margin:16px 14px;padding:13px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.choice-field{min-width:0;border:0;padding:0;margin:0}
.choice-field legend{padding:0;margin:0 0 9px;font-size:12px;font-weight:500;color:#000000}
.choice-group{display:flex;gap:9px;flex-wrap:wrap}
.choice-option{position:relative;display:inline-flex;align-items:center;cursor:pointer}
.choice-option input{position:absolute;width:1px;height:1px;opacity:0}
.choice-option span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid #a18a54;border-radius:2px;background:#ffffff;color:#000000;font-size:12px;font-weight:600;letter-spacing:.04em;transition:border-color .2s,background .2s}
.choice-option span:before{content:'';width:17px;height:17px;border:1px solid #a18a54;border-radius:2px;background:#ffffff;box-sizing:border-box}
.choice-option span:after{content:'✓';position:absolute;left:20px;top:50%;transform:translateY(-52%);color:#000000;font-size:12px;font-weight:700;opacity:0}
.choice-option input:checked+span{border-color:#a18a54;background:#ffffff}
.choice-option input:checked+span:before{border-color:#a18a54;background:#a18a54}
.choice-option input:checked+span:after{opacity:1}
.choice-option input:focus-visible+span{outline:2px solid #a18a54;outline-offset:2px}
.field[hidden],.choice-field[hidden]{display:none!important}

/* SONIQUE brand palette: black, white and gold. */
.section summary:hover{background:#ffffff;color:#a18a54}.field input::placeholder,.field textarea::placeholder{color:#000000;opacity:1}
