:root{--forest:#173f35;--forest-deep:#102f28;--sage:#a9b9a3;--cream:#f6f3eb;--sand:#e8dfcf;--ink:#1f302a;--muted:#68756d;--line:#d9ded5;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;top:-60px;left:16px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:10px}.site-header{height:88px;background:#fff;position:relative;z-index:10;border-bottom:1px solid rgba(23,63,53,.08)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--forest)}.brand-mark{width:39px;height:39px;border:1px solid var(--sage);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:16px}.brand-text{font-size:13px;font-weight:700;letter-spacing:2px;line-height:1.2}.brand-text small{display:block;font-size:9px;letter-spacing:4px;font-weight:500;margin-top:5px}.primary-nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:600}.primary-nav>a:not(.button):hover,.text-link:hover{color:#78917d}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 21px;background:#cc9e87;color:#fff;font-size:12px;font-weight:600;letter-spacing:.2px;transition:transform .2s,background .2s}.button:hover{background:#f27382;transform:translateY(-2px)}.button-small{padding:12px 16px}.button-cream{background:var(--cream);color:var(--forest)}.button-cream:hover{background:#fff;color:var(--forest)}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--forest);margin:5px}
.hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#3d5145;color:#fff}.hero-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=2200&q=85') center 55%/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,37,29,.83) 0%,rgba(14,37,29,.55) 45%,rgba(14,37,29,.1) 100%)}.hero-content{position:relative;padding-block:92px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:#6b806d;margin:0 0 22px}.eyebrow-light{color:#d7dfd0}.eyebrow span{display:inline-block;width:26px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}.hero h1,.page-hero h1{font:400 clamp(54px,7vw,90px)/1.04 var(--serif);letter-spacing:-2px;margin:0 0 25px}.hero h1 em,.page-hero h1 em,.intro h2 em,.section-heading h2 em,.final-cta h2 em,.contact-grid h2 em{font-weight:400;color:#c5d2bd}.hero-copy{max-width:430px;color:#e0e5de;font-size:15px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:13px;font-size:12px;font-weight:700;color:var(--forest)}.text-link-light{color:#fff}.hero-note{display:flex;align-items:center;gap:13px;margin-top:70px;font-size:9px;letter-spacing:1.8px;color:#e0e5de}.note-line{width:37px;height:1px;background:#c5d2bd}.hero-number{position:absolute;right:4%;bottom:32px;font:24px var(--serif);color:#fff}.hero-number span{font:9px var(--sans);letter-spacing:2px}
.section-pad{padding:105px 0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.intro h2,.section-heading h2,.contact-grid h2{font:400 clamp(42px,5vw,62px)/1.14 var(--serif);letter-spacing:-1.5px;margin:0}.intro h2 em,.section-heading h2 em,.contact-grid h2 em{color:#788e78}.intro-copy p{color:var(--muted)}.intro-copy .large-copy{font:22px/1.5 var(--serif);color:var(--ink);margin-top:0}.intro-copy .text-link{margin-top:16px}.services-section{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.heading-copy{max-width:330px;color:var(--muted);margin:0 0 5px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{background:var(--cream);min-width:0}.service-photo{height:265px;background-size:cover;background-position:center}.photo-massage{background-image:url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=900&q=80')}.photo-headspa{background-image:url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=900&q=80')}.photo-couples{background-image:url('https://images.unsplash.com/photo-1515377905703-c4788e51af15?auto=format&fit=crop&w=900&q=80')}.service-card-body{position:relative;padding:27px 25px 31px}.card-index{font-size:9px;letter-spacing:1.6px;color:#718574}.service-card h3{font:24px var(--serif);font-weight:400;margin:12px 0}.service-card p{font-size:13px;color:var(--muted);max-width:250px}.circle-link{position:absolute;right:23px;bottom:24px;width:35px;height:35px;border:1px solid #bdc9bb;border-radius:50%;display:grid;place-items:center}.mobile-link{display:none}.quote-section{display:grid;grid-template-columns:1fr 1fr;min-height:450px;background:var(--forest)}.quote-image{background:url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=1200&q=85') center/cover;min-height:400px}.quote-panel{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(35px,7vw,100px);color:#fff}.quote-panel blockquote{font:clamp(30px,3.3vw,43px)/1.3 var(--serif);margin:5px 0 28px}.quote-rule{width:42px;height:1px;background:#b7c6b1}.quote-caption{font-size:9px;letter-spacing:2px;margin-top:20px;color:#d5ded2}.locations-preview{background:var(--cream)}.location-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.location-mini{padding:29px 28px 32px;border-right:1px solid var(--line)}.location-mini:first-child{padding-left:0}.location-mini:last-child{border:0}.location-mini>span{font:22px var(--serif);color:#8b9b86}.location-mini h3{font:23px var(--serif);font-weight:400;margin:18px 0 8px}.location-mini p{color:var(--muted);font-size:12px;min-height:40px}.location-mini a{font-size:11px;font-weight:700;color:var(--forest)}.location-mini a span{margin-left:10px}.center-action{text-align:center;margin-top:38px}.final-cta{background:var(--forest-deep);color:#fff;text-align:center;padding:94px 0}.final-cta h2{font:400 clamp(43px,5vw,65px)/1.15 var(--serif);margin:0 0 22px}.final-cta h2 em{color:#c5d2bd}.final-cta p:not(.eyebrow){color:#d5ded7;margin-bottom:27px}.page-hero{padding:95px 0 105px}.page-hero-green{background:var(--forest);color:#fff}.page-hero-sand{background:var(--cream);color:var(--ink)}.page-hero-sand .eyebrow{color:#6b806d}.page-hero-sand h1 em{color:#788e78}.page-hero p:last-child{max-width:510px;color:inherit;opacity:.8}.locations-page{padding-top:85px}.compact-heading{margin-bottom:30px}.location-list{border-top:1px solid var(--line)}.location-row{display:grid;grid-template-columns:70px 1fr 90px;gap:20px;align-items:start;padding:38px 0;border-bottom:1px solid var(--line)}.location-count{font:25px var(--serif);color:#8b9b86}.location-info .eyebrow{margin-bottom:8px}.location-info h2{font:32px var(--serif);font-weight:400;margin:0 0 10px}.placeholder-text{font-size:13px;color:var(--muted);margin:4px 0}.location-actions{display:flex;align-items:center;gap:23px;margin-top:22px}.location-symbol{width:64px;height:64px;border-radius:50%;background:var(--cream);display:grid;place-items:center;font-size:27px;color:#78917d}.soft-cta{background:var(--cream);padding:45px 0}.soft-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.soft-cta h2{font:32px var(--serif);font-weight:400;margin:0}.soft-cta .eyebrow{margin-bottom:6px}.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-detail{border-top:1px solid var(--line);padding-top:24px}.detail-number{font:30px var(--serif);color:#849783;margin-bottom:30px}.service-detail h2{font:30px var(--serif);font-weight:400;margin:0 0 16px}.service-detail>p:not(.eyebrow){font-size:13px;color:var(--muted);min-height:110px}.service-detail .text-link{margin-top:12px}.notice{background:var(--cream);padding:18px 22px;color:var(--muted);font-size:12px;margin-top:45px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.contact-grid>div:first-child>p:not(.eyebrow){color:var(--muted);max-width:390px;margin-top:25px}.contact-note{background:var(--cream);padding:42px}.contact-icon{font-size:27px;color:#718574}.contact-note h3{font:29px var(--serif);font-weight:400}.contact-note p{font-size:13px;color:var(--muted)}.contact-note .button{margin-top:15px}.contact-note .small-note{font-size:10px;margin-top:25px}.prose{max-width:760px}.prose h2{font:30px var(--serif);font-weight:400;margin-top:35px}.prose p{color:var(--muted)}.site-footer{background:#cc9e87;color:#ffffff;padding:65px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:65px;padding-bottom:55px}.brand-light{color:#fff}.footer-intro{max-width:280px;font:20px/1.5 var(--serif);color:#ffffff;margin-top:25px}.footer-grid h3{font-size:16px;letter-spacing:1.5px;text-transform:uppercase;margin:8px 0 20px}.footer-grid>div:not(:first-child)>a{display:block;font-size:12px;color:#ffffff;margin:12px 0}.footer-grid p:not(.footer-intro){font-size:12px;color:#ffffff}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding-top:20px;display:flex;justify-content:space-between;font-size:14px;color:#ffffff}.footer-bottom a:hover{color:#f7f6ed;}
@media(max-width:800px){.container{width:min(100% - 36px,620px)}.site-header{height:74px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:74px;background:#fff;padding:22px 24px 28px;box-shadow:0 15px 20px #122b201a;align-items:stretch;gap:0;flex-direction:column}.primary-nav.open{display:flex}.primary-nav>a{padding:13px 0}.primary-nav .button{margin-top:8px;padding:13px 16px}.hero{min-height:610px}.hero-content{padding-block:70px}.hero h1{font-size:64px}.hero-note{margin-top:52px}.hero-number{display:none}.section-pad{padding:75px 0}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.section-heading{align-items:start;flex-direction:column;gap:18px}.desktop-link{display:none}.mobile-link{display:inline-flex;margin-top:26px}.service-cards{grid-template-columns:1fr;gap:18px}.service-card{display:grid;grid-template-columns:.9fr 1.1fr}.service-photo{height:100%;min-height:240px}.service-card-body{padding:22px 20px}.service-card h3{font-size:22px}.service-card p{font-size:12px}.circle-link{right:17px;bottom:15px}.quote-section{grid-template-columns:1fr}.quote-image{min-height:280px}.quote-panel{padding:55px 30px}.location-preview-grid{grid-template-columns:1fr}.location-mini,.location-mini:first-child{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.location-mini:last-child{border-bottom:0}.location-mini p{min-height:0}.heading-copy{max-width:480px}.final-cta{padding:75px 0}.page-hero{padding:72px 0}.location-row{grid-template-columns:38px 1fr 0;gap:14px}.location-symbol{display:none}.location-actions{flex-wrap:wrap;gap:16px}.service-detail-grid{grid-template-columns:1fr;gap:32px}.service-detail>p:not(.eyebrow){min-height:0}.soft-cta-inner{align-items:flex-start;flex-direction:column}.contact-note{padding:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-intro{margin-top:17px}}@media(max-width:460px){.container{width:calc(100% - 32px)}.hero h1{font-size:55px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-note{font-size:8px;letter-spacing:1px}.intro h2,.section-heading h2,.contact-grid h2{font-size:46px}.service-card{display:block}.service-photo{height:230px}.service-card-body{padding-bottom:48px}.location-row{grid-template-columns:28px 1fr;gap:10px}.location-info h2{font-size:27px}.location-actions .button{font-size:10px}.footer-grid{gap:25px}.footer-bottom{gap:15px;flex-wrap:wrap}.page-hero h1{font-size:57px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Brand asset, location dropdown, and service pricing additions */
.brand-logo { display:block; width:74px; height:74px; object-fit:contain; border-radius:50%; }
.nav-locations { position:relative; display:flex; align-items:center; }
.nav-locations > a { display:block; padding:12px 0; }
.nav-location-menu { display:none; position:absolute; z-index:30; top:100%; left:-18px; min-width:180px; padding:8px; background:#fffdf8; border:1px solid #e6e1d7; box-shadow:0 12px 28px rgba(20,40,32,.13); border-radius:8px; }
.nav-location-menu a { display:block; padding:10px 12px; border-radius:5px; white-space:nowrap; }
.nav-location-menu a:hover { background:#edf1e9; }
.nav-locations:hover .nav-location-menu, .nav-locations:focus-within .nav-location-menu { display:block; }
.location-info address, .location-detail-grid address { font-style:normal; line-height:1.8; margin:10px 0; }
.location-info a[href^="tel:"], .location-detail-grid a[href^="tel:"] { color:inherit; }
.location-detail-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); gap:clamp(32px,6vw,84px); align-items:start; }
.location-detail-grid h2 { margin-bottom:22px; }
.location-detail-card { background:#f3f0e8; border-radius:12px; padding:clamp(24px,4vw,40px); }
.location-detail-card h3 { font-family:'Playfair Display',serif; font-size:1.65rem; font-weight:500; }
.location-detail-card hr { border:0; border-top:1px solid #d9d6cc; margin:26px 0; }
.pricing-intro { max-width:760px; margin:0 auto 28px; text-align:center; }
.pricing-intro h2 { margin-bottom:12px; }
.pricing-category { margin-top:76px; }
.pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:22px; }
.pricing-card { padding:clamp(22px,3vw,34px); border:1px solid #e2ded4; border-radius:12px; background:#fffdf9; }
.pricing-card h3 { min-height:2.2em; font-family:'Playfair Display',serif; font-size:1.35rem; font-weight:500; margin:0 0 18px; }
.price-row { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-top:1px solid #e8e4db; }
.price-row strong { font-size:1.08rem; color:#244f40; }
@media (max-width:760px) { .brand-logo { width:60px; height:60px; } .nav-locations { display:block; } .nav-location-menu { position:static; display:block; box-shadow:none; border:0; background:transparent; padding:0 0 4px 12px; } .nav-location-menu a { padding:8px 10px; } .location-detail-grid,.pricing-grid { grid-template-columns:1fr; } .pricing-category { margin-top:54px; } .pricing-card h3 { min-height:0; } }

/* Homepage redesign: editorial spa layout inspired by the supplied reference */
.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%}
.home-hero{position:relative;min-height:440px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#3c4a37}
.home-hero-image {
    position: absolute;
    inset: 0;
    background-image: url('../images/Hawaiian-Lomi-Lomi-Massage.png');
    background-size: cover;
    background-position: center 48%;
    transform: scale(1.01)
}
.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,39,30,.84) 0%,rgba(20,38,28,.63) 37%,rgba(20,38,28,.08) 78%),linear-gradient(0deg,rgba(17,36,28,.18),transparent 50%)}
.home-hero-inner{position:relative;z-index:1;padding-block:62px}
.home-hero-copy{max-width:500px}
.home-hero-copy .eyebrow{margin-bottom:18px}
.home-hero h1{font:400 clamp(44px,5.6vw,70px)/1.05 var(--serif);letter-spacing:-1.8px;margin:0 0 18px}
.home-hero h1 em{font-weight:400;color:#e5e9db}
.home-hero-copy>p:not(.eyebrow){max-width:440px;color:#f0f0e9;font-size:14px;line-height:1.8;margin:0}
.home-hero .hero-actions{gap:13px;margin-top:24px;flex-wrap:wrap}
.home-pill{border-radius:999px;padding:12px 21px;gap:10px;min-height:42px}
.home-pill-outline{background:transparent;border:1px solid rgba(255,255,255,.85);color:#cc9e87}
.home-pill-outline:hover{background:#fff;color:#f27382}
.home-benefits{background:#fbfaf5;border-bottom:1px solid #eeeae0}
.home-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:24px;gap:18px}
.home-benefit{text-align:center;padding:0 10px}
.benefit-icon{display:block;color:var(--forest);font-size:27px;line-height:1.2;margin-bottom:6px}
.home-benefit h2{font:500 14px var(--serif);margin:0 0 2px;color:#264b3e}
.home-benefit p{font-size:11px;color:var(--muted);margin:0}
.home-services{padding:62px 0 68px;background:#fff}
.home-services-layout{display:grid;grid-template-columns:minmax(205px,.78fr) minmax(0,1.7fr);gap:34px;align-items:center}
.home-section-intro .eyebrow{margin-bottom:12px}
.home-section-intro h2{font:400 clamp(34px,3.5vw,46px)/1.12 var(--serif);letter-spacing:-1px;margin:0 0 15px}
.home-section-intro h2 em{color:#718a75;font-weight:400}
.home-section-intro>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);max-width:350px;margin:0 0 20px}
.home-outline-button{border:1px solid #7e9987;background:transparent;color:var(--forest);border-radius:999px;padding:10px 17px;gap:12px}
.home-outline-button:hover{background:#f27382;color:#fff}
.home-service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.home-service-card{min-width:0;border:1px solid #e9e5dc;border-radius:6px;overflow:hidden;background:#fffdf9;box-shadow:0 3px 10px rgba(30,48,38,.045)}
.home-service-photo{height:116px;background-size:cover;background-position:center}
.home-photo-massage{background-image:url('../images/lomilomi_.jpg')}
.home-photo-couples{background-image:url('../images/couplemassage.jpg')}
.home-photo-stone{background-image:url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=650&q=80')}
.home-photo-cupping{background-image:url('../images/Cupping.jpg')}
.home-service-card-content{padding:12px 12px 14px}
.home-service-card h3{font:500 15px/1.3 var(--serif);margin:0 0 5px;color:#f27382}
.home-service-card p{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 7px;min-height:30px}
.home-price{display:block;font-size:10px;color:#56665b;margin-bottom:9px}
.home-service-card-content>a{display:inline-block;font-size:10px;font-weight:600;color:var(--forest)}
.home-service-card-content>a span{margin-left:3px}
.home-locations{padding:54px 0 60px;background:linear-gradient(115deg,#eef0e5,#f6f4e9 58%,#e8ecdf)}
.home-location-layout{display:grid;grid-template-columns:minmax(210px,.82fr) minmax(0,2fr);gap:28px;align-items:center}
.home-location-intro h2{font-size:clamp(31px,3.2vw,42px)}
.home-location-intro>p:not(.eyebrow){max-width:300px}
.home-hours{font-size:11px!important;color:#315647!important;font-weight:600;margin-top:0!important}
.home-hours span{font-size:17px;margin-right:5px}
.home-location-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.home-location-card{min-width:0;background:#fffefa;border:1px solid #e6e4da;border-radius:6px;overflow:hidden;box-shadow:0 4px 14px rgba(25,49,36,.05)}
.home-location-photo{height:106px;background-size:cover;background-position:center}
.location-photo-one{background-image:url('../images/1414_federalway.jpg')}
.location-photo-two{background-image:url('../images/5907-lynnwood.jpg')}
.location-photo-three{background-image:url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=700&q=80')}
.home-location-card-content{padding:12px 12px 13px}
.location-city{font-size:8px;letter-spacing:1.1px;font-weight:700;color:#748773;margin:0 0 3px}
.home-location-card h3{font:500 17px var(--serif);margin:0 0 7px;color:#f27382}
.home-location-card address{font-style:normal;font-size:10px;line-height:1.55;color:#526258;min-height:31px;margin-bottom:7px}
.home-phone{font-size:10px;font-weight:700;color:#274d3e}
.home-card-hours{font-size:9px;color:#68756d;margin:5px 0 10px}
.home-location-actions{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}
.home-small-pill{border-radius:999px;padding:8px 12px;font-size:9px;gap:4px}
.home-directions{font-size:9px;color:#315747;font-weight:600}
.home-location-detail{display:inline-block;font-size:9px;font-weight:600;color:#315747;margin-top:11px}
.home-about{display:grid;grid-template-columns:36% 1fr;min-height:240px;background:#fbf9f2}
.home-about-image{min-height:240px;background:url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=1200&q=85') center/cover}
.home-about-copy{align-self:center;padding:40px clamp(28px,5vw,74px);max-width:760px}
.home-about-copy .eyebrow{margin-bottom:9px}
.home-about-copy h2{font:400 clamp(29px,3vw,39px)/1.2 var(--serif);margin:0 0 12px}
.home-about-copy h2 em{color:#718a75;font-weight:400}
.home-about-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);max-width:540px;margin:0 0 16px}
.home-final-cta{padding:58px 0;background:#f7f6ed;color:#fff;text-align:center}
.home-final-cta .eyebrow{color:#cc9e87;margin-bottom:10px}
.home-final-cta h2{font:400 clamp(33px,4vw,47px)/1.15 var(--serif);margin:0 0 12px;color:#5f5842;}
.home-final-cta h2 em{color:#cc9e87;font-weight:400}
.home-final-cta p:not(.eyebrow){font-size:12px;color:#cc9e87;margin:0 auto;max-width:540px}
.home-final-cta .hero-actions{justify-content:center;margin-top:22px;gap:12px;flex-wrap:wrap}
.home-cta-light{background:#cc9e87;color:#ffffff}
@media(max-width:1000px){.home-services-layout,.home-location-layout{grid-template-columns:1fr;gap:24px}.home-section-intro{max-width:600px}.home-section-intro>p:not(.eyebrow){max-width:560px}.home-service-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.home-location-cards{gap:16px}.home-location-photo{height:130px}}
@media(max-width:700px){.home-hero{min-height:510px}.home-hero-inner{padding-block:64px}.home-hero-overlay{background:linear-gradient(90deg,rgba(15,39,30,.84),rgba(20,38,28,.4)),linear-gradient(0deg,rgba(17,36,28,.25),transparent)}.home-hero h1{font-size:clamp(43px,11vw,60px)}.home-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px;padding-block:23px}.home-services{padding:52px 0}.home-service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-service-photo{height:140px}.home-location-cards{grid-template-columns:1fr}.home-location-card{display:grid;grid-template-columns:35% 1fr}.home-location-photo{height:100%;min-height:210px}.home-location-card-content{padding:15px}.home-location-card address{min-height:0}.home-about{grid-template-columns:1fr}.home-about-image{min-height:230px}.home-about-copy{padding:32px 24px 38px}.home-final-cta{padding:48px 0}}
@media(max-width:420px){.home-service-card-content{padding:10px}.home-service-photo{height:112px}.home-service-card h3{font-size:14px}.home-location-card{grid-template-columns:31% 1fr}.home-location-photo{min-height:220px}.home-location-actions{align-items:flex-start;flex-direction:column}.home-hero .hero-actions{align-items:flex-start;flex-direction:row}.home-hero .button{font-size:10px;padding:10px 13px}}

.footer-brand-logo{width:62px;height:62px}


/* Requested accessibility and layout refinements */
.brand-logo{width:82px;height:82px;}
.site-header{height:104px;}
.primary-nav{font-size:14px;gap:24px;}
.button{font-size:14px;}
.home-hero{min-height:520px;}
.home-hero h1{font-size:clamp(52px,6.2vw,82px);}
.home-hero-copy>p:not(.eyebrow){font-size:16px;max-width:500px;}
.home-benefit h2{font-size:16px;}
.home-benefit p{font-size:13px;}
.home-services{padding:76px 0 82px;}
.home-service-cards{gap:16px;}
.home-service-photo{height:164px;}
.home-service-card h3{font-size:18px;}
.home-service-card p,.home-price,.home-service-card-content>a{font-size:12px;}
.home-service-card-content{padding:16px;}
.home-locations{padding:70px 0 76px;}
.home-location-photo{height:145px;}
.home-location-card h3{font-size:20px;}
.home-location-card address,.home-phone,.home-card-hours,.home-directions{font-size:12px;}
.home-location-card-content{padding:16px;}
.nav-locations{position:relative;}
.nav-location-menu{width:290px;}
.nav-location-menu a.location-menu-item{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-bottom:1px solid #ece9df;white-space:normal;line-height:1.45;}
.nav-location-menu a.location-menu-item strong{font-size:14px;color:var(--forest);}
.nav-location-menu a.location-menu-item span{font-size:16px;color:#647168;}
.nav-location-menu a.location-menu-item span:last-child{font-weight:700;color:var(--forest);}
.footer-grid{grid-template-columns:1.1fr .8fr 1.4fr;}
.footer-location-list>div{margin:0 0 13px;font-size:16px;}
.footer-location-list address{font-style:normal;font-size:12px;line-height:1.55;color:#f7f6ed;margin:3px 0;}
.footer-location-list a{font-size:12px;color:#fff;}
.locations-map-section{background:#f7f5ee;}
.locations-map-section h2{font:400 clamp(32px,4vw,46px)/1.2 var(--serif);margin:0 0 8px;color:var(--forest);}
.map-intro{color:var(--muted);margin:0 0 24px;}
.locations-map-frame{height:440px;overflow:hidden;border-radius:12px;border:1px solid #d9ded5;box-shadow:0 10px 28px rgba(25,49,36,.08);}
.locations-map-frame iframe{width:100%;height:100%;border:0;}
.map-location-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:18px;font-weight:600;color:var(--forest);font-size:14px;}
.location-page-background{position:relative;background-size:cover;background-position:center;background-attachment:fixed;}
.location-page-background:before{content:"";position:absolute;inset:0;background:rgba(248,246,239,.88);pointer-events:none;}
.location-page-background>.container{position:relative;z-index:1;}
.location-bg-federalway{background-image:url('https://images.unsplash.com/photo-1600334129128-685c5582fd35?auto=format&fit=crop&w=2000&q=80');}
.location-bg-lynnwood{background-image:url('https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&w=2000&q=80');}
.location-bg-edmonds{background-image:url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=2000&q=80');}
.services-locations{background:#f6f4ed;}
.services-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.services-location-card{overflow:hidden;background:#fffdf8;border:1px solid #e3dfd4;border-radius:10px;box-shadow:0 5px 20px rgba(25,49,36,.06);}
.services-location-image{height:190px;background-size:cover;background-position:center;}
.services-location-federal{background-image:url('../images/1414_federalway.jpg');}
.services-location-lynnwood{background-image:url('../images/5907-lynnwood.jpg');}
.services-location-edmonds{background-image:url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?auto=format&fit=crop&w=900&q=80');}
.services-location-content{padding:22px;}
.services-location-content .eyebrow{margin-bottom:8px;}
.services-location-content h3{font:500 22px/1.25 var(--serif);color:var(--forest);margin:0 0 12px;}
.services-location-content address{font-style:normal;color:var(--muted);font-size:14px;}
.services-location-content>p:not(.eyebrow){font-weight:600;font-size:14px;}
.services-location-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px;}
.button-outline-dark{background:transparent;color:var(--forest);border:1px solid #9aab9d;}
.button-outline-dark:hover{background:var(--forest);color:#fff;}
.booking-coming-soon{font-size:12px;color:#68756d;font-style:italic;}
@media(max-width:1000px){.primary-nav{gap:14px}.brand-logo{width:72px;height:72px}.services-location-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-location-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:760px){.site-header{height:86px}.brand-logo{width:66px;height:66px}.primary-nav{font-size:14px}.nav-location-menu{width:auto}.nav-location-menu a.location-menu-item{padding-left:18px}.locations-map-frame{height:170px}.map-location-links{gap:14px}.services-location-grid{grid-template-columns:1fr}.services-location-image{height:220px}.footer-grid{grid-template-columns:1fr}.footer-location-list{grid-column:auto;display:block}.location-page-background{background-attachment:scroll}}

/* Latest requested sizing: larger homepage service/location sections and brand mark */
.brand-logo{width:200px;height:200px;object-fit:contain;flex-shrink:0}
.site-header{height:220px}
.home-services-layout,
.home-location-layout{font-size:18px}
.home-services-layout .home-section-intro>p:not(.eyebrow),
.home-location-layout .home-section-intro>p:not(.eyebrow),
.home-location-intro>p:not(.eyebrow),
.home-service-card p,
.home-price,
.home-service-card-content>a,
.home-location-card address,
.home-phone,
.home-card-hours,
.home-directions,
.home-location-detail{font-size:18px!important;line-height:1.55}
.home-service-card h3,.home-location-card h3{font-size:22px}
.home-service-photo{height:220px}
.home-location-photo{height:190px}
.home-service-card-content,.home-location-card-content{padding:22px}
@media(max-width:1000px){.site-header{height:220px}.brand-logo{width:200px;height:200px}.home-service-photo{height:190px}}
@media(max-width:760px){.site-header{height:auto;min-height:220px}.nav-wrap{flex-wrap:wrap;justify-content:center;gap:10px;padding:10px 0}.brand-logo{width:200px;height:200px}.primary-nav{top:auto}.home-service-photo{height:180px}.home-location-photo{min-height:190px}.home-location-card address,.home-phone,.home-card-hours,.home-directions{font-size:18px!important}}


/* October update: consistent 18px body copy, two-column treatment gallery, 150px logo */
html{font-size:18px}
body{font-size:18px;line-height:1.65}
body p,body li,body address,body label,body input,body textarea,body select,
body .eyebrow,body .primary-nav,body .primary-nav a,body .nav-location-menu a,
body .button,body .text-link,body .home-service-card p,body .home-service-card a,
body .home-location-card p,body .home-location-card address,
body .home-service-card .home-price,body .home-card-hours,
body .services-location-content address,body .services-location-content>p,
body .booking-coming-soon,body .price-row,body .footer-grid a,
body .footer-grid p,body .site-footer,body .home-benefit p{font-size:18px!important}
/* Keep display headings larger than body copy */
.home-service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.home-service-photo{height:300px}
.home-service-card-content{padding:26px}
.brand-logo{width:150px!important;height:150px!important;object-fit:contain}
.site-header{height:166px!important}
@media(max-width:1000px){.site-header{height:auto!important;min-height:166px}.primary-nav{gap:12px}}
@media(max-width:760px){.site-header{min-height:166px}.nav-wrap{padding:8px 0}.home-service-cards{grid-template-columns:1fr;gap:22px}.home-service-photo{height:260px}.brand-logo{width:150px!important;height:150px!important}}

/* Dedicated treatment pages */
.treatment-hero{min-height:520px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;background:#173f35}.treatment-hero>img,.treatment-hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.treatment-hero-overlay{background:linear-gradient(90deg,rgba(10,38,30,.9),rgba(10,38,30,.35))}.treatment-hero-content{position:relative;padding:85px 0}.treatment-hero h1{font:400 clamp(48px,6vw,86px)/1.1 var(--serif);margin:0 0 18px}.treatment-hero p:not(.eyebrow){max-width:650px;font-size:21px}.treatment-main{display:grid;grid-template-columns:1.1fr .9fr;gap:7%;align-items:center}.treatment-main h2,.treatment-locations h2,.treatment-index h2{font:400 clamp(35px,4vw,54px)/1.2 var(--serif)}.treatment-main p,.treatment-locations p{font-size:18px}.treatment-main figure{margin:0}.treatment-main figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:9px}.treatment-main figcaption{font-size:14px;color:#68756d}.treatment-locations{background:var(--cream)}.treatment-location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.treatment-location{padding:26px;background:#fff;border:1px solid var(--line);border-radius:9px}.treatment-location h3{font-size:25px}.treatment-location p{font-size:18px}.treatment-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.treatment-related{display:flex;flex-wrap:wrap;gap:14px}.treatment-related a{border:1px solid var(--line);border-radius:30px;padding:10px 18px;font-size:18px}.treatment-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.treatment-index-card{background:var(--cream);overflow:hidden;border-radius:8px}.treatment-index-card img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.treatment-index-card span{display:block;padding:18px;font-size:20px;font-weight:600}.service-dropdown{min-width:270px}.service-dropdown a{display:block}.nav-services{position:relative}@media(max-width:900px){.treatment-location-grid,.treatment-index-grid{grid-template-columns:repeat(2,1fr)}.treatment-main{grid-template-columns:1fr}}@media(max-width:600px){.treatment-location-grid,.treatment-index-grid{grid-template-columns:1fr}.treatment-hero{min-height:440px}.treatment-hero-content{padding:60px 0}}

/* Location banner pages*/
.location-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 600px;
    display: flex;
    align-items: center;
    padding: 80px;
    color: #fff;
}

    .location-hero .hero-background {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        /*object-fit: cover;*/
        object-position: center;
        z-index: -2;
    }

    /* Dark overlay keeps the text readable. */
    .location-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, rgba(0, 0, 0, 0.70), rgba(0, 0, 0, 0.25) );
        z-index: -1;
    }

    .location-hero > .container {
        position: relative;
        width: 100%;
    }
/* Accessible, responsive navigation override (mobile/tablet <= 1000px) */
.nav-group-heading{display:flex;align-items:center;gap:8px}
.nav-group-heading>a{display:block;padding:12px 0}
.submenu-toggle{display:none;align-items:center;justify-content:center;cursor:pointer;font:700 24px/1 var(--sans);color:var(--forest);background:transparent;border:1px solid #d9ded5;border-radius:6px;width:44px;height:44px}
@media(min-width:1001px){.nav-locations:hover>.nav-location-menu,.nav-locations:focus-within>.nav-location-menu{display:block}}
@media(max-width:1000px){
 .site-header{height:auto!important;min-height:0!important;position:relative;z-index:100}
 .nav-wrap{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;min-height:100px}
 .brand-logo{width:90px!important;height:90px!important}
 .menu-toggle{display:block;flex:none;position:relative;z-index:102;cursor:pointer;min-width:48px;min-height:48px;border:1px solid #d9ded5;border-radius:6px}
 .primary-nav,.primary-nav.open{position:absolute;left:0;right:0;top:100%;width:100%;background:#fffdf8;box-shadow:0 14px 24px rgba(0,0,0,.16);padding:12px max(20px,calc((100vw - 620px)/2)) 24px;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;align-items:stretch;flex-direction:column;gap:0;font-size:18px!important}
 .primary-nav{display:none}.primary-nav.open{display:flex}
 .primary-nav>a:not(.button){padding:14px 0;border-bottom:1px solid #e6e1d7}
 .primary-nav .button{display:flex;margin:10px 0 0;width:100%;min-height:48px}
 .nav-locations{display:block;width:100%;border-bottom:1px solid #e6e1d7}
 .nav-group-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
 .nav-group-heading>a{flex:1;padding:14px 0;font-size:18px!important}
 .submenu-toggle{display:flex;flex:none}
 .submenu-toggle[aria-expanded=true]{transform:rotate(180deg)}
 .nav-location-menu,.nav-locations:hover>.nav-location-menu,.nav-locations:focus-within>.nav-location-menu{display:none;position:static;left:auto;top:auto;width:100%;min-width:0;max-width:100%;padding:4px 0 12px;background:transparent;box-shadow:none;border:0;border-radius:0}
 .nav-locations.submenu-open>.nav-location-menu{display:block}
 .nav-location-menu a,.nav-location-menu a.location-menu-item{display:block;white-space:normal;overflow-wrap:anywhere;padding:11px 12px;border-bottom:1px solid #eee9df;font-size:18px!important}
 .nav-location-menu a.location-menu-item{display:flex;flex-direction:column;gap:3px}
 .nav-location-menu a.location-menu-item strong,.nav-location-menu a.location-menu-item span{font-size:16px!important;line-height:1.5}
}
@media(max-width:480px){.nav-wrap{min-height:88px}.brand-logo{width:76px!important;height:76px!important}.primary-nav,.primary-nav.open{max-height:calc(100dvh - 88px);padding-left:18px;padding-right:18px}}
