 :root{--bg:#fff8fc;--paper:#fff;--ink:#2b222c;--muted:#827581;--pink:#ed469e;--pink2:#c92578;--pale:#fde5f1;--line:#f2d8e7;--max:1688px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(var(--max),calc(100% - 9.8%));margin:0 auto}.topbar{height:99px;border-bottom:1px solid var(--line);background:rgba(255,248,252,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.nav{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:16px;font-weight:900;font-size:23px;letter-spacing:-.045em;white-space:nowrap}.brand-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(135deg,#ed469e,#f080bd);color:#fff;font-size:29px;box-shadow:0 10px 22px #ed469e26}.pink-dot{color:var(--pink)}.nav-links{display:flex;align-items:center;gap:38px;color:#786d79;font-size:19px;font-weight:800;white-space:nowrap}.nav-links a:hover,.nav-links a.active{color:var(--pink2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 27px;border:0;border-radius:999px;font-weight:850;cursor:pointer;white-space:nowrap}.primary{background:var(--pink);color:#fff;box-shadow:0 14px 28px #ed469e26}.outline{background:#fff;border:1px solid var(--line);color:var(--ink)}.nav-cta{justify-self:end;padding:20px 28px;font-size:19px}.hero {min-height: 0;display: flex;align-items: center;padding: 65px 0 54px;}.hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(440px,.9fr);align-items:center;gap:7.2%}.intro{max-width:900px}.availability{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 18px;color:var(--pink2);font-size:17px;letter-spacing:.09em;font-weight:900}.green-dot{width:12px;height:12px;background:#21a16b;border-radius:50%;box-shadow:0 0 0 6px #e4f6ed}h1{font-size:clamp(3.8rem,6.15vw,7rem);line-height:1.04;letter-spacing:-.07em;margin:39px 0 27px;font-weight:900}h1 .accent{color:var(--pink)}.lead{font-size:clamp(1.15rem,1.5vw,1.65rem);color:var(--muted);max-width:860px;margin:0}.lead strong{font-weight:850}
.hero-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-top: 25px !important;
    width: 100% !important;
}.hero-actions .button {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px;
    padding: 10px 6px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    justify-content: center !important;
}.trust-line{margin:35px 0 0;color:var(--muted);font-size:17px}.face-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:44px;padding:38px;background:linear-gradient(135deg,#fde7f2 0%,#fff 74%);min-height:515px;box-shadow:0 24px 65px #4e23400c}.face-card:before{content:"";position:absolute;right:-100px;top:-105px;width:320px;height:330px;background:#f9d9e9;border-radius:50%;pointer-events:none}.face-card>*{position:relative}.face-mark{display:grid;place-items:center;width:114px;height:114px;background:#fff;color:var(--pink);border-radius:36px;font-size:47px;margin-bottom:45px}.face-card h2{font-size:clamp(1.65rem,2vw,2.3rem);line-height:1.2;letter-spacing:-.055em;margin:0 0 17px}.face-card>p{font-size:clamp(1.05rem,1.3vw,1.45rem);color:var(--muted);margin:0;line-height:1.75}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.feature{border:1px solid var(--line);border-radius:24px;background:#ffffffd9;padding:19px}.feature strong{display:block;font-size:17px;margin-bottom:3px}.feature span{display:block;color:var(--muted);font-size:15px}.contact-section{padding:0 0 70px}.contact-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-panel h2{margin:0 0 4px;font-size:20px;letter-spacing:-.03em}.contact-panel p{margin:0;color:var(--muted);font-size:14px}.contact-items{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.contact-link{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:999px;padding:11px 15px;font-weight:750;font-size:13px}.contact-link:hover{background:var(--pale);color:var(--pink2)}.page{min-height:65vh;padding:55px 0 70px}.page-head{margin-bottom:26px}.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--pink2)}.page-title{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.08;letter-spacing:-.06em;margin:7px 0 10px}.muted{color:var(--muted)}.carousel-head{display:flex;align-items:end;justify-content:space-between;gap:15px}.controls{display:flex;gap:9px}.arrow{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:23px;cursor:pointer}.carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 2px 15px;overscroll-behavior-x:contain}.carousel::-webkit-scrollbar{display:none}.card,.review-card{flex:0 0 calc((100% - 32px)/3);min-width:255px;scroll-snap-align:start;border:1px solid var(--line);border-radius:25px;background:#fff;padding:23px;display:flex;flex-direction:column}.service-icon{width:51px;height:51px;display:grid;place-items:center;border-radius:17px;background:var(--pale);color:var(--pink2);font-size:23px}.tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--pink2);margin-top:17px}.card h2{font-size:20px;margin:6px 0}.card p,.review-card p{font-size:14px;color:var(--muted);margin:0;flex:1}.text-link{margin-top:18px;border:0;background:none;color:var(--pink2);font-weight:850;text-align:left;cursor:pointer}.proof-visual{min-height:155px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#ffe7f2,#fff);border-radius:17px;color:var(--pink2);margin-bottom:15px;overflow:hidden}.proof-visual img{width:100%;height:180px;object-fit:cover}.proof-visual b{display:block}.proof-visual span{display:block;font-size:34px}.proof-visual small{color:var(--muted)}.panel{border:1px solid var(--line);background:#fff;border-radius:25px;padding:25px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form{display:grid;gap:13px}.form label{display:grid;gap:7px;font-size:13px;font-weight:800}input,textarea,select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fffafd;color:var(--ink);outline:none}textarea{min-height:110px;resize:vertical}.stars{display:flex;flex-wrap:wrap;gap:8px}.stars label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);padding:8px 11px;border-radius:10px}.stars input{width:auto;accent-color:var(--pink)}.review-stars{color:#d99a18;letter-spacing:2px;margin-bottom:9px}.review-card{min-height:185px}.review-name{font-size:12px;font-weight:850;margin-top:14px}.notice{border:1px solid var(--line);background:#fff;padding:12px 14px;border-radius:13px;font-size:12px}.footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.chat-launch{position:fixed;z-index:50;right:25px;bottom:18px;border:0;border-radius:999px;padding:21px 28px;display:flex;align-items:center;gap:13px;color:#fff;background:var(--pink);font-size:20px;font-weight:900;box-shadow:0 14px 36px #c925783d;cursor:pointer}.chat-window{position:fixed;z-index:49;right:22px;bottom:94px;width:min(380px,calc(100vw - 26px));height:min(525px,calc(100dvh - 115px));display:none;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 75px #32142830}.chat-window.open{display:flex}.chat-head{display:flex;align-items:center;gap:11px;padding:16px;background:var(--pink);color:#fff}.chat-avatar{width:38px;height:38px;display:grid;place-items:center;background:#ffffff33;border-radius:13px}.chat-head strong{display:block;font-size:14px}.chat-head small{font-size:11px;opacity:.85}.chat-close{margin-left:auto;background:transparent;border:0;color:#fff;font-size:24px;cursor:pointer}.chat-messages{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px;background:#fffafd}.bubble{max-width:88%;padding:10px 12px;border-radius:14px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.bot{align-self:flex-start;background:#f5eaf1;border-bottom-left-radius:5px}.bubble.visitor{align-self:flex-end;background:var(--pink);color:#fff;border-bottom-right-radius:5px}.chat-compose{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}.chat-compose input{min-width:0;border-radius:999px;padding:10px 13px}.chat-compose button{width:42px;height:42px;flex-shrink:0;border:0;border-radius:50%;background:var(--pink);color:#fff;cursor:pointer}.admin-wrap{max-width:1100px;margin:auto}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:24px}.admin-list{display:grid;gap:12px}.admin-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.admin-item p{white-space:pre-wrap;overflow-wrap:anywhere}.status{display:inline-block;border-radius:999px;background:var(--pale);color:var(--pink2);font-size:11px;padding:4px 9px;font-weight:800}.success{color:#16794c}.error{color:#b42318}.small{font-size:12px}.chat-admin-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.conversation-list{display:grid;align-content:start;gap:8px}.conversation-link{padding:12px;border:1px solid var(--line);background:#fff;border-radius:13px;display:block}.conversation-link.selected{border-color:var(--pink);background:var(--pale)}.admin-chat-messages{height:400px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px;background:#fffafd;border-radius:16px;margin:12px 0}.admin-chat-messages .bubble.admin{align-self:flex-start;background:#f5eaf1}.admin-chat-messages .bubble.visitor{align-self:flex-end}.admin-chat-compose{display:flex;gap:8px}.admin-chat-compose textarea{min-height:50px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.filter-btn{border:1px solid var(--line);border-radius:999px;background:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.filter-btn.active{background:var(--pink);color:#fff;border-color:var(--pink)}
@media(max-width:1250px){.wrap{width:min(1120px,calc(100% - 48px))}.nav{grid-template-columns:1fr auto}.nav-links{gap:20px;font-size:15px}.nav-cta {
    display: inline-flex;justify-self: end;padding: 10px 14px;font-size: 13px;}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);gap:4%}h1{font-size:clamp(3.5rem,6vw,5.6rem)}.face-card{padding:29px;min-height:450px}.face-mark{width:90px;height:90px;border-radius:28px;margin-bottom:35px}.hero-actions .button{font-size:17px;padding:17px 22px}}
