:root { --reading-ink:#35312d; --header-height:80px; }
html { scroll-padding-top:100px; }
body { padding-bottom:96px; }
*, *::before, *::after { box-sizing:border-box; }
.site-header { display:grid !important; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); height:var(--header-height); padding:10px 32px !important; gap:24px !important; }
.site-header .site-brand { grid-column:2; grid-row:1; justify-self:center; }
.site-header .site-brand img { height:48px !important; width:auto !important; }
.site-header nav[data-desktop-nav] { grid-column:1; grid-row:1; justify-content:flex-start !important; gap:0 !important; }
.site-header nav a { font-size:13px !important; letter-spacing:.04em !important; padding:12px 10px !important; }
.header-actions { grid-column:3; grid-row:1; justify-self:end; }
.header-actions button { min-width:48px; letter-spacing:.06em !important; }
.floating-enquiry { position:fixed; z-index:98; right:32px; bottom:28px; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:13px 20px; background:rgba(251,248,246,.96); color:#544535; border:1px solid #b39a6a; border-radius:3px; box-shadow:0 3px 14px #2d2a2618; font-size:15px; animation:enquiry-pulse 5s ease-in-out 1s 3; line-height:1.4; letter-spacing:.04em; text-decoration:none; }
.floating-enquiry:hover, .floating-enquiry:focus-visible { background:#eee6d9; animation:none; }
@keyframes enquiry-pulse {
  0%, 55%, 100% { box-shadow:0 3px 14px #2d2a2618, 0 0 0 0 #b39a6a00; }
  65% { box-shadow:0 3px 14px #2d2a2620, 0 0 0 0 #b39a6a55; }
  85% { box-shadow:0 3px 14px #2d2a2618, 0 0 0 10px #b39a6a00; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #986f27 !important; outline-offset:4px; }
main p { font-size:16px !important; line-height:1.95 !important; letter-spacing:.035em !important; text-wrap:pretty; }
main h2 { line-height:1.55 !important; text-wrap:balance; }
main h3 { line-height:1.6 !important; text-wrap:pretty; }
main section [style*="font-size:13px"], main section [style*="font-size:13.75px"] { font-size:15px !important; line-height:1.85; }
main [data-grid], main [data-grid3], main [data-grid4] { gap:28px !important; }
.enquiry-page#main { padding-top:124px !important; }
#wedding-enquiry-form { border:1px solid #e8e0d5; border-radius:4px; box-shadow:0 12px 40px #352e2208; }
#wedding-enquiry-form label, #wedding-enquiry-form [style*="font-size:12px"], #wedding-enquiry-form [style*="font-size:12.5px"] { font-size:15px !important; line-height:1.65 !important; letter-spacing:.025em !important; }
#wedding-enquiry-form label:has(input[type="checkbox"]), #wedding-enquiry-form label:has(input[type="radio"]) { min-height:48px; padding:11px 14px !important; gap:10px !important; }
#wedding-enquiry-form label:has(input:checked) { background:#f7f1e5; border-color:#94713a !important; color:#332a1d !important; }
#wedding-enquiry-form input:not([type="checkbox"]):not([type="radio"]), #wedding-enquiry-form select, #wedding-enquiry-form textarea { font-size:16px !important; line-height:1.5 !important; padding:12px !important; border-color:#b8afa2 !important; border-radius:3px; }
#wedding-enquiry-form input:not([type="checkbox"]):not([type="radio"]), #wedding-enquiry-form select { min-height:48px; }
#wedding-enquiry-form input[type="checkbox"], #wedding-enquiry-form input[type="radio"] { width:18px !important; height:18px !important; flex-shrink:0; }
#wedding-enquiry-form button[type="submit"] { background:#2d2a26 !important; color:#fff !important; min-height:56px; font-size:16px !important; }
@media (max-width:1180px) {
  .site-header nav[data-desktop-nav] { display:none !important; }
  .site-header [data-menu-btn] { display:flex !important; position:absolute; left:24px; top:18px; }
  .site-header { padding:10px 24px !important; }
}
@media (max-width:700px) {
  :root { --header-height:72px; }
  .site-header { height:72px; padding:8px 16px !important; gap:8px !important; }
  .site-header .site-brand img { height:40px !important; max-width:156px !important; object-fit:contain; }
  .site-header [data-menu-btn] { left:16px; top:14px; }
  .header-actions { gap:0 !important; }
  .header-actions button:not([data-menu-btn]) { padding:0 10px !important; font-size:12px !important; }
  .floating-enquiry { left:auto; right:16px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); min-height:48px; padding:12px 18px; font-size:14px; }
  body { padding-bottom:calc(90px + env(safe-area-inset-bottom,0px)); }
  main > section[data-rwd~="r2"], main > section[data-rwd~="r3"], main > section[data-rwd~="r4"] { padding:64px 24px !important; }
  main h2 { font-size:clamp(25px,6.6vw,32px) !important; letter-spacing:.06em !important; }
  main h3 { letter-spacing:.035em !important; }
  main p { line-height:1.85 !important; }
  .experience-pillar-copy { text-align:left !important; }
  .enquiry-page#main { padding:110px 16px 48px !important; }
  .enquiry-page > div > div:first-child p { text-align:left; }
  #wedding-enquiry-form { padding:28px 20px !important; }
  #wedding-enquiry-form [style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr) !important; gap:20px !important; }
  #wedding-enquiry-form label { max-width:100%; overflow-wrap:anywhere; }
  #wedding-enquiry-form button[type="submit"] { width:100%; padding:12px 16px !important; height:auto !important; letter-spacing:.06em !important; }
  footer { padding-bottom:36px !important; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } .floating-enquiry { animation:none; } }

@media (min-width:701px) { .floating-enquiry { top:calc(var(--header-height) + 12px); bottom:auto; } }
