:root{color-scheme:light;font-synthesis:none;--ink:#1c302f;--muted:#566a68;--paper:#fdfdf9;--accent:#164d49;--line:#d4dfda;--serif:'Instrument Serif','EB Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}button,summary{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b3702a;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{text-wrap:balance}img{max-width:100%;display:block}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}::selection{background:#d0dfd0;color:#142e2a}.business-width{width:min(1200px,calc(100% - 100px));margin-inline:auto}.business-section{padding-block:104px}.skip-link{position:absolute;left:16px;top:8px;transform:translateY(-160%);padding:10px 18px;background:#fff;color:#142e2a;z-index:99}.skip-link:focus{transform:none}.demo-ribbon{min-height:36px;background:#eef0eb;border-bottom:1px solid #d8ded5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px max(24px,calc((100vw - 1200px)/2));font:500 11px/1.5 var(--sans);letter-spacing:.02em;color:#3e4e49}.demo-ribbon a{display:inline-flex;align-items:center;gap:8px;min-height:24px}.demo-ribbon a:last-child{font-weight:600}.demo-ribbon svg{width:13px;height:13px}.demo-header{min-height:99px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:5}.demo-brand{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:-.9px;line-height:1.05}.demo-brand>svg{width:31px;height:36px;color:var(--accent)}.demo-logo{max-width:90px;max-height:46px;width:auto;height:auto}.desktop-links{display:flex;gap:30px;font-size:13px;font-weight:500}.desktop-links a{padding:12px 0}.desktop-links a:hover{text-decoration:underline;text-underline-offset:5px}.header-action{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:11px 17px;border:1px solid var(--line);font-size:12px;font-weight:600;border-radius:6px}.mobile-nav{display:none}.kicker{font:600 10px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:22px;color:var(--accent)}h1{font-size:clamp(42px,5.5vw,76px);line-height:1.08;letter-spacing:-3.8px;font-weight:600}.hero-description{color:var(--muted);font-size:16px;line-height:1.8;max-width:440px;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--accent);color:#fff;min-height:50px;padding:14px 22px;font-size:13px;font-weight:600;border:1px solid var(--accent);border-radius:5px;transition:background .18s,transform .18s}.action-button:hover{filter:brightness(.92);transform:translateY(-1px)}.text-action{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;font-weight:600}.text-action:hover{text-decoration:underline;text-underline-offset:5px}.section-title h2{font-size:clamp(32px,3.4vw,48px);letter-spacing:-2px;line-height:1.16;font-weight:500}.section-description{color:var(--muted);max-width:400px;margin-top:20px;font-size:15px}.photo{overflow:hidden;background:#e7e5da}.photo img{width:100%;height:100%;object-fit:cover}.fine-print,.image-caption{font-size:11px;line-height:1.7;color:var(--muted)}.image-caption{margin-top:18px}.long-copy{font-size:16px;line-height:1.9;color:var(--muted);margin-top:26px;margin-bottom:26px;max-width:490px}.demo-process{background:#ecf2ed;padding:72px 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.process-grid article{border-top:1px solid var(--line);padding-top:28px}.step-number{font-size:12px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;margin-bottom:22px}.process-grid h3{font-size:17px;font-weight:500;letter-spacing:-.3px;margin-bottom:10px}.process-grid p{font-size:14px;color:var(--muted);max-width:275px}.demo-contact{padding:80px 0;background:var(--accent);color:#fff}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr .95fr;gap:58px}.demo-contact .kicker{color:inherit;opacity:.8}.demo-contact .section-title h2{font-size:clamp(34px,4vw,56px)}.demo-contact .section-description{color:inherit;opacity:.85;font-size:14px}.contact-methods h3,.opening-hours h3{font-size:12px;letter-spacing:.04em;font-weight:500;margin-bottom:20px}.contact-action{display:flex;align-items:center;gap:10px;font-size:13px;min-height:42px;overflow-wrap:anywhere}.contact-action>svg{width:17px;height:19px}.contact-action>svg:last-child{margin-left:auto;width:15px}.contact-action:hover span{text-decoration:underline}.contact-action:focus-visible{outline-color:#eed99a}.address{margin-top:22px;font-size:13px;line-height:1.7}.demo-contact .fine-print{color:inherit;opacity:.75;margin-top:12px}.opening-hours dl{margin:0}.opening-hours dl>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #ffffff35;padding:9px 0;font-size:12px}.opening-hours dt{font-weight:400}.opening-hours dd{margin:0;white-space:nowrap}.social-contact{display:inline-flex;align-items:center;gap:8px;margin-top:14px;min-height:32px;font-size:12px}.demo-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:46px}.demo-footer .demo-brand{font-size:18px}.demo-footer .demo-brand>svg{width:24px;height:28px}.demo-footer p,.demo-footer>a{font-size:11px;color:var(--muted)}.demo-footer>div>p{margin-top:11px}.demo-footer>p>a{text-decoration:underline;text-underline-offset:3px}.sample-disclosure{padding:21px 0 30px;border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:28px;color:var(--muted);font-size:11px;line-height:1.7}.sample-disclosure p{max-width:810px}.sample-disclosure>a{white-space:nowrap;min-height:30px;text-decoration:underline;text-underline-offset:3px}.sample-dialog{color:#223330;background:#fbf7ef;border:1px solid #c6cbbf;border-radius:14px;padding:40px;width:min(470px,calc(100vw - 30px));max-height:90dvh;overflow:auto;box-shadow:0 24px 90px #0004}.sample-dialog::backdrop{background:#112421aa;backdrop-filter:blur(4px)}.sample-dialog h2{font:400 38px/1.08 var(--serif);letter-spacing:-1px;white-space:pre-line;margin-bottom:22px}.sample-dialog p:not(.kicker){font-size:14px;color:#4e5f56;line-height:1.75;margin-bottom:20px}.sample-dialog .kicker{font-size:10px;padding-right:20px}.dialog-close{position:absolute;top:10px;right:12px;background:none;border:0;font-size:27px;color:inherit;width:36px;height:36px}.dialog-dismiss{display:block;margin:18px auto 0;border:0;background:none;color:#354d43;text-decoration:underline;min-height:40px;font-size:13px}.sample-dialog .action-button{width:100%}
/* Joe's Plumbing: practical split composition, quiet geometry. */
.joes{--paper:#fdfefa;--ink:#173a37;--muted:#5b706b;--accent:#17524c;--line:#d7e2dc}.joes .demo-brand{font-size:22px}.joes .demo-brand>svg{background:#e7f0e9;padding:7px;width:39px;height:43px;border-radius:8px}.joe-hero{background:#f0f4ee;padding:45px 0 46px}.joe-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:62px}.joe-hero-copy{padding:26px 0}.joe-hero h1{font-size:clamp(43px,5.4vw,73px);max-width:610px}.joe-hero .kicker{display:flex;align-items:center;gap:10px}.joe-hero .kicker:before{content:'';width:22px;height:2px;background:currentColor}.joe-small-note{display:flex;align-items:center;gap:10px;font-size:11px;color:#526d62;margin-top:34px}.joe-small-note svg{width:19px;height:22px}.joe-hero-art{position:relative;min-width:0}.joe-hero-art .main-photo{height:480px;border-radius:8px}.joe-hero-art .main-photo img{object-position:50% 55%}.photo-corner-note{position:absolute;bottom:22px;left:-25px;background:#fffdf6;border:1px solid #e0e5da;border-radius:6px;box-shadow:0 8px 30px #1f3e3110;padding:15px 24px;font-size:12px;line-height:1.9}.photo-corner-note b{font-weight:600}.joe-services>.section-title{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end}.joe-services>.section-title .kicker{grid-column:1/-1}.joe-services>.section-title .section-description{justify-self:end;margin:0 0 3px;max-width:290px}.joe-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:45px}.joe-service-grid article{padding:24px 21px 22px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:flex-start;flex-direction:column}.service-icon{margin-bottom:22px;color:var(--accent)}.joe-service-grid h3{font-size:18px;font-weight:500;letter-spacing:-.4px;margin-bottom:11px}.joe-service-grid p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:22px}.joe-service-grid a{display:flex;gap:12px;align-items:center;font-size:12px;min-height:35px;margin-top:auto}.joe-service-grid a svg{width:16px}.joe-about{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.joe-about-art{position:relative;padding-right:35px;padding-bottom:72px;min-width:0}.joe-about-art .wide-photo{height:350px;border-radius:8px}.joe-about-art .tools-photo{position:absolute;right:0;bottom:0;width:50%;height:170px;border:6px solid var(--paper);border-radius:10px}.joe-about.text-only{grid-template-columns:1fr}.joe-about.text-only .joe-about-art{display:none}.joe-faq{display:grid;grid-template-columns:.9fr 1.3fr;gap:100px;border-top:1px solid var(--line)}.question-list details{border-top:1px solid var(--line);padding:0}.question-list details:last-child{border-bottom:1px solid var(--line)}.question-list summary{list-style:none;display:flex;justify-content:space-between;gap:25px;padding:23px 0;font-size:14px;font-weight:500;line-height:1.6}.question-list summary::-webkit-details-marker{display:none}.question-list summary>span{font-size:20px;font-weight:400;transition:transform .2s}.question-list details[open] summary>span{transform:rotate(45deg)}.question-list details>p{font-size:13px;line-height:1.9;color:var(--muted);padding:0 24px 25px 0}
/* Willow Cafe: generous photographic landscape, editorial menu. */
.willow{--paper:#faf6ed;--ink:#302f21;--accent:#5c6545;--muted:#756f5d;--line:#dedbca}.willow .demo-ribbon{background:#eee9dd;border-color:#ddd7c7;color:#655e4c}.willow .demo-brand{font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-1px}.willow .demo-brand>svg{width:26px;height:34px;stroke-width:1.1}.willow .header-action{border-radius:0;border-color:#bcbca9;font-weight:400}.willow h1,.willow h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.8px}.willow .action-button{border-radius:0;background:#f8f2e5;color:#373b2c;border-color:#f8f2e5;font-weight:500}.cafe-hero{position:relative;margin:0 28px;min-height:590px;display:flex;align-items:center;background:#30392b;isolation:isolate;overflow:hidden}.cafe-scene{position:absolute;inset:0;z-index:-2}.cafe-scene img{object-position:50% 46%;filter:brightness(.8)}.cafe-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(24,36,23,.8) 0%,rgba(24,36,23,.57) 38%,rgba(24,36,23,.05) 100%)}.cafe-hero-copy{padding:70px 0;color:#fff9e9}.cafe-hero .kicker{color:#e9e6ca}.cafe-hero h1{font-size:clamp(54px,6.8vw,94px);line-height:1.01;max-width:700px}.cafe-hero .hero-description{color:#f0ebdc;max-width:380px;font-size:15px}.cafe-hero .hero-actions{gap:30px}.hero-photo-note{position:absolute;right:32px;bottom:19px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#eee9d7}.cafe-ribbon{display:flex;align-items:center;justify-content:center;gap:45px;padding:27px 25px 25px;font-size:12px;letter-spacing:.02em;background:#eaeada;margin:0 28px}.cafe-ribbon svg{height:22px;width:20px;color:#6e7759}.cafe-story{text-align:center;max-width:720px;padding-block:112px}.cafe-story h2{font-size:60px;line-height:1.09}.cafe-story>p{max-width:625px;margin:28px auto 15px;font-size:16px;line-height:1.9;color:var(--muted)}.cafe-story .text-action{margin-top:10px;font-weight:500}.cafe-menu{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:90px 0;background:#efeee1}.menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:130px}.menu-intro h2{font-size:60px}.menu-photo{height:350px;margin-top:36px;max-width:385px}.menu-photo img{object-position:50% 69%}.menu-intro .fine-print{margin-top:13px}.menu-list{padding-top:15px}.menu-category{margin-bottom:38px}.menu-category:last-child{margin-bottom:0}.menu-category-heading{display:flex;align-items:center;gap:15px;padding-bottom:14px;border-bottom:1px solid #c9cdbb}.menu-category-heading>span{font-size:10px;color:#656e52}.menu-category h3{font-family:var(--serif);font-weight:400;font-size:31px;line-height:1.1;letter-spacing:-.3px}.menu-category article{padding-top:21px}.menu-category h4{font-weight:500;font-size:15px}.menu-category article>p{margin-top:4px;font-size:13px;color:var(--muted)}.cafe-gallery>.section-title{max-width:680px;margin-bottom:38px}.cafe-gallery h2{font-size:55px}.cafe-gallery-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.cafe-gallery .photo{height:360px}.cafe-gallery .interior-photo{margin-top:72px}.cafe-gallery .image-caption{text-align:right;margin-top:15px}.willow .demo-contact{background:#7c442f;color:#fff5e6}.willow .demo-contact h2{font-size:61px}.willow .demo-contact .kicker{color:#efccb1}.willow .demo-footer .demo-brand{font-size:28px}.willow .sample-dialog .action-button{background:#5c6545;color:#fff;border-color:#5c6545}
/* Bloom: asymmetric editorial columns, arch, finely ruled service list. */
.bloom{--paper:#f9f5ef;--ink:#35342e;--accent:#865e52;--muted:#746e65;--line:#ded7ce}.bloom .demo-ribbon{background:#ede7de;color:#695f52;border-color:#dcd5ca}.bloom .demo-brand{font-family:var(--serif);font-size:27px;font-weight:400;letter-spacing:-.5px}.bloom .demo-brand>svg{width:28px;height:32px;stroke-width:1}.bloom .header-action{border-radius:0;border-color:#a99686;font-weight:500}.bloom h1,.bloom h2{font-family:var(--serif);font-weight:400;letter-spacing:-2px}.salon-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;padding-block:38px 72px;min-height:645px;align-items:center}.salon-hero h1{font-size:clamp(52px,6.5vw,88px);line-height:1.04;max-width:600px}.salon-hero .hero-description{font-size:15px;max-width:370px}.salon-hero .hero-actions{gap:15px;margin-top:31px;align-items:flex-start;flex-direction:column}.bloom .action-button{background:#865e52;color:#fff8f1;border-color:#865e52;border-radius:0;font-weight:500}.salon-hero .text-action{font-weight:400}.salon-signoff{margin-top:42px;font-family:var(--serif);font-style:italic;font-size:21px;color:#807767}.salon-hero-art{position:relative;padding-left:30px;padding-right:22px;padding-bottom:35px;min-width:0}.salon-main-photo{height:475px;border-top-left-radius:220px;border-top-right-radius:220px}.salon-main-photo img{object-position:46% 65%}.salon-inset-photo{position:absolute;left:-43px;bottom:1px;width:215px;height:163px;border:6px solid var(--paper)}.vertical-caption{position:absolute;right:-12px;top:180px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.17em;color:#7d756a}.salon-divider{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:29px 0;font-family:var(--serif);font-size:33px;letter-spacing:-.6px}.salon-divider>svg{width:28px;height:29px;color:#86695a}.salon-services{display:grid;grid-template-columns:.82fr 1.3fr;gap:110px}.salon-services h2{font-size:54px}.salon-service-grid{border-top:1px solid var(--line)}.salon-service-grid article{display:grid;grid-template-columns:20px 1fr 34px;gap:18px;padding:29px 0;border-bottom:1px solid var(--line);align-items:start}.service-number{font-size:10px;line-height:2.5;color:#95765f}.salon-service-grid h3{font-family:var(--serif);font-size:34px;font-weight:400;line-height:1;letter-spacing:-.5px}.salon-service-grid p{margin-top:13px;font-size:13px;line-height:1.8;color:var(--muted);max-width:405px}.salon-service-grid a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%}.salon-service-grid a>svg{width:16px;transform:rotate(-35deg)}.salon-about{background:#333a32;color:#f7f1e7;padding:85px 0}.salon-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.salon-about h2{font-size:56px}.salon-about .kicker{color:#d7c2a6}.salon-about .long-copy{color:#d5d8c9;font-size:15px}.salon-about-photo{height:370px;object-fit:cover}.bloom .demo-process{background:var(--paper);padding-block:100px 30px}.bloom .demo-process>.business-width>.section-title{max-width:600px}.bloom .demo-process h2{font-size:51px}.bloom .step-number{border:0;width:auto;height:auto;font-family:var(--serif);font-size:33px;color:#865e52;margin-bottom:16px}.bloom .process-grid{gap:80px}.bloom .process-grid h3{font-size:16px}.bloom .process-grid p{font-size:13px}.salon-gallery{padding-top:80px}.salon-gallery h2{font-size:54px}.salon-gallery-grid{display:grid;grid-template-columns:1fr 1.22fr 1fr;align-items:center;gap:26px;margin-top:38px}.salon-tools,.salon-wash{height:265px}.salon-room{height:410px}.bloom .demo-contact{background:#eee2d5;color:var(--ink)}.bloom .demo-contact .opening-hours dl>div{border-color:#c9bbaa}.bloom .demo-contact .kicker{color:#6e5246;opacity:1}.bloom .demo-contact .section-description,.bloom .demo-contact .fine-print{opacity:1;color:#6d6054}.bloom .demo-contact .contact-action:focus-visible{outline-color:#865e52}
@media(min-width:1700px){.cafe-hero{margin-inline:max(28px,calc((100vw - 1600px)/2))}.cafe-ribbon{margin-inline:max(28px,calc((100vw - 1600px)/2))}}
@media(max-width:1100px){.business-width{width:calc(100% - 64px)}.demo-header{gap:20px}.desktop-links{gap:21px}.header-action{padding:10px 14px;font-size:11px;gap:8px}.demo-brand{font-size:21px}.business-section{padding-block:80px}.joe-hero-grid{gap:38px}.joe-hero h1{font-size:58px;letter-spacing:-2.6px}.joe-hero-art .main-photo{height:450px}.joe-service-grid{gap:16px}.joe-service-grid article{padding:22px 16px}.joe-about{gap:55px}.joe-faq{gap:55px}.contact-layout{grid-template-columns:1fr 1fr;gap:45px}.contact-layout>.section-title{grid-column:1/-1;max-width:500px}.contact-methods{max-width:370px}.opening-hours{max-width:370px}.menu-layout{gap:75px}.cafe-hero{min-height:545px}.cafe-hero h1{font-size:80px}.cafe-gallery .photo{height:300px}.salon-hero{gap:45px;min-height:600px}.salon-hero h1{font-size:70px}.salon-hero-art{padding-left:18px}.salon-main-photo{height:440px}.salon-inset-photo{left:-20px;width:180px;height:135px}.salon-services{gap:65px}.salon-about-grid{gap:60px}.bloom .process-grid{gap:40px}.salon-gallery-grid{gap:18px}}
@media(max-width:850px){.desktop-links,.header-action{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:44px;padding:10px 0 10px 12px;font-size:12px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary span{font-size:23px;font-weight:400;line-height:1}.mobile-nav[open] summary span{transform:rotate(45deg)}.mobile-nav nav{position:absolute;right:0;top:49px;width:220px;padding:12px;background:var(--paper);box-shadow:0 12px 40px #182b2318;border:1px solid var(--line);color:var(--ink)}.mobile-nav nav a{display:block;padding:12px;font-size:13px}.demo-header{min-height:80px}.joe-hero h1{font-size:48px}.joe-hero-grid{gap:30px}.joe-hero-art .main-photo{height:400px}.joe-hero-copy{padding:10px 0}.hero-description{font-size:14px;margin-top:20px}.hero-actions{gap:10px;margin-top:25px}.joe-small-note{font-size:10px;margin-top:20px}.joe-service-grid{grid-template-columns:repeat(2,1fr);gap:20px}.joe-about{gap:34px}.joe-about-art{padding-right:0;padding-bottom:50px}.joe-about-art .wide-photo{height:300px}.joe-about-art .tools-photo{height:135px;right:-10px}.joe-faq{grid-template-columns:1fr;gap:35px}.menu-layout{gap:50px}.menu-intro h2{font-size:51px}.menu-photo{height:350px}.cafe-ribbon{font-size:10px;gap:20px}.cafe-ribbon svg{width:16px}.cafe-gallery h2{font-size:49px}.salon-hero{gap:24px;min-height:560px}.salon-hero h1{font-size:60px}.salon-hero .hero-description{font-size:14px}.salon-main-photo{height:390px}.salon-inset-photo{width:150px;height:120px;left:-15px}.salon-signoff{margin-top:24px;font-size:18px}.salon-hero-art{padding-left:12px;padding-right:12px}.salon-services{grid-template-columns:1fr;gap:38px}.salon-services .section-description{max-width:none}.salon-service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.salon-about-grid{gap:35px}.salon-about h2{font-size:43px}.salon-about-photo{height:400px}.salon-gallery-grid{grid-template-columns:1fr 1.1fr}.salon-room{height:340px}.salon-wash{grid-column:1/-1;height:250px}.salon-tools{height:260px}.sample-disclosure{display:block}.sample-disclosure>a{display:inline-flex;margin-top:12px}}
@media(max-width:600px){.business-width{width:calc(100% - 40px)}.business-section{padding-block:62px}.demo-ribbon{padding:7px 14px;gap:8px;font-size:10px;min-height:36px}.demo-ribbon a:first-child{font-size:0;gap:0}.demo-ribbon a:first-child:after{content:'PageSpot';font-size:10px}.demo-ribbon a:last-child{font-size:9px;gap:4px}.demo-ribbon a:last-child svg{width:11px}.demo-ribbon>span{font-size:9px}.demo-header{min-height:76px;gap:12px}.demo-brand,.joes .demo-brand{font-size:20px}.demo-brand>svg{width:27px;height:31px}.joes .demo-brand>svg{width:33px;height:36px;padding:6px}.kicker{font-size:9px;letter-spacing:.13em;margin-bottom:18px}h1{letter-spacing:-2px}.hero-description{font-size:14px;line-height:1.8;margin-top:20px}.hero-actions{gap:20px;align-items:center}.action-button{min-height:47px;padding:13px 17px;font-size:12px;gap:14px}.text-action{font-size:12px;font-weight:500}.section-title h2{font-size:37px;letter-spacing:-1.5px}.section-description{font-size:14px;margin-top:17px}.long-copy{font-size:14px;line-height:1.85}.joe-hero{padding:26px 0 30px}.joe-hero-grid{grid-template-columns:1fr;gap:26px}.joe-hero-copy{padding:0}.joe-hero h1{font-size:clamp(40px,11.8vw,57px);line-height:1.06;letter-spacing:-2.4px;max-width:450px}.joe-hero .kicker{font-size:8px;letter-spacing:.1em}.joe-hero .hero-description{max-width:440px}.joe-small-note{margin-top:17px}.joe-hero-art .main-photo{height:265px;border-radius:6px}.joe-hero-art .main-photo img{object-position:50% 59%}.photo-corner-note{left:14px;bottom:14px;padding:9px 14px;font-size:10px}.joe-services>.section-title{display:block}.joe-services>.section-title .section-description{margin-top:19px;max-width:320px}.joe-service-grid{gap:14px;margin-top:28px}.joe-service-grid article{padding:20px 15px 13px}.joe-service-grid h3{font-size:16px}.joe-service-grid p{font-size:12px;line-height:1.75}.service-icon{margin-bottom:20px}.service-icon svg{width:25px;height:27px}.joe-service-grid a{font-size:11px;gap:10px}.demo-process{padding:57px 0}.process-grid{grid-template-columns:1fr;gap:25px;margin-top:30px}.process-grid article{display:grid;grid-template-columns:35px 1fr;column-gap:17px;padding-top:24px}.step-number{grid-row:1/3;width:34px;height:34px;margin:0}.process-grid h3{font-size:16px;margin:1px 0 7px}.process-grid p{font-size:13px;max-width:none}.joe-about{grid-template-columns:1fr;gap:40px}.joe-about-art{padding-right:22px;padding-bottom:45px}.joe-about-art .wide-photo{height:235px}.joe-about-art .tools-photo{height:125px;right:0}.joe-faq{gap:28px}.question-list summary{font-size:13px;padding:20px 0}.question-list details>p{font-size:13px}.demo-contact{padding:60px 0}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout>.section-title{grid-column:auto;max-width:380px}.demo-contact .section-title h2{font-size:47px}.contact-methods,.opening-hours{max-width:none}.contact-methods h3,.opening-hours h3{margin-bottom:12px}.contact-action{font-size:13px;min-height:45px}.opening-hours dl>div{font-size:12px;padding:11px 0}.demo-footer{display:grid;grid-template-columns:1fr auto;gap:26px 15px;padding-block:35px}.demo-footer>p{grid-column:1/-1}.demo-footer .demo-brand{font-size:17px}.demo-footer>div>p{font-size:10px}.sample-disclosure{font-size:10px;padding-block:18px 25px}.sample-dialog{padding:32px 24px}.sample-dialog h2{font-size:36px}.willow .demo-brand{font-size:30px}.cafe-hero{margin:0 12px;min-height:545px}.cafe-hero-copy{width:calc(100% - 38px);padding:52px 0}.cafe-hero h1{font-size:clamp(52px,14vw,71px);letter-spacing:-1.8px;line-height:1.01}.cafe-hero .kicker{font-size:8px;max-width:265px;line-height:1.8;letter-spacing:.12em}.cafe-hero .hero-description{font-size:14px;max-width:320px;margin-top:22px}.cafe-hero .hero-actions{gap:10px 22px;margin-top:26px}.cafe-hero .text-action{font-size:11px}.cafe-hero-shade{background:linear-gradient(90deg,rgba(22,30,19,.75),rgba(22,30,19,.38))}.cafe-scene img{object-position:53% 50%;filter:brightness(.76)}.hero-photo-note{right:16px;bottom:12px;font-size:8px}.cafe-ribbon{margin:0 12px;padding:18px;gap:14px;font-size:10px;justify-content:space-between}.cafe-ribbon span:nth-of-type(2),.cafe-ribbon>svg:nth-of-type(2){display:none}.cafe-ribbon svg{width:18px;flex-shrink:0}.cafe-story{padding-block:70px}.cafe-story h2{font-size:46px;line-height:1.08}.cafe-story>p{font-size:14px;line-height:1.9;margin:24px 0 14px}.cafe-menu{padding:57px 0}.menu-layout{grid-template-columns:1fr;gap:40px}.menu-intro h2{font-size:48px}.menu-photo{height:260px;max-width:none;margin-top:25px}.menu-photo img{object-position:50% 77%}.menu-list{padding:0}.menu-category{margin-bottom:32px}.menu-category h3{font-size:30px}.menu-category article{padding-top:19px}.menu-category h4{font-size:14px}.menu-category article>p{font-size:13px}.cafe-gallery h2{font-size:46px}.cafe-gallery-grid{grid-template-columns:1fr;gap:16px}.cafe-gallery .photo{height:250px}.cafe-gallery .interior-photo{margin:0;height:220px}.cafe-gallery .image-caption{text-align:left}.willow .demo-contact h2{font-size:54px}.willow .demo-footer .demo-brand{font-size:26px}.bloom .demo-brand{font-size:24px;letter-spacing:-.5px;gap:9px}.bloom .demo-brand>svg{width:23px;height:25px}.salon-hero{grid-template-columns:1fr;gap:32px;padding-block:31px 45px;min-height:0}.salon-hero h1{font-size:clamp(52px,14vw,68px);line-height:1.05;letter-spacing:-2.2px}.salon-hero .hero-description{font-size:14px;max-width:320px}.salon-hero .hero-actions{margin-top:25px;gap:9px}.salon-signoff{display:none}.salon-hero-art{padding:0 10px 32px 42px;max-width:435px;width:100%;margin-inline:auto}.salon-main-photo{height:340px;border-top-left-radius:170px;border-top-right-radius:170px}.salon-inset-photo{width:145px;height:115px;left:0;bottom:0;border-width:5px}.vertical-caption{right:-11px;top:109px;font-size:8px;letter-spacing:.12em}.salon-divider{font-size:24px;padding:19px 0}.salon-divider svg{width:22px;height:23px}.salon-services{gap:27px}.salon-services h2{font-size:46px}.salon-service-grid{display:block}.salon-service-grid article{padding:25px 0;gap:14px;grid-template-columns:17px 1fr 34px}.salon-service-grid h3{font-size:31px}.salon-service-grid p{font-size:13px}.salon-about{padding:58px 0}.salon-about-grid{grid-template-columns:1fr;gap:35px}.salon-about h2{font-size:46px}.salon-about .long-copy{font-size:14px}.salon-about-photo{height:265px}.bloom .demo-process{padding-block:63px 18px}.bloom .demo-process h2{font-size:45px}.bloom .process-grid{gap:26px;margin-top:32px}.bloom .step-number{font-size:29px;margin:0}.bloom .process-grid article{column-gap:19px}.salon-gallery{padding-top:50px}.salon-gallery h2{font-size:45px}.salon-gallery-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:29px}.salon-tools{height:205px}.salon-room{height:260px}.salon-wash{height:220px}.bloom .demo-contact .section-title h2{font-size:53px}}
@media(max-width:360px){.business-width{width:calc(100% - 32px)}.demo-brand,.joes .demo-brand{font-size:18px;gap:8px}.bloom .demo-brand{font-size:21px}.demo-ribbon{padding-inline:10px}.hero-actions{gap:12px}.joe-hero h1{font-size:40px;letter-spacing:-2px}.joe-hero .hero-actions{align-items:flex-start;flex-direction:column;gap:2px}.joe-service-grid{grid-template-columns:1fr}.joe-service-grid article{padding:25px}.hero-description{font-size:13px}.cafe-hero h1{font-size:51px}.cafe-ribbon{font-size:9px}.cafe-hero .hero-actions{gap:6px 15px}.salon-hero h1{font-size:49px}.salon-divider{font-size:22px}.opening-hours dl>div{font-size:11px}.sample-dialog{padding:29px 21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
