@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');

:root { --ink:#18312d; --deep:#0e423a; --green:#1f6b5f; --mint:#cde1d6; --sand:#efe5d3; --paper:#fbf8f1; --coral:#e8755d; --line:rgba(24,49,45,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Manrope",sans-serif; line-height:1.65; overflow-x:hidden; }
img,video { display:block; max-width:100%; height:auto; }
img { width:100%; object-fit:cover; }
a { color:inherit; }
.shell { width:min(1180px, calc(100% - 40px)); margin-inline:auto; max-width:100%; }
.skip-link { position:fixed; left:14px; top:-80px; z-index:99; padding:10px 16px; background:white; border-radius:40px; }
.skip-link:focus { top:14px; }
.hero { color:white; min-height:820px; background:radial-gradient(circle at 78% 20%, rgba(255,255,255,.08), transparent 24rem), var(--deep); overflow:hidden; }
.nav { height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.16); }
.wordmark { display:flex; align-items:center; gap:12px; text-decoration:none; font:600 1.03rem "DM Sans",sans-serif; letter-spacing:.02em; }
.wordmark span { display:grid; place-items:center; width:42px; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; font-size:.8rem; letter-spacing:-.04em; }
.nav-links { display:flex; align-items:center; gap:28px; font-size:.86rem; font-weight:600; }
.nav-links a { text-decoration:none; }
.nav-cta { border:1px solid rgba(255,255,255,.6); border-radius:999px; padding:10px 18px; }
.hero-grid { min-height:728px; display:grid; grid-template-columns:.86fr 1.14fr; gap:64px; align-items:center; padding:70px 0 90px; }
.hero-copy { position:relative; z-index:2; }
.kicker { margin:0 0 18px; text-transform:uppercase; letter-spacing:.2em; font:700 .72rem "DM Sans",sans-serif; color:var(--green); }
.kicker.light { color:#a9d1c4; }
h1,h2,h3 { font-family:"Playfair Display",serif; font-weight:600; letter-spacing:-.035em; line-height:1.03; margin:0; }
h1 { font-size:clamp(4rem, 7vw, 7.3rem); max-width:680px; }
h2 { font-size:clamp(2.8rem, 5vw, 5.3rem); }
h3 { font-size:clamp(2.3rem, 4vw, 4.4rem); }
.hero-intro { max-width:610px; margin:30px 0 0; color:rgba(255,255,255,.76); font-size:1.06rem; }
.actions { display:flex; gap:12px; margin-top:36px; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; padding:14px 22px; border-radius:999px; text-decoration:none; font:700 .86rem "DM Sans",sans-serif; }
.button.primary { background:var(--coral); color:white; }
.button.secondary { border:1px solid rgba(255,255,255,.45); }
.trust-row { display:flex; gap:18px; flex-wrap:wrap; margin-top:44px; color:#bcd8cf; font-size:.77rem; text-transform:uppercase; letter-spacing:.09em; }
.trust-row span::before { content:"✦"; margin-right:7px; color:var(--coral); }
.hero-mosaic { position:relative; display:grid; grid-template-columns:1.22fr .78fr; grid-template-rows:1fr 1fr; gap:12px; min-height:560px; }
.hero-mosaic img { height:100%; min-height:0; }
.mosaic-main { grid-row:1 / 3; border-radius:180px 0 0 0; }
.hero-mosaic img:nth-of-type(2) { border-radius:0 100px 0 0; }
.mosaic-note { background:var(--coral); padding:24px; display:flex; gap:14px; align-items:flex-end; }
.mosaic-note strong { font:600 3.5rem "Playfair Display",serif; line-height:.8; }
.mosaic-note span { font-size:.77rem; text-transform:uppercase; letter-spacing:.08em; line-height:1.45; }
.intro { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:end; padding:120px 0; }
.intro h2 { max-width:720px; }
.intro > p { margin:0; color:#58706b; font-size:1.05rem; }
.stays-section { background:#ede4d4; padding:120px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:70px; }
.section-heading h2 { max-width:900px; }
.property-list { display:grid; gap:110px; }
.property-group { display:grid; gap:70px; }
.property { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:center; }
.property:nth-child(even) .property-image-wrap { order:2; }
.property-image-wrap { position:relative; }
.property-image-wrap img { aspect-ratio:1.2; border-radius:2px 110px 2px 2px; }
.property:nth-child(even) .property-image-wrap img { border-radius:110px 2px 2px 2px; }
.property-number { position:absolute; left:18px; bottom:14px; color:white; font:600 4.2rem "Playfair Display",serif; text-shadow:0 2px 20px rgba(0,0,0,.35); }
.property-subtitle { margin:12px 0 20px; color:var(--green); font:600 1.04rem "DM Sans",sans-serif; }
.property-copy > p:not(.kicker):not(.property-subtitle):not(.property-meta) { color:#58706b; }
.fact-list { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 22px; padding:18px 0 20px; margin:0; list-style:none; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fact-list li { font-size:.86rem; font-weight:600; }
.fact-list li::before { content:"•"; color:var(--coral); margin-right:9px; }
.property-meta { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:#6b756f; margin:18px 0 14px; }
.property-detail { margin:0 0 22px; border-block:1px solid var(--line); }
.property-detail summary { cursor:pointer; padding:14px 30px 14px 0; list-style:none; position:relative; color:var(--green); font:700 .82rem "DM Sans",sans-serif; }
.property-detail summary::-webkit-details-marker { display:none; }
.property-detail summary::after { content:"+"; position:absolute; right:3px; color:var(--coral); font-size:1.15rem; }
.property-detail[open] summary::after { content:"−"; }
.property-detail div { padding:0 0 12px; color:#58706b; font-size:.84rem; }
.property-detail p { margin:0 0 10px; }
.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--green); font:700 .9rem "DM Sans",sans-serif; text-underline-offset:6px; }
.text-link span { font-size:1.2rem; }
.property-links { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.map-link { display:inline-flex; align-items:center; gap:7px; color:#58706b; font:600 .82rem "DM Sans",sans-serif; text-underline-offset:5px; }
.map-link span { color:var(--coral); font-size:1.15rem; }
.villa-gallery { padding-top:10px; }
.gallery-heading { display:grid; grid-template-columns:1fr .72fr; gap:50px; align-items:end; margin-bottom:30px; }
.gallery-heading h3 { font-size:clamp(2.2rem,4vw,3.8rem); }
.gallery-heading > p { margin:0; color:#58706b; font-size:.9rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.gallery-grid figure { margin:0; background:rgba(255,255,255,.55); }
.gallery-grid .gallery-feature { grid-column:span 2; grid-row:span 2; }
.gallery-reveal { border:1px solid var(--line); background:rgba(255,255,255,.55); }
.gallery-reveal > summary { display:flex; justify-content:space-between; align-items:center; cursor:pointer; list-style:none; padding:20px 24px; color:var(--deep); font-weight:700; }
.gallery-reveal > summary::-webkit-details-marker { display:none; }
.gallery-reveal > summary span:last-child::after { content:"+"; color:var(--coral); font-size:1.5rem; }
.gallery-reveal[open] > summary span:last-child::after { content:"−"; }
.gallery-reveal[open] > summary { border-bottom:1px solid var(--line); }
.gallery-reveal-content { padding:12px; }
.gallery-image-button { display:block; position:relative; overflow:hidden; width:100%; padding:0; border:0; background:none; cursor:zoom-in; text-align:inherit; }
.gallery-grid img { aspect-ratio:4/3; transition:transform .35s ease; }
.gallery-image-button:hover img,.gallery-image-button:focus-visible img { transform:scale(1.025); }
.gallery-image-button span { position:absolute; right:10px; bottom:10px; padding:5px 10px; border-radius:999px; background:rgba(14,66,58,.88); color:white; opacity:0; font:700 .65rem "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.08em; transition:opacity .2s ease; }
.gallery-image-button:hover span,.gallery-image-button:focus-visible span { opacity:1; }
.gallery-grid figcaption { padding:10px 12px 13px; color:#58706b; font-size:.72rem; line-height:1.35; }
.lightbox-open { overflow:hidden; }
.photo-lightbox { position:fixed; inset:0; z-index:1000; display:none; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:34px; background:rgba(5,18,16,.94); }
.photo-lightbox.is-open,
.photo-lightbox:not([hidden]) { display:grid; }
.photo-lightbox[hidden] { display:none !important; }
.photo-lightbox figure { margin:0; max-width:1180px; max-height:calc(100vh - 68px); justify-self:center; display:flex; flex-direction:column; }
.photo-lightbox figure img { width:auto; max-width:100%; max-height:calc(100vh - 130px); object-fit:contain; user-select:none; }
.photo-lightbox figcaption { display:flex; justify-content:space-between; gap:24px; padding:14px 2px 0; color:white; font-size:.82rem; }
.photo-lightbox figcaption span { color:#a9c5bd; white-space:nowrap; }
.lightbox-close,.lightbox-arrow { border:0; color:white; background:rgba(255,255,255,.1); cursor:pointer; }
.lightbox-close { position:absolute; top:18px; right:20px; width:44px; height:44px; border-radius:50%; font-size:2rem; line-height:1; }
.lightbox-arrow { width:48px; height:64px; font-size:2.5rem; }
.lightbox-close:hover,.lightbox-close:focus-visible,.lightbox-arrow:hover,.lightbox-arrow:focus-visible { background:var(--coral); }
.carvoeiro { background:var(--deep); color:white; padding:120px 0; overflow:hidden; }
.carvoeiro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.carvoeiro-media,.carvoeiro-copy { min-width:0; max-width:100%; }
.carvoeiro-media { display:grid; gap:12px; width:100%; }
.carvoeiro-images { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:stretch; gap:12px; width:100%; min-width:0; }
/* Safari drops aspect-ratio when overflow is hidden, then sizes to the file/stream. Use an in-flow spacer instead. */
.carvoeiro-images figure { position:relative; margin:0; width:100%; min-width:0; overflow:hidden; }
.carvoeiro-images figure::before { content:""; display:block; padding-top:75%; }
.carvoeiro-images figure:first-child { border-radius:120px 0 0 0; }
.carvoeiro-images figure:first-child::before { padding-top:133.333%; }
.carvoeiro-images img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:cover; object-position:center; }
.carvoeiro-webcam { position:relative; margin:0; width:100%; max-width:100%; background:#071513; overflow:hidden; }
.webcam-frame { position:relative; width:100%; max-width:100%; overflow:hidden; background:#000; }
.webcam-frame::before { content:""; display:block; padding-top:56.25%; }
.carvoeiro-webcam video { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:cover; object-position:center; background:#000; }
.webcam-live { position:absolute; top:12px; left:12px; z-index:2; display:inline-flex; align-items:center; gap:7px; margin:0; padding:6px 10px; border-radius:999px; background:rgba(5,18,16,.72); color:white; font:700 .68rem "DM Sans",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.webcam-live span { width:8px; height:8px; border-radius:50%; background:#e8755d; box-shadow:0 0 0 4px rgba(232,117,93,.25); }
.carvoeiro-webcam figcaption { padding:10px 12px 12px; color:#a9c5bd; font-size:.75rem; }
.carvoeiro-webcam figcaption a { color:white; }
.webcam-fallback { padding:28px 18px; text-align:center; color:#bfd2cc; }
.webcam-fallback[hidden] { display:none !important; }
.photo-credit { margin:0; color:#8eaaa2; font-size:.68rem; }
.carvoeiro-copy > p:not(.kicker) { color:#bfd2cc; }
.local-grid { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid rgba(255,255,255,.16); margin:30px 0; padding:24px 0; }
.local-grid div { padding-right:12px; }
.local-grid strong,.local-grid span { display:block; }
.local-grid strong { font:600 1.45rem "Playfair Display",serif; }
.local-grid span { color:#a9c5bd; font-size:.72rem; margin-top:4px; }
.light-link { color:white; }
.destination-links { display:flex; gap:22px; flex-wrap:wrap; }
.villa-guide { padding:120px 0; }
.property-group .villa-guide { padding:10px 0 0; }
.property-group .villa-guide .guide-heading h3 { font-size:clamp(2.2rem,4vw,3.8rem); }
.guide-reveal { border:1px solid var(--line); background:rgba(255,255,255,.55); }
.guide-reveal > summary { display:flex; justify-content:space-between; align-items:center; gap:20px; cursor:pointer; list-style:none; padding:20px 24px; color:var(--deep); font-weight:700; }
.guide-reveal > summary::-webkit-details-marker { display:none; }
.guide-reveal-state::after { content:"+"; color:var(--coral); font-size:1.5rem; line-height:1; }
.guide-reveal[open] .guide-reveal-state::after { content:"−"; }
.guide-reveal[open] > summary { border-bottom:1px solid var(--line); }
.guide-reveal-content { padding:24px; }
.destination-guide { padding:120px 0; }
.guide-heading { display:grid; grid-template-columns:1fr .55fr; gap:60px; align-items:end; margin-bottom:48px; }
.guide-heading > p { color:#58706b; margin:0; }
.guide-quick { display:grid; grid-template-columns:repeat(4,1fr); background:var(--deep); color:white; margin-bottom:24px; }
.guide-quick div { padding:25px; border-right:1px solid rgba(255,255,255,.16); }
.guide-quick strong,.guide-quick span { display:block; }
.guide-quick strong { font:600 1.65rem "Playfair Display",serif; }
.guide-quick span { color:#a9c5bd; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.guide-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.guide-grid details { background:white; border:1px solid var(--line); }
.guide-grid summary { cursor:pointer; padding:22px 54px 22px 22px; font:600 1.18rem "Playfair Display",serif; list-style:none; position:relative; }
.guide-grid summary::-webkit-details-marker { display:none; }
.guide-grid summary::after { content:"+"; position:absolute; right:22px; color:var(--coral); font:500 1.4rem "DM Sans",sans-serif; }
.guide-grid details[open] summary::after { content:"−"; }
.guide-grid details > div { padding:0 22px 24px; color:#58706b; font-size:.9rem; }
.guide-grid details p { margin:0 0 13px; }
.guide-note { color:#71817c; font-size:.75rem; margin:20px 0 0; }
.weather { padding:120px 0; background:linear-gradient(180deg,#dbe9e2 0%,#edf3ee 100%); }
.weather-heading { display:grid; grid-template-columns:1fr .55fr; gap:60px; align-items:end; margin-bottom:48px; }
.weather-heading h2 { max-width:720px; }
.weather-heading > p { color:#58706b; margin:0; }
.forecast-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; }
.forecast-day { min-width:0; padding:22px 14px 18px; background:rgba(255,255,255,.75); border:1px solid rgba(24,49,45,.1); text-align:center; }
.forecast-day:first-child { background:var(--deep); color:white; border-color:var(--deep); }
.forecast-day p { margin:0; }
.forecast-day > p:first-child strong,.forecast-day > p:first-child span { display:block; }
.forecast-day > p:first-child strong { font:700 .84rem "DM Sans",sans-serif; }
.forecast-day > p:first-child span { color:#71817c; font-size:.7rem; margin-top:2px; }
.forecast-day:first-child > p:first-child span,.forecast-day:first-child .weather-label,.forecast-day:first-child .rain-chance { color:#a9c5bd; }
.weather-icon { display:block; min-height:56px; margin:17px 0 8px; font-size:2.3rem; line-height:1.3; }
.weather-label { min-height:36px; color:#58706b; font-size:.72rem; line-height:1.3; }
.temperature { display:flex; justify-content:center; align-items:baseline; gap:5px; margin-top:12px !important; }
.temperature strong { font:600 1.7rem "Playfair Display",serif; }
.temperature span { color:#71817c; font-size:.85rem; }
.forecast-day:first-child .temperature span { color:#a9c5bd; }
.rain-chance { color:#71817c; font-size:.67rem; margin-top:3px !important; }
.weather-message { padding:30px; background:rgba(255,255,255,.7); text-align:center; }
.enquiry { padding:120px 0; }
.enquiry-heading { display:grid; grid-template-columns:1fr .6fr; gap:70px; align-items:end; margin-bottom:50px; }
.enquiry-assurance { padding:24px; border-left:4px solid var(--coral); background:#f1ddd5; }
.enquiry-assurance strong { font:700 .86rem "DM Sans",sans-serif; }
.enquiry-assurance p { margin:6px 0 0; color:#58706b; font-size:.85rem; }
.enquiry-form { display:grid; grid-template-columns:repeat(2,1fr); gap:22px 26px; padding:42px; background:white; border:1px solid var(--line); }
.enquiry-form label { display:grid; gap:8px; }
.enquiry-form label > span { font:700 .78rem "DM Sans",sans-serif; color:var(--deep); }
.enquiry-form small { font-weight:500; color:#71817c; }
.enquiry-form input,.enquiry-form select,.enquiry-form textarea { width:100%; border:1px solid rgba(24,49,45,.22); border-radius:0; background:var(--paper); color:var(--ink); padding:13px 14px; font:inherit; }
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus { outline:2px solid var(--coral); outline-offset:1px; }
.form-message,.form-consent,.form-submit { grid-column:1 / -1; }
.form-consent { display:flex !important; grid-template-columns:auto 1fr; align-items:start; gap:11px !important; padding:4px 0; }
.form-consent input { width:18px; height:18px; margin:3px 0 0; accent-color:var(--deep); }
.form-consent span { font-weight:500 !important; color:#58706b !important; }
.form-submit { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.form-submit button { border:0; cursor:pointer; }
.form-submit p { margin:0; color:#71817c; font-size:.75rem; }
.form-honey { position:absolute !important; left:-9999px !important; }
.book { padding:120px 0; }
.book-card { text-align:center; background:#f1ddd5; padding:90px max(24px, 8%); border-radius:180px 2px 2px; }
.book-card h2 { max-width:870px; margin:auto; }
.book-card > p:not(.kicker) { max-width:660px; margin:24px auto 40px; color:#5e6e69; }
.book-links { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; text-align:left; }
.book-links a { position:relative; background:rgba(255,255,255,.72); padding:22px; text-decoration:none; border:1px solid rgba(24,49,45,.1); }
.book-links span,.book-links small { display:block; }
.book-links span { font:600 1.25rem "Playfair Display",serif; }
.book-links small { margin-top:4px; color:#71817c; }
.book-links b { position:absolute; right:18px; top:17px; color:var(--coral); }
footer { background:#102e29; color:white; padding:42px 0; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:20px; font-size:.78rem; color:#aac2bb; }
.footer-grid p:last-child { text-align:right; }
.footer-mark { color:white; }
@media (max-width:900px) {
  .hero { min-height:auto; }
  .hero-grid,.intro,.property { grid-template-columns:1fr; }
  .carvoeiro-grid { grid-template-columns:minmax(0,1fr); }
  .hero-grid { padding-top:50px; gap:50px; }
  .hero-mosaic { min-height:460px; }
  .intro { gap:34px; padding:90px 0; }
  .property { gap:38px; }
  .property:nth-child(even) .property-image-wrap { order:0; }
  .property-list { gap:90px; }
  .gallery-grid { grid-template-columns:repeat(3,1fr); }
  .gallery-heading { grid-template-columns:1fr; gap:18px; }
  .book-links { grid-template-columns:1fr; }
  .forecast-grid { grid-template-columns:repeat(4,1fr); }
  .weather-heading,.guide-heading,.enquiry-heading { grid-template-columns:1fr; gap:20px; }
  .guide-grid { grid-template-columns:1fr; }
  .book-card { border-radius:110px 2px 2px; }
}
@media (max-width:650px) {
  .photo-lightbox { grid-template-columns:44px minmax(0,1fr) 44px; gap:6px; padding:56px 8px 18px; }
  .lightbox-arrow { width:44px; height:56px; }
  .shell { width:min(100% - 28px, 1180px); }
  .nav { height:76px; }
  .nav-links > a:not(.nav-cta) { display:none; }
  .wordmark { font-size:.9rem; }
  .hero-grid { min-height:0; padding-bottom:70px; }
  h1 { font-size:3.7rem; }
  h2 { font-size:2.75rem; }
  h3 { font-size:2.4rem; }
  .hero-mosaic { min-height:360px; grid-template-columns:1.15fr .85fr; }
  .mosaic-note { padding:15px; gap:8px; }
  .mosaic-note strong { font-size:2.5rem; }
  .mosaic-note span { font-size:.58rem; }
  .trust-row { gap:10px; }
  .stays-section,.carvoeiro,.destination-guide,.weather,.book { padding:80px 0; }
  .section-heading { margin-bottom:50px; }
  .property-image-wrap img { aspect-ratio:1; border-radius:2px 70px 2px 2px; }
  .property:nth-child(even) .property-image-wrap img { border-radius:70px 2px 2px 2px; }
  .property-group { gap:50px; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .gallery-grid .gallery-feature { grid-column:span 2; grid-row:auto; }
  .gallery-grid figcaption { font-size:.65rem; }
  .carvoeiro-images { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .carvoeiro-images figure::before,
  .carvoeiro-images figure:first-child::before { padding-top:75%; }
  .carvoeiro-images figure:first-child { border-radius:80px 0 0 0; }
  .local-grid { grid-template-columns:1fr; gap:14px; }
  .guide-quick { grid-template-columns:repeat(2,1fr); }
  .guide-quick div:nth-child(2) { border-right:0; }
  .forecast-grid { grid-template-columns:repeat(2,1fr); }
  .forecast-day:first-child { grid-column:span 2; }
  .enquiry { padding:80px 0; }
  .enquiry-form { grid-template-columns:1fr; padding:24px 18px; }
  .enquiry-form label,.form-message,.form-consent,.form-submit { grid-column:1; }
  .book-card { padding:72px 20px 28px; border-radius:90px 2px 2px; }
  .footer-grid { grid-template-columns:1fr; text-align:center; }
  .footer-mark { justify-content:center; }
  .footer-grid p:last-child { text-align:center; }
}
.studio-availability { margin-top:28px; padding:24px; background:rgba(255,255,255,.62); border:1px solid var(--line); }
.studio-availability h4 { margin:0 0 8px; font:600 1.35rem "Playfair Display",serif; }
.studio-availability > p { margin:0 0 16px; color:#58706b; font-size:.9rem; }
.booked-list { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; padding:0; list-style:none; }
.booked-list li { padding:8px 12px; background:var(--deep); color:white; font:600 .75rem "DM Sans",sans-serif; letter-spacing:.03em; }
.availability-note { margin:0; color:#71817c; font-size:.78rem; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
