:root{--dark:#0b1311;--dark2:#0e1715;--gold:#c48630;--lightgold:#f3c472;--cream:#fffdf9;--ink:#171717;--line:#e7dfd5}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:65px}
body{margin:0;min-width:320px;background:var(--cream);font:400 14px/1.45 Arial,Helvetica,sans-serif;color:var(--ink);overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.015em;line-height:1.08;margin:0}h3,p{margin-top:0}.wrap{width:min(100% - 60px,1240px);margin-inline:auto}.section-cream{background:linear-gradient(110deg,#fffefa,#fffbf6)}.dark{background:var(--dark);color:#fff}.kicker,.eyebrow{margin:0 0 6px;color:#b77b2e;text-transform:uppercase;font-weight:800;letter-spacing:.19em;font-size:10px}.center{text-align:center}.skip{position:fixed;top:-100px;left:8px;z-index:100;background:#fff;padding:8px}.skip:focus{top:8px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* Exact approved hierarchy: transparent nav on top of a unified hero. */
.header{position:absolute;inset:0 0 auto;z-index:20;color:#fff}.header-row{height:64px;display:grid;grid-template-columns:164px 1fr auto;align-items:center;gap:20px}.brand{display:block;width:145px}.brand img{width:145px;height:auto;max-height:53px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;justify-content:center;gap:clamp(15px,2.3vw,35px)}.nav a{font-size:11px;padding:13px 0;white-space:nowrap}.nav .active{color:var(--lightgold);border-bottom:2px solid var(--gold)}.top-book{padding:11px 17px;min-height:39px;background:#f5c878;color:#17120b;text-transform:uppercase;font-weight:800;font-size:10px;white-space:nowrap}.menu{display:none}
.hero{position:relative;color:#fff;background:#0b1210;min-height:clamp(315px,37vw,505px);isolation:isolate}.hero-visual{position:absolute;z-index:-2;inset:0 0 0 auto;width:69%;background:url('assets/images/hero-clean.jpg') center center/cover no-repeat}.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0b1210 0%,#0b1210 27%,rgba(11,18,16,.96) 32%,rgba(11,18,16,.70) 42%,rgba(11,18,16,.04) 63%)}.hero-content{display:flex;align-items:center;min-height:clamp(315px,37vw,505px)}.hero-copy{width:min(56%,580px);padding:69px 0 12px}.hero .eyebrow{font-size:clamp(9px,.95vw,13px);color:#f0ba67;margin:0 0 7px}.hero h1{font-size:clamp(39px,4.8vw,70px);line-height:.99}.hero h1 span{color:var(--lightgold)}.hero-copy>p:not(.eyebrow){font-size:clamp(10px,1.07vw,15px);max-width:325px;line-height:1.3;margin:10px 0 13px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{border:1px solid transparent;display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:9px 14px;text-transform:uppercase;font-weight:800;font-size:clamp(9px,.83vw,12px);white-space:nowrap}.gold{background:#f2bf6b;color:#16120b}.outline{border-color:#c9913c;color:#fff}.small{padding:7px 12px;min-height:29px}.hero-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,1.2vw,20px);width:min(100%,530px);margin-top:clamp(12px,1.5vw,19px)}.hero-benefits>span{display:flex;gap:7px;align-items:center;min-width:0}.hero-benefit-icon{flex-shrink:0;color:#e9ad4b;font:normal clamp(21px,2.2vw,30px)/1 Georgia,serif}.hero-benefits b{color:#fff;font-size:clamp(8px,.85vw,12px);font-weight:400;line-height:1.2;overflow-wrap:normal}
/* Only the approved photo + story: no additional equipment picture. */
.profile{border-bottom:1px solid #eae5dd;padding:14px 0}.profile-grid{display:grid;grid-template-columns:minmax(0,39%) minmax(0,1fr);gap:clamp(26px,5vw,65px);align-items:center}.profile-photo{width:100%;height:clamp(235px,29vw,410px);object-fit:cover;object-position:center 39%}.profile-copy{min-width:0}.profile-copy h2{font-size:clamp(35px,4vw,56px);margin:0 0 10px}.profile-intro{max-width:600px;font-size:clamp(11px,1.12vw,15px);line-height:1.48;margin:0 0 16px}.profile-values{display:flex;gap:clamp(10px,3.8vw,57px);align-items:center;flex-wrap:wrap;margin-bottom:15px}.profile-values span{display:flex;align-items:center;gap:7px;font-size:clamp(9px,.82vw,12px)}.profile-values img{width:clamp(26px,2.8vw,40px);height:auto}.profile-values b{font-weight:400}.profile blockquote{display:table;max-width:100%;font:italic clamp(16px,1.95vw,28px)/1.22 Georgia,serif;color:#9e681f;margin:0;border-top:2px solid #cb903d;padding-top:10px}.profile blockquote cite{display:block;color:#171717;font:800 9px/1.4 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;margin-top:7px}
.services{padding:15px 0 18px}.services .kicker{margin-bottom:4px}.section-title-row{display:flex;justify-content:center;position:relative;align-items:center;margin:0 0 14px}.section-title-row h2{font-size:clamp(24px,2.7vw,39px);text-align:center}.section-title-row a{position:absolute;right:0;bottom:4px;color:#a56825;font-size:clamp(9px,.8vw,12px)}.services-grid{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:6px}.services-grid article{grid-column:span 4;display:flex;align-items:flex-start;gap:10px;padding:clamp(10px,1.2vw,16px);min-height:clamp(79px,9.2vw,118px);border:1px solid var(--line);background:#fff}.services-grid article:nth-child(n+6){grid-column:span 5}.services-grid img{width:clamp(27px,3.4vw,43px);height:auto;max-height:44px;flex-shrink:0}.services-grid article div{min-width:0}.services-grid h3{font-size:clamp(10px,.92vw,14px);line-height:1.2;margin:0 0 5px}.services-grid p{font-size:clamp(9px,.78vw,12px);line-height:1.36;margin:0;color:#3f3931}
.feature{display:grid;grid-template-columns:25% 32% 43%;align-items:stretch;min-height:clamp(126px,13.8vw,184px);border-block:1px solid #25312e}.feature-image{overflow:hidden}.feature-image img{width:100%;height:100%;min-height:126px;object-fit:cover}.feature-copy{padding:clamp(12px,1.4vw,20px) 16px}.feature-copy h2{font-size:clamp(22px,2.4vw,34px);margin:0 0 5px}.feature-copy>p:not(.kicker){font-size:clamp(9px,.88vw,12px);line-height:1.35;margin:0 0 9px}.feature-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.feature-values span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-left:1px solid #23302c;height:70%;font:clamp(22px,2.6vw,34px)/1 Georgia,serif;color:#e0a74b;min-width:0}.feature-values b{text-align:center;color:#fff;font:400 clamp(8px,.8vw,12px)/1.3 Arial,sans-serif}
.process{padding:10px 0;border-top:1px solid #29312d}.process-row{display:grid;grid-template-columns:minmax(225px,31%) 1fr;align-items:center;gap:14px}.process h2{font-size:clamp(20px,2vw,31px)}.process-row ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0;padding:0}.process-row li{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:5px}.process-row i{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border:1px solid #d79839;border-radius:50%;font:normal 11px Arial,sans-serif;color:#e9b55f}.process-row b{font-size:clamp(9px,.85vw,12px)}.process-row small{font-size:clamp(8px,.74vw,11px);line-height:1.2;color:#ececec}
.tips{padding:11px 0 14px}.tips-grid{display:grid;grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.tips-copy{padding:5px 4px 0 0}.tips-copy h2{font-size:clamp(21px,2.1vw,31px);margin:0 0 9px}.tips-copy>p:not(.kicker){max-width:330px;font-size:clamp(9px,.88vw,13px);line-height:1.4;margin:0}.tips-link{margin-top:10px;display:inline-flex;align-items:center;min-height:30px;border:1px solid #cc913d;padding:7px 10px;font-size:clamp(9px,.79vw,12px);color:#976420}.tips article{min-width:0;border:1px solid var(--line);background:#fff;overflow:hidden}.tips article img{width:100%;height:auto;aspect-ratio:2.18/1;object-fit:cover;object-position:center}.tips article h3{font-size:clamp(10px,.9vw,14px);margin:6px 9px 0}.tips article p{font-size:clamp(9px,.8vw,12px);margin:0 9px 7px;color:#555}
.gallery{padding:10px 0 12px}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.gallery-heading h2{font-size:clamp(21px,2.15vw,31px)}.gallery-actions{display:flex;gap:8px}.gallery-arrow{display:grid;place-items:center;width:31px;height:31px;border:1px solid #8a9290;background:transparent;border-radius:50%;color:white;font-size:19px}.gallery-strip{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:9px}.gallery-strip::-webkit-scrollbar{display:none}.gallery-strip img{flex:0 0 calc((100% - 28px)/5);width:calc((100% - 28px)/5);aspect-ratio:1.82/1;object-fit:cover;object-position:center;scroll-snap-align:start;min-width:0}
.reviews{padding:12px 0}.review-row{display:grid;grid-template-columns:1.27fr repeat(3,minmax(0,1fr));gap:10px;align-items:stretch}.review-title h2{font-size:clamp(19px,2.0vw,30px);margin-bottom:12px}.review-title a{color:#1658a6;font-size:clamp(10px,.9vw,13px);text-decoration:underline;text-underline-offset:3px}.review-card{min-width:0;padding:9px 10px;background:#fff;border:1px solid var(--line)}.card-rule{font-size:13px;color:#b87e35;letter-spacing:.06em}.review-card p{font-size:clamp(9px,.84vw,12px);font-weight:700;margin:4px 0}.review-card small{font-size:clamp(8px,.78vw,11px);line-height:1.35;color:#3b3b3b}
.faq{padding:11px 0}.faq-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;align-items:start}.faq h2{font-size:clamp(19px,2vw,30px)}.faq-col details{border:1px solid #28322e;margin-bottom:4px}.faq-col summary{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;cursor:pointer;font-size:clamp(9px,.76vw,11px);list-style:none}.faq-col summary::after{content:'+';font-size:14px;margin-left:10px}.faq-col details[open] summary::after{content:'−'}.faq-col details p{font-size:clamp(9px,.8vw,12px);margin:0;padding:0 9px 8px;color:#ddd}
.visit{padding:11px 0}.visit-grid{display:grid;grid-template-columns:1fr 1.43fr 1fr .77fr;gap:clamp(9px,2vw,25px);align-items:center}.visit h2{font-size:clamp(18px,2.0vw,29px);margin-bottom:7px}.visit p{font-size:clamp(9px,.85vw,12px);line-height:1.35;margin:0 0 6px}.phone{font-size:clamp(10px,.87vw,13px);font-weight:700}.map-link{position:relative;display:block;overflow:hidden;border:1px solid var(--line)}.map-link img{width:100%;height:clamp(87px,9.2vw,145px);object-fit:cover}.map-hint{position:absolute;right:3px;bottom:3px;background:#ffefce;color:#171717;padding:2px 5px;font-size:9px}.hours h3{font-size:clamp(10px,.95vw,14px);margin:0 0 4px}.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;gap:9px;font-size:clamp(8px,.78vw,11px);line-height:1.28}.hours dt,.hours dd{margin:0}.hours dd{text-align:right;white-space:nowrap}.directions{background:#f3bf68;color:#15130f;font-size:clamp(9px,.9vw,13px);font-weight:800;text-transform:uppercase;min-height:36px;display:flex;align-items:center;justify-content:center;padding:9px;text-align:center}
.cta{position:relative;padding:12px 0;background:linear-gradient(90deg,#0b100f,#18211b);overflow:hidden}.cta::before{content:"";position:absolute;inset:0 0 0 55%;background:url('assets/images/gallery-2.jpg') center/cover no-repeat;opacity:.17}.cta-row{position:relative;display:grid;grid-template-columns:53px 1fr auto;align-items:center;gap:12px}.cta-mark{width:40px;height:47px;object-fit:contain}.cta h2{font-size:clamp(18px,2.1vw,30px)}.cta .kicker{margin-bottom:3px}.footer{padding:13px 0 10px}.footer-row{display:grid;grid-template-columns:145px 1fr 35px 155px;align-items:center;gap:12px}.footer-row img{width:130px}.footer nav{display:flex;align-items:center;justify-content:center;gap:clamp(9px,2vw,25px);font-size:clamp(9px,.7vw,12px)}.social{text-align:center;font-size:19px}.tag{text-align:right;font-size:clamp(8px,.75vw,11px)}.footer-bottom{border-top:1px solid #25302c;margin-top:14px;padding-top:9px;display:flex;justify-content:space-between;gap:10px;font-size:clamp(8px,.68vw,11px);color:#d2d2d2}
@media(max-width:980px) and (min-width:741px){.wrap{width:calc(100% - 48px)}.header-row{grid-template-columns:140px 1fr auto;gap:10px}.brand,.brand img{width:134px}.nav{gap:13px}.nav a{font-size:10px}.top-book{font-size:9px;padding:10px}.hero-copy{width:59%}.hero-benefits{width:min(100%,445px)}.hero-benefits b{font-size:9px}.hero-benefit-icon{font-size:21px}.services-grid article{gap:6px;padding:9px}.services-grid p{font-size:9px}.feature-copy{padding:12px}.profile-grid{gap:40px}}
@media(max-width:740px){.wrap{width:calc(100% - 34px)}.header{position:relative;background:#0b1311}.header-row{height:auto;min-height:68px;grid-template-columns:1fr auto auto;gap:10px;position:relative}.brand,.brand img{width:145px}.menu{display:block;grid-column:3;grid-row:1;background:transparent;color:#fff;border:1px solid #818881;border-radius:3px;font-size:20px;line-height:1;padding:6px 9px}.top-book{grid-column:2;grid-row:1;min-height:34px;padding:8px;font-size:9px}.nav{grid-column:1/-1;display:none;flex-direction:column;align-items:stretch;gap:0;padding:0 0 10px}.nav.open{display:flex}.nav a{padding:9px 4px;font-size:13px}.hero,.hero-content{min-height:0}.hero-visual{width:100%;height:clamp(210px,55vw,340px);bottom:auto;background-position:center 48%}.hero:after{background:linear-gradient(to bottom,transparent 0,rgba(11,18,16,.4) 185px,#0b1210 52%,#0b1210 100%)}.hero-content{align-items:flex-end}.hero-copy{width:100%;padding:clamp(185px,49vw,290px) 0 23px}.hero h1{font-size:clamp(38px,9vw,62px)}.hero-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;max-width:440px}.hero-benefits b{font-size:11px}.profile-grid{grid-template-columns:1fr;gap:18px}.profile-photo{width:min(100%,430px);height:auto;aspect-ratio:1.15/1;object-fit:cover}.profile-copy h2{font-size:42px}.profile-intro{font-size:14px}.profile-values{gap:18px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-grid article,.services-grid article:nth-child(n+6){grid-column:auto;min-height:93px}.services-grid h3{font-size:12px}.services-grid p{font-size:10px}.section-title-row{display:block}.section-title-row a{position:static;display:block;text-align:center;margin-top:8px}.feature{grid-template-columns:1fr}.feature-image img{height:185px;min-height:0}.feature-copy{padding:20px 17px}.feature-copy h2{font-size:29px}.feature-copy>p:not(.kicker){font-size:13px}.feature-values{padding:14px 0}.feature-values span{height:90px}.feature-values b{font-size:10px}.process-row{grid-template-columns:1fr;gap:14px}.process-row ol{grid-template-columns:repeat(2,minmax(0,1fr))}.process-row small{font-size:10px}.process-row b{font-size:12px}.tips-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tips-copy{grid-column:1/-1}.tips article img{aspect-ratio:2/1}.tips article h3{font-size:13px}.tips article p{font-size:11px}.gallery-strip img{flex-basis:calc((100% - 7px)/2);width:calc((100% - 7px)/2)}.review-row{grid-template-columns:repeat(2,minmax(0,1fr))}.review-title{grid-column:1/-1}.review-card{padding:14px}.review-card p{font-size:12px}.review-card small{font-size:11px}.faq-grid{grid-template-columns:1fr;gap:8px}.faq h2{font-size:25px}.faq-col summary,.faq-col details p{font-size:12px}.visit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.map-link img{height:180px}.hours dl div{font-size:11px}.directions{font-size:12px}.footer-row{grid-template-columns:1fr 1fr;gap:20px}.footer nav{grid-column:1/-1;grid-row:2;flex-wrap:wrap;font-size:11px;gap:12px}.social{text-align:right}.tag{text-align:right}.footer-bottom{font-size:10px}}
@media(max-width:460px){.wrap{width:calc(100% - 28px)}.brand,.brand img{width:125px}.top-book{padding:7px;font-size:8px}.hero-copy{padding-top:clamp(180px,52vw,240px)}.hero-visual{height:260px}.hero h1{font-size:clamp(36px,9vw,44px)}.hero-actions .btn{font-size:10px}.hero-benefits b{font-size:10px}.profile-photo{width:100%}.profile-values{gap:13px}.profile-values span{font-size:10px}.services-grid{grid-template-columns:1fr}.services-grid article{min-height:0}.services-grid h3{font-size:14px}.services-grid p{font-size:12px}.feature-values{grid-template-columns:repeat(2,1fr)}.tips-grid{grid-template-columns:1fr}.tips-copy{grid-column:auto}.tips article img{aspect-ratio:2.15/1}.gallery-strip img{flex-basis:78%;width:78%}.review-row{grid-template-columns:1fr}.review-title{grid-column:auto}.visit-grid{grid-template-columns:1fr}.map-link img{height:210px}.cta-row{grid-template-columns:40px 1fr;gap:9px}.cta-row .btn{grid-column:1/-1;justify-self:start}.footer-row{grid-template-columns:1fr 1fr}.footer nav{justify-content:center}.tag{text-align:right}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{scroll-behavior:auto!important;transition-duration:0s!important}}
.subpage-header{padding:16px 0}.subpage-nav{display:flex;gap:25px;align-items:center;justify-content:space-between}/* Apply 145px width only to the logo */ .subpage-nav > a:first-child > img {   width: 145px; }.subpage-nav nav{display:flex;gap:17px;flex-wrap:wrap;font-size:12px}.subpage-main{padding:65px 0 100px;min-height:65vh}.subpage-main h1{font-size:clamp(36px,5vw,56px);margin-bottom:25px}.subpage-main>p{max-width:720px;font-size:16px}.subcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:30px 0}.subcards article{border:1px solid var(--line);padding:20px;background:#fff}.subcards img{aspect-ratio:2/1;object-fit:cover;margin:-20px -20px 20px;max-width:calc(100% + 40px);width:calc(100% + 40px)}.subcards h2{font-size:24px;margin-bottom:10px}.subpage-footer{padding:25px 0;font-size:13px}.subpage-footer a{text-decoration:underline}@media(max-width:740px){.subpage-nav{flex-wrap:wrap}.subpage-nav nav{order:3;width:100%}.subcards{grid-template-columns:1fr}.subpage-main{padding:40px 0}}
/* Final reference alignment at desktop widths; retain natural content heights. */
@media(min-width:741px){.hero-copy{padding-top:58px;padding-bottom:8px;margin-left:15px}.header .brand{margin-left:15px}.profile-photo{height:clamp(270px,32vw,440px)}.feature{grid-template-columns:25.5% 31.5% 43%}.services{padding:11px 0 13px}.services .section-title-row{margin-bottom:10px}.services-grid article{padding:clamp(7px,.85vw,13px)}.tips{padding:8px 0 9px}.tips-grid{grid-template-columns:minmax(0,1.75fr) repeat(3,minmax(0,1fr))}.tips-link{min-height:26px;margin-top:7px;padding:5px 10px}.gallery{padding:7px 0 9px}.gallery-strip{margin-top:7px}.gallery-strip img{aspect-ratio:2.06/1}.review-card{padding:7px 9px}.faq{padding:8px 0}.faq-col summary{padding:4px 8px}.faq-col details{margin-bottom:3px}}

/* Crisp v4: real HTML text + vector brand, stable natural section heights. */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ -webkit-font-smoothing:antialiased; }
.brand,.footer-row>a{display:block}
.brand img,.footer-row img{object-fit:contain;image-rendering:auto;}
.hero-visual{background-position:center center;}
.hero-benefits{width:min(100%,560px);align-items:start;}
.hero-benefits>span{min-width:0;align-items:flex-start;}
.hero-benefits b{overflow-wrap:anywhere;}
.services-grid article,.review-card,.tips article{height:auto;}
.services-grid h3{font-size:clamp(12px,.95vw,14px);}
.services-grid p{font-size:clamp(11px,.92vw,14px);line-height:1.4;}
.profile-intro{font-size:clamp(13px,1.05vw,16px);}
.tips-copy>p:not(.kicker){font-size:clamp(12px,.9vw,14px);}
.tips article h3{font-size:clamp(13px,1vw,15px);}
.tips article p{font-size:clamp(12px,.88vw,14px);}
.tips article img{display:block;width:100%;height:auto;aspect-ratio:2.18/1;object-fit:cover;}
.gallery-strip img{display:block;object-fit:cover;image-rendering:auto;}
.review-card p{font-size:clamp(13px,.95vw,15px);}
.review-card small{display:block;font-size:clamp(12px,.89vw,14px);line-height:1.4;}
.card-rule{width:75px;height:2px;background:#c58931;margin:5px 0 12px;}
.faq-col summary{font-size:clamp(12px,.86vw,14px);}
.faq-col details p{font-size:clamp(12px,.86vw,14px);}
.visit p,.phone{font-size:clamp(12px,.9vw,15px);}
.hours dl div{font-size:clamp(11px,.84vw,14px);}
.map-panel{position:relative;min-width:0;min-height:135px;border:1px solid var(--line);background:#edf3f6;}
.map-panel iframe{display:block;width:100%;height:clamp(135px,11.1vw,175px);border:0;}
.map-open{display:block;position:absolute;right:5px;bottom:5px;background:#fff5df;border:1px solid #e4c487;color:#1a1610;padding:5px 7px;font-size:12px;font-weight:700;}
.map-open:hover,.map-open:focus-visible{background:#f5c878;}
@media (min-width:741px){
 .gallery-strip img{aspect-ratio:2.06/1;}
 .hero-benefits b{font-size:clamp(10px,.86vw,12px);}
 .nav a{font-size:clamp(11px,.86vw,14px);}
 .kicker,.eyebrow{font-size:clamp(10px,.78vw,12px);}
 .feature-copy>p:not(.kicker){font-size:clamp(11px,.86vw,14px);}
 .feature-values b{font-size:clamp(10px,.85vw,12px);}
 .process-row b{font-size:clamp(11px,.85vw,13px);}
 .process-row small{font-size:clamp(10px,.76vw,12px);}
}
@media (max-width:740px){
 .tips article img{aspect-ratio:2/1;}
 .map-panel iframe{height:200px;}
 .gallery-strip img{aspect-ratio:1.82/1;}
 .hours dl div{font-size:12px;}
}
@media (max-width:460px){
 .tips article img{aspect-ratio:2.15/1;}
 .map-panel iframe{height:220px;}
 .gallery-strip img{aspect-ratio:1.82/1;}
}


/* V5 reference fidelity + contact actions. Leave earlier layout CSS intact. */
:root{--contact-green:#177d4c}
/* Image stays on the RIGHT edge, so the entire right-hand GOOD HAIR board isn't cut off by centering. */
.hero{overflow:hidden}
.hero-visual{inset:0 0 0 auto;width:72%;z-index:-2;overflow:hidden;background:#0b1210}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:right top;max-width:none}
.hero:after{background:linear-gradient(90deg,#0b1210 0%,#0b1210 25%,rgba(11,18,16,.97) 33%,rgba(11,18,16,.76) 41%,rgba(11,18,16,.08) 63%,transparent 80%)}
.hero-content{position:relative;z-index:1}
.hero-benefits{width:min(100%,580px);gap:clamp(9px,1vw,14px)}
.hero-benefits>span{min-width:0;align-items:center}
.hero-benefits b{overflow-wrap:normal;word-break:normal;font-size:clamp(10px,.85vw,13px)}
.profile,.services,.tips,.reviews,.visit{background:#fffdf9}
/* Prevent cropped screenshot remnants and prevent white bands in the DARK story panel. */
.feature{background:#0b1311;overflow:hidden}
.feature-image{background:#0b1311}
.feature-image img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center center}
.feature-copy,.feature-values{background:#0b1311}
/* Reference gallery: images and arrows are individual interactive elements, never a scaled webpage screenshot. */
.gallery{background:#0b1311;overflow:hidden}
.gallery-strip img{object-fit:cover;object-position:center center;max-width:none;image-rendering:auto}
.tips article{min-width:0;overflow:hidden}
.tips article img{max-width:100%;object-fit:cover;object-position:center;image-rendering:auto}
/* Responsive panels have natural heights; never clip the text to a fixed screenshot ratio. */
.hero-copy,.profile,.services,.feature,.process,.tips,.gallery,.reviews,.faq,.visit,.cta{height:auto}
.feature-copy,.profile-copy,.review-card,.tips-copy{min-width:0}
.quick-contact{position:fixed;right:16px;bottom:16px;z-index:70;display:flex;gap:7px;padding:6px;border:1px solid rgba(245,200,120,.5);border-radius:999px;background:rgba(11,19,17,.96);box-shadow:0 8px 24px #0005;backdrop-filter:blur(8px)}
.quick-contact a{min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border-radius:999px;font:700 12px/1 Arial,sans-serif;color:#fff;text-decoration:none;white-space:nowrap}
.quick-contact svg{width:20px;height:20px;flex-shrink:0}
.quick-contact .quick-whatsapp{background:#147c4a}.quick-contact .quick-sms{border:1px solid #d0a25e}.quick-contact .quick-call{background:#f2bf6b;color:#16120b}
.quick-contact a:hover,.quick-contact a:focus-visible{filter:brightness(1.15)}
@media(min-width:1200px){
  .hero{min-height:clamp(400px,33vw,545px)}.hero-content{min-height:clamp(400px,33vw,545px)}
  .hero-copy{padding-top:70px;padding-bottom:25px}
  .hero h1{font-size:clamp(50px,4vw,68px)}
  .hero-benefits{margin-top:14px}
  .feature-image img{object-position:center center}
}
@media(min-width:741px) and (max-width:1199px){
  .hero-visual{width:71%}.hero-benefits{width:min(100%,530px)}
}
@media(max-width:740px){
  .hero{overflow:visible}.hero-visual{width:100%;height:clamp(235px,58vw,360px);inset:0 0 auto;}
  .hero-visual img{height:100%;object-position:right top}
  .hero:after{background:linear-gradient(to bottom,transparent 0,rgba(11,18,16,.45) 150px,#0b1210 45%,#0b1210 100%)}
  .hero-content{min-height:0}.hero-benefits{width:100%;gap:15px}.hero-benefits b{font-size:clamp(11px,2.7vw,13px)}
  .feature-image img{height:200px}
  .quick-contact{bottom:0;left:0;right:0;border-radius:0;justify-content:center;padding:5px 10px calc(5px + env(safe-area-inset-bottom));gap:8px}
  .quick-contact a{flex:1;min-width:0;min-height:44px;padding:7px 5px;font-size:clamp(11px,3vw,13px)}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.quick-contact a{gap:4px;font-size:10px}.quick-contact svg{width:16px;height:16px}}
/* Gallery dimensions are CSS-controlled; HTML intrinsic image dimensions must NOT force 500px-tall thumbnails. */
.gallery-strip img{height:clamp(72px,9.5vw,150px)!important;aspect-ratio:auto!important;flex-shrink:0;object-fit:cover}
@media(max-width:740px){.gallery-strip img{height:clamp(110px,24vw,180px)!important}}
@media(max-width:460px){.gallery-strip img{height:clamp(155px,46vw,200px)!important}}


/* V6 faithful alignment updates */
.wrap{width:min(100% - 60px,1480px)}
@media(max-width:740px){.wrap{width:calc(100% - 28px)}}
.hero,.hero-content{min-height:clamp(360px,30vw,470px)}
.hero-copy{width:min(56%,560px);padding-top:60px;padding-bottom:16px}
.hero-copy>p:not(.eyebrow){max-width:360px}
.feature{background:#0b1311;padding:0 0;border-block:1px solid #25312e}
.feature{display:block}
.feature::before{content:"";display:block}
.feature-image,.feature-copy,.feature-values{background:#0b1311}
.feature{--fw:min(100% - 60px,1480px)}
.feature-image,.feature-copy,.feature-values{float:left}
.feature-image{width:25%}
.feature-copy{width:32%;padding:18px 20px}
.feature-values{width:43%}
.feature::after{content:"";display:block;clear:both}
@media(max-width:740px){.feature-image,.feature-copy,.feature-values{float:none;width:auto}}
.gallery-strip{gap:10px}
.gallery-strip img{flex:0 0 calc((100% - 40px)/5)!important;width:calc((100% - 40px)/5)!important;height:clamp(82px,9vw,150px)!important}
@media(max-width:740px){.gallery-strip img{flex-basis:78%!important;width:78%!important;height:clamp(145px,42vw,190px)!important}}
.review-title .kicker{margin-bottom:8px}
.review-title h2{font-size:clamp(22px,2.3vw,38px);margin-bottom:16px}
.review-row{grid-template-columns:1.28fr repeat(3,minmax(0,1fr));align-items:stretch}
.review-card{padding:18px 18px 14px}
.review-card .stars{color:#df9d32;font-size:24px;line-height:1;letter-spacing:2px;margin:0 0 16px}
.review-card p{font-size:clamp(14px,.98vw,17px);line-height:1.45;margin:0 0 12px}
.review-card small{font-size:clamp(12px,.85vw,14px);color:#555}
@media(min-width:1200px){
  .hero-copy h1{font-size:clamp(58px,4.2vw,76px)}
}
@media(max-width:740px){
 .hero-visual{width:100%;height:clamp(220px,52vw,320px)}
 .hero-copy{width:100%;padding-top:180px}
 .review-row{grid-template-columns:1fr}
 .review-card{padding:16px}
}


/* =====================================
   PROLIFIC LOGO SIZE FIX
   Desktop + Tablet + Mobile
   ===================================== */

/* Desktop */
@media (min-width: 981px) {

  .header-row {
    height: 86px;
    grid-template-columns: 240px minmax(0, 1fr) auto;
    gap: 18px;
  }

  .header .brand,
  .header .brand img {
    width: 225px;
    max-width: none;
  }

  .header .brand img {
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  /* Footer logo */
  .footer-row {
    grid-template-columns:
      205px minmax(0, 1fr) 35px 155px;
  }

  .footer-row > a img {
    width: 205px;
    max-width: 100%;
    height: auto;
  }
}

/* Tablet */
@media (min-width: 741px) and (max-width: 980px) {

  .header-row {
    height: 78px;
    grid-template-columns: 198px minmax(0, 1fr) auto;
    gap: 8px;
  }

  .header .brand,
  .header .brand img {
    width: 185px;
    max-width: none;
  }

  .header .brand img {
    height: auto;
    max-height: none;
  }

  .footer-row > a img {
    width: 175px;
    height: auto;
  }
}

/* Mobile */
@media (max-width: 740px) {

  .header-row {
    min-height: 74px;
  }

  .header .brand,
  .header .brand img {
    width: 170px;
    max-width: 100%;
  }

  .header .brand img {
    height: auto;
    max-height: none;
  }

  .footer-row > a img {
    width: clamp(125px, 38vw, 165px);
    height: auto;
  }
}

/* Small phones */
@media (max-width: 380px) {

  .header .brand,
  .header .brand img {
    width: 148px;
  }

  .header-row {
    gap: 6px;
  }
}


/* Fix: Center BOOK NOW in the header */

.header-row {
  align-items: center;
}



/* Header BOOK NOW calendar icon */



/* HEADER BOOK NOW - FORCE HORIZONTAL LAYOUT */

.header .header-row > a.top-book {
    display: inline-grid !important;

    grid-template-columns: 15px max-content !important;
    grid-template-rows: 1fr !important;
    column-gap: 7px !important;

    align-items: center !important;
    justify-content: center !important;

    align-self: center !important;
    justify-self: end !important;

    width: max-content !important;
    min-width: 116px !important;

    height: 34px !important;
    min-height: 34px !important;

    padding: 0 12px !important;
    margin: 0 !important;

    background: #f5c878;
    color: #17120b;

    border: none;
    border-radius: 3px;

    font-size: 11px !important;
    font-weight: 700;
    line-height: 1 !important;

    text-transform: uppercase;
    white-space: nowrap !important;
}

/* Calendar: first column */

.header .header-row > a.top-book img {
    grid-column: 1 !important;
    grid-row: 1 !important;

    display: block !important;
    width: 15px !important;
    height: 15px !important;
    max-width: none !important;
    margin: 0 !important;
}

/* BOOK NOW: second column */

.header .header-row > a.top-book span {
    grid-column: 2 !important;
    grid-row: 1 !important;

    display: block !important;
    width: max-content !important;
    margin: 0 !important;

    font-size: inherit !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Small-screen adjustment */

@media (max-width: 740px) {
    .header .header-row > a.top-book {
        min-width: 0 !important;
        padding: 0 8px !important;
        font-size: 10px !important;
    }
}


/* =========================================
   FIX LOGO AND HERO TEXT OVERLAP
   Desktop and Tablet Only
   ========================================= */

@media (min-width: 741px) {

    /* Reserve space for the enlarged logo */
    .hero-content {
        align-items: flex-start;

        padding-top: clamp(104px, 8vw, 116px);
        padding-bottom: 22px;

        min-height: 0;
    }

    /* Position hero text below the logo */
    .hero-copy {
        padding: 0 0 0 15px;
        margin-left: 0;
    }

}


/* =========================================
   HERO IMAGE - RESPONSIVE ZOOM-OUT FIX
   Desktop and Tablet Only
   ========================================= */

@media (min-width: 741px) {

    .hero-visual {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;

        background: #0b1210;
        overflow: hidden;
    }

    .hero-visual img {
        display: block;

        width: 100%;
        height: 100%;

        /* Display the complete image without cropping */
        object-fit: contain;

        /* Keep the chair and quote toward the right */
        object-position: right center;

        max-width: none;
    }
}


/* =============================================
   JENNIFER PROFILE - DESKTOP SIZE FIX
   Uses the existing HTML classes and original photo.
   No cropping, stretching, or image modification.
   ============================================= */
@media (min-width: 741px) {
  /* Keep photo and text centered as a balanced unit. */
  .profile .wrap {
    max-width: 1180px;
  }

  .profile .profile-grid {
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    gap: clamp(32px, 4vw, 64px);
    align-items: center;
  }

  .profile .profile-grid .profile-photo {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
  }

  .profile .profile-copy {
    align-self: center;
  }
}

@media (max-width: 740px) {
  .profile .profile-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .profile .profile-grid .profile-photo {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    margin-inline: auto;
  }
}

/* Align hero text with PROLIFIC logo text */
@media (min-width: 741px) {
  .hero-content .hero-copy {
    margin-left: clamp(35px, 6vw, 120px);
  }
}

/* HEADER: Move BOOK NOW beside Contact */
@media (min-width: 1200px) {

  .header .header-row {
    padding-right: clamp(
      0px,
      calc((100vw - 1300px) * 0.58),
      430px
    );

    column-gap: 20px;
  }

  .header .nav {
    justify-content: flex-end;
  }

}



/* HEADER: Move BOOK NOW beside Contact */
@media (min-width: 1200px) {

  .header .header-row {
    padding-right: clamp(
      0px,
      calc((100vw - 1300px) * 0.58),
      430px
    );

    column-gap: 20px;
  }

  .header .nav {
    justify-content: flex-end;
  }

}
/* Jennifer Profile - Smaller Portrait */
@media (min-width: 741px) {

  .profile .profile-grid .profile-photo {
    width: 320px;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    margin-inline: auto;
  }

}

/* More Than a Haircut - Desktop Alignment Fix */

@media (min-width: 741px) {

  .feature {
    position: relative;
    isolation: isolate;

    /* Center content like other sections */
    width: min(calc(100% - 60px), 1480px);
    margin-inline: auto;

    display: grid;
    grid-template-columns: 25.5% 31.5% 43%;

    align-items: stretch;
    overflow: visible;
    border: 0;
  }

  /* Keep the dark background full screen */
  .feature::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;

    width: 100vw;
    transform: translateX(-50%);

    background: #0b1311;
    border-top: 1px solid #25312e;
    border-bottom: 1px solid #25312e;

    z-index: -1;
    pointer-events: none;
  }

  /* Remove old float clearing */
  .feature::after {
    display: none;
  }

  .feature-image,
  .feature-copy,
  .feature-values {
    float: none;
    width: auto;
    min-width: 0;
  }

  .feature-image {
    overflow: hidden;
  }

  .feature-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

}

/* FIX: Remove extra space in mobile service cards */
@media (max-width: 460px) {

  .services-grid article,
  .services-grid article:nth-child(n+6) {
    min-height: 0;
  }

}

/* =========================================
   PRIVACY PAGE - FINAL HEADER BUTTON FIX
   ========================================= */

@media (min-width: 741px) {

  .subpage-header .subpage-nav {
    justify-content: flex-start;
    gap: 18px;
  }

  .subpage-header .subpage-nav nav {
    margin-left: auto;
  }

  /* Match homepage BOOK NOW dimensions */
  .subpage-header .subpage-nav > a.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: max-content !important;
    min-width: 116px !important;
    height: 34px !important;
    min-height: 34px !important;

    padding: 0 12px !important;
    gap: 7px !important;

    margin-right: auto;

    flex: 0 0 auto;

    background: #f5c878;
    color: #17120b;
    border-radius: 3px;

    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
  }

  /* Calendar icon - exact dimensions */
  .subpage-header .subpage-nav > a.btn img {
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;
    height: 15px !important;

    flex: 0 0 15px;
    margin: 0 !important;
  }

  /* BOOK NOW text */
  .subpage-header .subpage-nav > a.btn span {
    width: auto !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }

}