@media(max-width:850px){.topbar{height:auto;min-height:76px}.nav{min-height:76px;display:flex;justify-content:space-between}.brand{font-size:18px;gap:10px}.brand-icon{width:46px;height:46px;border-radius:16px}.nav-links{gap:14px;font-size:13px}.hero{min-height:auto;padding:55px 0 38px}.hero-grid{grid-template-columns:1fr;gap:35px}.intro{max-width:720px}h1{font-size:clamp(3.5rem,10vw,5.5rem);margin:28px 0 20px}.face-card{min-height:0}.face-mark{margin-bottom:26px}.contact-panel{align-items:flex-start;flex-direction:column}.contact-items{justify-content:flex-start}.card,.review-card{flex-basis:75%}.grid-two{grid-template-columns:1fr}.chat-admin-grid{grid-template-columns:1fr}}
@media(max-width:600px){.wrap{width:calc(100% - 30px)}.topbar{min-height:68px}.nav{min-height:68px}.brand{font-size:15px}.brand-icon{width:40px;height:40px;border-radius:14px;font-size:21px}.nav-links{display:none}.hero{padding:40px 0 32px}.availability{font-size:10px;letter-spacing:.06em;padding:9px 12px;gap:9px}.green-dot{width:9px;height:9px}h1{font-size:clamp(2.8rem,12.5vw,4.4rem);letter-spacing:-.065em;margin:25px 0 18px}.lead{font-size:16px}.hero-actions{gap:10px;margin-top:25px}.hero-actions .button{font-size:14px;padding:14px 17px}.trust-line{font-size:12px;margin-top:22px}.face-card{padding:24px;border-radius:28px}.face-card:before{width:210px;height:220px;right:-80px;top:-70px}.face-mark{width:76px;height:76px;border-radius:25px;font-size:36px;margin-bottom:25px}.face-card h2{font-size:25px}.face-card>p{font-size:15px}.feature-grid{gap:9px;margin-top:22px}.feature{padding:13px;border-radius:17px}.feature strong{font-size:13px}.feature span{font-size:11px}.contact-section{padding-bottom:38px}.contact-panel{padding:20px;border-radius:20px}.contact-items{gap:8px}.contact-link{font-size:11px;padding:9px 11px}.page{padding:35px 0 55px}.card,.review-card{flex-basis:88%;min-width:235px}.chat-launch{right:13px;bottom:13px;padding:15px 18px;font-size:15px}.chat-window{right:13px;bottom:72px}.page-title{font-size:2.4rem}.admin-chat-messages{height:330px}}

