
:root{--peach:#F6BBAE;--ink:#262626;--muted:#68635e;--bg:#fbf9f5;--line:#e9e1d9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #a65e50;outline-offset:4px}.wrap{width:min(1240px,calc(100% - 112px));margin:0 auto}
.draft-ribbon{font-size:10px;letter-spacing:.15em;text-align:center;background:#f1e7e0;color:#6d5f58;padding:7px 8px}.site-header{background:var(--bg)}.head{height:110px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand img{display:block;width:225px;height:auto;filter:grayscale(1) brightness(.22)}.site-nav{display:flex;gap:25px;margin-left:auto}.site-nav a{font-size:12px;font-weight:500;color:#615d58;white-space:nowrap}.site-nav a:hover{color:#111}.language{display:flex;gap:9px;font-size:13px;font-weight:500;white-space:nowrap}.language a{color:#86807b}.language a[aria-current]{color:var(--ink);font-weight:600}
.hero{display:grid;grid-template-columns:45% 55%;max-width:1500px;margin:0 auto}.hero-text{padding:25px min(6vw,100px) 65px max(6vw,calc((100vw - 1240px)/2));display:flex;align-items:center;min-height:600px}.hero-info{max-width:525px}.micro-label{font-size:15px;font-weight:500;margin:0 0 58px;letter-spacing:.03em}.hero h1{font-size:clamp(37px,3.5vw,55px);letter-spacing:-.045em;line-height:1.14;font-weight:600;margin:0 0 26px}.hero-lead{font-size:clamp(17px,1.55vw,22px);line-height:1.62;margin:0 0 48px;max-width:535px}.hero-photo{overflow:hidden;min-height:620px}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;object-position:50% 50%}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--peach);color:var(--ink);border-radius:7px;padding:14px 24px;min-height:50px;font-size:16px;font-weight:600;transition:background .16s}.button:hover{background:#efa896}.signature{text-align:center;font-weight:500;font-size:17px;padding:42px 24px 58px;border-bottom:1px solid var(--line)}
.section-split{display:grid;grid-template-columns:50% 50%;max-width:1500px;margin:0 auto}.visual{overflow:hidden;min-height:610px}.visual img{display:block;width:100%;height:100%;object-fit:cover}.visual-bench img{object-position:50% 47%}.experience-text,.location-text{display:flex;align-items:center;padding:80px min(8.2vw,125px);min-height:610px}.experience-text>div{max-width:530px}.experience-text h2,.location-text h2,.services h2,.contact h2{font-size:clamp(31px,2.65vw,40px);line-height:1.22;font-weight:600;letter-spacing:-.035em;margin:0 0 35px}.experience-text p{font-size:clamp(18px,1.65vw,22px);line-height:1.62;max-width:530px;margin:0}
.services{padding:108px 0 100px;border-top:1px solid var(--line)}.services h2{max-width:790px;margin-bottom:60px}.services-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:55px;align-items:start}.services-info{min-width:0;padding-right:4px}.services h3{font-size:21px;line-height:1.4;font-weight:600;margin:0 0 24px}.price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 20px}.price{background:#f5f1ed;padding:18px 10px 15px;min-width:0;text-align:center;border-radius:5px}.price-type{font-size:11px;color:var(--muted);line-height:1.25}.price-cap{font-size:15px;font-weight:500;margin-top:6px;white-space:nowrap}.price strong{display:block;font-size:30px;line-height:1.45;font-weight:600;letter-spacing:-.045em}.drying-detail{font-size:13px;color:#5d5652;margin:0 0 32px}.service-points p{font-size:17px;margin:0 0 9px}.services-photo{height:445px;overflow:hidden;min-width:0}.services-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 45%}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:67px;padding-top:43px;border-top:1px solid var(--line)}.benefits h3{margin-bottom:17px}.benefits p{font-size:16px;line-height:1.55;margin:0 0 10px}
.location{border-top:1px solid var(--line)}.exterior{min-height:680px}.exterior img{object-position:center center}.location-text{min-height:680px}.location-text>div{max-width:470px}.location-text h2{margin-bottom:30px}.street,.postcode{font-size:20px;line-height:1.55;margin:0 0 4px}.corner{color:#6e6660;font-size:15px;margin:5px 0 39px}.location h3{font-size:21px;font-weight:600;margin:0 0 9px}.hours-note{font-size:16px;margin:0 0 39px}
.contact{padding:124px 0 115px;min-height:520px;border-top:1px solid var(--line)}.contact h2{font-size:clamp(34px,3.1vw,48px);margin-bottom:20px}.contact p{font-size:20px;margin:0 0 28px}.contact-mail{font-size:clamp(21px,2.3vw,32px);font-weight:500;border-bottom:3px solid var(--peach);padding-bottom:8px;display:inline-block;line-height:1.3}.contact-mail span{font-size:.7em;margin-left:9px}.social{display:flex;gap:30px;margin-top:37px;font-size:15px;font-weight:500;color:#665f5a}.social span{border-bottom:1px solid #d3c7c0;padding-bottom:4px}
footer{border-top:1px solid var(--line);padding:33px 0 31px;font-size:13px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:35px;align-items:center}.footer-top{margin-bottom:35px}.footer-identity{display:flex;align-items:center;gap:20px}.footer-identity img{width:150px;display:block;height:auto;filter:grayscale(1) brightness(.22)}.footer-identity span{border-left:1px solid #c6bfb7;padding-left:20px;color:var(--muted)}.footer-bottom{font-size:12px;color:#6b635d}.footer-legal{display:flex;gap:30px}.footer-legal span{border-bottom:1px solid #cfc4bb}
@media(max-width:1080px){.wrap{width:calc(100% - 70px)}.site-nav{gap:15px}.head{gap:20px}.brand img{width:185px}.hero-text{padding-left:45px;padding-right:40px}.hero-photo,.hero-text{min-height:560px}.micro-label{margin-bottom:45px}.services-top{gap:30px}.price strong{font-size:27px}.experience-text,.location-text{padding:60px 55px}}
@media(max-width:760px){.wrap{width:calc(100% - 42px)}.head{height:84px}.brand img{width:157px}.site-nav{display:none}.language{font-size:12px;gap:7px}.hero{grid-template-columns:1fr}.hero-text{min-height:0;padding:29px 21px 42px}.micro-label{font-size:12px;margin:0 0 33px}.hero h1{font-size:38px;line-height:1.2;margin:0 0 19px}.hero-lead{font-size:17px;line-height:1.62;margin:0 0 28px}.hero-photo{height:430px;min-height:0}.hero-photo img{object-position:center}.signature{padding:30px 18px 39px;font-size:14px}.section-split{grid-template-columns:1fr}.visual{min-height:0;height:480px}.experience-text{min-height:0;padding:70px 23px 80px;order:2}.experience-text h2,.location-text h2,.services h2,.contact h2{font-size:32px;margin-bottom:22px}.experience-text p{font-size:18px}.services{padding:75px 0 75px}.services h2{margin-bottom:37px}.services-top{grid-template-columns:1fr;gap:30px}.services-info{padding:0}.services h3{font-size:20px}.price-grid{gap:7px}.price{padding:13px 4px}.price-type{font-size:10px}.price-cap{font-size:13px}.price strong{font-size:26px}.drying-detail{font-size:12px}.services-photo{height:330px}.service-points p{font-size:15px}.benefits{gap:32px;grid-template-columns:1fr;margin-top:37px;padding-top:35px}.benefits h3{margin-bottom:15px}.benefits p{font-size:15px}.exterior{height:430px}.location-text{padding:69px 23px 85px;min-height:0}.street,.postcode{font-size:18px}.contact{min-height:0;padding:95px 0 93px}.contact p{font-size:17px}.contact-mail{font-size:clamp(21px,5vw,28px)}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.footer-identity img{width:126px}.footer-identity span{font-size:11px;padding-left:12px}.footer-top{margin-bottom:30px}.footer-legal{gap:19px}}
@media(min-width:761px) and (max-width:950px){.price-grid{grid-template-columns:repeat(2,1fr)}.services-photo{height:530px}}

/* BUBBLIES REVIEW PASS 2 — editorial rhythm & confident service clarity */
.section-kicker{display:flex;align-items:center;gap:13px;font-weight:600!important;font-size:11px!important;letter-spacing:.16em;line-height:1.2!important;color:#81665d!important;margin:0 0 28px!important}
.section-kicker::before{content:"";display:inline-block;width:29px;height:3px;background:var(--peach);flex:none}
.experience{border-top:0}
.experience .visual{height:670px;min-height:670px}
.experience-text{min-height:670px;padding:78px min(7vw,108px) 78px min(8.1vw,125px);align-items:center}
.experience-copy{max-width:470px}
.experience-text h2{font-size:clamp(36px,3.2vw,48px);line-height:1.17;margin:0 0 31px;max-width:475px}
.experience-lead{font-size:clamp(19px,1.65vw,23px)!important;line-height:1.57!important;max-width:450px}
.experience-note{display:flex;gap:15px;align-items:flex-start;margin-top:46px;color:#756962;font-size:13px;line-height:1.7;max-width:340px}
.peach-stroke{width:30px;height:2px;background:var(--peach);flex:0 0 30px;margin-top:10px}
.services{padding:112px 0 105px;background:#faf7f3}
.service-heading{max-width:1020px;margin:0 0 51px}
.services h2{font-size:clamp(38px,3.3vw,50px);max-width:850px;margin:0 0 19px;line-height:1.2}
.services-intro{font-size:17px;margin:0;max-width:740px;line-height:1.7;color:#685e58}
.services-top{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:44px;align-items:stretch}
.services-info{padding-right:0;min-width:0;display:flex;flex-direction:column}
.price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.price{padding:25px 7px 22px;background:#fffdfa;border:1px solid #e8ded7;border-radius:7px;text-align:center;min-width:0}
.price-type{display:block;color:#776c64;font-size:12px;letter-spacing:.01em}
.price-cap{display:block;font-size:17px;margin:5px 0 6px;font-weight:500}
.price strong{font-size:clamp(31px,2.5vw,39px);font-weight:600;line-height:1.25}
.drying-detail{font-size:13px;margin:0 0 27px;color:#645a54;line-height:1.55}
.service-included{margin-top:auto;padding:23px 29px 22px;background:#f4e9e2;border-left:4px solid var(--peach)}
.service-included .included-heading{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin:0 0 12px;color:#695953}
.service-included p:not(.included-heading){font-size:16px;margin:5px 0;line-height:1.45}
.service-included span{font-weight:600;margin-right:8px;color:#b57e70}
.services-photo{height:445px;border-radius:5px}
.services-photo img{object-position:center center}
.benefits{grid-template-columns:1fr 1fr;gap:0;margin-top:67px;padding:0;border:1px solid #e8ded7;background:#fffdfa;border-radius:6px;overflow:hidden}
.benefit{padding:34px 43px 38px;min-width:0}
.benefit + .benefit{border-left:1px solid #e8ded7}
.benefit-label{margin:0 0 10px!important;font-size:12px!important;font-weight:600;color:#bd8273;letter-spacing:.14em}
.benefit h3{font-size:25px;font-weight:600;margin:0 0 19px}
.benefit ul{list-style:none;padding:0;margin:0}
.benefit li{position:relative;font-size:15px;line-height:1.62;padding-left:19px;margin:0 0 12px;max-width:480px}
.benefit li::before{content:"";position:absolute;left:1px;top:.73em;width:6px;height:6px;border-radius:50%;background:var(--peach)}
@media(max-width:1080px){.experience-text{padding:65px 52px}.services-top{gap:25px}.price{padding:20px 3px}.price strong{font-size:29px}.service-included{padding:20px 17px}.benefit{padding:29px 28px}}
@media(max-width:760px){.experience .visual{height:405px;min-height:0}.experience-text{padding:62px 23px 76px;min-height:0}.experience-text h2{font-size:35px;margin-bottom:24px}.experience-lead{font-size:18px!important}.experience-note{margin-top:33px;font-size:12px}.section-kicker{margin-bottom:20px!important}.services{padding:78px 0 82px}.service-heading{margin-bottom:35px}.services h2{font-size:35px;margin-bottom:17px}.services-intro{font-size:15px}.services-top{grid-template-columns:1fr;gap:30px}.price-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.price{padding:16px 2px}.price-type{font-size:10px}.price-cap{font-size:13px}.price strong{font-size:26px}.drying-detail{font-size:12px}.service-included{padding:19px 20px}.service-included p:not(.included-heading){font-size:14px}.services-photo{height:345px}.benefits{grid-template-columns:1fr;margin-top:38px}.benefit{padding:27px 25px}.benefit + .benefit{border-left:0;border-top:1px solid #e8ded7}.benefit h3{font-size:22px}.benefit li{font-size:14px}}
@media(min-width:761px) and (max-width:950px){.price-grid{grid-template-columns:repeat(2,1fr)}.services-photo{height:530px}}
/* Bench portrait is genuinely vertical: show architecture and seat instead of forcing a wide crop. */
.experience{grid-template-columns:46% 54%}
.experience .visual,.experience-text{height:790px;min-height:790px}
.visual-bench img{object-position:50% 48%}
@media(max-width:760px){.experience{grid-template-columns:1fr}.experience .visual{height:510px;min-height:0}.experience-text{height:auto;min-height:0}}


/* BUBBLIES REVIEW V3 — restrained brand identity and continuous section rhythm. */
:root { --soft-peach:#fff2ec; --peach-mist:#f9eee8; }
.hero-hours { display:flex; align-items:center; gap:8px; font-size:13px; line-height:1.5; margin:21px 0 0; font-weight:500; color:#635b57; }
.clock-mark { display:inline-block; font-size:20px; line-height:1; color:#8a655b; }
.signature.signature-band { background:var(--peach); color:var(--ink); padding:24px 18px 25px; font-weight:600; font-size:16px; letter-spacing:.06em; border:0; }
.experience { background:linear-gradient(180deg,#fff5f0 0%,#fbf9f5 32%,#fbf9f5 85%,#faf7f3 100%); }
/* A single real Bubblies drop serves as a chapter break, not repeated wallpaper. */
.brand-pause { background:linear-gradient(180deg,#fbf9f5 0%,#faf7f3 100%); min-height:102px; display:flex; justify-content:center; align-items:center; gap:20px; padding:24px 22px; }
.brand-pause img { display:block; width:auto; height:36px; max-width:27px; }
.brand-pause-line { width:63px; max-width:13vw; height:1px; background:#e9d0c5; }
.services { border-top:0; padding-top:84px; background:linear-gradient(180deg,#faf7f3,#faf7f3 87%,#fbf9f5 100%); }
.section-kicker { text-transform:lowercase; letter-spacing:.12em; }
.service-included .included-heading { text-transform:lowercase; letter-spacing:.07em; }
.benefit h3 { text-transform:lowercase; }
.location { border-top:0; background:linear-gradient(180deg,#fbf9f5 0%,#fbf9f5 86%,#fff8f4 100%); }
.contact { border-top:0; background:linear-gradient(180deg,#fff8f4 0%,#fbf9f5 42%); }
footer { background:var(--bg); }
@media (max-width:760px) {
 .hero-hours { font-size:12px; margin-top:15px; gap:6px; }
 .clock-mark{font-size:17px;}
 .signature.signature-band { font-size:14px; letter-spacing:.035em; padding:19px 14px 20px; }
 .brand-pause {min-height:79px; gap:15px; padding:19px 16px;}
 .brand-pause img{height:29px;max-width:23px;}
 .brand-pause-line{width:42px;}
 .services {padding-top:68px;}
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} .button{transition:none;} }


/* V4 — purposeful lowercase, authentic identity lockup in contact section */
.contact-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.56fr);align-items:center;gap:clamp(38px,7vw,120px); }
.contact-copy {min-width:0;}
.contact-artwork {display:flex;align-items:center;justify-content:flex-end;min-width:0;}
.contact-artwork img {display:block;width:min(100%,380px);height:auto;object-fit:contain;}
.contact .social {margin-top:46px;}
@media (max-width:900px) and (min-width:761px){.contact-layout{grid-template-columns:minmax(0,1fr) minmax(150px,.4fr);gap:22px}.contact-artwork img{max-width:250px;}}
@media (max-width:760px) {
 .contact-layout{grid-template-columns:1fr;gap:38px;align-items:start;}
 .contact-artwork{justify-content:flex-start;}
 .contact-artwork img{width:min(66vw,265px);}
 .contact .social{margin-top:37px;}
}

/* Contact lockup is the final brand signature; leave the footer purely functional. */
footer .footer-bottom{align-items:center;}


/* BUBBLIES v5 — unobtrusive sticky navigation; welcoming lowercase headings; balanced contact */
.site-header {position:sticky;top:0;z-index:40;background:rgba(251,249,245,.97);border-bottom:1px solid rgba(233,225,217,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.head{height:82px;gap:30px;}
.brand{display:inline-flex;align-items:center;flex:none;}
.brand img{width:192px;}
.header-nav-area{display:flex;align-items:center;gap:29px;margin-left:auto;min-width:0;}
.site-nav{margin-left:0;align-items:center;}
.site-nav a{transition:color .15s;}
.site-nav a:focus-visible,.language a:focus-visible{outline:2px solid #a65e50;outline-offset:5px;border-radius:2px;}
.language{margin-left:0;}
html{scroll-padding-top:105px;}
main section[id]{scroll-margin-top:105px;}
/* Understated editorial headlines: lowercase without punctuation at the end. */
.hero h1{letter-spacing:-.045em;}
.contact{padding:116px 0 112px;}
.contact h2{font-size:clamp(27px,2.45vw,33px);letter-spacing:-.03em;font-weight:500;line-height:1.25;max-width:520px;margin-bottom:22px;}
.contact p{font-size:18px;}
.contact-artwork img{width:min(100%,362px);}
.benefit{padding-top:37px;}
.benefit h3{margin-top:0;}
@media(max-width:1080px){
  .brand img{width:167px;}
  .header-nav-area{gap:19px;}
  .site-nav{gap:16px;}
  .head{gap:16px;}
}
@media(max-width:760px){
  .site-header{background:rgba(251,249,245,.985);}
  .head{height:auto;min-height:101px;display:grid;grid-template-columns:1fr auto;grid-template-rows:55px 43px;align-items:center;column-gap:12px;row-gap:0;}
  .brand{grid-column:1;grid-row:1;}
  .brand img{width:151px;}
  .header-nav-area{display:contents;}
  .language{grid-column:2;grid-row:1;justify-self:end;font-size:12px;gap:10px;}
  .site-nav{grid-row:2;grid-column:1 / -1;display:flex!important;align-items:center;justify-content:space-between;gap:11px;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;border-top:1px solid #eee7e1;padding:0 1px;height:43px;}
  .site-nav::-webkit-scrollbar{display:none;}
  .site-nav a{font-size:11px;letter-spacing:-.01em;flex:0 0 auto;line-height:1.45;}
  html{scroll-padding-top:119px;}
  main section[id]{scroll-margin-top:119px;}
  .contact{padding:76px 0 77px;}
  .contact h2{font-size:clamp(26px,6.6vw,30px);line-height:1.28;margin-bottom:20px;}
  .contact p{font-size:16px;}
  .contact-layout{gap:35px;}
  .contact-artwork img{width:min(72vw,282px);}
  .benefit{padding-top:28px;}
}
@media (max-width:359px){
  .site-nav{justify-content:flex-start;gap:15px;}
  .site-nav a{font-size:10.5px;}
}
@media (prefers-reduced-motion:reduce){.site-nav a{transition:none;}}

/* BUBBLIES v6 — mobile-only editorial typography refinement.
   Preserve the approved desktop typography and the visibility of prices/CTAs. */
@media (max-width:760px) {
  .hero h1 {
    font-size:34px;
    font-weight:500;
    line-height:1.18;
    letter-spacing:-.035em;
  }
  .experience-text h2,
  .services h2,
  .location-text h2 {
    font-size:30px;
    font-weight:500;
    line-height:1.25;
    letter-spacing:-.028em;
  }
  .benefit h3,
  .location h3 {font-weight:500;}
  .contact h2 {font-size:27px;font-weight:500;line-height:1.3;}
}
@media (max-width:359px) {
  .hero h1{font-size:32px;}
  .experience-text h2,
  .services h2,
  .location-text h2{font-size:28px;}
}


/* BUBBLIES v6.1 — section navigation alignment fix.
   Previously both scroll-padding and scroll-margin added together:
   105px + 105px on desktop (119px + 119px mobile).
   Use one measured sticky-header allowance only. No JavaScript. */
:root { --nav-scroll-clearance: 96px; }
html { scroll-padding-top: var(--nav-scroll-clearance); }
main section[id] { scroll-margin-top: 0; }
/* Allow the last anchor to settle beneath the sticky menu instead of
   being clamped at the bottom of the document. */
.contact { min-height: calc(100svh - var(--nav-scroll-clearance) - 72px); }
@media (max-width:760px) {
  :root { --nav-scroll-clearance: 114px; }
  html { scroll-padding-top: var(--nav-scroll-clearance); }
  main section[id] { scroll-margin-top: 0; }
  .contact { min-height: calc(100svh - var(--nav-scroll-clearance) - 72px); }
}


/* BUBBLIES v6.2 — actual phone feedback, 28 Oct 2026.
   A deliberate light website should not auto-convert to dark and lose logo/CTA contrast. */
:root, html { color-scheme: only light; }
body { background-color:#fbf9f5; color:#262626; }
.site-header { background-color:rgba(251,249,245,.985); }
.button, .button:link, .button:visited { background-color:#F6BBAE; color:#262626; }
.button:hover { background-color:#EFA896; color:#262626; }
.signature.signature-band { background-color:#F6BBAE; color:#262626; }
/* Exact clearances for the designed header: 82px + 1px border desktop,
   101px + 1px border phone. Do not double up scroll-margin. */
html { scroll-padding-top:83px; }
/* One clear home destination across desktop and mobile. */
.site-nav a[href="#top"] { color:#262626; font-weight:600; }
/* On phones, navigation must land on a heading and useful text,
   not the top of an architectural photograph. Keep desktop compositions. */
@media (max-width:760px) {
  .experience-text { order:1; padding:48px 23px 52px; }
  .experience .visual { order:2; }
  .location-text { order:1; padding:49px 23px 54px; }
  .location .visual { order:2; }
  .services { padding-top:52px; }
  .site-nav { gap:8px; }
  .site-nav a { font-size:11px; }
  html { scroll-padding-top:102px; }
  /* The hero is itself the home destination. */
  .hero { scroll-margin-top:0; }
}
@media (max-width:359px){
  .site-nav{ gap:11px; justify-content:flex-start; }
  .site-nav a{ font-size:10.5px; }
}


/* BUBBLIES v6.3 — actual Poco screenshots: remove artificial top gaps;
   group each chapter, let every section remain freely scrollable. */
:root{--nav-clearance:84px}
html{scroll-padding-top:var(--nav-clearance)!important}
main section[id]{scroll-margin-top:0!important}
/* The brand stays intentionally light, including in browsers with forced darkening.
   Explicit opaque image gradients are not auto-inverted like flat CSS backgrounds. */
.hero,.hero-text{background-color:#fbf9f5;background-image:linear-gradient(#fbf9f5,#fbf9f5);color:#262626}
.hero h1,.hero-lead,.micro-label{color:#262626}
.hero-hours{color:#635b57}
.site-header{isolation:isolate}
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:#eaa897;transform:scaleX(var(--page-progress,0));transform-origin:left center;pointer-events:none;z-index:2}
.site-nav a{position:relative;padding:4px 0}
.site-nav a[aria-current="location"]{color:#262626;font-weight:600}
.site-nav a[aria-current="location"]::after{content:"";height:2px;position:absolute;left:0;right:0;bottom:-5px;background:var(--peach);border-radius:5px}
/* Refined transitions: the photographs, not effects, do the talking. */
.experience,.services,.location,.contact{position:relative}
.chapter-reveal{transition:opacity .45s ease,transform .45s ease;opacity:.94;transform:translateY(8px)}
.chapter-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:760px){
  :root{--nav-clearance:103px}
  /* Keep the light brand even when Android force-dark is active. */
  .hero-text{background:#fbf9f5;background-image:linear-gradient(140deg,#fffaf7 0%,#fbf9f5 100%)}
  .experience-text{padding:19px 23px 30px!important;align-items:flex-start;}
  .experience-text h2{margin-bottom:14px}
  .experience .section-kicker{margin-bottom:14px!important}
  .experience-lead{line-height:1.50!important}
  .experience .visual{height:485px;min-height:0}
  .services{padding:23px 0 58px!important}
  .services .section-kicker{margin-bottom:16px!important}
  .services h2{margin-bottom:11px}
  .service-heading{margin-bottom:28px}
  .services-top{gap:26px}
  .location-text{padding:20px 23px 35px!important;align-items:flex-start}
  .location-text h2{margin-bottom:18px}
  .corner{margin-bottom:20px}
  .hours-note{margin-bottom:20px}
  .location .exterior{height:350px;min-height:0}
  .contact{padding:23px 0 34px!important;min-height:calc(100svh - var(--nav-clearance) - 45px)}
  .contact-layout{gap:28px}
  .contact .social{margin-top:25px}
  .contact-artwork img{width:min(64vw,245px)}
  /* A phone is not a page-turning book. Keep a normal, readable scroll, while
     using chapter rhythm and active navigation for wayfinding. */
  .hero-text{padding:25px 21px 33px}
  .hero .micro-label{margin-bottom:24px}
  .hero h1{margin-bottom:15px}
  .hero-lead{margin-bottom:24px;line-height:1.52}
  .hero-photo{height:345px}
  .signature.signature-band{padding:14px 15px 15px}
  .brand-pause{min-height:58px;padding:11px 13px}
  .brand-pause img{height:26px}
  .site-header{background-color:#fbf9f5;background-image:linear-gradient(#fbf9f5,#fbf9f5)}
}
@media(max-width:359px){.hero h1{font-size:31px}.experience-text h2,.services h2,.location-text h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.chapter-reveal{opacity:1;transform:none;transition:none} .site-nav a{transition:none}}

.review-note{font-size:10px;color:#a2948e;letter-spacing:.02em;}
@media(max-width:760px){.review-note{display:block;margin-top:3px}}


/* v6.4 — final mobile proportion pass, reviewed from the actual Poco screenshots.
   Keep all approved desktop layouts and typography unchanged. */
@media (max-width:760px) {
  /* A little less fixed chrome; maintain a full-height, tappable navigation row. */
  .head {
    grid-template-rows:49px 43px;
    min-height:92px;
  }
  .brand img { width:140px; }
  .site-nav { height:43px; }
  .site-nav a { padding:11px 0; line-height:1.6; }

  /* Keep the section's heading and photograph as one visual chapter. */
  .experience-text { padding:16px 23px 22px!important; }
  .experience .section-kicker { margin-bottom:12px!important; }
  .experience-text h2 { margin-bottom:12px; }
  .experience-lead { line-height:1.48!important; }

  /* Last chapter should finish at the content, not at an artificial viewport height. */
  .contact {
    min-height:0!important;
    padding:25px 0 31px!important;
  }
  .contact-layout { gap:24px; }
  .contact .social { margin-top:24px; }
  .contact-artwork img { width:min(64vw,245px); }
  footer { padding:22px 0 24px; }
  .footer-bottom { gap:13px; }
}


/* v6.5 — final approved alignment: page 4 practical and left aligned,
   page 5 a calm centred brand sign-off on phones only. Desktop untouched. */
@media (max-width:760px) {
  .contact-copy { text-align:center; }
  .contact h2 { max-width:none; margin-left:auto; margin-right:auto; }
  .contact-mail { max-width:100%; overflow-wrap:anywhere; }
  .contact .social { justify-content:center; flex-wrap:wrap; }
  .contact-artwork { justify-content:center; }
  .contact-artwork img { width:min(78vw,310px); max-width:100%; }
  .contact-layout { justify-items:center; }
  .contact-copy { width:100%; }
}


/* v6.6 — Mac scroll-progress stays exactly as approved.
   On phones replace the long variable-width progress line with one
   short, stable peach marker directly under the active menu label. */
@media (max-width:760px) {
  .site-header::after { display:none !important; }
  .site-nav a { position:relative; }
  .site-nav a[aria-current="location"]::after {
    content:"";
    position:absolute;
    left:50%;
    right:auto;
    top:auto;
    bottom:0;
    width:30px;
    transform:translateX(-50%);
    height:2px;
    background:#F6BBAE;
    border-radius:2px;
    display:block;
  }
  .site-nav a:not([aria-current="location"])::after { content:none; }
}
/* Keep the 'Community TV' brand unit on one line. */
.nowrap { white-space:nowrap; }
/* Desktop only: remove excess breathing space after the drop divider. */
@media (min-width:761px) {
  .services { padding-top:54px; }
}


/* V6.7 — eight-review consolidated factual and launch-preparation pass.
   Preserve visual master 6.6; no layout redesign. */
.price-duration{display:block;margin:2px 0 0;font-size:12px;line-height:1.35;font-weight:600;color:#61574f;white-space:nowrap}
.price-grid .price:last-child{border-color:#e0c1b4}
.drying-detail{font-weight:500;line-height:1.65}
.last-starts{display:flex;flex-wrap:wrap;gap:5px 14px;max-width:480px;margin:-20px 0 29px;font-size:13px;line-height:1.6;color:#5e5550}
.last-start-line{display:inline-block}
.last-start-separator{display:none}
/* Only a modest, targeted trim to the much-discussed desktop contact whitespace. */
@media(min-width:761px){.contact{padding-top:99px;padding-bottom:97px;min-height:0}}
.social a{border-bottom:1px solid #d3c7c0;padding-bottom:4px}
.social a:hover{color:#262626;border-bottom-color:#b47e70}
@media(max-width:760px){
  .drying-detail{font-size:14px;line-height:1.65;}
  .price-duration{font-size:12px;}
  .last-starts{margin:-8px 0 24px;font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:1px;}
  .location-text .hours-note{margin-bottom:20px;}
}

/* V6.8 legal / privacy pages: quiet brand-consistent editorial layout */
.tax-detail{font-size:12px;color:#61574f;margin:8px 0 0}
.legal-page{background:#fbf9f5;color:#262626;font-family:Montserrat,Arial,sans-serif;min-height:100vh}
.legal-top{background:#fbf9f5;border-bottom:1px solid rgba(38,38,38,.12)}
.legal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:88px}
.legal-brand img{display:block;max-width:155px;height:auto;filter:grayscale(1) brightness(.22)}
.legal-head nav{display:flex;align-items:center;gap:17px;font-size:12px;letter-spacing:.05em}
.legal-head nav a[aria-current]{font-weight:600;border-bottom:2px solid #f6bbae;padding-bottom:5px}
.legal-container{max-width:900px;padding-top:72px;padding-bottom:90px}
.legal-back{display:inline-block;font-size:13px;text-decoration:none;border-bottom:1px solid #d8b1a6;padding-bottom:3px}
.legal-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin:42px 0 11px;color:#715f57}
.legal-main h1{font-size:clamp(33px,5vw,52px);line-height:1.12;letter-spacing:-.04em;font-weight:500;margin:0 0 18px}
.legal-draft{display:inline-block;padding:9px 13px;border:1px solid #d9aaa0;background:#fff7f3;color:#65463d;font-size:12px;line-height:1.5;border-radius:7px;margin:0 0 32px}
.legal-section{padding:20px 0;border-top:1px solid #e6e1dc;max-width:780px}
.legal-section h2{font-size:17px;font-weight:500;line-height:1.4;margin:0 0 9px}
.legal-section p,.legal-intro{font-size:14px;line-height:1.85;color:#403a36;margin:0}
.legal-section small{color:#766d67}
.legal-section a{text-decoration:underline;text-decoration-color:#cf998c;text-underline-offset:4px}
.legal-intro{margin:0 0 32px;max-width:740px}
.legal-bottom{border-top:1px solid #e6e1dc;padding:28px 0}
.legal-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:#6b615b}
.legal-footer div{display:flex;gap:24px}
.footer-legal a{color:inherit;text-decoration:none}
.footer-legal a:hover,.footer-legal a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.tax-detail{font-size:12px;margin-top:5px}.legal-head{min-height:76px}.legal-brand img{width:129px}.legal-container{padding:45px 0 65px}.legal-main h1{font-size:35px}.legal-section h2{font-size:16px}.legal-section p,.legal-intro{font-size:14px;line-height:1.72}.legal-footer{flex-direction:column;text-align:center;gap:12px}.legal-draft{font-size:11px}}


/* V6.8.5 — four precise refinements, preserving the approved visual master. */
/* Slightly shift the EXISTING kiosk photograph to the right in its frame;
   the left-hand door hinge disappears without retouching the source image. */
.services-photo img { object-position:75% 45%; }
/* A direct, secondary link to the PUBLIC Google business listing (not directions). */
.location .google-listing {
  display:table;
  width:fit-content;
  margin-top:16px;
  padding-bottom:3px;
  border-bottom:1px solid #c9ada4;
  color:#635b55;
  font-size:13px;
  font-weight:500;
  line-height:1.6;
}
.location .google-listing:hover {color:#262626;border-bottom-color:#ae7363;}
.location .google-listing span {margin-left:5px;}
@media(max-width:760px){
 .location .google-listing {font-size:13px;margin-top:14px;}
}


/* V6.8.6 — balance the breathing space around all three authentic water drops. */
@media (min-width:761px) {
  /* Equal small chapter gutters at the start/end of the services and contact copy.
     The photography remains full bleed in its approved position. */
  .services { padding-top:12px; padding-bottom:12px; }
  .contact { padding-top:12px; }
}
/* Directions stays the primary action. The Google business profile is secondary,
   visually centred under the peach button, without adding a competing card. */
.location-actions { display:flex; flex-direction:column; align-items:stretch; width:max-content; max-width:100%; }
.location-actions > .button { width:100%; }
.location .google-listing {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:100%;
  min-height:44px;
  margin-top:12px;
  padding:9px 11px;
  border:1px solid #e3d7cf;
  border-radius:7px;
  background:rgba(255,255,255,.18);
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  color:#514b47;
  text-align:center;
}
.location .google-listing span { margin-left:6px; }
.location .google-listing:hover { background:#fff9f6; border-color:#d6ab9f; }
.location .google-listing:focus-visible {outline:2px solid #ae7363;outline-offset:3px;}
@media(max-width:760px) {
  .location .google-listing {margin-top:12px;min-height:44px;font-size:13px;}
}


/* V6.8.7 — Poco real-device review: equalise chapter breathing space.
   The approved drop artwork, photos, headings and all navigation are unchanged.
   Prior service bottom-padding left substantially more air before its divider
   than was present after the divider; the heading after the first drop and
   the contact heading after the third had a similar imbalance. */
@media (max-width:760px) {
  .services {padding-top:12px!important;padding-bottom:20px!important;}
  .contact {padding-top:9px!important;}
}
@media (min-width:761px) {
  .contact {padding-top:3px;}
}


/* V6.8.8 — measured accessibility touch-target and contrast improvements.
   Preserve all approved imagery, layout, navigation and typography. */
.language {gap:2px;}
.language a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  min-height:28px;
  padding:3px 2px;
}
.language a:not([aria-current]) { color:#736d67; }
.legal-head nav {gap:10px;}
.legal-head nav a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  min-height:28px;
  padding:3px 2px;
}
@media(max-width:760px){
  .site-nav a{min-width:24px;}
}

/* V6.9.2: keyboard skip link is only displayed when focused; preserves the approved layout. */
.skip-link{position:fixed;left:16px;top:-150px;z-index:9999;background:var(--peach);color:var(--ink);border:2px solid var(--ink);border-radius:5px;padding:10px 15px;font-size:15px;font-weight:600;box-shadow:0 4px 18px #26262620}
.skip-link:focus{top:14px}
#main-content{scroll-margin-top:var(--nav-clearance,110px)}

/* V6.9.4: screen-reader-only external-link cue. No visible layout change. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* BUBBLIES_LOCAL_MONTSERRAT_V1: self-hosted, OFL-1.1, Fontsource 5.3.0. */
@font-face{font-family:Montserrat;font-weight:400;font-style:normal;font-display:swap;src:url('fonts/montserrat-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-weight:500;font-style:normal;font-display:swap;src:url('fonts/montserrat-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:Montserrat;font-weight:600;font-style:normal;font-display:swap;src:url('fonts/montserrat-latin-600-normal.woff2') format('woff2')}
