@import url('dm-sans.css');
/* Yoel's own identity, with a stronger editorial hierarchy. */
:root{--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif;--paper:#f6f5f1;--ink:#191a1b;--orange:#e51b2b;--yoel-yellow:#ffd43b;--yoel-radius:12px}
body{font-family:var(--font);font-size:16px;line-height:1.72}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.04em;text-wrap:balance}
h2{font-size:clamp(34px,3.7vw,52px);line-height:1.16}
h3{letter-spacing:-.025em;line-height:1.3}
p{line-height:1.75}
.eyebrow{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:1.6px;font-weight:700;margin-bottom:19px}
.eyebrow::before{content:'';display:block;flex:0 0 23px;height:3px;background:var(--orange)}
.section{padding-block:90px}
.wrap{width:min(1240px,calc(100% - 80px))}
header{background:#101114;border-bottom:1px solid #ffffff20;box-shadow:0 6px 22px #0002}
.header-inner{height:86px}
header .brand,header .brand img{width:230px;max-height:72px}
nav{font-family:var(--font);font-size:14px;font-weight:600;gap:28px}
.topbar{font-family:var(--font);font-size:10px;letter-spacing:.35px}
.btn{font-family:var(--font);font-weight:700;font-size:14px;min-height:54px;border-radius:7px;padding:16px 23px;gap:24px;transition:background .2s,box-shadow .2s,transform .2s}
.btn.primary,.btn.small{background:linear-gradient(115deg,#e51b2b,#f12635);color:white;box-shadow:0 6px 20px #e51b2b21}
.btn.primary:hover,.btn.small:hover{background:#c81123;box-shadow:0 8px 23px #e51b2b35}
.btn.outline{border-color:#ffffff70;background:#ffffff04}
.btn.text{border-radius:0;background:none;box-shadow:none}
nav .btn.small{font-size:13px;min-height:46px}
.hero{min-height:720px;background:#111215}
.hero-inner{min-height:720px;padding-block:68px 90px}
.hero-copy{max-width:660px}
.hero h1{font-size:clamp(56px,5.4vw,78px);line-height:1.08;letter-spacing:-.045em;font-weight:800;max-width:650px}
.hero h1 em{color:var(--yoel-yellow)}
.hero-copy .eyebrow{font-size:10px;letter-spacing:1.4px;color:#f0efec;margin-bottom:24px}
.hero-copy>p:not(.eyebrow):not(.hero-visit){font-family:var(--font);font-size:18px;line-height:1.7;max-width:430px;color:#d0d0d0;margin-block:26px 29px}
.hero .hero-actions{gap:14px}
.hero .hero-actions .btn.primary{font-size:14px;min-height:55px}
.hero .hero-actions .btn.text{border:1px solid #ffffff70;border-radius:7px;padding:16px 22px;font-size:14px;min-height:55px;background:#11121540}
.hero .hero-actions .btn.text:hover{background:#ffffff12;color:white}
.hero-photo{inset:0 0 0 32%}
.hero-photo img{object-position:55% 50%;filter:saturate(1.04) contrast(1.02)}
.hero-photo:after{background:linear-gradient(90deg,#111215 0%,#111215e8 14%,#11121555 43%,#11121500 75%),linear-gradient(0deg,#1112158a,transparent 50%)}
.hero-visit{display:none}
.hero-facts{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;border-top:1px solid #ffffff35;margin-top:30px;padding-top:20px;max-width:535px}
.hero-facts>div{min-width:0}
.hero-facts small{display:block;font-size:10px;letter-spacing:1.2px;color:#c3c3c4;font-weight:600;margin-bottom:6px}
.hero-facts strong{display:block;font-size:13px;line-height:1.65;font-weight:600;color:#fff}
.hero-facts span{display:block;font-size:12px;line-height:1.5;color:#c6c6c8;margin-top:2px}
.hero-caption{left:max(40px,calc((100vw - 1240px)/2));right:max(40px,calc((100vw - 1240px)/2));font-size:8px;letter-spacing:1.2px}
.first-service-nav .wrap{gap:18px;padding-block:21px}
.first-service-nav a{font-size:12px;font-weight:700;letter-spacing:0}
.services-section{background:#f1f0eb;padding-block:78px 86px}
.section-heading{margin-bottom:35px;gap:50px}
.section-heading>p{font-size:16px;max-width:350px;line-height:1.75;color:#636365}
.services-section h2{font-size:clamp(34px,3.7vw,52px);line-height:1.16;letter-spacing:-.04em}
.title-soft{color:#707072}
#home-services .service-list{gap:26px 24px}
#home-services .visual-service{border:1px solid #deded8;border-radius:var(--yoel-radius);background:#fff;box-shadow:0 8px 26px #15151b0a;transition:transform .25s,box-shadow .25s,border-color .25s}
#home-services .visual-service:hover{padding:0;background:#fff;border-color:#e51b2b66;transform:translateY(-4px);box-shadow:0 15px 32px #15151b17}
#home-services .service-visual{aspect-ratio:4/3;background:#d4d4cf}
#home-services .service-visual img{filter:saturate(1.035) contrast(1.025);object-position:center}
#home-services .service-photo-label{left:16px;top:16px;bottom:auto;background:var(--orange);border-radius:5px;padding:8px 11px;color:#fff;font-size:10px;letter-spacing:1px;box-shadow:0 4px 12px #0002}
#home-services .service-card-copy{border:0;padding:25px 24px 23px;min-height:224px}
#home-services .visual-service h3{font-size:25px;font-weight:800;letter-spacing:-.035em;margin-bottom:13px;line-height:1.25}
#home-services .visual-service p{font-family:var(--font);font-size:15px;line-height:1.65;color:#606166;max-width:none;margin-bottom:22px}
#home-services .service-card-link{font-size:13px;color:#25252a;border-top:1px solid #e6e6df;padding-top:16px}
#home-services .service-card-link>span{width:33px;height:33px;border-radius:6px;font-size:20px}
.visit-location{padding-block:78px 84px;background:radial-gradient(ellipse at 0 0,#333439 0,transparent 60%),#151619;border-top:3px solid #e51b2b}
.visit-location-heading{margin-bottom:38px}
.visit-location-heading h2{font-size:clamp(34px,3.7vw,52px);font-weight:800;line-height:1.16;letter-spacing:-.04em}
.visit-location-grid{grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start}
.visit-location-copy{padding-top:4px}
.location-tag{font-size:10px;color:#d0d0d0;letter-spacing:1px;margin-bottom:13px}
.visit-location-copy h3{font-size:30px;font-weight:800;letter-spacing:-.03em;margin-bottom:19px}
.visit-location-copy address{font-family:var(--font);font-size:21px;line-height:1.55;font-weight:600;margin-bottom:16px}
.visit-location-copy>p{font-size:15px;line-height:1.7;color:#c2c2c5;margin-bottom:22px}
.location-hours{border:1px solid #ffffff2b;border-radius:9px;background:#ffffff05;padding:16px 20px;margin:22px 0}
.location-hours>span{font-size:10px;font-weight:700;color:var(--yoel-yellow);margin-bottom:6px;letter-spacing:1.2px}
.location-hours strong{font-size:15px;font-weight:500}
.location-hours p{font-size:21px;font-weight:700;margin-top:3px}
.visit-directions{font-size:14px;min-height:56px}
.visit-call{font-size:13px;margin-top:20px}.visit-call>span{font-size:18px}
.visit-map{border:1px solid #ffffff30;border-radius:12px;box-shadow:0 15px 35px #0003}
.visit-map iframe{height:470px;min-height:470px}
.map-footer{font-size:11px;line-height:1.5;background:#24252a;padding:17px 19px;flex-wrap:wrap}
.map-footer>a{white-space:normal}
.intro-grid{gap:10%;align-items:start}
.intro-grid h2,.faq-grid h2{font-size:clamp(34px,3.7vw,52px);line-height:1.17}
.intro-text .lead{font-family:var(--font);font-size:22px;line-height:1.6;color:#29292d}
.intro-text>p:not(.lead){font-size:16px;line-height:1.8}
.work-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;background:#141518;padding:72px max(40px,calc((100vw - 1240px)/2))}
.work-image{overflow:hidden;border-radius:13px;box-shadow:0 20px 48px #0004;border:1px solid #ffffff26;position:relative}
.work-image img{width:100%;height:475px;min-height:0;object-fit:cover;object-position:center}
.feature-copy{padding:10px 0}
.feature-copy .eyebrow{color:#d5d5d4}
.feature-copy h2{font-size:clamp(34px,3.7vw,52px);line-height:1.16;max-width:480px}
.feature-copy h2 .title-soft{color:var(--yoel-yellow)}
.feature-copy p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:450px;color:#c6c6c8}
.teaser-gallery{grid-template-columns:1.2fr 1fr 1fr;gap:18px}
.teaser-gallery img{height:330px;border-radius:12px;border:1px solid #d9d8d2;box-shadow:0 7px 20px #0000000b;object-position:center}
.review-band{background:white;padding-block:40px}
.review-band h2{font-size:28px;font-weight:800;letter-spacing:-.03em}
.review-band p{font-size:15px}
.review-band .btn.outline{border-color:#bebec0;border-radius:7px}
.faqs details{background:#fff;border:1px solid #e1e0da;border-radius:9px;margin-bottom:12px;padding:0 20px}
.faqs details:last-child{border:1px solid #e1e0da}
.faqs summary{font-size:16px;font-weight:700;padding:21px 0;line-height:1.6}
.faqs details[open]{border-color:#e51b2b66}
.faqs details p{font-size:15px;line-height:1.75;padding-right:10px}
.contact-section{background:radial-gradient(ellipse at 100% 100%,#303138 0,transparent 65%),#151619;padding-block:84px}
.contact-grid{gap:8%;align-items:start}
.contact-grid h2{font-size:clamp(34px,3.7vw,52px);font-weight:800;line-height:1.15}
.contact-grid .big-phone{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-1px;color:var(--yoel-yellow)}
.contact-grid>div>p:not(.eyebrow){font-size:16px;line-height:1.7}
.quote-form{border-color:#ffffff27;border-radius:12px;padding:32px;background:#ffffff04;box-shadow:0 12px 35px #00000015}
.quote-form h3{font-size:27px;letter-spacing:-.03em;font-weight:800}
.quote-form>p{font-size:15px}.quote-form label{font-size:13px;letter-spacing:0;font-weight:600}
input,select,textarea{background:#25262a;border-color:#ffffff3d;border-radius:6px;padding:12px 13px;font-size:16px;font-family:var(--font)}
input,select{min-height:48px}
.quote-form .form-note{font-size:12px;line-height:1.65}
footer{background:#0c0d10;padding-top:64px}
.footer-grid{grid-template-columns:1.4fr .85fr 1.2fr;gap:7%}
.footer-grid h3{font-size:14px;font-weight:700;letter-spacing:0;color:white;position:relative;margin-bottom:25px}
.footer-grid h3::after{content:'';display:block;width:32px;height:2px;background:var(--orange);margin-top:11px}
.footer-grid p,.footer-grid a:not(.brand){font-size:14px;line-height:1.7}
.footer-grid .brand img{background:none;width:245px;max-width:100%}
.footer-grid .footer-hours{font-weight:600;color:var(--yoel-yellow)}
.footer-bottom{font-size:11px;line-height:1.7}
.page-heading{padding-block:70px 55px}
.page-heading h1{font-size:clamp(44px,5vw,66px);line-height:1.12;font-weight:800;letter-spacing:-.04em;max-width:950px}
.page-heading .lead{font-family:var(--font);font-size:19px;line-height:1.75}
.detail-hero{background:#f0efea;grid-template-columns:1fr 1fr;padding:48px max(40px,calc((100vw - 1240px)/2));gap:50px;align-items:center}
.detail-copy{padding:0}
.detail-copy h1{font-size:clamp(42px,4.5vw,62px);line-height:1.12;font-weight:800;letter-spacing:-.04em}
.detail-copy .lead{font-size:18px;line-height:1.8}
.detail-hero>img{min-height:0;height:470px;width:100%;border-radius:12px;box-shadow:0 12px 30px #00000014}
.details-grid h2{font-size:clamp(34px,3.7vw,50px);font-weight:800}
.include-list li{font-size:18px;line-height:1.6;padding-block:21px}
.note-band{border-radius:0 10px 10px 0;background:#eeede7}
.note-band h3{font-size:25px;font-weight:800}
.packages{gap:24px}.package{border-radius:12px;border:1px solid #dcdbd5;box-shadow:0 7px 24px #00000008;background:white;padding:32px}
.package h2{font-size:36px;font-weight:800;letter-spacing:-.04em}.package p{font-size:16px;line-height:1.75}.package li{font-size:15px}
.package:last-child{background:#191a1d}
.gallery-filters button{border-radius:6px;font-size:13px;padding:12px 18px;font-weight:600}
.gallery-grid{gap:24px}.gallery-item{border-radius:10px;background:#fff;border:1px solid #deddd6}
.gallery-item img{height:290px}.gallery-item span{font-size:13px;padding:15px;line-height:1.6}
.about-image img{border-radius:12px}
.review-portal h2{font-weight:800;line-height:1.2}.prose h2{font-size:30px;letter-spacing:-.03em}
.visit-first-dock{background:#101114;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:8px;border-top:1px solid #ffffff2c;box-shadow:0 -5px 22px #0003}
.visit-first-dock a{border-radius:7px;min-height:48px;font-family:var(--font);font-weight:700;line-height:1.4;padding:13px 12px}
.visit-first-dock a.dock-call{border:1px solid #ffffff40}.visit-first-dock a.dock-directions{font-size:14px}
@media(min-width:1700px){.hero-photo{left:35%}}
@media(max-width:1100px){nav{gap:18px;font-size:13px}.wrap{width:calc(100% - 56px)}.hero h1{font-size:66px}.hero-photo{left:25%}.hero-copy{max-width:580px}.first-service-nav a{font-size:11px}.visit-location-grid{gap:32px}.work-feature{padding-inline:28px;gap:6%}.work-image img{height:430px}.detail-hero{padding-inline:28px;gap:32px}.contact-grid .big-phone{font-size:29px}}
@media(max-width:800px){
 .wrap{width:calc(100% - 40px)}.section{padding-block:58px}.header-inner{height:78px}header .brand,header .brand img{width:205px;max-height:64px}nav{top:78px;padding:16px 20px;gap:0;font-size:15px}.menu-toggle{border-radius:6px;min-height:43px;padding:10px 13px;font-size:12px}
 .topbar .top-street{display:none}.topbar .wrap>span,.topbar .wrap>a{font-size:10px}
 .hero{display:flex;flex-direction:column;min-height:0;overflow:hidden}.hero-inner{order:0;min-height:0;width:100%;padding:38px 20px 28px;display:block;background:#111215}.hero-copy{max-width:560px}.hero h1{font-size:clamp(40px,10.8vw,58px);line-height:1.1;letter-spacing:-.04em;max-width:550px;font-weight:800}.hero-copy .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:22px}.hero-copy>p:not(.eyebrow):not(.hero-visit){font-size:16px;line-height:1.7;max-width:430px;margin:22px 0}.hero .hero-actions{gap:10px;flex-wrap:wrap}.hero .hero-actions .btn.primary,.hero .hero-actions .btn.text{font-size:13px;min-height:50px;padding:14px 17px;gap:15px;flex:1;max-width:235px;white-space:nowrap}
 .hero-facts{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;padding-top:17px;max-width:535px}.hero-facts small{font-size:9px;letter-spacing:1px;margin-bottom:6px}.hero-facts strong{font-size:12px;line-height:1.6}.hero-facts span{font-size:11px;line-height:1.55}
 .hero-photo{order:1;position:relative;inset:auto;height:clamp(245px,66vw,400px);width:100%;flex:none}.hero-photo img{object-position:50% 60%;object-fit:cover;width:100%;height:100%}.hero-photo:after{background:linear-gradient(180deg,#11121575,transparent 25%),linear-gradient(0deg,#111215b0,transparent 40%)}.hero-caption{left:20px;right:20px;bottom:14px;font-size:7px;letter-spacing:.9px}
 .first-service-nav .wrap{gap:14px 24px;padding-block:23px}.first-service-nav a{font-size:12px;line-height:1.45}.first-service-nav a>span{font-size:17px}
 .section-heading{gap:17px;margin-bottom:28px}.section-heading>p{font-size:15px;line-height:1.75;max-width:550px}.eyebrow{font-size:10px;letter-spacing:1.25px;margin-bottom:17px}.eyebrow::before{flex-basis:20px;height:3px}
 h2,.services-section h2,.visit-location-heading h2,.intro-grid h2,.faq-grid h2,.feature-copy h2,.contact-grid h2{font-size:clamp(32px,8.7vw,40px);font-weight:800;line-height:1.18;letter-spacing:-.035em}
 .services-section{padding-block:52px 58px}.services-section h2{max-width:550px}#home-services .service-list{gap:24px 18px}#home-services .service-card-copy{padding:22px 20px;min-height:220px}#home-services .visual-service h3{font-size:25px;font-weight:800;line-height:1.27}#home-services .visual-service p{font-size:15px;line-height:1.7}#home-services .service-card-link{font-size:13px}#home-services .service-photo-label{font-size:10px;top:14px;left:14px}#home-services .service-visual{aspect-ratio:4/3}
 .visit-location{padding-block:54px 58px}.visit-location-heading{margin-bottom:30px}.visit-location-grid{grid-template-columns:1fr;gap:27px}.visit-map{order:-1;border-radius:11px}.visit-map iframe{height:300px;min-height:300px}.map-footer{padding:16px;font-size:11px;gap:10px;flex-direction:column;align-items:start}.map-footer a{font-size:12px}.location-tag{font-size:10px;letter-spacing:1px;margin-bottom:11px}.visit-location-copy h3{font-size:28px;margin-bottom:18px}.visit-location-copy address{font-size:21px;line-height:1.55;margin-bottom:15px}.visit-location-copy>p{font-size:15px;line-height:1.75;max-width:none}.location-hours{margin-block:20px;padding:16px 18px}.location-hours strong{font-size:15px}.location-hours p{font-size:21px}.visit-directions{font-size:14px;min-height:55px}.visit-call{font-size:13px;margin-top:20px}.visit-call>span{font-size:18px}
 .intro-grid{gap:26px}.intro-text .lead{font-size:20px;line-height:1.6}.intro-text>p:not(.lead){font-size:15px;line-height:1.8}.work-feature{grid-template-columns:1fr;gap:30px;padding:50px 20px}.work-image img{height:clamp(260px,72vw,420px);min-height:0}.feature-copy{padding:0}.feature-copy h2{margin-bottom:23px}.feature-copy p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:550px}
 .teaser-gallery{grid-template-columns:1fr 1fr;gap:12px}.teaser-gallery img{height:210px;border-radius:10px}.teaser-gallery img:first-child{grid-column:1/-1;height:260px}.teaser-gallery img:last-child{grid-column:auto;height:210px;object-position:center}.review-band{padding-block:32px}.review-band .wrap{gap:18px}.review-band h2{font-size:23px;line-height:1.3}.review-band p{font-size:14px;line-height:1.65}.review-band .btn{font-size:13px;min-height:50px}
 .faq-grid{gap:28px}.faqs details{padding-inline:17px}.faqs summary{font-size:15px;line-height:1.6;padding-block:19px}.faqs details p{font-size:14px;line-height:1.75}.contact-section{padding-block:56px}.contact-grid{gap:34px}.contact-grid h2{margin-bottom:26px}.contact-grid .big-phone{font-size:29px}.contact-grid>div>p:not(.eyebrow){font-size:15px}.quote-form{padding:25px 20px}.quote-form h3{font-size:25px;line-height:1.3}.quote-form>p{font-size:14px}.quote-form label{font-size:13px}.quote-form .form-note{font-size:12px}
 footer{padding-top:46px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.footer-grid .brand img{width:240px}.footer-grid h3{font-size:14px;margin-bottom:20px}.footer-grid p,.footer-grid a:not(.brand){font-size:14px;line-height:1.7}.footer-bottom{font-size:10px;padding-bottom:110px;margin-top:30px;gap:16px}
 .page-heading{padding-block:45px 38px}.page-heading h1{font-size:clamp(36px,10vw,48px);line-height:1.17;margin-bottom:23px}.page-heading .lead{font-size:17px;line-height:1.75}.detail-hero{grid-template-columns:1fr;padding:35px 20px 40px;gap:28px}.detail-copy{padding:0}.detail-copy h1{font-size:clamp(36px,10vw,48px);line-height:1.17;letter-spacing:-.035em}.detail-copy .lead{font-size:17px;line-height:1.75}.detail-hero>img{height:300px;min-height:0}.details-grid h2{font-size:34px;line-height:1.18}.details-grid p{font-size:15px;line-height:1.75}.include-list li{font-size:16px;line-height:1.6}.note-band h3{font-size:24px;line-height:1.3}.note-band p{font-size:15px}.package{padding:27px}.package h2{font-size:32px}.package p,.package li{font-size:15px}.gallery-grid{gap:18px 12px}.gallery-item img{height:210px}.gallery-item span{padding:12px;font-size:12px}.gallery-item:first-child img{height:260px}.gallery-filters button{padding:10px 13px;font-size:12px}
 .visit-first-dock{display:flex}.visit-first-dock a.dock-directions{font-size:14px;gap:12px}.visit-first-dock a.dock-call{font-size:13px}.visit-first-dock .directions-icon{margin-left:2px}
}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.hero-inner{padding-inline:16px}.hero h1{font-size:39px}.hero .hero-actions .btn.primary,.hero .hero-actions .btn.text{font-size:12px;padding-inline:13px;gap:10px}.hero-facts{gap:10px}.hero-facts strong{font-size:11px}#home-services .service-card-copy{padding:21px 18px}.quote-form{padding-inline:17px}.gallery-item img{height:180px}}
@media(prefers-reduced-motion:reduce){.visual-service,.service-visual img,.btn{transition:none!important}}