/* Admin chat fixes: compact bubbles and a stable scrolling message area */
.admin-chat-panel { min-width: 0; }
.admin-section-title { margin: 0 0 12px; font-size: 20px; }
.admin-chat-messages {
    height: 350px;
    max-height: 55vh;
    min-height: 220px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    padding: 10px;
    margin: 10px 0 12px;
    background: #fffafd;
    border: 1px solid var(--line);
    border-radius: 14px;
}
.admin-chat-messages .bubble {
    display: block;
    width: fit-content;
    max-width: min(78%, 520px);
    padding: 7px 10px;
    margin: 0;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.admin-chat-messages .bubble.admin {
    align-self: flex-end;
    background: var(--pink);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.admin-chat-messages .bubble.visitor {
    align-self: flex-start;
    background: #f5eaf1;
    color: var(--ink);
    border-bottom-left-radius: 4px;
}
.admin-chat-messages .bubble .bubble-body { white-space: pre-wrap; }
.admin-chat-messages .bubble .bubble-time {
    margin-top: 4px;
    font-size: 10px;
    line-height: 1.3;
    opacity: .8;
}
.admin-chat-messages .bubble.admin .bubble-time { color: #fff; }
.admin-chat-compose {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 8px;
}
.admin-chat-compose textarea {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    height: 48px;
    max-height: 130px;
    resize: vertical;
    padding: 11px 13px;
    font-size: 13px;
    line-height: 1.4;
    border-radius: 13px;
}
.admin-chat-compose .button {
    min-height: 44px;
    padding: 11px 18px;
    font-size: 13px;
}
.admin-chat-compose .button:disabled { opacity: .6; cursor: wait; }
.close-conversation-form { margin-top: 10px; }
.close-conversation-form .button { padding: 9px 14px; font-size: 12px; }
.review-actions { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 850px) {
    .chat-admin-grid { grid-template-columns: minmax(0, 1fr); }
    .admin-chat-messages { height: 320px; max-height: 50vh; }
}
@media (max-width: 600px) {
    .admin-chat-messages { height: 300px; max-height: 45vh; min-height: 190px; padding: 8px; }
    .admin-chat-messages .bubble { max-width: 88%; font-size: 12px; padding: 7px 9px; }
    .admin-chat-compose { grid-template-columns: minmax(0, 1fr) auto; }
    .admin-chat-compose .button { padding: 10px 13px; }
}

/* Professional admin workspace */
.admin-wrap { max-width: 1440px; }
.admin-wrap .admin-bar { align-items: center; margin-bottom: 20px; }
.admin-wrap .page-title { letter-spacing: -.04em; }
.admin-wrap .filter-row { gap: 10px; margin: 18px 0 22px; }
.admin-wrap .filter-btn { padding: 10px 16px; transition: background .15s ease, border-color .15s ease; }
.admin-wrap .panel { border: 1px solid #eadde5; box-shadow: 0 12px 36px rgba(56, 24, 43, .055); }
.chat-admin-grid { grid-template-columns: minmax(260px, 330px) minmax(0, 1fr); align-items: stretch; gap: 18px; }
.admin-conversations-panel, .admin-chat-panel { min-width: 0; padding: 20px; }
.admin-section-title { font-size: 17px; font-weight: 800; letter-spacing: -.02em; margin: 0 0 15px; }
.conversation-list { max-height: 680px; overflow-y: auto; padding-right: 2px; }
.conversation-link { padding: 14px; border-color: #eee3ea; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.conversation-link:hover { border-color: var(--pink); transform: translateY(-1px); }
.conversation-link strong { display: inline-block; max-width: 100%; overflow-wrap: anywhere; font-size: 14px; }
.conversation-link .small { display: block; margin-top: 6px; line-height: 1.45; }
.admin-chat-panel { display: flex; flex-direction: column; }
.admin-chat-messages { height: min(62vh, 620px); min-height: 300px; max-height: 680px; overflow-y: auto; overscroll-behavior: contain; scroll-behavior: auto; display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 16px; margin: 0 0 14px; background: #fffafd; border: 1px solid #f0e4eb; border-radius: 16px; }
.admin-chat-messages .bubble { display: block; width: fit-content; max-width: min(76%, 540px); padding: 10px 13px; margin: 0; border-radius: 15px; font-size: 13px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; box-shadow: 0 2px 5px rgba(35, 18, 29, .04); }
.admin-chat-messages .bubble.admin { align-self: flex-end; background: #d92e83; color: #fff; border-bottom-right-radius: 5px; }
.admin-chat-messages .bubble.visitor { align-self: flex-start; background: #f1e8ef; color: #352431; border-bottom-left-radius: 5px; }
.admin-chat-messages .bubble .bubble-body { white-space: pre-wrap; }
.admin-chat-messages .bubble .bubble-time { margin-top: 5px; font-size: 10px; line-height: 1.35; opacity: .75; }
.admin-chat-messages .bubble.admin .bubble-time { color: #fff; }
.admin-chat-compose { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; }
.admin-chat-compose textarea { width: 100%; min-height: 54px; max-height: 160px; resize: vertical; border: 1px solid #e8d9e2; border-radius: 14px; padding: 13px 14px; font: inherit; font-size: 14px; line-height: 1.45; background: #fff; }
.admin-chat-compose textarea:focus { outline: 3px solid rgba(217, 46, 131, .12); border-color: var(--pink); }
.admin-chat-compose button { min-height: 48px; white-space: nowrap; }
.admin-chat-compose button:disabled { opacity: .6; cursor: wait; }
.close-conversation-form { margin-top: 12px; }
.admin-list { gap: 14px; }
.admin-item { padding: 20px; border-color: #eadde5; border-radius: 16px; }
.review-actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 900px) {
  .chat-admin-grid { grid-template-columns: minmax(0, 1fr); }
  .conversation-list { max-height: 300px; }
  .admin-chat-messages { height: 52vh; min-height: 260px; }
}
@media (max-width: 600px) {
  .admin-conversations-panel, .admin-chat-panel { padding: 14px; }
  .admin-chat-messages { padding: 10px; height: 48vh; min-height: 230px; }
  .admin-chat-messages .bubble { max-width: 88%; padding: 9px 11px; }
  .admin-chat-compose { grid-template-columns: minmax(0, 1fr); }
  .admin-chat-compose button { justify-self: end; }
  
}

/* ===================================
   RESPONSIVE HEADER - FINAL OVERRIDE
=================================== */

/* Desktop */
.mobile-menu {
    display: none;
}

.desktop-nav {
    display: flex;
}

.desktop-cta {
    display: inline-flex;
}

/* Mobile and tablet */
@media (max-width: 850px) {
    .topbar {
        height: auto;
        min-height: 68px;
        padding: 10px 0;
    }

    .topbar .nav {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        gap: 12px;
        min-height: 48px;
        height: auto;
    }

    .brand {
        flex-shrink: 0;
        font-size: 18px;
        gap: 10px;
    }

    .brand-icon {
        width: 44px;
        height: 44px;
        border-radius: 15px;
        font-size: 23px;
    }

    /* Hide desktop-only navigation */
    .desktop-nav,
    .desktop-cta {
        display: none !important;
    }

    /* Show hamburger button */
    .mobile-menu {
        display: block;
        position: relative;
        flex-shrink: 0;
    }

    .mobile-menu summary {
        list-style: none;
        display: grid;
        place-items: center;
        width: 46px;
        height: 44px;
        border: 1px solid var(--line);
        border-radius: 13px;
        background: #fff;
        color: var(--ink);
        cursor: pointer;
    }

    .mobile-menu summary::-webkit-details-marker {
        display: none;
    }

    .menu-icon {
        font-size: 25px;
        line-height: 1;
    }

    /* Dropdown menu */
    .mobile-menu-panel {
        position: absolute;
        top: calc(100% + 12px);
        right: 0;
        z-index: 100;
        display: flex;
        flex-direction: column;
        gap: 5px;
        width: min(280px, calc(100vw - 30px));
        padding: 14px;
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 20px;
        box-shadow: 0 16px 45px rgba(43, 34, 44, .14);
    }

    .mobile-menu-panel > a:not(.button) {
        display: block;
        padding: 12px 14px;
        border-radius: 11px;
        font-size: 15px;
        font-weight: 750;
    }

    .mobile-menu-panel > a:not(.button):hover {
        background: var(--pale);
        color: var(--pink2);
    }

    .mobile-menu-panel .mobile-cta {
        display: flex;
        width: 100%;
        margin-top: 5px;
        padding: 13px 16px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .topbar .wrap {
        width: calc(100% - 30px);
    }
}

/* MOBILE HEADER - CORRECTIVE OVERRIDE */
@media screen and (max-width: 850px) {
    header.topbar .wrap.nav {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        position: relative !important;
        min-height: 64px !important;
        height: auto !important;
        gap: 12px !important;
    }

    header.topbar .brand {
        display: flex !important;
        align-items: center !important;
        flex: 0 1 auto !important;
        width: auto !important;
        margin: 0 !important;
    }

    header.topbar .desktop-nav,
    header.topbar .desktop-cta {
        display: none !important;
    }

    header.topbar details.mobile-menu {
        display: block !important;
        position: relative !important;
        flex: 0 0 46px !important;
        width: 46px !important;
        margin-left: auto !important;
        padding: 0 !important;
    }

    header.topbar details.mobile-menu > summary {
        display: grid !important;
        place-items: center !important;
        width: 46px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        cursor: pointer !important;
    }

    header.topbar details.mobile-menu > summary::-webkit-details-marker {
        display: none !important;
    }

    header.topbar .mobile-menu-panel {
        display: none;
        position: absolute !important;
        top: calc(100% + 10px) !important;
        right: 0 !important;
        left: auto !important;
        width: min(280px, calc(100vw - 30px)) !important;
        padding: 14px !important;
        margin: 0 !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 5px !important;
        background: #fff !important;
        border: 1px solid var(--line) !important;
        border-radius: 18px !important;
        box-shadow: 0 12px 35px rgba(43, 34, 44, .15) !important;
        z-index: 999 !important;
    }

    header.topbar details.mobile-menu[open] .mobile-menu-panel {
        display: flex !important;
    }

    header.topbar .mobile-menu-panel > a:not(.button) {
        display: block !important;
        width: 100% !important;
        padding: 12px !important;
        margin: 0 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        white-space: normal !important;
    }

    header.topbar .mobile-menu-panel > .mobile-cta {
        display: flex !important;
        width: 100% !important;
        margin: 5px 0 0 !important;
        padding: 13px !important;
        justify-content: center !important;
        font-size: 14px !important;
    }

    header.topbar .mobile-menu-panel a {
        max-width: none !important;
        flex-shrink: 1 !important;
    }
}

/* Keep hero action buttons on the same row on mobile */
@media (max-width: 600px) {
    .hero-actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .hero-actions .button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        white-space: normal !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 12px 8px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }
}

/* =========================================
   REVIEWS PAGE — STICKY FEEDBACK LAYOUT
========================================= */

.reviews-page .reviews-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
    align-items: start;
    gap: 28px;
}

.reviews-list {
    min-width: 0;
}

.reviews-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 16px;
}

.reviews-list-heading h2 {
    margin: 0;
    font-size: 22px;
    letter-spacing: -.04em;
}

.reviews-list-heading .muted {
    font-size: 12px;
}

.reviews-page .review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    align-items: stretch;
    gap: 16px;
    padding: 0;
    overflow: visible;
}

.reviews-page .review-card {
    width: 100%;
    min-width: 0;
    min-height: 190px;
    height: 100%;
    padding: 22px;
    border-radius: 20px;
    overflow-wrap: anywhere;
}

.reviews-page .review-stars {
    color: #d99a18;
    font-size: 16px;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.reviews-page .review-body {
    flex: 1;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.65;
}

.reviews-page .review-name {
    margin-top: 18px;
    overflow-wrap: anywhere;
}

.reviews-page .empty-review {
    grid-column: 1 / -1;
    min-height: 200px;
}

.feedback-sticky {
    position: sticky;
    top: 125px;
    align-self: start;
    min-width: 0;
}

.feedback-panel {
    padding: 24px;
    border-radius: 24px;
    box-shadow: 0 12px 36px rgba(56, 24, 43, .055);
}

.feedback-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 14px;
}

.feedback-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: var(--pale);
    color: var(--pink);
    font-size: 24px;
}

.feedback-heading .kicker {
    font-size: 10px;
    line-height: 1.5;
}

.feedback-heading h2 {
    margin: 3px 0 0;
    font-size: 21px;
    line-height: 1.25;
    letter-spacing: -.04em;
}

.feedback-description {
    margin: 0 0 20px;
    font-size: 13px;
    line-height: 1.7;
}

.feedback-form {
    gap: 14px;
}

.feedback-form label {
    gap: 6px;
    font-size: 12px;
}

.feedback-form input,
.feedback-form select,
.feedback-form textarea {
    width: 100%;
    min-width: 0;
    padding: 12px;
    font-size: 13px;
    border-radius: 12px;
}

.feedback-form textarea {
    min-height: 115px;
    resize: vertical;
}

.feedback-submit {
    width: 100%;
    min-height: 48px;
    padding: 13px 16px;
    font-size: 14px;
    white-space: normal;
}

.feedback-note {
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.6;
}

.feedback-panel .notice {
    margin: 0 0 14px;
    overflow-wrap: anywhere;
}

/* Tablet: retain two review columns, move form below */
@media (max-width: 1000px) {
    .reviews-page .reviews-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .feedback-sticky {
        position: static;
        width: 100%;
    }

    .feedback-panel {
        max-width: none;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .reviews-page .reviews-layout {
        gap: 24px;
    }

    .reviews-page .review-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .reviews-page .review-card {
        min-height: 150px;
        padding: 18px;
    }

    .reviews-list-heading h2 {
        font-size: 19px;
    }

    .feedback-panel {
        padding: 19px;
        border-radius: 20px;
    }

    .feedback-heading h2 {
        font-size: 19px;
    }

    .feedback-form {
        gap: 12px;
    }

    .feedback-form textarea {
        min-height: 105px;
    }
}
