:root{--paper:#faf9f6;--red:#ab263b;--ink:#252b29;--muted:#66706b;--line:#e2e4dc}body{font-size:15px;line-height:1.7}header{padding:22px 5%;background:var(--paper)}.brand{letter-spacing:normal;gap:14px}.brand img{display:block;width:62px;height:54px}.brand span{font-size:12px;letter-spacing:1.5px}.brand small{font-size:8px;letter-spacing:2.5px;margin-top:9px}header nav{font-size:12px;gap:27px}.button,button{border-radius:3px;padding:16px 23px;gap:24px;font-size:12px;letter-spacing:.2px}.button span{font-size:19px}.button:focus-visible,button:focus-visible{outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.4}h1{letter-spacing:-2.4px}.hero-v2{min-height:660px;padding-top:48px;padding-bottom:70px;gap:6%;grid-template-columns:1.1fr 1fr}.hero-copy{padding-top:50px}.hero-v2 h1{font-size:clamp(46px,4.8vw,71px);line-height:1.1;letter-spacing:-2.9px}.hero-v2 h1 em{color:var(--ink);font-weight:400}.eyebrow{font-size:9px;letter-spacing:2.1px;font-weight:700}.little-line{display:inline-block;width:25px;height:1px;background:var(--red);vertical-align:middle;margin-right:9px}.hero-v2 .intro{font-size:15px;line-height:1.9;margin-top:27px}.hero-v2 .actions{margin:33px 0 38px;gap:26px}.text-link{font-size:12px;letter-spacing:.15px}.hero-v2 .hero-signature{display:flex;gap:22px;align-items:center;padding-top:23px;max-width:none}.signature-line{font:italic 24px Georgia,serif;max-width:140px;line-height:1.2}.hero-signature p{margin:0;font-size:10px;border-left:1px solid var(--line);padding-left:22px}.hero-signature p b{font-size:10px;font-weight:500;color:var(--ink)}.hero-v2 .hero-visual{min-height:545px;border-radius:130px 4px 4px 4px}.hero-v2 .hero-visual img{object-position:50% center}.portrait-label{position:absolute;bottom:0;left:0;right:0;padding:90px 33px 30px;background:linear-gradient(transparent,rgba(20,28,25,.88));color:white}.portrait-label span{font-size:8px;letter-spacing:2px}.portrait-label b{display:block;font:32px/1.2 Georgia,serif;margin-top:12px;font-weight:400}.portrait-index{position:absolute;right:18px;top:24px;writing-mode:vertical-rl;color:#fff;font-size:8px;letter-spacing:2px;background:#26322dbb;padding:10px 7px;border-radius:2px}.values-bar{display:flex;justify-content:space-between;align-items:center;background:#eaece5;padding:23px 5%;gap:15px;font-size:11px}.values-bar>span{letter-spacing:2px;font-size:9px;font-weight:700}.values-bar p{margin:0;font:italic 19px Georgia,serif;color:var(--ink)}.values-bar a{font-size:11px;font-weight:600}.content-section{padding-top:85px;padding-bottom:85px}.section-title{margin-bottom:32px;align-items:flex-end}.section-title h2{margin-bottom:0}.section-title>p{font-size:13px;line-height:1.9;max-width:270px;margin-bottom:3px}h2{font-size:clamp(30px,3.4vw,46px);line-height:1.16}h2 em{font-weight:400}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px 24px;transition:transform .2s,border-color .2s;display:flex;flex-direction:column;min-width:0}.service-card:hover{transform:translateY(-4px);border-color:var(--red);color:var(--ink)}.service-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-bottom:35px}.service-arrow{border:1px solid var(--line);border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:17px;color:var(--red)}.service-card h3{font:36px Georgia,serif;margin-bottom:19px}.service-card>b{font-size:12px;font-weight:600}.service-card p{font-size:12px;line-height:1.9;margin:10px 0 24px}.service-more{display:flex;justify-content:space-between;margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:10px;font-weight:700}.about-v2{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#f0f1eb;align-items:center}.about-image img{width:100%;height:auto;display:block;border-radius:4px}.image-note{display:block;font-size:8px;letter-spacing:2px;margin-top:15px;color:var(--muted)}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.9}.approach-mini{margin:25px 0}.approach-mini article{display:flex;align-items:flex-start;gap:18px;padding:14px 0;border-bottom:1px solid #dce0d6}.approach-mini article>span{font-size:10px;color:var(--red);padding-top:4px}.approach-mini h3{font-size:13px;font-weight:600}.approach-mini p{font-size:12px;margin:3px 0 0}.consultation-banner{margin:75px 5% 0;padding:52px 6%;border-radius:5px;background:#26312d;color:#fff;display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:center}.consultation-banner .eyebrow{color:#e1b4b7;font-size:8px}.consultation-banner h2{font-size:43px}.consultation-banner p{color:#c3cec7;font-size:13px;max-width:340px}.light-button{background:#f5f4ee;color:#24322b;margin-top:15px}.light-button:hover{background:#fff;color:var(--red)}.calendar-teaser{border:1px solid #627268;padding:27px;border-radius:8px;background:#ffffff07;transform:rotate(2deg)}.teaser-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;margin-bottom:24px;color:#c3cec7}.calendar-teaser>strong{font:35px Georgia,serif}.calendar-teaser>p{font-size:11px;margin-top:7px}.teaser-step{display:flex;gap:16px;padding:12px 0;border-top:1px solid #53635a;font-size:12px}.teaser-step b{color:#dcacae;font-size:10px;font-weight:400}.calendar-teaser small{display:block;font-size:9px;color:#bdc9c1;margin-top:15px}.journey{padding-top:80px}.journey figure{margin:0}.journey img{height:470px;max-height:none;object-position:50% 38%;border-radius:4px}.journey figcaption{display:flex;justify-content:space-between;font-size:10px;margin-top:13px;color:var(--muted)}.journey figcaption span+span{font-size:8px;letter-spacing:1.6px}.contact{background:#eeeFE9;gap:9%;align-items:start}.contact>div>p:not(.eyebrow){font-size:14px;max-width:340px}.contact-link{font-size:31px}.email-link{font-size:14px}.book-contact{display:table;margin-top:24px}.contact-card{margin:0;border:0;padding:35px;border-radius:5px;box-shadow:0 10px 40px #25312806}.contact-card h3{font:26px Georgia,serif;margin-bottom:28px}.contact-card .eyebrow{margin-bottom:12px}.broker{font-size:11px}.broker small{font-size:9px}.wide-button{width:100%}input,select,textarea{border-color:#d8ddd5;border-radius:3px;font-size:14px;background:#fff;min-height:46px}label{font-size:11px;font-weight:600}.checkbox{font-size:10px;line-height:1.7;flex-wrap:wrap}.checkbox input{flex-shrink:0;min-height:0}.checkbox a{font-size:10px}.field-note{font-size:11px;color:var(--muted);line-height:1.7}.optional{font-weight:400;color:var(--muted)}footer{align-items:center;gap:25px;padding:30px 5%;background:var(--paper)}.footer-brand{display:flex;gap:12px;align-items:center;color:var(--ink);font:16px Georgia,serif}.footer-brand small{display:block;font:7px Arial,sans-serif;letter-spacing:2px;margin-top:8px}.footer-links{display:flex;gap:18px;font-size:10px}footer p{font-size:10px}.auth{border-radius:7px;box-shadow:0 20px 60px #26322d08}.admin .card{border-radius:5px}.admin h1{font-size:42px}.workspace header{max-width:none}.workspace nav{gap:16px}.workspace .brand{flex-shrink:0}.workspace .brand img{width:48px;height:44px}.workspace .brand span{font-size:10px}.workspace .brand small{font-size:7px}.booking-intro{text-align:center;padding:58px 5% 38px}.booking-intro h1{font-size:55px;line-height:1.12}.booking-intro h1 em{color:var(--ink)}.booking-intro p:not(.eyebrow){font-size:14px}.booking-layout{display:grid;grid-template-columns:310px minmax(0,660px);justify-content:center;gap:45px;padding:15px 5% 80px;align-items:start}.booking-profile{padding:25px 0;position:sticky;top:25px}.booking-avatar{width:82px;height:82px;object-fit:cover;object-position:50% 20%;border-radius:50%;border:5px solid #ebeee5}.booking-profile h2{font-size:26px;margin:18px 0 8px}.booking-profile p{font-size:12px}.booking-profile hr{border:0;border-top:1px solid var(--line);margin:25px 0}.booking-profile .booking-detail{color:var(--ink);font-size:12px;margin:15px 0}.booking-profile .booking-note{font-size:11px;margin:25px 0;max-width:270px}.booking-profile .text-link{font-size:11px}.booking-main{background:white;border:1px solid var(--line);border-radius:7px;padding:32px;min-width:0}.booking-step{display:flex;align-items:center;gap:14px;margin-bottom:20px}.booking-step>span{border-radius:50%;width:26px;height:26px;background:#f0f1eb;display:grid;place-items:center;color:var(--red);font-size:10px;flex-shrink:0}.booking-step h2{font:22px Georgia,serif;margin:0}.booking-step:not(:first-child){margin-top:30px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:10px 0 20px}.calendar-heading h3{font-size:15px;font-weight:600}.calendar-arrow{width:34px;height:34px;min-height:34px;background:#f0f2ec;color:var(--ink);padding:0;font-size:16px;border-radius:50%}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;font-size:10px;color:var(--muted);padding-bottom:9px}.calendar-day{background:#f4f5f0;color:var(--ink);padding:0;min-height:43px;font-size:13px;border:1px solid transparent;border-radius:4px}.calendar-day:disabled{background:transparent;color:#969d95;opacity:.5}.calendar-day.today{border-color:#a2b0a2}.calendar-day.chosen{background:var(--red);color:#fff}.calendar-day:not(:disabled):hover{background:var(--ink);color:#fff}.slot-fieldset{border:0;padding:0;margin:25px 0 35px}.slot-fieldset legend{font-size:12px;font-weight:600;margin-bottom:14px}.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-slots>p{grid-column:1/-1;font-size:12px}.time-option{position:relative;margin:0}.time-option input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;pointer-events:none}.time-option span{display:block;border:1px solid #d8ddd4;border-radius:4px;text-align:center;padding:10px 4px;font-size:11px;font-weight:500;cursor:pointer}.time-option input:checked+span{border-color:var(--red);background:#fbf0f2;color:var(--red)}.time-option input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}.time-option:hover span{border-color:var(--red)}.receipt{max-width:680px;margin:65px auto;text-align:center;padding:45px}.receipt-icon{display:grid;place-items:center;background:#edf1e6;color:#4d6552;border-radius:50%;width:56px;height:56px;margin:0 auto 24px;font-size:25px}.receipt h1{font-size:40px}.receipt h2{font-size:26px;margin-top:30px}.receipt p{font-size:13px}.receipt p strong{display:block;margin-top:10px}.receipt .receipt-time{font-size:19px;color:var(--ink)}.receipt-actions{display:flex;justify-content:center;align-items:center;gap:15px;margin:30px 0 15px}.status-pending{background:#fff0d5;color:#80551b}.status-confirmed{background:#e4efe1;color:#3d6543}.status-cancelled{background:#fae4e6;color:#983648}.status-completed{background:#e7eaf0;color:#4a5972}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-start;margin:20px 0}.filter-tabs a{padding:9px 18px;border:1px solid var(--line);border-radius:3px;font-size:12px}.filter-tabs a.selected{background:var(--ink);color:white}.schedule-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px 18px;align-items:center;max-width:680px;margin:30px 0}.schedule-grid>b{font-size:11px}.schedule-grid label{margin-bottom:8px}.schedule-grid .checkbox{font-size:12px;align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.date-fallback{display:flex;align-items:end;gap:15px}.date-fallback label{flex:1;margin-bottom:0}.menu-toggle,.menu-toggle[hidden]{display:none}
@media(max-width:1100px){header{gap:15px}header nav{gap:17px}.hero-v2 h1{font-size:55px}.hero-v2 .actions{gap:15px}.hero-v2 .hero-signature{gap:15px}.service-card{padding:22px 18px}.consultation-banner{gap:8%}.workspace header{flex-wrap:wrap}.workspace nav{width:100%;justify-content:flex-start}.booking-layout{grid-template-columns:260px minmax(0,660px);gap:25px}}
@media(max-width:800px){.hero-v2{grid-template-columns:1fr 1fr;gap:5%;padding-top:28px}.hero-v2 h1{font-size:43px;letter-spacing:-1.8px}.hero-copy{padding-top:25px}.hero-v2 .hero-visual{min-height:490px;border-top-left-radius:85px}.hero-v2 .hero-signature{display:block}.hero-signature p{border:0;padding:10px 0 0}.hero-v2 .intro{font-size:13px}.hero-v2 .actions{display:block}.hero-v2 .actions .text-link{display:table;margin-top:19px}.values-bar p{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.about-v2{gap:6%}.about-copy h2{font-size:32px}.consultation-banner{gap:8%;padding:35px 5%}.consultation-banner h2{font-size:35px}.booking-layout{grid-template-columns:1fr;max-width:740px;margin:auto}.booking-profile{position:static;display:block;padding:0 0 15px}.booking-profile hr,.booking-profile .booking-detail,.booking-profile .booking-note,.booking-profile .text-link{display:none}.booking-profile h2{margin:0;font-size:24px}.booking-profile .booking-avatar{float:left;margin-right:20px;width:75px;height:75px}.booking-profile p{margin:7px 0 0}.booking-main{padding:28px}.journey img{height:390px}.footer-links{flex-wrap:wrap}}
@media(max-width:700px){header{padding:17px 6%;flex-wrap:wrap}.brand img{width:47px;height:43px}.brand span{font-size:10px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1.7px}.has-js .menu-toggle{display:block;margin-left:auto;font-size:12px;padding:5px 0;min-height:40px}.has-js #site-nav{display:none}.has-js #site-nav.nav-open{display:flex}.has-js #site-nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:10px}.has-js #site-nav>a{padding:13px 0;border-top:1px solid var(--line)}.has-js #site-nav>.button{padding:14px;margin-top:8px;border:0}.has-js #site-nav form{padding-top:10px}.hero-v2{grid-template-columns:1fr;padding:32px 6% 35px;gap:30px}.hero-copy{padding-top:0}.hero-v2 h1{font-size:49px;letter-spacing:-2.4px}.hero-v2 .intro{font-size:14px;line-height:1.9}.hero-v2 .actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:26px}.hero-v2 .actions .text-link{margin:0}.hero-v2 .hero-signature{display:flex;gap:18px}.hero-signature p{border-left:1px solid var(--line);padding:0 0 0 18px}.signature-line{font-size:23px}.hero-v2 .hero-visual{min-height:445px;border-top-left-radius:100px}.portrait-label{padding-left:25px}.portrait-label b{font-size:30px}.values-bar{padding:20px 6%;font-size:9px;gap:15px}.values-bar>span{font-size:8px;letter-spacing:1px}.values-bar a{font-size:9px;max-width:130px;text-align:right}.content-section{padding:50px 6%}.section-title{margin-bottom:27px}.section-title>p{margin-top:18px}.service-grid{gap:12px}.service-card{padding:20px 16px}.service-top{margin-bottom:25px}.service-card h3{font-size:30px}.service-card>b{font-size:11px}.service-card p{font-size:11px}.service-more{font-size:9px}.about-v2{grid-template-columns:1fr;gap:32px}.about-image{max-width:470px;margin:auto}.about-copy h2{font-size:35px}.about-copy>p:not(.eyebrow){font-size:14px}.consultation-banner{grid-template-columns:1fr;margin:45px 6% 0;padding:35px 26px;gap:35px}.consultation-banner h2{font-size:38px}.calendar-teaser{transform:none;max-width:390px;width:100%;margin:auto}.journey img{height:auto;border-radius:4px}.journey figcaption{display:block;font-size:9px}.journey figcaption span{display:block;margin-top:5px}.contact{gap:0}.contact-card{padding:26px 22px}.contact-card .two{grid-template-columns:1fr}.contact .card{margin-top:25px}.contact h2{font-size:38px}.contact-link{font-size:29px}.broker{margin-top:30px}.footer-brand{font-size:15px}footer{flex-wrap:wrap;gap:18px}footer>p{margin:0}.footer-links{width:100%;gap:25px}.booking-intro{padding:35px 6% 20px}.booking-intro h1{font-size:43px;letter-spacing:-1.8px}.booking-intro p:not(.eyebrow){font-size:13px}.booking-layout{padding:10px 5% 45px;gap:15px}.booking-main{padding:22px 17px}.booking-profile{padding:10px 4px}.booking-profile h2{font-size:21px}.booking-profile p{font-size:10px}.booking-profile .booking-avatar{width:65px;height:65px;margin-right:15px}.booking-step h2{font-size:21px}.calendar-grid{gap:4px}.calendar-day{min-height:40px;font-size:12px}.calendar-heading h3{font-size:14px}.time-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.time-option span{padding:11px 3px}.booking-main .two{grid-template-columns:1fr;gap:0}.receipt{margin:35px 5%;padding:30px 22px}.receipt h1{font-size:34px}.receipt-actions{flex-direction:column}.schedule-grid{gap:8px}.schedule-grid .checkbox{font-size:10px}.schedule-grid input[type=time]{padding:8px 4px;font-size:12px;min-width:0}.admin .section-title h1{font-size:36px}.date-fallback{display:block}.date-fallback button{margin-top:12px}.workspace .brand span{font-size:10px}.filter-tabs a{font-size:11px;padding:8px 12px}.auth{margin:35px 5%}.auth h1{font-size:38px}}@media(prefers-reduced-motion:reduce){.service-card{transition:none}}

.social-icons{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.social-icons a{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:#fff;transition:background .2s,color .2s,border-color .2s}.social-icons a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.social-icons a:hover,.social-icons a:focus-visible{background:var(--red);border-color:var(--red);color:#fff}.social-icons a.social-whatsapp:hover,.social-icons a.social-whatsapp:focus-visible{background:#1f9d55;border-color:#1f9d55}.social-icons svg{display:block;flex-shrink:0}.contact-social{margin-top:26px}.contact-social .eyebrow{margin-bottom:12px}.social-labeled a{width:auto;height:auto;border-radius:30px;padding:9px 16px 9px 13px;font-size:12px;font-weight:600}.social-labeled a span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.footer-social{justify-content:center}.booking-whatsapp{display:table;margin-top:14px}.booking-social{margin-top:22px}
@media(max-width:800px){.booking-profile .booking-whatsapp,.booking-profile .booking-social{display:none}}
@media(max-width:700px){.social-labeled{gap:8px}.social-labeled a{padding:8px 14px 8px 11px;font-size:11px}.footer-social{justify-content:flex-start;width:100%}}
/* ===== Header & navigation v4 ===== */
.public-site .site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 5%;background:rgba(250,249,246,.97);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
.public-site .site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 28px rgba(37,43,41,.07);background:rgba(255,255,255,.97)}
.public-site .site-header .brand img{transition:transform .3s ease;transform-origin:left center}
.public-site .site-header .brand:hover img{transform:scale(1.04)}
.public-site #site-nav{display:flex;align-items:center;gap:26px;font-size:12px}
.public-site .nav-links{display:flex;align-items:center;gap:2px}
.public-site .nav-links a{position:relative;padding:9px 13px;color:var(--ink);font-weight:500;letter-spacing:.3px;text-decoration:none}
.public-site .nav-links a::after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.public-site .nav-links a:hover::after,.public-site .nav-links a:focus-visible::after,.public-site .nav-links a.is-active::after{transform:scaleX(1)}
.public-site .nav-links a.is-active{color:var(--red)}
.public-site .nav-phone{display:inline-flex;align-items:center;gap:8px;padding:6px 0 6px 24px;border-left:1px solid var(--line);color:var(--ink);font-weight:600;letter-spacing:.4px;white-space:nowrap;text-decoration:none}
.public-site .nav-phone svg{color:var(--red)}
.public-site .nav-phone:hover{color:var(--red)}
.public-site .nav-book{white-space:nowrap;box-shadow:0 6px 18px rgba(171,38,59,.18);transition:transform .2s,box-shadow .2s}
.public-site .nav-book:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(171,38,59,.25)}
.public-site .nav-social{display:none}
.menu-toggle .menu-icon{position:relative;display:inline-block;width:18px;height:10px}
.menu-toggle .menu-icon i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;border-radius:2px;transition:transform .25s,top .25s,bottom .25s}
.menu-toggle .menu-icon i:first-child{top:0}.menu-toggle .menu-icon i:last-child{bottom:0}
.menu-toggle[aria-expanded=true] .menu-icon i:first-child{top:4px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon i:last-child{bottom:4.5px;transform:rotate(-45deg)}
@media(max-width:1100px){.public-site .nav-phone span{display:none}.public-site .nav-phone{padding-left:18px}.public-site #site-nav{gap:18px}}
@media(max-width:960px){
.public-site .site-header{flex-wrap:wrap;padding:14px 6%}
.public-site.has-js .menu-toggle{display:inline-flex;align-items:center;gap:10px;margin-left:auto;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:40px;background:#fff;color:var(--ink);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;box-shadow:none}
.public-site.has-js .menu-toggle[aria-expanded=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.public-site.has-js #site-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0 20px;max-height:calc(100vh - 90px);overflow-y:auto}
.public-site.has-js #site-nav.nav-open{display:flex;animation:navIn .28s ease}
.public-site.has-js #site-nav .nav-links{flex-direction:column;align-items:stretch;gap:0}
.public-site.has-js #site-nav .nav-links a{padding:15px 2px;border-top:1px solid var(--line);font:24px/1.2 Georgia,serif;letter-spacing:-.3px}
.public-site.has-js #site-nav .nav-links a::after{display:none}
.public-site.has-js #site-nav .nav-phone{border-left:0;border-top:1px solid var(--line);padding:17px 2px;font-size:14px}
.public-site.has-js #site-nav .nav-phone span{display:inline}
.public-site.has-js #site-nav .nav-book{justify-content:center;margin-top:6px;padding:16px;border:0}
.public-site.has-js #site-nav .nav-social{display:block;margin-top:20px}
}
@keyframes navIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.public-site .site-header,.public-site .nav-links a::after,.menu-toggle .menu-icon i{transition:none}.public-site.has-js #site-nav.nav-open{animation:none}}

/* ===== Blog (public) ===== */
.blog-hero{text-align:center;padding:70px 6% 20px}
.blog-hero h1{font-size:clamp(42px,5.2vw,70px);line-height:1.1;letter-spacing:-2.4px}
.blog-hero h1 em{color:var(--ink);font-weight:400}
.blog-hero p:not(.eyebrow){max-width:520px;margin:20px auto 0;font-size:14px;line-height:1.9}
.blog-list{padding-top:45px}
.blog-feature a,.blog-card a{color:var(--ink);text-decoration:none}
.blog-feature a{display:grid;grid-template-columns:1.25fr 1fr;gap:5%;align-items:center}
.blog-feature-media,.blog-card-media{position:relative;overflow:hidden;border-radius:4px;background:#eceee7;aspect-ratio:16/10}
.blog-feature-media img,.blog-card-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.blog-feature a:hover .blog-feature-media img,.blog-card a:hover .blog-card-media>img{transform:scale(1.04)}
.blog-feature-body h2{font-size:clamp(30px,3.2vw,44px);line-height:1.15;margin:8px 0 14px}
.blog-feature-body p:not(.eyebrow):not(.blog-meta){font-size:14px;line-height:1.9}
.blog-card-placeholder{display:grid;place-items:center;width:100%;height:100%}
.blog-card-placeholder img{opacity:.35;width:70px;height:auto}
.blog-badge{position:absolute;left:14px;top:14px;background:rgba(20,28,25,.82);color:#fff;font-size:10px;font-weight:600;letter-spacing:.6px;padding:6px 11px;border-radius:30px}
.blog-meta{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0}
.blog-more{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;margin-top:18px;color:var(--ink)}
.blog-more span{color:var(--red);transition:transform .2s}
a:hover .blog-more span{transform:translateX(4px)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:60px}
.post-more .blog-grid,.home-blog .blog-grid{margin-top:0}
.blog-card a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.blog-card a:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:0 14px 34px rgba(37,43,41,.07)}
.blog-card-media{border-radius:0}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding:22px 22px 24px}
.blog-card-body h3{font:22px/1.3 Georgia,serif;margin:10px 0 10px}
.blog-card-body>p:not(.blog-meta){font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.blog-card-body .blog-more{margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.blog-card-body>p:not(.blog-meta){margin-bottom:20px}
.pagination{display:flex;justify-content:center;align-items:center;gap:26px;margin-top:50px;font-size:12px}
.pagination a{border:1px solid var(--line);padding:9px 18px;border-radius:30px;background:#fff}
.blog-empty{text-align:center;padding:50px 30px;max-width:620px;margin:0 auto}
.blog-cta{margin:0 5% 80px;padding:45px 6%;border-radius:5px;background:#26312d;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}
.blog-cta .eyebrow{color:#e1b4b7}.blog-cta h2{margin:0;color:#fff}.blog-cta h2 em{color:#fff}
/* single post */
.post{max-width:760px;margin:0 auto;padding:55px 6% 20px}
.post-head .eyebrow a{color:var(--red);text-decoration:none}
.post-head h1{font-size:clamp(36px,4.6vw,58px);line-height:1.12;letter-spacing:-1.6px;margin:14px 0 24px}
.post-byline{display:flex;align-items:center;gap:13px}
.post-byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.post-byline b{display:block;font-size:13px;color:var(--ink)}.post-byline span{font-size:11px;color:var(--muted)}
.post-cover{width:min(1100px,92vw);position:relative;left:50%;transform:translateX(-50%);margin:38px 0}
.post-cover img{width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:4px;display:block}
.post-video{position:relative;aspect-ratio:16/9;margin:34px 0;border-radius:4px;overflow:hidden;background:#111}
.post-video iframe,.post-video video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain;background:#111}
.post-body{font-size:17px;line-height:1.85;color:#30363a}
.post-body p{margin:0 0 1.35em}
.post-body h2{font:30px/1.25 Georgia,serif;margin:1.6em 0 .55em;color:var(--ink)}
.post-body h3{font:23px/1.3 Georgia,serif;margin:1.4em 0 .5em;color:var(--ink)}
.post-body ul,.post-body ol{padding-left:1.3em;margin:0 0 1.35em}.post-body li{margin:.45em 0}
.post-body blockquote{margin:1.8em 0;padding:4px 0 4px 24px;border-left:2px solid var(--red);font:italic 22px/1.55 Georgia,serif;color:var(--ink)}
.post-body blockquote p{margin:0}
.post-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.post-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:40px 0}
.post-gallery figure{margin:0}.post-gallery figure:only-child{grid-column:1/-1}
.post-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block;transition:opacity .2s}
.post-gallery a:hover img{opacity:.88}
.post-gallery figcaption{font-size:11px;color:var(--muted);margin-top:8px}
.post-foot{margin-top:45px;padding-top:28px;border-top:1px solid var(--line)}
.post-share{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:34px}
.post-share span{font-size:9px;letter-spacing:2px;font-weight:700;margin-right:6px}
.post-share a{border:1px solid var(--line);padding:7px 15px;border-radius:30px;font-size:11px;font-weight:600;background:#fff;color:var(--ink)}
.post-share a:hover{border-color:var(--red);color:var(--red)}
.post-author{display:flex;gap:24px;align-items:flex-start;padding:28px;margin:0 0 30px}
.post-author img{width:90px;height:90px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex-shrink:0}
.post-author h2{font-size:24px;margin:4px 0 8px}.post-author p:not(.eyebrow){font-size:13px;margin:0 0 18px}
.post-more{background:#f0f1eb}
.preview-note{text-align:center;background:#fff0d5;color:#80551b}
.home-blog{background:#f7f6f1}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-feature a{grid-template-columns:1fr;gap:26px}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;gap:20px;margin-top:40px}.blog-hero{padding-top:45px}.blog-hero h1{letter-spacing:-1.6px}.blog-cta{flex-direction:column;align-items:flex-start;margin:0 6% 60px;padding:34px 26px}.post{padding-top:35px}.post-body{font-size:16px}.post-cover{width:100vw}.post-cover img{border-radius:0}.post-gallery{grid-template-columns:1fr}.post-author{flex-direction:column;padding:24px}}

/* ===== Blog (admin) ===== */
.admin-post-list{display:grid;gap:12px}
.admin .admin-post{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:22px;align-items:center;padding:14px;margin:0}
.admin-post-thumb{aspect-ratio:3/2;background:#eef0ea;border-radius:4px;overflow:hidden;display:grid;place-items:center;font-size:10px;color:var(--muted)}
.admin-post-thumb img{width:100%;height:100%;object-fit:cover}
.admin-post-info h2{font:20px/1.3 Georgia,serif;margin:8px 0 4px}.admin-post-info h2 a{color:var(--ink)}
.admin-post-info p{font-size:12px;color:var(--muted);margin:0}
.admin-post-actions{display:flex;align-items:center;gap:18px}
.badge.blog-state-published{background:#e4efe1;color:#3d6543}.badge.blog-state-scheduled{background:#e7eaf0;color:#4a5972}.badge.blog-state-draft{background:#f0efe9;color:#6b6a62}
.blog-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.blog-editor .card{margin:0 0 20px}
.blog-editor .card h2{font-size:22px;margin-bottom:10px}
.blog-editor textarea[name=body]{min-height:420px;font-size:15px;line-height:1.7}
.blog-editor-side{position:sticky;top:20px}
.format-help{font-size:12px;margin:-6px 0 18px;background:#f5f6f1;padding:12px 16px;border-radius:4px}
.format-help summary{cursor:pointer;font-weight:600}.format-help p{margin:8px 0 0}
.format-help code{background:#fff;border:1px solid var(--line);padding:1px 6px;border-radius:3px;font-size:12px}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:16px 0}
.media-item{border:1px solid var(--line);border-radius:4px;padding:10px;background:#fafaf7}
.media-item img,.cover-preview{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:4px;display:block;margin-bottom:10px}
.admin-video{width:100%;max-height:300px;background:#000;border-radius:4px;margin:6px 0}
.video-choice{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 14px}
.status-choice{border:0;padding:0;margin:0 0 16px}.status-choice legend{font-size:11px;font-weight:600;margin-bottom:6px}
.danger-zone{border:1px solid #efc9cf;margin-top:10px}.danger-zone h2{font-size:22px}
.danger-button{background:#983648;color:#fff;border:0}
@media(max-width:900px){.blog-editor-grid{grid-template-columns:1fr}.blog-editor-side{position:static}.admin .admin-post{grid-template-columns:90px minmax(0,1fr)}.admin-post-actions{grid-column:1/-1}}
/* ===== Admin bar & content editor ===== */
.admin-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;padding:8px 5%;background:#26312d;color:#dfe6e1;font-size:11px}
.admin-bar span{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#e1b4b7;font-weight:700}
.admin-bar a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.content-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}
.content-tabs{display:flex;flex-direction:column;gap:4px;position:sticky;top:20px}
.content-tabs a{padding:11px 14px;border-radius:4px;font-size:13px;color:var(--ink);border:1px solid transparent}
.content-tabs a:hover{background:#fff;border-color:var(--line)}
.content-tabs a.selected{background:var(--ink);color:#fff}
.content-tabs a:nth-last-child(2){margin-top:14px;border-top:1px solid var(--line)}
.content-form{margin:0}.content-form h2{font-size:26px;margin-bottom:22px}
.content-form label .field-note{display:block;font-weight:400;margin-top:5px}
.content-image{border:1px solid var(--line);border-radius:5px;padding:16px;margin-bottom:18px;background:#fafaf7}
.content-image img{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin-bottom:12px}
.content-label{font-size:11px;font-weight:600;margin:0 0 10px}
.office-address{font-size:13px;margin-top:14px}
@media(max-width:900px){.content-layout{grid-template-columns:1fr}.content-tabs{position:static;flex-direction:row;flex-wrap:wrap}.content-tabs a{border-color:var(--line);font-size:12px;padding:8px 12px}.content-tabs a:nth-last-child(2){margin-top:0;border-top:1px solid var(--line)}}
/* ===== Admins ===== */
.admins-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.admins-layout aside .card{margin:0 0 20px}.admins-layout aside h2{font-size:22px;margin-bottom:16px}
.admin-user{margin:0 0 12px;padding:20px 22px}
.admin-user.is-disabled{opacity:.6}
.admin-user-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.admin-user-head>div:nth-child(2){flex:1;min-width:180px}
.admin-user-head h2{font:20px/1.3 Georgia,serif;margin:0}.admin-user-head p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.admin-avatar{width:42px;height:42px;border-radius:50%;background:#26312d;color:#fff;display:grid;place-items:center;font:18px Georgia,serif;flex-shrink:0}
.admin-user-badges{display:flex;gap:6px;flex-wrap:wrap}.role-badge{background:#eef0ea;color:var(--ink)}
.admin-user>.field-note{margin:12px 0 0}
.admin-user-manage{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.admin-user-manage summary{cursor:pointer;font-size:12px;font-weight:600}
.admin-user-actions{display:grid;gap:14px;margin-top:14px}
.inline-form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.inline-form label{flex:1;min-width:180px;margin:0}
.quiet-button{background:#fff;color:var(--ink);border:1px solid var(--line)}
@media(max-width:900px){.admins-layout{grid-template-columns:1fr}}

/* ===== Analytics ===== */
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:10px 0 20px}
.stat{margin:0;padding:20px 22px}.stat p{font-size:11px;font-weight:600;margin:0 0 8px;color:var(--muted)}
.stat strong{display:block;font:40px/1.1 Georgia,serif;color:var(--ink);font-weight:400}
.stat-accent{background:#26312d;border-color:#26312d}.stat-accent p,.stat-accent .stat-sub{color:#c3cec7}.stat-accent strong{color:#fff}
.stat-sub{display:block;font-size:11px;margin-top:6px;color:var(--muted)}
.trend{display:inline-block;font-size:11px;font-weight:700;margin-top:6px}.trend.up{color:#3d6543}.trend.down{color:#983648}
.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.chart-head h2{font-size:22px}
.visit-chart{width:100%;height:auto;display:block;margin-top:10px}
.chart-bar{fill:var(--red)}.chart-hit{fill:transparent}g:hover .chart-bar{fill:#26312d}g:hover .chart-hit{fill:#f3f4ef}
.chart-axis{stroke:var(--line);stroke-width:1}.chart-label{font:10px Arial,sans-serif;fill:#7b847f}
.chart-empty{padding:40px 0;text-align:center;color:var(--muted);font-size:13px}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.analytics-grid .card{margin:0}.analytics-grid h2{font-size:22px;margin-bottom:14px}
.mini-table{width:100%;border-collapse:collapse;font-size:13px}.mini-table th{text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 8px}
.mini-table td{padding:9px 0;border-top:1px solid var(--line)}.mini-table td+td,.mini-table th+th{text-align:right;width:70px}
.mini-table a{color:var(--ink)}.mini-table a:hover{color:var(--red)}
.bar-row{margin:0 0 12px}.bar-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}
.bar-track{height:7px;background:#eef0ea;border-radius:10px;overflow:hidden}.bar-fill{display:block;height:100%;background:var(--red);border-radius:10px}
.bar-fill.w5{width:5%}.bar-fill.w10{width:10%}.bar-fill.w15{width:15%}.bar-fill.w20{width:20%}.bar-fill.w25{width:25%}.bar-fill.w30{width:30%}.bar-fill.w35{width:35%}.bar-fill.w40{width:40%}.bar-fill.w45{width:45%}.bar-fill.w50{width:50%}.bar-fill.w55{width:55%}.bar-fill.w60{width:60%}.bar-fill.w65{width:65%}.bar-fill.w70{width:70%}.bar-fill.w75{width:75%}.bar-fill.w80{width:80%}.bar-fill.w85{width:85%}.bar-fill.w90{width:90%}.bar-fill.w95{width:95%}.bar-fill.w100{width:100%}
.analytics-note{margin-top:24px;max-width:760px}
@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid{grid-template-columns:1fr}.stat strong{font-size:32px}}
/* ===== Admin workspace: top navigation ===== */
.workspace{background:#f6f6f2}
.workspace .admin-header{position:sticky;top:0;z-index:70;background:#fff;box-shadow:0 1px 0 #e6e7e0;padding:0;max-width:none;display:block}
.admin-head-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 40px;max-width:1440px;margin:0 auto;box-sizing:border-box}
.admin-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.admin-brand img{width:46px;height:40px}
.admin-brand span{display:flex;flex-direction:column;font:17px/1.2 Georgia,serif;color:var(--ink)}
.admin-brand small{font:700 8px Arial,sans-serif;letter-spacing:2.2px;color:var(--red);margin-top:5px}
.admin-head-right{display:flex;align-items:center;gap:14px}
.admin-view-site,.admin-logout{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;font-size:12px;font-weight:600;color:var(--ink);text-decoration:none;border:1px solid var(--line);background:#fff;min-height:0;box-shadow:none;cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s,background .2s}
.admin-view-site:hover,.admin-logout:hover{border-color:var(--red);color:var(--red)}
.admin-logout-form{margin:0}
.admin-me{display:inline-flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line)}
.admin-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font:15px Georgia,serif;flex-shrink:0}
.admin-me-text{display:flex;flex-direction:column;line-height:1.25}.admin-me-text b{font-size:12px;color:var(--ink)}.admin-me-text small{font-size:10px;color:var(--muted)}
/* nav band */
.admin-topnav{background:#232d2a;background-image:linear-gradient(90deg,#1f2826,#2b3632 60%,#1f2826)}
.admin-topnav-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 2px;padding:9px 30px;max-width:1440px;margin:0 auto;box-sizing:border-box}
.admin-topnav-inner::-webkit-scrollbar{display:none}
.admin-topnav a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:30px;color:#d3dbd6;font-size:12.5px;font-weight:600;letter-spacing:.2px;text-decoration:none;white-space:nowrap;isolation:isolate;opacity:0;transform:translateY(-6px);animation:adminNavIn .45s cubic-bezier(.2,.8,.2,1) forwards;transition:color .2s}
.admin-topnav a::before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(255,255,255,.1);transform:scale(.6);opacity:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .25s;z-index:-1}
.admin-topnav a:hover{color:#fff}
.admin-topnav a:hover::before,.admin-topnav a:focus-visible::before{transform:scale(1);opacity:1}
.admin-topnav a svg{transition:transform .25s cubic-bezier(.2,.8,.2,1);color:#9fb0a7}
.admin-topnav a:hover svg{transform:translateY(-2px) rotate(-6deg);color:#f3b6bf}
.admin-topnav a.is-active{color:#fff;background:linear-gradient(135deg,#c2334a,#a5223a);box-shadow:0 6px 18px rgba(194,51,74,.45),inset 0 1px 0 rgba(255,255,255,.18)}
.admin-topnav a.is-active svg{color:#fff}
.admin-topnav a.is-active::before{display:none}
.admin-topnav a.is-active::after{content:"";position:absolute;left:50%;bottom:-9px;width:8px;height:8px;margin-left:-4px;background:#f6f6f2;transform:rotate(45deg);border-radius:2px}
.admin-topnav a:focus-visible{outline:2px solid #f3b6bf;outline-offset:2px}
.nav-sep{width:1px;height:22px;background:rgba(255,255,255,.14);margin:0 6px;flex-shrink:0}
@keyframes adminNavIn{to{opacity:1;transform:none}}
.admin-topnav a:nth-of-type(1){animation-delay:0ms}.admin-topnav a:nth-of-type(2){animation-delay:35ms}.admin-topnav a:nth-of-type(3){animation-delay:70ms}.admin-topnav a:nth-of-type(4){animation-delay:105ms}.admin-topnav a:nth-of-type(5){animation-delay:140ms}.admin-topnav a:nth-of-type(6){animation-delay:175ms}.admin-topnav a:nth-of-type(7){animation-delay:210ms}.admin-topnav a:nth-of-type(8){animation-delay:245ms}.admin-topnav a:nth-of-type(9){animation-delay:280ms}.admin-topnav a:nth-of-type(10){animation-delay:315ms}.admin-topnav a:nth-of-type(11){animation-delay:350ms}.admin-topnav a:nth-of-type(12){animation-delay:385ms}.admin-topnav a:nth-of-type(13){animation-delay:420ms}.admin-topnav a:nth-of-type(14){animation-delay:455ms}
.admin-menu-btn{display:none}
.workspace main.admin{width:100%;max-width:1240px;margin:0 auto;padding:34px 40px 60px;box-sizing:border-box}
.workspace main.admin>.notice{margin:0 0 18px;border-radius:6px;padding:12px 16px;animation:adminNavIn .4s ease forwards}
.workspace .card{border-radius:8px;border-color:#e6e7e0;box-shadow:0 1px 2px rgba(31,40,38,.03)}
.workspace .section-title{margin-bottom:24px}
.workspace .section-title h1{font-size:40px;margin-bottom:6px}
@media(max-width:1180px){.admin-topnav a{padding:9px 11px}.admin-topnav a span{font-size:12px}.nav-sep{margin:0 3px}.admin-topnav a.is-active::after{display:none}}
@media(max-width:960px){
.admin-head-top{padding:10px 5%}
.admin-brand img{width:38px;height:33px}.admin-brand span{font-size:15px}
.admin-view-site span,.admin-logout span,.admin-me-text{display:none}
.admin-view-site,.admin-logout{padding:8px;border-radius:50%}
.admin-me{border:0;padding:0}
.admin-menu-btn{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;min-height:38px;border-radius:30px;border:0;background:#232d2a;color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;box-shadow:none;cursor:pointer}
.admin-menu-btn .menu-icon{position:relative;width:16px;height:11px;display:inline-block}
.admin-menu-btn .menu-icon i{position:absolute;left:0;right:0;height:1.6px;border-radius:2px;background:currentColor;transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .2s,top .3s}
.admin-menu-btn .menu-icon i:nth-child(1){top:0}.admin-menu-btn .menu-icon i:nth-child(2){top:4.7px}.admin-menu-btn .menu-icon i:nth-child(3){top:9.4px}
.admin-menu-btn[aria-expanded=true]{background:var(--red)}
.admin-menu-btn[aria-expanded=true] .menu-icon i:nth-child(1){top:4.7px;transform:rotate(45deg)}
.admin-menu-btn[aria-expanded=true] .menu-icon i:nth-child(2){opacity:0;transform:scaleX(0)}
.admin-menu-btn[aria-expanded=true] .menu-icon i:nth-child(3){top:4.7px;transform:rotate(-45deg)}
.admin-topnav{display:grid;grid-template-columns:100%;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.2,.8,.2,1)}
.admin-nav-open .admin-topnav{grid-template-rows:1fr}
.admin-topnav-inner{min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;gap:6px;padding:0 5%;max-width:none;width:100%;margin:0}
.admin-nav-open .admin-topnav-inner{padding:14px 5% 18px}
.admin-topnav a{opacity:0;transform:translateY(-8px);animation:none;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);transition:opacity .3s,transform .3s cubic-bezier(.2,.8,.2,1),color .2s}
.admin-nav-open .admin-topnav a{opacity:1;transform:none}
.admin-nav-open .admin-topnav a:nth-of-type(1){transition-delay:0ms}.admin-nav-open .admin-topnav a:nth-of-type(2){transition-delay:30ms}.admin-nav-open .admin-topnav a:nth-of-type(3){transition-delay:60ms}.admin-nav-open .admin-topnav a:nth-of-type(4){transition-delay:90ms}.admin-nav-open .admin-topnav a:nth-of-type(5){transition-delay:120ms}.admin-nav-open .admin-topnav a:nth-of-type(6){transition-delay:150ms}.admin-nav-open .admin-topnav a:nth-of-type(7){transition-delay:180ms}.admin-nav-open .admin-topnav a:nth-of-type(8){transition-delay:210ms}.admin-nav-open .admin-topnav a:nth-of-type(9){transition-delay:240ms}.admin-nav-open .admin-topnav a:nth-of-type(10){transition-delay:270ms}.admin-nav-open .admin-topnav a:nth-of-type(11){transition-delay:300ms}.admin-nav-open .admin-topnav a:nth-of-type(12){transition-delay:330ms}.admin-nav-open .admin-topnav a:nth-of-type(13){transition-delay:360ms}.admin-nav-open .admin-topnav a:nth-of-type(14){transition-delay:390ms}
.admin-topnav a.is-active::after{display:none}
.nav-sep{display:none}
.workspace main.admin{padding:24px 5% 50px}
.workspace .section-title{flex-wrap:wrap}
.workspace .section-title h1{font-size:32px}
}
@media(max-width:420px){.admin-me{display:none}}
@media(prefers-reduced-motion:reduce){.admin-topnav a,.admin-topnav a::before,.admin-topnav a svg,.admin-topnav,.admin-menu-btn .menu-icon i{animation:none!important;transition:none!important;opacity:1;transform:none}}
/* Excel import */
.import-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.import-grid .card{margin:0}
.import-grid h2,.workspace form.card>h2{font-size:22px;margin-bottom:14px}
.target-choice{border:0;padding:0;margin:0 0 16px;display:flex;gap:22px;flex-wrap:wrap}.target-choice legend{font-size:11px;font-weight:600;margin-bottom:8px;width:100%}
.import-help ol{padding-left:18px;font-size:13px;line-height:1.8;margin:0}
.map-table-wrap{overflow-x:auto;margin:16px 0}
.map-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px}
.map-table th{text-align:left;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:0 10px 8px 0}
.map-table td{border-top:1px solid var(--line);padding:10px 10px 10px 0;vertical-align:middle}
.map-table select{min-width:180px;margin:0}
.map-sample span{display:inline-block;background:#f3f4ef;border-radius:3px;padding:2px 7px;margin:2px 4px 2px 0;font-size:11px;color:#4a524e;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.import-actions{margin-top:18px}.cancel-import{margin-top:12px}
.import-report .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.import-report h3{font:20px Georgia,serif;margin:24px 0 6px}
@media(max-width:900px){.import-grid{grid-template-columns:1fr}.import-report .stat-grid{grid-template-columns:1fr}}

/* ===== Emails admin ===== */
.tpl-who{display:inline-block;font-size:9px;letter-spacing:.6px;text-transform:uppercase;opacity:.7;margin-left:4px}
.tpl-h3{font:20px Georgia,serif;margin:22px 0 10px}
.tpl-actions{display:flex;gap:12px;flex-wrap:wrap}
.email-preview{display:block;width:100%;height:640px;border:1px solid var(--line);border-radius:6px;background:#f2f1ec;margin:12px 0 16px}
.tpl-test{margin-top:4px}

/* ===== Header menu v5: steady height + animated hover pill ===== */
.public-site .site-header{min-height:88px;box-sizing:border-box}
.public-site .nav-links{position:relative;isolation:isolate;padding:4px;border-radius:40px}
.public-site .nav-links a{z-index:1;transition:color .25s ease;opacity:0;transform:translateY(-6px);animation:navLinkIn .5s cubic-bezier(.2,.8,.2,1) forwards}
.public-site .nav-links a:nth-child(1){animation-delay:.05s}.public-site .nav-links a:nth-child(2){animation-delay:.1s}.public-site .nav-links a:nth-child(3){animation-delay:.15s}.public-site .nav-links a:nth-child(4){animation-delay:.2s}.public-site .nav-links a:nth-child(5){animation-delay:.25s}.public-site .nav-links a:nth-child(6){animation-delay:.3s}
@keyframes navLinkIn{to{opacity:1;transform:none}}
.nav-glider{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:30px;background:#232726;z-index:0;opacity:0;pointer-events:none;box-shadow:0 6px 16px rgba(35,39,38,.18);transition:transform .38s cubic-bezier(.3,1.35,.5,1),width .38s cubic-bezier(.3,1.35,.5,1),opacity .25s ease,background-color .25s}
.nav-links.has-glider a::after{display:none}
.nav-links.has-glider a.is-lit{color:#fff}
.nav-links.has-glider a.is-active:not(.is-lit){color:var(--red)}
.public-site .nav-phone svg{transition:transform .3s}
.public-site .nav-phone:hover svg{animation:ring .6s ease}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
.public-site .nav-book{position:relative;overflow:hidden}
.public-site .nav-book::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease}
.public-site .nav-book:hover::before{left:130%}
.public-site .nav-book span{display:inline-block;transition:transform .25s}
.public-site .nav-book:hover span{transform:translate(2px,-2px)}
@media(max-width:960px){.public-site .site-header{min-height:0}.nav-glider{display:none}.public-site.has-js #site-nav .nav-links a{opacity:1;transform:none;animation:none}.public-site.has-js #site-nav.nav-open .nav-links a{animation:navLinkIn .4s cubic-bezier(.2,.8,.2,1) both}}
@media(prefers-reduced-motion:reduce){.public-site .nav-links a{animation:none;opacity:1;transform:none}.nav-glider{transition:none}.public-site .nav-book::before{display:none}}
/* ===== Service photo cards ===== */
.service-card.service-photo{position:relative;overflow:hidden;min-height:430px;padding:0;border:0;border-radius:6px;background:#1f2826;color:#fff;justify-content:flex-end;isolation:isolate;box-shadow:0 10px 30px rgba(31,40,38,.12);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.service-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.service-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,22,21,.15) 0%,rgba(17,22,21,.1) 35%,rgba(17,22,21,.82) 75%,rgba(17,22,21,.94) 100%);transition:background .35s}
.service-photo .service-top{position:absolute;top:18px;left:20px;right:20px;color:#fff}
.service-photo .service-top span:first-child{font-size:11px;letter-spacing:1.5px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 10px;border-radius:20px}
.service-photo .service-arrow{background:#fff;color:var(--red);border-color:#fff;transition:transform .35s}
.service-body{padding:22px 22px 24px}
.service-photo h3{color:#fff;font-size:38px;margin-bottom:10px}
.service-photo .service-body>b{color:#f3c9cf;font-size:12px}
.service-photo .service-body p{color:rgba(255,255,255,.82);margin:8px 0 18px;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .35s ease,margin .35s}
.service-photo .service-more{color:#fff;border-top:1px solid rgba(255,255,255,.25);padding-top:14px}
.service-photo:hover,.service-photo:focus-visible{transform:translateY(-6px);box-shadow:0 22px 44px rgba(31,40,38,.25);color:#fff}
.service-photo:hover>img,.service-photo:focus-visible>img{transform:scale(1.07)}
.service-photo:hover .service-shade{background:linear-gradient(180deg,rgba(17,22,21,.25),rgba(120,20,36,.55) 50%,rgba(17,22,21,.95))}
.service-photo:hover .service-body p,.service-photo:focus-visible .service-body p{max-height:120px;opacity:1}
.service-photo:hover .service-arrow{transform:rotate(45deg)}
@media(hover:none),(max-width:700px){.service-photo .service-body p{max-height:none;opacity:1}.service-card.service-photo{min-height:360px}}
/* ===== Portfolio ===== */
.pf-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6%;align-items:end;padding:70px 5% 30px}
.pf-hero h1{font-size:clamp(42px,5.2vw,70px);line-height:1.08;letter-spacing:-2px}.pf-hero h1 em{font-weight:400}
.pf-hero p:not(.eyebrow){max-width:560px;font-size:14px;line-height:1.9}
.pf-hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:26px}
.zillow-button{background:#006aff;gap:10px}.zillow-button:hover{background:#0050c2}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.pf-stats div{padding:22px 10px 0}.pf-stats strong{display:block;font:44px/1 Georgia,serif;color:var(--ink)}.pf-stats span{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.pf-section{padding-top:30px}
.pf-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.pf-filter a{padding:9px 16px;border:1px solid var(--line);border-radius:30px;font-size:12px;font-weight:600;background:#fff;color:var(--ink);transition:all .2s}
.pf-filter a span{opacity:.55;margin-left:4px}.pf-filter a:hover{border-color:var(--ink)}
.pf-filter a.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pf-card a,.pf-static{display:block;color:inherit;text-decoration:none}
.pf-media{position:relative;aspect-ratio:4/3.3;border-radius:6px;overflow:hidden;background:#e9ebe4}
.pf-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.pf-placeholder{display:grid;place-items:center;height:100%}.pf-placeholder img{opacity:.3}
.pf-badge{position:absolute;top:14px;left:14px;z-index:2;padding:6px 12px;border-radius:30px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#fff;color:var(--ink)}
.pf-badge.pf-sold,.pf-badge.pf-purchased{background:var(--red);color:#fff}.pf-badge.pf-rented{background:#26312d;color:#fff}.pf-badge.pf-active,.pf-badge.pf-for_rent{background:#2f6b4a;color:#fff}
.pf-overlay{position:absolute;inset:auto 0 0 0;padding:60px 20px 18px;color:#fff;background:linear-gradient(180deg,transparent,rgba(15,20,18,.6) 35%,rgba(15,20,18,.92))}
.pf-overlay h3{font:24px/1.2 Georgia,serif;color:#fff;margin:2px 0 4px}
.pf-price{font-size:15px;letter-spacing:.3px}
.pf-loc{font-size:12px;color:rgba(255,255,255,.75);margin:0}
.pf-desc{font-size:13px;line-height:1.6;color:rgba(255,255,255,.9);margin:10px 0 0;padding-top:10px;border-top:1px solid rgba(255,255,255,.22)}
.pf-details{font-size:11px;letter-spacing:.5px;color:rgba(255,255,255,.7);margin:8px 0 0}
.pf-more{display:inline-block;margin-top:10px;font-size:12px;font-weight:700;color:#f3c9cf;transition:transform .2s}.pf-card a:hover .pf-more{transform:translateX(3px)}
.pf-card a:hover .pf-media>img{transform:scale(1.06)}
.home-portfolio{background:#f7f6f1}
.pf-zillow{margin-top:20px}
.admin .pf-form-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px}
.pf-checks{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;margin-bottom:16px}.pf-order{max-width:110px;margin:0}.pf-order-inline{max-width:90px;margin:0;font-size:11px}
@media(max-width:960px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-hero{grid-template-columns:1fr;gap:34px;padding-top:45px}.admin .pf-form-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pf-grid{grid-template-columns:1fr}.pf-stats strong{font-size:34px}}
/* ===== WhatsApp QR ===== */
.wa-qr{display:flex;align-items:center;gap:16px;margin-top:22px;padding:14px;max-width:420px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s}
.wa-qr:hover{border-color:#25d366;box-shadow:0 10px 26px rgba(37,211,102,.15)}
.wa-qr img{width:132px;height:132px;flex-shrink:0;border-radius:6px}
.wa-qr span{font-size:12px;line-height:1.6;color:var(--muted)}.wa-qr b{display:block;font-size:14px;color:var(--ink);margin-bottom:3px}
.wa-qr-small{max-width:260px;padding:10px}.wa-qr-small img{width:96px;height:96px}
@media(max-width:800px){.booking-profile .wa-qr-small{display:none}}
/* ===== Footer v2 ===== */
.public-site footer.site-footer{display:block;padding:60px 5% 26px;background:#1f2826;color:#c5cec9;border:0}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:30px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer .footer-brand{display:flex;align-items:center;gap:14px}
.site-footer .footer-brand img{width:64px;height:56px}
.site-footer .footer-brand span{display:flex;flex-direction:column;font:20px/1.25 Georgia,serif;color:#fff}
.site-footer .footer-brand small{font:600 10px Arial,sans-serif;letter-spacing:.6px;color:#97a59e;margin-top:6px}
.footer-h{font-size:9px!important;font-weight:700;letter-spacing:2px;color:#e1b4b7!important;margin:0 0 12px!important}
.footer-col p{font-size:13px;line-height:1.8;margin:0}.footer-col b{color:#fff;font-weight:600}
.site-footer a{color:#dfe6e2}.site-footer a:hover{color:#fff}
.site-footer .footer-links{display:flex;flex-direction:column;gap:8px;font-size:13px}
.site-footer .footer-social{justify-content:flex-start;margin-top:16px}
.site-footer .social-icons a{background:transparent;border-color:rgba(255,255,255,.2);color:#fff}
.footer-legal{display:flex;gap:22px;align-items:flex-start;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-legal .eho{flex-shrink:0;color:#fff;opacity:.85}
.footer-disclaimer p{font-size:11px;line-height:1.75;color:#93a19a;margin:0 0 10px;max-width:980px}
.footer-disclaimer .legal-links{font-size:12px;color:#c5cec9;margin-top:14px}
.footer-disclaimer .legal-links a{text-decoration:underline;text-underline-offset:3px}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 20px;padding-top:20px;font-size:11px;color:#7f8d86}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr}.site-footer .footer-brand{grid-column:1/-1}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr}.footer-legal{flex-direction:column}}

/* ===== Blog editor toolbar & inline photos ===== */
.editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;border:1px solid var(--line);border-bottom:0;border-radius:6px 6px 0 0;background:#f5f6f1}
.editor-toolbar button{min-height:0;padding:7px 11px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink);font-size:12px;font-weight:600;box-shadow:none;cursor:pointer}
.editor-toolbar button:hover{background:#fff;border-color:var(--line)}
.editor-toolbar .editor-photo{background:var(--red);color:#fff;margin-left:auto}.editor-toolbar .editor-photo:hover{background:#8f1f31;color:#fff}
.editor-toolbar.is-busy{opacity:.6;pointer-events:none}
.editor-status{flex-basis:100%;font-size:11px;color:#3d6543;padding:0 4px}.editor-status:empty{display:none}.editor-status.is-error{color:#a00}
.sr-only-label{margin-top:0}.sr-only-label textarea{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.post-inline{margin:2em 0}.post-inline img{width:100%;height:auto;border-radius:4px;display:block}
.post-inline figcaption{font-size:12px;color:var(--muted);margin-top:8px;text-align:center}
.post-cover{position:relative}.cover-caption{position:absolute;left:0;right:0;bottom:0;padding:70px 6% 26px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,transparent,rgba(15,20,18,.85));color:#fff;font:italic clamp(16px,2vw,22px)/1.5 Georgia,serif}
@media(max-width:600px){.cover-caption{position:static;background:#1f2826;padding:16px 6%}}
.email-tabs a:nth-last-child(2){margin-top:0;border-top-color:transparent}.email-tabs a:last-child{margin-top:14px;border-top:1px solid var(--line)}
@media(min-width:961px){.admin-topnav-inner{gap:4px 0}.admin-topnav a{padding:9px 10px;gap:6px;font-size:12px}.nav-sep{margin:0 3px}}
@media(min-width:961px) and (max-width:1380px){.admin-topnav a svg{display:none}.admin-topnav a{padding:9px 10px}}

/* ===== Homepage background video ===== */
.hero-v2.has-video{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding-left:5%;padding-right:5%;max-width:none}
.hero-bg{position:absolute;inset:0;z-index:-1;background:#1f2826}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-video.is-playing{opacity:1}
.hero-bg-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,15,.55) 0%,rgba(12,16,15,.3) 38%,rgba(12,16,15,0) 62%),linear-gradient(0deg,rgba(12,16,15,.35),transparent 30%)}
.hero-v2.has-video h1,.hero-v2.has-video h1 em,.hero-v2.has-video .intro,.hero-v2.has-video .signature-line,.hero-v2.has-video .hero-signature p,.hero-v2.has-video .hero-signature b{color:#fff}
.hero-v2.has-video .eyebrow{color:#f3c9cf}.hero-v2.has-video .little-line{background:#f3c9cf}
.hero-v2.has-video .actions .text-link{color:#fff;border-color:rgba(255,255,255,.6)}
.hero-v2.has-video .hero-signature{border-color:rgba(255,255,255,.25)}
.hero-v2.has-video .hero-visual{box-shadow:0 30px 60px rgba(0,0,0,.35)}
@media(max-width:700px){.hero-bg-shade{background:linear-gradient(180deg,rgba(12,16,15,.45) 0%,rgba(12,16,15,.35) 50%,rgba(12,16,15,.55) 100%)}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* ===== Clear video: no heavy dark layer, readable text through soft shadows ===== */
.hero-video{filter:none;transform:translateZ(0)}
.hero-v2.has-video .hero-copy{text-shadow:0 2px 4px rgba(0,0,0,.45),0 4px 28px rgba(0,0,0,.55)}
.hero-v2.has-video .hero-copy .button{text-shadow:none}
.hero-v2.has-video .intro{font-weight:500}

/* ===== Readability: larger text across the public site ===== */
body.public-site{font-size:17px;line-height:1.7}
body.public-site main p{font-size:17px;line-height:1.75}
body.public-site .eyebrow,body.public-site main p.eyebrow{font-size:12px;letter-spacing:2.4px;line-height:1.6}
body.public-site .nav-links a{font-size:15px}
body.public-site .nav-phone{font-size:15px}
body.public-site .button,body.public-site button,body.public-site .wide-button{font-size:15px}
body.public-site .text-link{font-size:15px}
body.public-site label{font-size:14px}
body.public-site input,body.public-site select,body.public-site textarea{font-size:16px}
body.public-site .optional,body.public-site .field-note,body.public-site main p.field-note{font-size:14px}
/* hero */
body.public-site .hero-v2 .intro,body.public-site main .hero-v2 p.intro{font-size:19px;line-height:1.8}
body.public-site .hero-signature p,body.public-site main .hero-signature p{font-size:15px;line-height:1.6}
body.public-site .portrait-label span{font-size:12px}
body.public-site .values-bar span,body.public-site .values-bar a{font-size:13px}
body.public-site .values-bar p,body.public-site main .values-bar p{font-size:22px}
/* sections */
body.public-site .section-title p,body.public-site main .section-title p{font-size:17px}
body.public-site .service-photo .service-body>b{font-size:15px}
body.public-site .service-photo .service-body p,body.public-site main .service-photo .service-body p{font-size:16px;line-height:1.65}
body.public-site .service-more,body.public-site .service-photo .service-top span:first-child{font-size:13px}
body.public-site .approach-mini h3{font-size:19px}
body.public-site .approach-mini p,body.public-site main .approach-mini p{font-size:16px}
body.public-site .image-note,body.public-site .journey figcaption{font-size:13px}
body.public-site .calendar-teaser span,body.public-site .calendar-teaser p,body.public-site .calendar-teaser small{font-size:15px}
body.public-site .contact-link{font-size:34px}
body.public-site .email-link{font-size:18px}
body.public-site .broker,body.public-site .broker span,body.public-site .broker b{font-size:15px}
body.public-site .broker small{font-size:13px}
body.public-site .wa-qr span{font-size:14.5px}body.public-site .wa-qr b{font-size:17px}
body.public-site .social-labeled a{font-size:14px}
body.public-site .mobile-cta a{font-size:15px}
/* portfolio */
body.public-site .pf-badge{font-size:11.5px}
body.public-site .pf-price{font-size:18px}
body.public-site .pf-overlay h3{font-size:27px}
body.public-site main .pf-loc{font-size:15px}
body.public-site main .pf-desc{font-size:16px;line-height:1.6}
body.public-site main .pf-details{font-size:14px}
body.public-site .pf-more{font-size:14px}
body.public-site .pf-filter a{font-size:14px}
body.public-site .pf-stats span{font-size:12px}
/* blog */
body.public-site main .blog-meta{font-size:12.5px}
body.public-site .blog-card-body h3{font-size:24px}
body.public-site main .blog-card-body>p:not(.blog-meta){font-size:16px}
body.public-site .blog-more{font-size:14px}
body.public-site .post-body,body.public-site .post-body p{font-size:19px;line-height:1.85}
body.public-site .post-byline b{font-size:15px}body.public-site .post-byline span{font-size:13.5px}
body.public-site .post-share a{font-size:14px}
body.public-site .post-gallery figcaption,body.public-site .post-inline figcaption{font-size:14px}
/* booking */
body.public-site main p.booking-detail{font-size:16px}
body.public-site main p.booking-note{font-size:15px}
body.public-site .calendar-day{font-size:16px}
body.public-site .weekday{font-size:12.5px}
body.public-site .time-option span{font-size:15px}
/* footer */
body.public-site .footer-h{font-size:11.5px!important}
body.public-site .footer-col p,body.public-site .site-footer .footer-links{font-size:15.5px}
body.public-site .site-footer .footer-brand small{font-size:12.5px}
body.public-site .footer-disclaimer p{font-size:13.5px;line-height:1.75}
body.public-site .footer-disclaimer .legal-links{font-size:14.5px}
body.public-site .footer-bottom{font-size:13px}
body.public-site .admin-bar{font-size:13px}
@media(max-width:700px){
body.public-site main p{font-size:16.5px}
body.public-site .hero-v2 .intro,body.public-site main .hero-v2 p.intro{font-size:17.5px}
body.public-site .contact-link{font-size:28px}
body.public-site .post-body,body.public-site .post-body p{font-size:18px}
body.public-site .values-bar p,body.public-site main .values-bar p{font-size:19px}
}
body.public-site .hero-signature b{font-size:15px}
body.public-site .approach-mini span,body.public-site .teaser-step b,body.public-site .booking-step span{font-size:13px}
body.public-site .journey figcaption span{font-size:13px}
body.public-site label.checkbox,body.public-site label.checkbox a{font-size:14px}
@media(max-width:700px){body.public-site .contact{grid-template-columns:minmax(0,1fr)}body.public-site .contact-card .grid.two,body.public-site #booking-form .grid.two{grid-template-columns:minmax(0,1fr)}body.public-site .contact-card,body.public-site .contact>*{min-width:0}}
/* ===== Admin upload progress ===== */
.upload-progress{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(20,26,24,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px}
.upload-progress[hidden]{display:none}
.up-card{width:min(440px,100%);background:#fff;border-radius:12px;padding:28px 28px 22px;box-shadow:0 30px 70px rgba(0,0,0,.3);text-align:center}
.up-title{font:24px Georgia,serif;color:var(--ink);margin:0 0 18px}
.up-bar{height:12px;border-radius:20px;background:#eceee7;overflow:hidden}
.up-bar span{display:block;height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,#c2334a,#a5223a);background-size:200% 100%;transition:width .3s ease;animation:upShine 1.4s linear infinite}
@keyframes upShine{0%{background-position:200% 0}100%{background-position:-200% 0}}
.up-pct{font:40px/1.1 Georgia,serif;color:var(--ink);margin:16px 0 4px}
.up-info{font-size:14px;color:var(--muted);margin:0 0 6px}
.up-tip{font-size:13px;color:var(--muted);margin:0 0 18px}
.up-cancel{background:#fff;color:var(--ink);border:1px solid var(--line);padding:9px 18px;border-radius:30px;font-size:13px;cursor:pointer}
.up-cancel:hover{border-color:var(--red);color:var(--red)}
@media(prefers-reduced-motion:reduce){.up-bar span{animation:none;transition:none}}

/* ===== Realty logo ===== */
.public-site .site-header .brand img.brand-logo{width:auto;height:76px;max-width:330px}
.site-footer .footer-brand img.brand-logo{width:auto;height:90px;max-width:100%}
.admin-brand img.brand-logo{width:auto;height:52px}
.admin-brand span.admin-tag{display:inline-block;font:700 9px Arial,sans-serif;letter-spacing:2px;color:#fff;background:var(--red);padding:4px 8px;border-radius:20px;align-self:center}
.public-site .site-header{min-height:96px}
@media(max-width:960px){.public-site .site-header .brand img.brand-logo{height:56px}.admin-brand img.brand-logo{height:38px}}
@media(max-width:400px){.public-site .site-header .brand img.brand-logo{height:50px;max-width:200px}.admin-brand .admin-tag{display:none}}

/* =====================================================================
   October 18 update: wide screens, featured areas, listings, detail
   pages, bio, reviews marquee, brand footer, legal logos, admin groups
   ===================================================================== */
:root{--brand:#7a1830;--brand-deep:#5c1022;--gold:#c9a24a}
/* Desktop & laptop: content stays centred and never stretches too wide */
@media(min-width:1100px){
  .public-site .site-header,.public-site .hero-v2,.public-site .values-bar,.public-site .content-section,.public-site .pf-hero,.public-site .blog-hero,.public-site .booking-intro,.public-site .booking-layout,.public-site footer.site-footer,.public-site .page-hero-text{padding-left:max(5%,calc((100% - 1320px)/2));padding-right:max(5%,calc((100% - 1320px)/2))}
  .public-site .consultation-banner,.public-site .blog-cta{margin-left:max(5%,calc((100% - 1320px)/2));margin-right:max(5%,calc((100% - 1320px)/2))}
  .public-site .hero-v2{min-height:min(780px,calc(100vh - 96px));align-items:center}
  .public-site .post{max-width:820px}
}
/* Centred section titles (featured areas, listings, reviews) */
.center-title{text-align:center;max-width:760px;margin:0 auto 44px}
.center-title h2{font-size:clamp(34px,3.6vw,52px);margin:6px 0 0}
.title-rule{display:block;width:150px;height:2px;background:var(--brand);margin:22px auto 20px}
.center-title p:not(.eyebrow){color:var(--muted)}
.center-link{text-align:center;margin-top:34px;display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap}
/* ---------- Featured areas ---------- */
.home-areas{background:#f6f5f0}
.area-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}
.area-grid.area-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}.area-grid.area-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.area-grid.area-count-1{grid-template-columns:minmax(0,640px);justify-content:center}
.area-card a{position:relative;display:block;aspect-ratio:3/3.6;overflow:hidden;border-radius:4px;color:#fff;text-decoration:none;isolation:isolate}
.area-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.area-shade{position:absolute;inset:0;z-index:-1;background:rgba(20,16,18,.38);transition:background .45s ease}
.area-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.area-explore{font-size:13px;letter-spacing:7px;text-transform:uppercase;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.area-card h3{color:#fff;font:clamp(30px,2.6vw,42px)/1.1 Georgia,serif;margin:12px 0 0;text-shadow:0 3px 18px rgba(0,0,0,.45)}
.area-desc{max-height:0;opacity:0;overflow:hidden;margin:0;font-size:15.5px!important;line-height:1.6!important;color:rgba(255,255,255,.92)!important;transition:max-height .5s ease,opacity .4s ease,margin .4s ease}
.area-cta{opacity:0;transform:translateY(8px);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:3px;transition:opacity .4s ease .05s,transform .4s ease .05s}
.area-card a:hover img,.area-card a:focus-visible img{transform:scale(1.08)}
.area-card a:hover .area-shade,.area-card a:focus-visible .area-shade{background:linear-gradient(180deg,rgba(92,16,34,.55),rgba(20,10,14,.82))}
.area-card a:hover .area-desc,.area-card a:focus-visible .area-desc{max-height:180px;opacity:1;margin:14px 0 18px}
.area-card a:hover .area-cta,.area-card a:focus-visible .area-cta{opacity:1;transform:none}
@media(hover:none){.area-desc{max-height:180px;opacity:1;margin:12px 0 14px}.area-cta{opacity:1;transform:none}}
/* ---------- Listings: card, slider, grid ---------- */
.lst-card a{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:6px;overflow:hidden;color:var(--ink);text-decoration:none;box-shadow:0 8px 30px rgba(31,40,38,.08);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.lst-card a:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(31,40,38,.16);color:var(--ink)}
.lst-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e9ebe4;isolation:isolate}
.lst-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1);z-index:-1}
.lst-card a:hover .lst-media>img{transform:scale(1.07)}
.lst-badge{position:absolute;top:16px;left:16px;z-index:3;background:var(--brand);color:#fff;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:7px 13px;border-radius:2px}
.lst-badge.lst-sold,.lst-badge.lst-rented,.lst-badge.lst-purchased{background:#26312d}.lst-badge.lst-pending{background:#9a6a1f}
.lst-badge.static{position:static;display:inline-block;margin-bottom:12px}
.lst-onimage{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:70px 20px 16px;background:linear-gradient(180deg,transparent,rgba(12,14,13,.82));color:#fff;transition:opacity .35s ease}
.lst-price{display:block;font:700 26px/1.15 Georgia,serif;letter-spacing:.2px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.lst-loc{display:block;font-size:15px;color:rgba(255,255,255,.9);margin-top:3px}
.lst-hover{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:linear-gradient(180deg,rgba(92,16,34,.5),rgba(40,8,18,.93));color:#fff;opacity:0;transform:translateY(16px);transition:opacity .4s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.lst-hover h3{color:#fff;font:24px/1.25 Georgia,serif;margin:0 0 8px}
.lst-hover p{color:rgba(255,255,255,.9)!important;font-size:15.5px!important;line-height:1.6!important;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.lst-view{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.lst-card a:hover .lst-hover,.lst-card a:focus-visible .lst-hover{opacity:1;transform:none}
.lst-card a:hover .lst-onimage,.lst-card a:focus-visible .lst-onimage{opacity:0}
.lst-body{padding:18px 20px 20px;flex:1}
.lst-title{font:19px/1.35 Georgia,serif;margin:0 0 12px;color:var(--ink)}
.lst-facts{margin:0;border-top:1px solid var(--line);padding-top:10px}
.lst-facts div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.lst-facts dt{color:var(--muted);font-size:15px}.lst-facts dd{margin:0;font-size:15px;font-weight:500;text-align:right}
.lst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.home-listings{background:#fbfaf7}
.lst-slider{position:relative}
.lst-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*24px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 26px;scrollbar-width:none}
.lst-track::-webkit-scrollbar{display:none}
.lst-track>.lst-card{scroll-snap-align:start}
.slider-btn{position:absolute;top:34%;z-index:5;width:56px;height:56px;border-radius:50%;background:#fff;color:var(--ink);font-size:30px;line-height:1;display:grid;place-items:center;padding:0;box-shadow:0 8px 24px rgba(0,0,0,.15);transition:transform .2s,background .2s,color .2s,opacity .2s}
.slider-btn.prev{left:-28px}.slider-btn.next{right:-28px}
.slider-btn:hover{background:var(--brand);color:#fff;transform:scale(1.06)}
.slider-btn[disabled]{opacity:0;pointer-events:none}
/* ---------- Detail pages (property, area, service) ---------- */
.detail-head{padding-top:44px;padding-bottom:10px}
.detail-head .eyebrow a,.page-hero .eyebrow a{color:inherit;text-decoration:none}
.detail-title{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:10px 0 24px}
.detail-title h1{font-size:clamp(34px,4vw,54px);line-height:1.1;margin:0}
.detail-sub{color:var(--muted);margin:8px 0 0}
.detail-price{font:700 clamp(30px,3vw,42px) Georgia,serif;color:var(--brand)}
.detail-gallery{display:grid;gap:10px;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;border-radius:6px;overflow:hidden}
.detail-gallery a{position:relative;display:block;overflow:hidden}.detail-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.detail-gallery a:hover img{transform:scale(1.04)}
.detail-gallery a.main{grid-row:1/3}
.detail-gallery.g1{grid-template-columns:1fr;grid-template-rows:520px}.detail-gallery.g2{grid-template-columns:2fr 1fr;grid-template-rows:480px}.detail-gallery.g2 a.main{grid-row:auto}
.detail-gallery.g3{grid-template-columns:2fr 1fr}.detail-gallery.g4 a:nth-child(4){grid-column:2/4}
.more-photos{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,16,18,.55);color:#fff;font-size:18px;font-weight:700}
.detail-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:26px 0 0;background:#fff;border:1px solid var(--line);border-radius:6px}
.detail-facts div{padding:16px 20px;border-right:1px solid var(--line)}.detail-facts div:last-child{border-right:0}
.detail-facts dt{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}.detail-facts dd{margin:4px 0 0;font:20px/1.3 Georgia,serif;color:var(--ink)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start;padding-top:40px}
.detail-main .post-body{max-width:none}
.detail-lead{font:clamp(21px,2vw,25px)/1.6 Georgia,serif!important;color:var(--ink)!important;margin:0 0 26px}
.detail-h2{font-size:30px;margin:40px 0 14px}
.detail-aside{position:sticky;top:110px;display:grid;gap:18px}
.detail-aside .card{margin:0}
.contact-box{display:grid;grid-template-columns:72px 1fr;gap:14px 16px;align-items:center}
.contact-box img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.contact-box b{display:block;font:20px Georgia,serif}.contact-box span{font-size:14px;color:var(--muted)}
.contact-box .button{grid-column:1/-1;justify-content:center}
.contact-box-line{grid-column:1/-1;font-size:15px;color:var(--ink);border-top:1px solid var(--line);padding-top:10px}
.enquiry-card h3{font:24px Georgia,serif;margin-bottom:14px}
.highlight-card ul{list-style:none;padding:0;margin:8px 0 0}
.highlight-card li{position:relative;padding:9px 0 9px 28px;border-bottom:1px solid var(--line);font-size:16px}
.highlight-card li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:12px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px #f3d6da}
.detail-more{background:#f6f5f0}
.page-hero{position:relative;min-height:min(560px,62vh);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;color:#fff}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,12,14,.15),rgba(15,12,14,.72))}
.page-hero-text{width:100%;padding:60px 5% 48px;box-sizing:border-box}
.page-hero h1{color:#fff;font-size:clamp(42px,5.4vw,76px);line-height:1.05;margin:8px 0 0;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.page-hero .eyebrow{color:#f3c9cf}.page-hero-tag{font:italic clamp(19px,2vw,25px)/1.4 Georgia,serif!important;color:rgba(255,255,255,.92)!important;margin:10px 0 0}
/* ---------- About / bio ---------- */
.bio-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:6%;align-items:center;padding-top:60px}
.bio-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:120px 6px 6px 6px;box-shadow:0 30px 60px rgba(31,40,38,.15)}
.bio-intro h1{font-size:clamp(42px,5vw,70px);line-height:1.05;margin:10px 0 18px}
.bio-lead{font:italic clamp(21px,2vw,26px)/1.5 Georgia,serif!important;color:var(--ink)!important}
.bio-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:26px 0;border-top:1px solid var(--line)}
.bio-facts div{padding:14px 0;border-bottom:1px solid var(--line)}
.bio-facts dt{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.bio-facts dd{margin:4px 0 0;font-size:17px;color:var(--ink)}
.bio-intro .actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:26px 0 20px}
.bio-story{max-width:820px;margin:0 auto}
.bio-quote{margin:46px 0 0;padding:34px 0 0;border-top:1px solid var(--line);text-align:center}
.bio-quote p{font:italic clamp(24px,2.6vw,34px)/1.45 Georgia,serif!important;color:var(--brand)!important}
.bio-quote cite{font-style:normal;font-size:15px;color:var(--muted)}
.bio-services,.bio-reviews{background:#f6f5f0}
.about-links{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:22px}
/* ---------- Reviews ---------- */
.home-reviews{overflow:hidden}
.review-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.review-track{display:flex;gap:24px;width:max-content;animation:reviewsLTR 70s linear infinite}
.review-marquee:hover .review-track,.review-marquee:focus-within .review-track{animation-play-state:paused}
@keyframes reviewsLTR{from{transform:translateX(calc(-50% - 12px))}to{transform:translateX(0)}}
.review-card{width:380px;flex-shrink:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 26px 22px;display:flex;flex-direction:column;box-shadow:0 6px 20px rgba(31,40,38,.05)}
.review-stars{color:var(--gold);font-size:18px;letter-spacing:3px}
.review-card blockquote{margin:12px 0 18px;font:17px/1.65 Georgia,serif;color:var(--ink);display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.review-card figcaption{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:14px}
.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font:18px Georgia,serif;flex-shrink:0}
.review-card figcaption b{display:block;font-size:15px}.review-card figcaption small{font-size:13px;color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-grid .review-card{width:auto}
@media(prefers-reduced-motion:reduce){.review-track{animation:none}.review-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}
/* ---------- Service cards: no numbers ---------- */
.service-photo .service-top{justify-content:flex-end}
/* ---------- Footer: brand colour themes + Dietz-style disclaimer ---------- */
.public-site footer.site-footer.theme-burgundy{background:linear-gradient(135deg,#4f0d1d 0%,#7a1830 55%,#5c1022 100%)}
.public-site footer.site-footer.theme-crimson{background:linear-gradient(135deg,#7f1729,#ab263b 60%,#8c1d30)}
.public-site footer.site-footer.theme-charcoal{background:#1f2826}
.public-site footer.site-footer.theme-navy{background:linear-gradient(135deg,#121c30,#1d2a44 60%,#16213a)}
.site-footer[class*="theme-"]{color:#f1e4e6}
.site-footer[class*="theme-"] .footer-h{color:#ffd0d7!important}
.site-footer[class*="theme-"] a{color:#fff}
.site-footer[class*="theme-"] .footer-col p{color:#f1e4e6}
.site-footer .footer-top{grid-template-columns:1.5fr 1fr 1fr 1.15fr;border-bottom-color:rgba(255,255,255,.16)}
.footer-about img.brand-logo{height:84px!important;width:auto;max-width:100%;margin-bottom:14px}
.footer-about p{font-size:15px!important;line-height:1.75}
.site-footer .footer-links a{opacity:.92;transition:opacity .2s,transform .2s}.site-footer .footer-links a:hover{opacity:1;transform:translateX(3px)}
.site-footer .social-icons a{border-color:rgba(255,255,255,.35)}
.site-footer .social-icons a:hover{background:#fff;color:var(--brand);border-color:#fff}
.footer-legal{display:block!important;text-align:center;padding:34px 0 26px!important;border-bottom:1px solid rgba(255,255,255,.16)!important}
.footer-disclaimer{max-width:1120px;margin:0 auto}
.footer-disclaimer p,body.public-site .footer-disclaimer p{text-transform:uppercase;font-size:12.5px!important;letter-spacing:.7px;line-height:1.95!important;color:rgba(255,240,242,.82)!important;margin:0 auto 10px!important;max-width:none!important}
.legal-logos{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap;margin:22px 0 14px}
.legal-logo{height:58px;width:auto}
img.legal-logo:not(.eho-logo){background:#fff;border-radius:6px;padding:6px;box-sizing:border-box}
.eho-logo{filter:invert(1);height:62px}
.realtor-text{display:inline-flex;align-items:center;justify-content:center;height:58px;padding:0 14px;border:2px solid #fff;border-radius:4px;font:800 17px/1 Arial,sans-serif;letter-spacing:1px;color:#fff}
.realtor-text sup{font-size:10px;margin-left:1px}
.footer-legal .legal-links{margin:6px 0 0;font-size:14.5px}
.site-footer .footer-bottom{color:rgba(255,240,242,.7)}
@media(max-width:900px){.site-footer .footer-top{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}
@media(max-width:560px){.site-footer .footer-top{grid-template-columns:1fr}}
/* ---------- Responsive ---------- */
@media(max-width:1100px){.lst-track{grid-auto-columns:calc((100% - 2*24px)/3)}.slider-btn.prev{left:-10px}.slider-btn.next{right:-10px}}
@media(max-width:960px){.area-grid,.area-grid.area-count-3{grid-template-columns:repeat(2,minmax(0,1fr))}.lst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lst-track{grid-auto-columns:calc((100% - 24px)/2)}.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}.bio-hero{grid-template-columns:1fr}.bio-photo{max-width:520px}.review-grid{grid-template-columns:1fr 1fr}.detail-gallery{grid-template-rows:180px 180px}}
@media(max-width:600px){.area-grid,.area-grid.area-count-3,.area-grid.area-count-2{grid-template-columns:1fr}.area-card a{aspect-ratio:4/3.4}.lst-grid{grid-template-columns:1fr}.lst-track{grid-auto-columns:86%}.slider-btn{display:none}.detail-gallery,.detail-gallery.g2,.detail-gallery.g3{grid-template-columns:1fr 1fr;grid-template-rows:240px 120px}.detail-gallery a.main{grid-column:1/-1;grid-row:auto}.detail-gallery a:nth-child(n+4){display:none}.detail-gallery.g1{grid-template-rows:280px}.bio-facts{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-card{width:300px}.detail-facts div{border-right:0;border-bottom:1px solid var(--line)}.title-rule{width:100px}}
/* ---------- Admin: grouped menu with dropdowns ---------- */
.admin-topnav .nav-group{position:relative}
.admin-topnav .nav-group-btn,.admin-topnav a.nav-top{position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:30px;border:0;background:transparent;color:#d3dbd6;font-size:13px;font-weight:600;letter-spacing:.2px;text-decoration:none;white-space:nowrap;cursor:pointer;min-height:0;box-shadow:none;font-family:inherit;transition:background .2s,color .2s}
.admin-topnav .nav-group-btn:hover,.admin-topnav a.nav-top:hover,.admin-topnav .nav-group.is-open>.nav-group-btn{background:rgba(255,255,255,.1);color:#fff}
.admin-topnav .nav-group.is-active>.nav-group-btn,.admin-topnav a.nav-top.is-active{color:#fff;background:linear-gradient(135deg,#c2334a,#a5223a);box-shadow:0 6px 18px rgba(194,51,74,.45)}
.admin-topnav .nav-group-btn svg,.admin-topnav a.nav-top svg{color:#9fb0a7}
.admin-topnav .nav-group.is-active>.nav-group-btn svg,.admin-topnav a.nav-top.is-active svg{color:#fff}
.caret{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px;transition:transform .25s}
.nav-group.is-open .caret{transform:rotate(225deg) translateY(-1px)}
.nav-drop{position:absolute;top:calc(100% + 10px);left:0;min-width:230px;background:#fff;border-radius:10px;box-shadow:0 22px 50px rgba(0,0,0,.22);padding:8px;display:grid;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1),visibility .2s;z-index:90}
.nav-drop::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.nav-drop a{display:block;padding:10px 14px;border-radius:7px;color:var(--ink)!important;font-size:14px;font-weight:500;text-decoration:none;opacity:1!important;transform:none!important;animation:none!important;background:transparent!important;box-shadow:none!important}
.nav-drop a::before,.nav-drop a::after{display:none!important}
.nav-drop a:hover{background:#f5f2f0!important;color:var(--red)!important}
.nav-drop a.is-active{background:#fbecee!important;color:var(--red)!important;font-weight:700}
@media(min-width:961px) and (hover:hover){.nav-group:hover .nav-drop,.nav-group:focus-within .nav-drop{opacity:1;visibility:visible;transform:none}}
.nav-group.is-open .nav-drop{opacity:1;visibility:visible;transform:none}
@media(max-width:960px){
  .admin-topnav-inner{grid-template-columns:1fr!important}
  .admin-topnav .nav-group,.admin-topnav a.nav-top{opacity:0;transform:translateY(-8px);transition:opacity .3s,transform .3s}
  .admin-nav-open .admin-topnav .nav-group,.admin-nav-open .admin-topnav a.nav-top{opacity:1;transform:none}
  .admin-topnav .nav-group-btn{width:100%;justify-content:flex-start;border-radius:10px;background:rgba(255,255,255,.04)}
  .admin-topnav a.nav-top{width:100%;border-radius:10px;background:rgba(255,255,255,.04)}
  .nav-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;padding:4px 0 6px 34px;grid-template-columns:1fr 1fr;min-width:0}
  .nav-drop a{color:#d3dbd6!important;font-size:13px;padding:8px 10px}
  .nav-drop a:hover,.nav-drop a.is-active{background:rgba(255,255,255,.1)!important;color:#fff!important}
  .caret{display:none}
}
/* Admin: send email, templates, CRM buttons */
.compose-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start}
.compose-grid .card{margin:0 0 20px}
.crm-find{position:relative}
.crm-results{position:absolute;left:0;right:0;top:100%;z-index:20;list-style:none;margin:-8px 0 0;padding:6px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px rgba(0,0,0,.12);max-height:300px;overflow:auto}
.crm-results button{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);padding:9px 10px;border-radius:6px;min-height:0;box-shadow:none}
.crm-results button:hover{background:#f5f2f0}
.crm-results b{display:block;font-size:14px}.crm-results span{font-size:12px;color:var(--muted)}
.crm-results .empty{padding:10px;font-size:13px;color:var(--muted)}
.crm-mail{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:20px;background:#fbecee;color:var(--red)!important;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap;vertical-align:middle}
.crm-mail:hover{background:var(--red);color:#fff!important}
.editor-toolbar [data-insert]{font-family:ui-monospace,Menlo,monospace;font-size:11px}
.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-bottom:18px}
.tpl-card{margin:0;display:flex;flex-direction:column}.tpl-card h2{font:21px Georgia,serif;margin:0 0 6px}
.tpl-snippet{font-size:13px;color:var(--muted);flex:1}
.tpl-new{display:grid;place-items:center;text-align:center;border:2px dashed var(--line);background:transparent;color:var(--muted);font-weight:600;min-height:180px;text-decoration:none}
.tpl-new span{font-size:34px;line-height:1;color:var(--red)}
.smtp-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 16px}
.review-admin-quote{font:16px/1.6 Georgia,serif;color:var(--ink);margin:12px 0}
@media(max-width:1000px){.compose-grid{grid-template-columns:1fr}}
/* Safety: images and buttons never push the page wider than the screen */
.public-site img{max-width:100%}
.detail-aside,.detail-aside *,.lst-card *,.area-card *,.review-card,.review-card *{box-sizing:border-box}
.detail-aside .button{max-width:100%;white-space:normal;text-align:center}
/* Admin header on small phones: keep everything inside the screen */
@media(max-width:560px){
  .admin-head-right{gap:6px!important;flex-shrink:0}
  .admin-menu-btn .menu-label{display:none}
  .admin-menu-btn{padding:0 12px!important;min-width:44px}
  .admin-header .brand-logo,.admin-head .brand-logo{height:34px!important;width:auto}
  .admin-head-left .badge,.admin-badge{display:none}
}
/* Homepage "Let's put something on the calendar" banner in brand colour (matches footer) */
.consultation-banner{background:linear-gradient(135deg,#4f0d1d 0%,#7a1830 55%,#5c1022 100%)!important;color:#fff;box-shadow:0 24px 60px rgba(92,16,34,.28)}
.consultation-banner .eyebrow{color:#ffd0d7!important}
.consultation-banner h2{color:#fff}
.consultation-banner p{color:#f6e3e6!important}
.consultation-banner .light-button{background:#fff;color:#7a1830}
.consultation-banner .light-button:hover{background:#ffd0d7;color:#5c1022}
.calendar-teaser{border-color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.08)!important;color:#fff}
.calendar-teaser .teaser-top{color:#ffd0d7!important}
.calendar-teaser>p,.calendar-teaser small{color:#f6e3e6!important}
.teaser-step{border-top-color:rgba(255,255,255,.22)!important}
.teaser-step b{color:#ffb3bf!important}

/* =====================================================================
   October 29 update: property cards, filters, mortgage calculator,
   share bar, printing, blog drag & drop, dashboard, flyers, invoices
   ===================================================================== */
/* Property cards (modern listing style) */
.lst-badge{font-size:14px!important;letter-spacing:1.2px!important;padding:9px 16px!important;border-radius:3px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.lst-badge.lst-active,.lst-badge.lst-for_rent{background:var(--brand)}
.lst-feat{position:absolute;top:16px;right:16px;z-index:3;background:rgba(255,255,255,.95);color:var(--brand-deep);font-size:12.5px;font-weight:700;letter-spacing:.4px;padding:7px 12px;border-radius:20px}
.lst-onimage{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.lst-type{font-size:12.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);padding:5px 10px;border-radius:20px;white-space:nowrap}
.lst-body{display:flex;flex-direction:column;padding:18px 20px 20px}
.lst-title{font-size:21px!important;margin:0 0 6px!important}
.lst-loc2{display:flex;align-items:center;gap:6px;margin:0 0 14px!important;color:var(--muted)!important;font-size:15px!important}
.lst-loc2 .ic{color:var(--brand);flex-shrink:0}
.lst-specs{list-style:none;margin:0 0 16px;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 18px}
.lst-specs li{display:flex;align-items:center;gap:7px;font-size:15px;color:var(--ink)}
.lst-specs .ic{color:var(--brand)}
.lst-btn{margin-top:auto;display:flex;justify-content:center;align-items:center;gap:8px;border:1.5px solid var(--brand);color:var(--brand);border-radius:4px;padding:11px;font-size:14px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;transition:background .25s,color .25s}
.lst-card a:hover .lst-btn{background:var(--brand);color:#fff}
.lst-facts{display:none}
.lst-home{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-listings .center-link{margin-top:40px}
/* Listings page: centred heading + search bar */
.pf-hero.pf-hero-center{display:block!important;text-align:center;max-width:900px;margin:0 auto;padding-top:70px;padding-bottom:30px}
.pf-hero-center h1{font-size:clamp(40px,4.6vw,64px);margin:8px 0 0}
.pf-hero-center>p:not(.eyebrow){color:var(--muted);max-width:640px;margin:0 auto}
.pf-hero-center .pf-stats{display:flex;justify-content:center;gap:0;margin:30px auto 0;max-width:720px;border:1px solid var(--line);border-radius:8px;background:#fff}
.pf-hero-center .pf-stats div{flex:1;padding:16px 10px;border-right:1px solid var(--line)}
.pf-hero-center .pf-stats div:last-child{border-right:0}
.pf-hero-center .pf-stats strong{display:block;font:32px Georgia,serif;color:var(--brand)}
.pf-hero-center .pf-stats span{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.pf-search{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:0 0 18px;padding:18px}
.pf-search label{margin:0;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.pf-search label span{display:block;margin-bottom:6px}
.pf-search input,.pf-search select{width:100%;margin:0;box-sizing:border-box}
.pf-search button{height:48px;padding:0 28px;background:var(--brand);color:#fff;border:0;border-radius:4px;font-weight:700}
.pf-count{color:var(--muted);margin:0 0 20px}
/* Mortgage calculator */
.mortgage-section{background:#f6f5f0}
.mortgage-head{text-align:center;max-width:640px;margin:0 auto 28px}
.mortgage-head h2{font-size:clamp(32px,3.4vw,46px);margin:6px 0 8px}
.mortgage-head p:not(.eyebrow){color:var(--muted)}
.mortgage-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
.mortgage-grid .card{margin:0}
.grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mortgage-form label{font-size:14px}
.mortgage-result{background:linear-gradient(160deg,#4f0d1d,#7a1830)!important;color:#fff;border:0!important}
.mortgage-result .eyebrow{color:#ffd0d7!important}
.mortgage-total{font:700 clamp(44px,4.4vw,58px)/1.05 Georgia,serif!important;color:#fff!important;margin:6px 0 16px!important}
.mortgage-bar{display:flex;height:12px;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.15);margin-bottom:16px}
.mortgage-bar span{display:block;height:100%;transition:width .4s ease}
.mb-pi{background:#ffd0d7}.mb-tax{background:#c9a24a}.mb-ins{background:#8fc1b0}.mb-hoa{background:#b9b2f0}
.mortgage-lines{margin:0 0 18px}
.mortgage-lines div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:15.5px}
.mortgage-lines dt{display:flex;align-items:center;gap:9px;color:#f6e3e6}
.mortgage-lines dt i{display:inline-block;width:10px;height:10px;border-radius:3px}
.mortgage-lines dd{margin:0;font-weight:700}
.mortgage-lines .ml-sub dt{padding-left:19px;color:rgba(255,255,255,.75)}
.mortgage-result .button{background:#fff;color:var(--brand);justify-content:center}
.mortgage-result .field-note{color:rgba(255,255,255,.75)!important;margin-top:12px}
.detail-mortgage{margin-top:40px}
.detail-mortgage .mortgage-grid{grid-template-columns:1fr}
.detail-mortgage .mortgage-head{text-align:left;margin-left:0}
/* Share bar */
.share-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:22px 0 4px}
.share-label{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-right:4px}
.share-btn{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:30px;border:1px solid var(--line);background:#fff;color:var(--ink)!important;font-size:14px;font-weight:600;text-decoration:none;box-shadow:none;cursor:pointer;font-family:inherit}
.share-btn:hover{border-color:var(--brand);color:var(--brand)!important}
.share-fb:hover{background:#1877f2;border-color:#1877f2;color:#fff!important}
.share-wa:hover{background:#25d366;border-color:#25d366;color:#fff!important}
.share-pdf{background:var(--brand);border-color:var(--brand);color:#fff!important}
.share-pdf:hover{background:var(--brand-deep);color:#fff!important}
.share-link{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff;min-width:0;flex:1 1 260px;max-width:440px}
.share-link input{border:0!important;margin:0!important;min-height:40px;padding:0 14px!important;font-size:13.5px;color:var(--muted);background:transparent;flex:1;min-width:0;box-shadow:none!important}
.share-link button{border:0;border-left:1px solid var(--line);border-radius:0;background:#f6f5f0;color:var(--ink);font-size:13.5px;font-weight:700;padding:0 16px;min-height:40px;box-shadow:none;cursor:pointer}
.share-link button.is-done{background:#e2f3e8;color:#1d6a3b}
.post .share-bar{margin:20px 0 0}
@media(max-width:960px){.lst-home{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-search{grid-template-columns:1fr 1fr}.pf-search .pf-q{grid-column:1/-1}.mortgage-grid{grid-template-columns:1fr}}
@media(max-width:600px){.lst-home{grid-template-columns:1fr}.pf-search{grid-template-columns:1fr}.pf-hero-center .pf-stats{flex-wrap:wrap}.pf-hero-center .pf-stats div{flex:1 1 50%;border-bottom:1px solid var(--line)}.grid.three{grid-template-columns:1fr}.share-btn span{display:none}.share-btn{padding:0 12px}.share-pdf span{display:inline}}
/* More services / more areas: as many columns as cards */
.detail-more .service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.detail-more .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.detail-more .service-grid{grid-template-columns:1fr}}
/* Printing public pages (blog posts, property pages): content only */
@media print{
  .public-site .site-header,.public-site footer.site-footer,.public-site .blog-cta,.public-site .detail-aside,.public-site .share-bar,.public-site .detail-more,.public-site .post-foot .card,.public-site .mortgage-section,.public-site .detail-mortgage,.public-site .mobile-actions,.public-site .post-more,.public-site .preview-note,.public-site .skip-link,.public-site .post-gallery{display:none!important}
  .public-site{background:#fff!important}
  .public-site .post,.public-site .detail-layout{max-width:none!important;padding:0!important;grid-template-columns:1fr!important}
  .public-site a{color:inherit!important;text-decoration:none!important}
  .public-site .post-body img{max-width:100%!important;page-break-inside:avoid}
  .public-site .post-head::before{content:"abhasan.com · Abul Hasan Molla, Licensed Real Estate Salesperson, EXIT Realty DKC";display:block;font-size:11px;letter-spacing:1px;color:#7a1830;margin-bottom:10px}
}
/* Admin editor: drag & drop photos into the text */
.editor-drop-wrap{position:relative}
.editor-mirror{position:absolute;visibility:hidden;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;pointer-events:none;border-style:solid;border-color:transparent}
.editor-drop-line{display:none;position:absolute;height:4px;border-radius:3px;background:var(--red,#c2334a);box-shadow:0 0 0 4px rgba(194,51,74,.18);pointer-events:none;z-index:5;transition:top .08s}
.editor-drop-line span{position:absolute;right:0;top:-26px;background:var(--red,#c2334a);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap}
.editor-drop-wrap.is-dragging .editor-drop-line{display:block}
.editor-drop-wrap.is-dragging textarea{outline:2px dashed var(--red,#c2334a);outline-offset:2px;background:#fffafa}
.editor-drop-hint{margin-top:6px}
/* Admin overview (dashboard) */
.dash-hello{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin:6px 0 24px}
.dash-hello h1{font-size:clamp(34px,4vw,50px);margin:6px 0 6px}
.dash-hello p:not(.eyebrow){color:var(--muted);margin:0}
.dash-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dash-action{display:flex;flex-direction:column;gap:4px;padding:18px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink)!important;transition:transform .2s,box-shadow .2s,border-color .2s}
.dash-action:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(31,40,38,.1);border-color:var(--brand)}
.dash-action b{font-size:16px;margin-top:8px}.dash-action small{font-size:13px;color:var(--muted)}
.dash-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fbecee;color:var(--brand)}
.dash-ic svg{width:22px;height:22px}
.dash-action:first-child .dash-ic,.dash-action:nth-child(2) .dash-ic{background:var(--brand);color:#fff}
.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}
.dash-stat{position:relative;display:flex;flex-direction:column;padding:20px;border-radius:12px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink)!important}
a.dash-stat:hover{border-color:var(--brand)}
.dash-stat .dash-ic{position:absolute;right:16px;top:16px;width:36px;height:36px}
.dash-stat strong{font:700 34px/1.1 Georgia,serif;color:var(--brand)}
.dash-stat b{font-size:15px;margin-top:4px}.dash-stat small{font-size:13px;color:var(--muted)}
.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dash-cols .card,.dash-list{margin:0 0 20px}
.dash-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.dash-list-head h2{font:22px Georgia,serif;margin:0}
.dash-list ul{list-style:none;margin:0;padding:0}
.dash-list li{border-top:1px solid var(--line)}
.dash-list li>a,.dash-row{display:flex;align-items:center;gap:14px;padding:12px 4px;text-decoration:none;color:var(--ink)!important}
.dash-list li>a:hover{background:#faf8f6}
.dash-date{display:grid;place-items:center;width:50px;height:54px;border-radius:10px;background:#fbecee;color:var(--brand);line-height:1;flex-shrink:0}
.dash-date b{font:700 22px Georgia,serif}.dash-date small{font-size:11px;font-weight:700;letter-spacing:1px}
.dash-main{display:flex;flex-direction:column;min-width:0;flex:1}
.dash-main b{font-size:15.5px}.dash-main small{font-size:13px;color:var(--muted)}
.dash-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand);color:#fff;font:18px Georgia,serif;flex-shrink:0}
.dash-btns{display:flex;gap:6px}
.dash-btns a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);text-decoration:none;color:var(--brand)!important;font-size:16px}
.dash-btns a:hover{background:var(--brand);color:#fff!important}
.dash-empty{color:var(--muted);padding:12px 0}
.dash-props{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dash-prop{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.dash-prop img,.dash-noimg{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee;display:grid;place-items:center;color:var(--muted);font-size:13px}
.dash-prop>div:not(.dash-prop-btns){padding:10px 12px;display:flex;flex-direction:column}
.dash-prop b{font-size:15px}.dash-prop small{color:var(--brand);font-weight:700}
.dash-prop-btns{display:flex;border-top:1px solid var(--line);margin-top:auto}
.dash-prop-btns a{flex:1;text-align:center;padding:9px 4px;font-size:13px;font-weight:700;text-decoration:none;color:var(--ink)!important;border-right:1px solid var(--line)}
.dash-prop-btns a:last-child{border-right:0}
.dash-prop-btns a:hover{background:#fbecee;color:var(--brand)!important}
@media(max-width:1200px){.dash-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.dash-cols{grid-template-columns:1fr}.dash-props{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dash-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-props{grid-template-columns:1fr 1fr}}
/* Admin: invoices */
.inv-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.inv-grid .card{margin:0 0 20px}
.inv-items{width:100%;border-collapse:collapse}
.inv-items th{text-align:left;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:8px 6px;border-bottom:1px solid var(--line)}
.inv-items td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}
.inv-items td input{margin:0;width:100%}
.inv-items td:nth-child(2){width:90px}.inv-items td:nth-child(3){width:150px}.inv-items td:nth-child(4){width:130px;font-weight:700}.inv-items td:nth-child(5){width:50px}
.inv-items .num,.inv-items .num input{text-align:right}
.inv-del{min-height:0;padding:6px 10px}
.inv-under{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-top:14px;flex-wrap:wrap}
.inv-live{margin:0;min-width:280px}
.inv-live div{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--line);font-size:15px}
.inv-live dd{margin:0;font-weight:700}
.inv-live .inv-live-total{background:var(--brand);color:#fff;padding:9px 12px;border-radius:6px;border:0;margin:6px 0;font-size:17px}
.inv-save{margin:6px 0 20px}
.inv-badge{display:inline-block;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:#eee;color:#555}
.inv-badge.s-sent{background:#fdf1d8;color:#8a6110}.inv-badge.s-paid{background:#dff3e6;color:#1d6a3b}.inv-badge.s-overdue{background:#fbe0e3;color:#9a1b30}.inv-badge.s-draft{background:#ecebe8;color:#555}
.inv-row-btns{white-space:nowrap}.inv-row-btns a{margin-right:10px;font-weight:600}
.inv-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.inv-defaults summary{cursor:pointer;font-weight:700}
.inv-defaults form{margin-top:14px}
@media(max-width:900px){.inv-grid{grid-template-columns:1fr}.inv-stats{grid-template-columns:1fr}.inv-items td:nth-child(3){width:110px}}
.mortgage-form label{display:block;font-weight:600;margin:0 0 12px}
.mortgage-form input,.mortgage-form select{display:block;width:100%;box-sizing:border-box;margin-top:6px}
.mortgage-grid .card{padding:26px}
.mortgage-form .grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* =====================================================================
   Admin layout v3: sidebar menu + top bar (search, + New)
   ===================================================================== */
.adm-body{margin:0!important;padding:0!important;background:#f4f2ee!important;min-height:100vh}
.adm-body .sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.adm-body .skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;padding:8px 14px;border-radius:6px}
.adm-body .skip-link:focus{left:12px}
.adm-side{position:fixed;left:0;top:0;bottom:0;width:268px;z-index:120;background:linear-gradient(180deg,#23292c,#1b2023);color:#cfd6d2;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3a4246 transparent}
.adm-side-in{display:flex;flex-direction:column;min-height:100%;padding:18px 14px 14px}
.adm-brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:4px 8px 16px;text-decoration:none}
.adm-brand img{height:46px;width:auto}
.adm-brand span{font-size:10.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#fff;background:#c2334a;border-radius:20px;padding:3px 10px}
.adm-search input{width:100%;box-sizing:border-box;margin:0!important;height:40px;border-radius:9px!important;font-size:14px}
.adm-search-side input{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;padding:0 12px!important}
.adm-search-side input::placeholder{color:#8f9a95}
.adm-search-side{margin:0 4px 10px}
.adm-nav{display:flex;flex-direction:column;gap:2px;flex:1}
.adm-nav-h{margin:16px 10px 6px!important;font-size:11px!important;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#7f8a85!important}
.adm-nav a{position:relative;display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:9px;color:#d3dbd6!important;text-decoration:none!important;font-size:14.5px;font-weight:500;line-height:1.25;transition:background .15s,color .15s}
.adm-nav a svg{flex-shrink:0;color:#93a19a;width:19px;height:19px}
.adm-nav a:hover{background:rgba(255,255,255,.07);color:#fff!important}
.adm-nav a:hover svg{color:#fff}
.adm-nav a.is-active{background:linear-gradient(135deg,#c2334a,#9e1f37);color:#fff!important;font-weight:700;box-shadow:0 8px 20px rgba(194,51,74,.35)}
.adm-nav a.is-active svg{color:#fff}
.adm-count{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:#e3a72f;color:#1b1206;font-size:12px;font-weight:800;display:grid;place-items:center;box-sizing:border-box}
.adm-nav a.is-active .adm-count{background:#fff;color:#9e1f37}
.adm-side-foot{border-top:1px solid rgba(255,255,255,.1);margin-top:16px;padding-top:10px;display:grid;gap:2px}
.adm-side-foot a,.adm-side-foot button{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;border-radius:9px;background:transparent!important;border:0!important;box-shadow:none!important;color:#d3dbd6!important;font:500 14.5px/1.25 inherit;text-decoration:none;cursor:pointer;min-height:0;text-align:left}
.adm-side-foot a:hover,.adm-side-foot button:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.adm-side-foot form{margin:0}
.adm-wrap{margin-left:268px;min-height:100vh;display:flex;flex-direction:column}
.adm-top{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:16px;height:66px;padding:0 28px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid #e6e1da}
.adm-top .admin-menu-btn{display:none}
.adm-crumb{margin:0!important;display:flex;align-items:center;gap:8px;font-size:15px!important;color:#6b7470!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.adm-crumb span::after{content:"›";margin-left:8px;color:#b5bcb8}
.adm-crumb b{color:#1f2421;font-size:16px}
.adm-search-top{position:relative;margin-left:auto;width:min(380px,36vw)}
.adm-search-top svg{position:absolute;left:12px;top:11px;color:#8a938f;pointer-events:none}
.adm-search-top input{padding:0 12px 0 38px!important;border:1px solid #ddd6cd!important;background:#f7f5f2!important}
.adm-search-top input:focus{background:#fff!important;border-color:#c2334a!important;outline:none;box-shadow:0 0 0 3px rgba(194,51,74,.15)}
.adm-new{position:relative}
.adm-new summary{list-style:none;display:flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:20px;background:#c2334a;color:#fff;font-weight:700;font-size:14px;cursor:pointer;user-select:none;box-shadow:0 6px 16px rgba(194,51,74,.3)}
.adm-new summary::-webkit-details-marker{display:none}
.adm-new summary:hover{background:#a5223a}
.adm-new-menu{position:absolute;right:0;top:calc(100% + 8px);width:220px;background:#fff;border-radius:12px;box-shadow:0 22px 50px rgba(0,0,0,.18);padding:8px;display:grid;z-index:110}
.adm-new-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#1f2421!important;text-decoration:none;font-size:14.5px;font-weight:600}
.adm-new-menu a svg{color:#c2334a}
.adm-new-menu a:hover{background:#fbecee}
.adm-me{display:flex;align-items:center;gap:10px}
.adm-me .admin-avatar{width:38px;height:38px;border-radius:50%;background:#1f2421;color:#fff;display:grid;place-items:center;font:17px Georgia,serif}
.adm-me-text b{display:block;font-size:14px;line-height:1.2}.adm-me-text small{font-size:12px;color:#7b8480}
.adm-wrap>main.admin{width:100%;max-width:1440px;box-sizing:border-box;margin:0 auto!important;padding:28px 32px 60px!important;flex:1}
.adm-scrim{display:none}
/* Phones and tablets: menu slides in from the left */
@media(max-width:1080px){
  .adm-side{transform:translateX(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);box-shadow:20px 0 60px rgba(0,0,0,.3)}
  .admin-nav-open .adm-side{transform:none}
  .admin-nav-open .adm-scrim{display:block;position:fixed;inset:0;z-index:115;background:rgba(15,18,17,.45)}
  .adm-wrap{margin-left:0}
  .adm-top{padding:0 16px;gap:10px}
  .adm-top .admin-menu-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px!important;border-radius:20px;background:#1f2421;color:#fff;border:0;font-weight:700;min-width:0}
  .adm-top .menu-icon{display:grid;gap:3px}.adm-top .menu-icon i{display:block;width:16px;height:2px;background:#fff;border-radius:2px}
  .adm-me-text{display:none}
  .adm-wrap>main.admin{padding:20px 16px 50px!important}
}
@media(max-width:700px){
  .adm-search-top{display:none}
  .adm-crumb span{display:none}
  .adm-new{margin-left:auto}
  .adm-new summary span{display:none}
  .adm-new summary{padding:0 12px}
  .adm-top .menu-label{display:none}
}
/* Admin content: friendlier defaults */
.adm-body main.admin .card{border-radius:14px}
.adm-body main.admin .section-title{margin-bottom:22px}
.adm-body main.admin .section-title h1{font-size:clamp(30px,3.4vw,44px)}
/* Overview: attention + checklist */
.dash-attn{display:grid;gap:10px;margin-bottom:22px}
.dash-attn a{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:12px;background:#fff;border:1px solid #f0d9a8;border-left:6px solid #e3a72f;color:#1f2421!important;text-decoration:none}
.dash-attn a.urgent{border-color:#f3c3cb;border-left-color:#c2334a}
.dash-attn a:hover{box-shadow:0 10px 24px rgba(0,0,0,.07)}
.dash-attn b{font-size:15.5px}.dash-attn span{color:#6b7470;font-size:14px}
.dash-attn .go{margin-left:auto;font-weight:700;color:#c2334a;white-space:nowrap}
.dash-allgood{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;background:#e9f6ee;color:#1d6a3b;margin-bottom:22px;font-weight:600}
.dash-setup{margin-bottom:22px}
.dash-setup-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.dash-setup-head h2{font:22px Georgia,serif;margin:0}
.dash-progress{flex:1;min-width:160px;max-width:340px;height:10px;border-radius:6px;background:#eee7df;overflow:hidden}
.dash-progress i{display:block;height:100%;background:linear-gradient(90deg,#c2334a,#e3a72f);border-radius:6px}
.dash-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dash-steps li a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid #e6e1da;text-decoration:none;color:#1f2421!important;background:#fff}
.dash-steps li a:hover{border-color:#c2334a}
.dash-check{width:26px;height:26px;border-radius:50%;border:2px solid #cfc8bf;display:grid;place-items:center;flex-shrink:0;font-size:14px;font-weight:800;color:#fff}
.dash-steps li.done .dash-check{background:#2f8a55;border-color:#2f8a55}
.dash-steps li.done a{color:#6b7470!important}
.dash-steps li.done b{text-decoration:line-through;text-decoration-color:#b9c0bc}
.dash-steps b{display:block;font-size:14.5px}.dash-steps small{color:#7b8480;font-size:12.5px}
.dash-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dash-help .card{margin:0}
.dash-help h3{font:18px Georgia,serif;margin:0 0 6px}
.dash-help p{font-size:14px;color:#5d6662;margin:0}
@media(max-width:900px){.dash-help{grid-template-columns:1fr}}
/* Search results */
.srch-group{margin-bottom:20px}
.srch-group h2{display:flex;align-items:center;gap:10px;font:20px Georgia,serif;margin:0 0 10px}
.srch-group h2 small{font:600 13px Arial,sans-serif;color:#7b8480}
.srch-list{list-style:none;margin:0;padding:0}
.srch-list li{display:flex;align-items:center;gap:14px;padding:12px 4px;border-top:1px solid #ece7e1;flex-wrap:wrap}
.srch-list .dash-main{min-width:200px}
.srch-list mark{background:#ffe8a3;color:inherit;border-radius:3px;padding:0 2px}
.srch-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.srch-actions a{padding:7px 12px;border-radius:16px;border:1px solid #e1dbd3;font-size:13px;font-weight:700;text-decoration:none;color:#1f2421!important;background:#fff}
.srch-actions a:hover{border-color:#c2334a;color:#c2334a!important}
.srch-big{display:flex;gap:10px;margin-bottom:22px}
.srch-big input{flex:1;height:52px;font-size:17px;margin:0!important;border-radius:12px!important}
.srch-big button{height:52px;padding:0 26px;border-radius:12px}
.srch-group h2 .text-link{margin-left:auto;font:600 14px Arial,sans-serif}.adm-body kbd{border:1px solid #ccc;border-bottom-width:2px;border-radius:4px;padding:0 6px;font-size:13px;background:#fff}
.adm-side nav.adm-nav{gap:2px!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important;background:none!important;border:0!important}
