:root {
    --navy:#0F1C2E; --navy2:#1B2A40; --ink:#16202E; --amber:#E5A33B; --amber-d:#8F5C0E; --amber-l:#FBF1DE;
    --ivory:#F7F5F0; --stone:#EDE9E1; --line:#E3DED4; --slate:#5F6B7A; --wa:#25D366;
    --maintain:#E5A33B; --refresh:#3E8E8A; --renovate:#B86A4B; --protect:#5C6F8A;
    --r:18px; --ease:cubic-bezier(.2,.7,.2,1);
  }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { margin:0; font-family:Manrope, Arial, sans-serif; color:var(--ink); background:var(--ivory); line-height:1.6; -webkit-font-smoothing:antialiased; }
  a { color:inherit; text-decoration:none; }
  button, input, select, textarea { font:inherit; color:inherit; }
  .wrap { max-width:1240px; margin:0 auto; padding:0 28px; }
  section { padding:120px 0; }
  h1,h2,h3 { margin:0; line-height:1.12; letter-spacing:-.025em; }
  h2 { font-size:clamp(30px,3.6vw,46px); font-weight:700; max-width:720px; }
  .lead { color:var(--slate); font-size:18px; max-width:600px; margin:18px 0 0; }
  .eyebrow { display:flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--slate); font-weight:700; margin-bottom:20px; }
  .eyebrow::before { content:""; width:28px; height:2px; background:var(--amber); }
  .sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:56px; flex-wrap:wrap; }
  .btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 26px; border-radius:12px; font-weight:700; font-size:15px; border:0; cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s; }
  .btn:hover { transform:translateY(-2px); }
  .btn-amber { background:var(--amber); color:var(--navy); box-shadow:0 8px 24px -10px rgba(229,163,59,.8); }
  .btn-navy { background:var(--navy); color:#fff; }
  .btn-ghost { background:transparent; border:1.5px solid var(--line); color:var(--ink); }
  .btn-ghost-w { background:transparent; border:1.5px solid rgba(255,255,255,.35); color:#fff; }
  .arrow { transition:transform .25s var(--ease); } a:hover .arrow { transform:translateX(4px); }
  svg.i { width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none; }
  .ph { position:relative; overflow:hidden; border-radius:var(--r); background:linear-gradient(150deg,#2a3b52 0%,#53667e 55%,#8b9aaa 100%); color:rgba(255,255,255,.75); }
  .ph::after { content:attr(data-cap); position:absolute; left:16px; bottom:14px; right:16px; font-size:12px; font-style:italic; }
  div.ph.warm.img { background-color:#b9a68a; }
  div.ph.img { background-size:cover; background-position:center; background-color:#2a3b52; background-repeat:no-repeat; }
  .ph.img::after { display:none; }
  .ph.warm { background:linear-gradient(150deg,#b9a68a 0%,#d9cdb8 60%,#efe8db 100%); color:#5b4b33; }
  .tag { display:inline-flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--slate); }
  .tag::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--c, var(--amber)); }
  .note { display:inline-block; font-size:12px; color:#8a5b0c; background:var(--amber-l); border:1px dashed var(--amber); border-radius:8px; padding:6px 12px; }

  /* reveal on scroll */
  .js .rv { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
  .js .rv.in { opacity:1; transform:none; }
  .js .rv.d1 { transition-delay:.08s } .js .rv.d2 { transition-delay:.16s } .js .rv.d3 { transition-delay:.24s }

  /* header */
  .topbar { background:var(--navy); color:rgba(255,255,255,.78); font-size:13px; }
  .topbar .wrap { display:flex; justify-content:space-between; align-items:center; height:42px; }
  .topbar .l { display:flex; gap:26px; } .topbar .l span { display:flex; align-items:center; gap:8px; }
  .topbar svg.i { width:15px; height:15px; color:var(--amber); }
  header { position:sticky; top:0; z-index:30; background:rgba(247,245,240,.88); backdrop-filter:saturate(1.4) blur(14px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s; }
  header.scrolled { border-color:var(--line); box-shadow:0 10px 30px -20px rgba(15,28,46,.35); }
  header .wrap { display:flex; align-items:center; justify-content:space-between; height:84px; }
  .brand { display:flex; align-items:center; gap:12px; }
  .brand b { display:block; font-size:21px; letter-spacing:2.6px; font-weight:800; line-height:1; }
  .brand small { font-size:8.5px; letter-spacing:2.7px; color:var(--slate); font-weight:600; }
  nav { display:flex; gap:4px; }
  nav a { padding:10px 14px; border-radius:10px; font-weight:600; font-size:15px; transition:background .2s; }
  nav a:hover { background:var(--stone); }
  nav a.dd::after { content:""; display:inline-block; width:6px; height:6px; border-right:1.5px solid var(--slate); border-bottom:1.5px solid var(--slate); transform:rotate(45deg) translate(-2px,-2px); margin-left:8px; }
  .burger { display:none; width:44px; height:44px; border-radius:12px; border:1px solid var(--line); align-items:center; justify-content:center; }

  /* hero */
  .hero { padding:64px 0 96px; }
  .hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:56px; align-items:center; }
  .badge-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }
  .badge { display:inline-flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 14px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .badge .dot { width:7px; height:7px; border-radius:50%; background:#2FA36B; box-shadow:0 0 0 4px rgba(47,163,107,.15); }
  .hero h1 { font-size:clamp(38px,5vw,64px); font-weight:800; letter-spacing:-.035em; }
  .hero h1 em { font-style:normal; color:#B97A16; position:relative; white-space:nowrap; }
  .hero h1 em::after { content:""; position:absolute; left:0; right:0; bottom:.04em; height:.14em; background:var(--amber); opacity:.35; border-radius:4px; z-index:-1; }
  .hero .lead { font-size:19px; margin-top:24px; }
  .hero .btns { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
  .hero .call { margin-top:22px; font-size:14px; color:var(--slate); }
  .hero .call a { color:var(--ink); font-weight:700; border-bottom:1.5px solid var(--amber); }
  .hero-visual { position:relative; }
  .hero-visual .ph { height:560px; border-radius:28px; }
  .float-card { position:absolute; background:#fff; border-radius:16px; padding:14px 16px; box-shadow:0 24px 50px -24px rgba(15,28,46,.45); display:flex; gap:12px; align-items:center; font-size:14px; animation:bob 6s ease-in-out infinite; }
  .float-card .ic { width:40px; height:40px; border-radius:12px; background:var(--amber-l); color:var(--amber-d); display:flex; align-items:center; justify-content:center; }
  .float-card b { display:block; font-size:14px; } .float-card span { color:var(--slate); font-size:12px; }
  .fc1 { left:-36px; top:64px; } .fc2 { right:-20px; bottom:120px; animation-delay:-3s; }
  @keyframes bob { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-10px) } }

  .trust { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
  .trust .wrap { display:grid; grid-template-columns:repeat(5,1fr); }
  .trust div { display:flex; align-items:center; gap:12px; padding:26px 18px; font-weight:600; font-size:15px; border-left:1px solid var(--line); }
  .trust div:first-child { border-left:0; padding-left:0; }
  .trust svg.i { color:var(--amber-d); }

  /* request card (booking flow) */
  .book { background:var(--navy); color:#fff; border-radius:28px; padding:56px; display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; position:relative; overflow:hidden; }
  .book::before { content:""; position:absolute; right:-120px; top:-120px; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(229,163,59,.22),transparent 70%); }
  .book h2 { color:#fff; font-size:clamp(28px,3vw,40px); }
  .book .lead { color:rgba(255,255,255,.72); }
  .book .eyebrow { color:rgba(255,255,255,.6); }
  .book ul { list-style:none; padding:0; margin:30px 0 0; } .book li { display:flex; gap:12px; margin:14px 0; color:rgba(255,255,255,.85); }
  .book li svg.i { color:var(--amber); }
  .panel { background:#fff; color:var(--ink); border-radius:20px; padding:28px; position:relative; z-index:1; }
  .stepper { display:flex; gap:8px; margin-bottom:24px; }
  .stepper span { flex:1; height:4px; border-radius:4px; background:var(--stone); transition:background .4s; } .stepper span.on { background:var(--amber); }
  .stp-label { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); font-weight:700; margin-bottom:16px; }
  .field { margin-bottom:18px; } .field > label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
  .field select, .field input, .field textarea { width:100%; padding:13px 14px; border:1.5px solid var(--line); border-radius:12px; background:#fff; outline:none; transition:border-color .2s, box-shadow .2s; }
  .field select:focus, .field input:focus, .field textarea:focus { border-color:var(--amber); box-shadow:0 0 0 4px var(--amber-l); }
  .seg { display:flex; gap:8px; flex-wrap:wrap; }
  .seg button { flex:1; min-width:90px; padding:11px 10px; border:1.5px solid var(--line); background:#fff; border-radius:12px; cursor:pointer; font-weight:600; font-size:14px; transition:.2s; }
  .seg button.on { border-color:var(--navy); background:var(--navy); color:#fff; }
  .seg button small { display:block; font-weight:500; font-size:11px; opacity:.7; }
  .row2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .upload { border:1.5px dashed var(--line); border-radius:12px; padding:16px; text-align:center; color:var(--slate); font-size:13px; }
  .panel .actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:8px; }
  .step { display:none; animation:fade .45s var(--ease); } .step.on { display:block; }
  @keyframes fade { from { opacity:0; transform:translateY(10px) } to { opacity:1; transform:none } }
  .done { text-align:center; padding:30px 10px; } .done .ok { width:64px; height:64px; border-radius:50%; background:var(--amber-l); color:var(--amber-d); display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }

  /* problem picker */
  .tabs { display:inline-flex; background:#fff; border:1px solid var(--line); border-radius:14px; padding:6px; gap:4px; margin-bottom:36px; flex-wrap:wrap; }
  .tabs button { border:0; background:transparent; padding:11px 18px; border-radius:10px; font-weight:700; font-size:14px; cursor:pointer; display:flex; align-items:center; gap:8px; transition:.25s; }
  .tabs button::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--c); }
  .tabs button.on { background:var(--navy); color:#fff; }
  .probs { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  .prob { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px; display:flex; flex-direction:column; gap:14px; min-height:190px; cursor:pointer; transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
  .prob:hover { transform:translateY(-6px); box-shadow:0 24px 40px -28px rgba(15,28,46,.5); border-color:transparent; }
  .prob .ic { width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--ivory); color:var(--ink); transition:.35s; }
  .prob:hover .ic { background:var(--navy); color:var(--amber); }
  .prob h3 { font-size:18px; font-weight:700; } .prob p { margin:0; color:var(--slate); font-size:14px; }
  .prob .go { margin-top:auto; font-size:13px; font-weight:700; color:var(--amber-d); }
  .prob[hidden] { display:none; }

  /* pillars (photo tiles) */
  .pillars { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .pillar { position:relative; height:460px; border-radius:22px; overflow:hidden; color:#fff; display:flex; flex-direction:column; justify-content:flex-end; padding:26px; isolation:isolate; }
  .pillar .ph { position:absolute; inset:0; border-radius:0; z-index:-2; transition:transform 1.2s var(--ease); }
  .pillar::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(15,28,46,0) 30%,rgba(15,28,46,.92) 100%); }
  .pillar:hover .ph { transform:scale(1.06); }
  .pillar .num { font-size:13px; font-weight:700; letter-spacing:.14em; color:rgba(255,255,255,.7); }
  .pillar h3 { font-size:28px; margin:8px 0 10px; }
  .pillar p { margin:0; font-size:14px; color:rgba(255,255,255,.8); max-height:0; opacity:0; overflow:hidden; transition:max-height .6s var(--ease), opacity .5s; }
  .pillar:hover p, .pillar:focus-within p { max-height:140px; opacity:1; }
  .pillar .more { margin-top:16px; font-weight:700; font-size:14px; display:flex; align-items:center; gap:8px; color:var(--amber); }
  .pillar .bar { position:absolute; top:0; left:0; right:0; height:4px; background:var(--c); }
  .pillar.off { opacity:.5; }

  /* services rail */
  .rail { display:grid; grid-auto-flow:column; grid-auto-columns:280px; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:18px; scrollbar-width:thin; }
  .svc { scroll-snap-align:start; background:#fff; border-radius:var(--r); overflow:hidden; border:1px solid var(--line); transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
  .svc:hover { transform:translateY(-6px); box-shadow:0 24px 40px -28px rgba(15,28,46,.5); }
  .svc .ph { height:180px; border-radius:0; }
  .svc .b { padding:20px 22px 24px; } .svc h3 { font-size:18px; margin:10px 0 6px; } .svc p { margin:0 0 14px; color:var(--slate); font-size:14px; }
  .svc .lm { font-size:14px; font-weight:700; display:flex; align-items:center; gap:6px; }
  .rail-ctrl { display:flex; gap:10px; }
  .rail-ctrl button { width:48px; height:48px; border-radius:50%; border:1.5px solid var(--line); background:#fff; cursor:pointer; font-size:18px; transition:.2s; }
  .rail-ctrl button:hover { background:var(--navy); color:#fff; border-color:var(--navy); }

  /* process */
  .process { background:var(--navy); color:#fff; }
  .process h2 { color:#fff; } .process .lead { color:rgba(255,255,255,.7); } .process .eyebrow { color:rgba(255,255,255,.6); }
  .timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; margin-top:16px; }
  .timeline::before { content:""; position:absolute; top:27px; left:28px; right:28px; height:2px; background:rgba(255,255,255,.12); }
  .timeline .prog { position:absolute; top:27px; left:28px; height:2px; width:0; background:var(--amber); transition:width 1.8s var(--ease); }
  .timeline.in .prog { width:calc(100% - 56px); }
  .tl { position:relative; }
  .tl .n { width:56px; height:56px; border-radius:50%; background:var(--navy2); border:2px solid rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--amber); position:relative; z-index:1; transition:.5s; }
  .timeline.in .tl .n { border-color:var(--amber); }
  .tl small { display:block; margin-top:24px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.5); font-weight:700; }
  .tl h3 { font-size:20px; margin:8px 0 10px; } .tl p { margin:0; color:rgba(255,255,255,.7); font-size:15px; }

  /* bento */
  .bento { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(200px,auto); gap:18px; }
  .bx { background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px; display:flex; flex-direction:column; transition:transform .35s var(--ease); }
  .bx:hover { transform:translateY(-4px); }
  .bx .ic { width:46px; height:46px; border-radius:14px; background:var(--amber-l); color:var(--amber-d); display:flex; align-items:center; justify-content:center; margin-bottom:auto; }
  .bx h3 { font-size:19px; margin:22px 0 8px; } .bx p { margin:0; color:var(--slate); font-size:15px; }
  .bx.big { grid-column:span 2; grid-row:span 2; background:var(--navy); color:#fff; border:0; padding:36px; position:relative; overflow:hidden; }
  .bx.big h3 { font-size:30px; max-width:420px; } .bx.big p { color:rgba(255,255,255,.75); font-size:16px; max-width:440px; }
  .bx.big .quote-doc { margin-top:auto; background:#fff; color:var(--ink); border-radius:16px; padding:18px 20px; max-width:380px; box-shadow:0 20px 40px -20px rgba(0,0,0,.5); transform:rotate(-2deg); }
  .quote-doc .r { display:flex; justify-content:space-between; font-size:13px; padding:7px 0; border-bottom:1px dashed var(--line); } .quote-doc .r:last-child { border:0; font-weight:800; }
  .quote-doc .ttl { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); font-weight:700; margin-bottom:6px; }
  .bx.wide { grid-column:1 / -1; flex-direction:row; align-items:center; gap:24px; }
  .bx.since { background:var(--amber); border:0; } .bx.since .big-n { font-size:64px; font-weight:800; letter-spacing:-.04em; line-height:1; margin-bottom:auto; } .bx.since p { color:var(--navy); opacity:.8; }

  /* plans */
  .toggle { display:inline-flex; background:#fff; border:1px solid var(--line); border-radius:999px; padding:5px; }
  .toggle button { border:0; background:transparent; padding:11px 22px; border-radius:999px; font-weight:700; cursor:pointer; transition:.3s; }
  .toggle button.on { background:var(--navy); color:#fff; }
  .plans { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .plan { background:#fff; border:1px solid var(--line); border-radius:22px; padding:32px; display:flex; flex-direction:column; transition:transform .35s var(--ease); }
  .plan:hover { transform:translateY(-6px); }
  .plan.feat { border:2px solid var(--amber); position:relative; }
  .plan.feat .pop { position:absolute; top:-13px; left:32px; background:var(--amber); color:var(--navy); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; padding:5px 12px; border-radius:999px; }
  .plan h3 { font-size:24px; } .plan .for { color:var(--slate); font-size:14px; margin:6px 0 22px; }
  .plan ul { list-style:none; padding:0; margin:0 0 28px; flex:1; }
  .plan li { display:flex; gap:10px; padding:10px 0; border-top:1px solid var(--line); font-size:14px; }
  .plan li svg.i { width:18px; height:18px; color:var(--amber-d); margin-top:2px; }
  .plan li.no { color:#A9AFB8; } .plan li.no svg.i { color:#C9CDD3; }

  /* property managers */
  .pm-wrap { display:grid; grid-template-columns:1fr 1fr; gap:0; border-radius:28px; overflow:hidden; background:#fff; border:1px solid var(--line); }
  .pm-wrap .ph { border-radius:0; min-height:520px; }
  .pm-body { padding:64px 56px; }
  .pm-feats { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:34px 0 36px; }
  .pm-feats div { display:flex; gap:12px; font-weight:600; font-size:15px; } .pm-feats svg.i { color:var(--amber-d); }

  /* testimonials */
  .tst { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .tcard { background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px; }
  .tcard .q { font-size:46px; line-height:.6; color:var(--amber); font-weight:800; }
  .tcard p { font-size:17px; margin:16px 0 24px; color:var(--slate); font-style:italic; }
  .tcard .who { display:flex; gap:12px; align-items:center; font-size:14px; }
  .tcard .av { width:42px; height:42px; border-radius:50%; background:var(--stone); }

  /* areas */
  .areas { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
  .search { display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--line); border-radius:14px; padding:4px 6px 4px 16px; margin:30px 0 14px; transition:border-color .2s, box-shadow .2s; }
  .search:focus-within { border-color:var(--amber); box-shadow:0 0 0 4px var(--amber-l); }
  .search input { flex:1; border:0; outline:none; padding:12px 0; background:transparent; }
  .search svg.i { color:var(--slate); }
  .area-msg { font-size:14px; color:var(--slate); min-height:22px; }
  .chips { display:flex; flex-wrap:wrap; gap:10px; }
  .chips span { background:#fff; border:1px solid var(--line); padding:9px 16px; border-radius:999px; font-size:14px; font-weight:600; transition:.2s; }
  .chips span:hover { border-color:var(--amber); background:var(--amber-l); }
  .chips span[hidden] { display:none; }

  /* faq */
  .faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; }
  .acc details { border-bottom:1px solid var(--line); }
  .acc summary { list-style:none; cursor:pointer; padding:26px 0; display:flex; justify-content:space-between; gap:24px; font-weight:700; font-size:18px; }
  .acc summary::-webkit-details-marker { display:none; }
  .acc summary .pm { flex:none; width:32px; height:32px; border-radius:50%; border:1.5px solid var(--line); position:relative; transition:.3s; }
  .acc summary .pm::before, .acc summary .pm::after { content:""; position:absolute; left:50%; top:50%; width:12px; height:1.6px; background:var(--ink); transform:translate(-50%,-50%); transition:.3s; }
  .acc summary .pm::after { transform:translate(-50%,-50%) rotate(90deg); }
  .acc details[open] .pm { background:var(--navy); border-color:var(--navy); } .acc details[open] .pm::before, .acc details[open] .pm::after { background:#fff; }
  .acc details[open] .pm::after { transform:translate(-50%,-50%) rotate(0); }
  .acc .a { color:var(--slate); padding:0 56px 26px 0; margin-top:-6px; }
  .help-card { margin-top:34px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px; display:flex; gap:16px; align-items:center; }
  .help-card .ic { width:48px; height:48px; border-radius:50%; background:var(--wa); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }

  /* final cta */
  .cta { background:var(--navy); color:#fff; border-radius:32px; padding:96px 64px; text-align:center; position:relative; overflow:hidden; }
  .cta::before { content:""; position:absolute; inset:auto -10% -60% -10%; height:120%; background:radial-gradient(ellipse at center,rgba(229,163,59,.18),transparent 60%); }
  .cta h2 { color:#fff; margin:0 auto; font-size:clamp(32px,4vw,52px); position:relative; }
  .cta p { color:rgba(255,255,255,.75); font-size:18px; max-width:620px; margin:20px auto 38px; position:relative; }
  .cta .btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; position:relative; }
  .cta .k { position:absolute; right:40px; top:40px; opacity:.07; width:220px; height:220px; }

  footer { background:var(--navy); color:rgba(255,255,255,.7); padding:88px 0 0; font-size:14px; margin-top:120px; }
  .fcols { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:48px; }
  footer h4 { color:#fff; margin:0 0 18px; font-size:14px; letter-spacing:.06em; }
  footer ul { list-style:none; margin:0; padding:0; } footer li { margin:10px 0; } footer li a:hover { color:var(--amber); }
  .fbar { border-top:1px solid rgba(255,255,255,.1); margin-top:64px; padding:24px 0; font-size:13px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; }

  .wa-float { position:fixed; right:24px; bottom:24px; z-index:40; width:60px; height:60px; border-radius:50%; background:var(--wa); display:flex; align-items:center; justify-content:center; box-shadow:0 12px 28px -8px rgba(37,211,102,.6); transition:transform .3s var(--ease); }
  .wa-float:hover { transform:scale(1.08); }
  .mbar { display:none; }

  @media (max-width:1024px) {
    .hero-grid, .book, .areas, .faq, .pm-wrap { grid-template-columns:1fr; }
    .probs, .pillars, .bento { grid-template-columns:1fr 1fr; }
    .trust .wrap { grid-template-columns:repeat(3,1fr); }
    .fc1 { left:12px; } .fc2 { right:12px; }
  }
  @media (max-width:860px) {
    nav, .topbar, .hdr-cta { display:none; } .burger { display:flex; }
    section { padding:80px 0; } .wrap { padding:0 16px; }
    .hero { padding:36px 0 64px; } .hero h1 em { white-space:normal; } .hero-grid > * { min-width:0; } .hero-visual .ph { height:380px; }
    .book { padding:28px 20px; gap:28px; border-radius:22px; }
    .panel { padding:20px; } .row2 { grid-template-columns:1fr; }
    .probs { grid-template-columns:1fr 1fr; gap:12px; } .prob { padding:18px; min-height:0; } .prob p { display:none; }
    .pillars { grid-template-columns:1fr; } .pillar { height:340px; } .pillar p { max-height:none; opacity:1; }
    .timeline { grid-template-columns:1fr; gap:34px; } .timeline::before, .timeline .prog { display:none; }
    .bento { grid-template-columns:1fr; } .bx.big { grid-column:auto; grid-row:auto; }
    .plans, .tst, .pm-feats, .fcols { grid-template-columns:1fr; }
    .pm-body { padding:36px 22px; } .pm-wrap .ph { min-height:260px; }
    .trust .wrap { grid-template-columns:1fr 1fr; } .trust div { border:0; padding:16px 0; font-size:14px; }
    .cta { padding:64px 22px; border-radius:24px; }
    .wa-float { display:none; }
    .mbar { display:grid; grid-template-columns:1fr 1fr 1fr; position:fixed; left:0; right:0; bottom:0; z-index:40; font-weight:700; font-size:14px; text-align:center; box-shadow:0 -6px 20px rgba(15,28,46,.12); }
    .mbar a { padding:16px 0; display:flex; align-items:center; justify-content:center; gap:6px; }
    body { padding-bottom:56px; }
    .tabs { display:flex; overflow-x:auto; flex-wrap:nowrap; } .tabs button { white-space:nowrap; }
  }

.crumb { font-size:13px; color:var(--slate); margin-bottom:22px; } .crumb a:hover { color:var(--ink); } .crumb span { margin:0 8px; opacity:.5; }
  .hub .hero h1 { font-size:clamp(36px,4.4vw,56px); }
  .hub .hero-visual .ph { height:500px; }
  .svc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
  .scard { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:26px; display:flex; flex-direction:column; gap:12px; transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
  .scard:hover { transform:translateY(-6px); box-shadow:0 24px 40px -28px rgba(15,28,46,.5); border-color:transparent; }
  .scard .ic { width:50px; height:50px; border-radius:14px; background:var(--ivory); display:flex; align-items:center; justify-content:center; transition:.35s; }
  .scard:hover .ic { background:var(--navy); color:var(--amber); }
  .scard h3 { font-size:19px; margin-top:6px; } .scard p { margin:0; color:var(--slate); font-size:14px; flex:1; }
  .scard .lk { font-weight:700; font-size:14px; color:var(--amber-d); }
  .scard.page .lk { color:var(--ink); }
  .rows { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; border-top:1px solid var(--line); }
  .prow { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 4px; border-bottom:1px solid var(--line); transition:padding .3s var(--ease), background .3s; border-radius:0; }
  .prow:hover { background:#fff; padding-left:16px; padding-right:16px; }
  .prow b { font-size:17px; font-weight:600; } .prow .r { display:flex; align-items:center; gap:14px; flex:none; }
  .prow .circ { width:36px; height:36px; border-radius:50%; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; transition:.3s; }
  .prow:hover .circ { background:var(--navy); border-color:var(--navy); color:#fff; }
  .band { background:var(--navy); color:#fff; border-radius:28px; padding:64px; display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center; position:relative; overflow:hidden; }
  .band::before { content:""; position:absolute; left:-140px; bottom:-160px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(229,163,59,.2),transparent 70%); }
  .band h2 { color:#fff; } .band .lead { color:rgba(255,255,255,.75); } .band .eyebrow { color:rgba(255,255,255,.6); }
  .band .mini { background:#fff; color:var(--ink); border-radius:16px; padding:20px 22px; margin-bottom:14px; position:relative; }
  .band .mini h3 { font-size:17px; margin-bottom:8px; } .band .mini div { font-size:13px; color:var(--slate); display:flex; gap:8px; margin:5px 0; } .band .mini svg.i { width:16px; height:16px; color:var(--amber-d); }
  .why4 { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .why4 .bx { min-height:240px; }
  .explore { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
  .explore .pillar { height:320px; } .explore .pillar p { max-height:none; opacity:1; }
  .svc-grid.g3 { grid-template-columns:repeat(3,1fr); }
  .sched { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:28px; padding:56px; }
  .tbl .tr { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); font-size:15px; }
  .tbl .tr .tag { font-size:13px; letter-spacing:0; text-transform:none; color:var(--ink); font-weight:600; }
  .tbl .tr b { font-weight:600; color:var(--slate); text-align:right; }
  .timeline.t5 { grid-template-columns:repeat(5,1fr); }
  .rows .circ { font-size:15px; }
  @media (max-width:1024px) { .svc-grid.g3 { grid-template-columns:1fr 1fr; } .sched { grid-template-columns:1fr; } .timeline.t5 { grid-template-columns:repeat(3,1fr); } }
  @media (max-width:860px) { .svc-grid.g3, .timeline.t5 { grid-template-columns:1fr; } .sched { padding:30px 20px; gap:24px; } .tbl .tr { flex-direction:column; gap:4px; } .tbl .tr b { text-align:left; } }
  @media (max-width:1024px) { .svc-grid, .why4 { grid-template-columns:1fr 1fr; } .band { grid-template-columns:1fr; } }
  @media (max-width:860px) {
    .svc-grid, .why4, .rows, .explore { grid-template-columns:1fr; }
    .band { padding:32px 22px; border-radius:22px; gap:28px; }
    .prow b { font-size:15px; } .prow .tag { display:none; }
    .hub .hero-visual .ph { height:320px; }
  }

.ticks { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:26px; font-size:14px; font-weight:600; }
  .ticks span { display:flex; align-items:center; gap:8px; } .ticks svg.i { width:18px; height:18px; color:var(--amber-d); }
  .prob-card p em { font-style:normal; font-weight:700; color:var(--ink); }
  .incl { background:#fff; border:1px solid var(--line); border-radius:28px; padding:56px; }
  .incl-head { margin-bottom:36px; }
  .incl-cols { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
  .incl-cols h3 { font-size:20px; margin-bottom:12px; padding-bottom:12px; border-bottom:2px solid var(--amber); display:inline-block; }
  .incl-cols ul { list-style:none; padding:0; margin:0; }
  .incl-cols li { display:flex; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); font-size:15px; }
  .incl-cols li svg.i { width:20px; height:20px; color:var(--amber-d); }
  .sys { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
  .sys span { background:var(--ivory); border:1px solid var(--line); border-radius:999px; padding:8px 14px; font-size:13px; font-weight:600; }
  .incl-note { color:var(--slate); font-size:14px; margin:18px 0 0; }
  .nudge { background:var(--navy); color:rgba(255,255,255,.85); border-radius:20px; padding:26px 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:16px; }
  .nudge b { color:#fff; }
  .rel .scard { gap:8px; } .rel .scard h3 { margin-top:4px; }
  @media (max-width:860px) {
    .incl { padding:30px 20px; border-radius:22px; } .incl-cols { grid-template-columns:1fr; gap:28px; }
    .nudge { flex-direction:column; align-items:flex-start; padding:24px 20px; }
  }

.cmp-wrap { background:#fff; border:1px solid var(--line); border-radius:22px; overflow-x:auto; }
  table.cmp { width:100%; min-width:680px; border-collapse:collapse; font-size:15px; }
  .cmp th, .cmp td { padding:16px 20px; border-bottom:1px solid var(--line); text-align:center; }
  .cmp th:first-child, .cmp td:first-child { text-align:left; font-weight:600; position:sticky; left:0; background:#fff; z-index:1; }
  .cmp thead th { font-size:20px; font-weight:800; padding-top:34px; position:relative; }
  .cmp thead th:first-child { font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); font-weight:700; }
  .cmp .feat { background:var(--amber-l); }
  .cmp thead th.feat { border-top:3px solid var(--amber); }
  .cmp .pop { position:absolute; top:10px; left:50%; transform:translateX(-50%); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--amber-d); white-space:nowrap; }
  .cmp .yes { color:var(--amber-d); font-weight:800; font-size:17px; }
  .cmp .no { color:#B9BEC6; }
  .cmp .sm { font-size:13px; color:var(--slate); }
  .cmp .cta-row td { border-bottom:0; padding:22px 14px 26px; }
  .cmp .cta-row .btn { padding:12px 16px; font-size:14px; white-space:nowrap; }
  .incl-cols.three { grid-template-columns:repeat(3,1fr); }
  .swipe { display:none; font-size:13px; font-weight:600; color:var(--slate); margin:0 0 10px; }
  @media (max-width:860px) { .swipe { display:block; } }
  @media (max-width:860px) { .incl-cols.three { grid-template-columns:1fr; } .cmp th, .cmp td { padding:14px 12px; } }

.pmx { display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; background:var(--navy); color:#fff; border-radius:28px; padding:64px; }
  .pmx h2 { color:#fff; } .pmx .eyebrow { color:rgba(255,255,255,.6); }
  .frows { margin-top:30px; display:grid; gap:22px; }
  .frow { display:flex; gap:16px; }
  .frow .ic { width:44px; height:44px; border-radius:12px; background:var(--navy2); color:var(--amber); display:flex; align-items:center; justify-content:center; flex:none; }
  .frow h3 { font-size:17px; margin-bottom:4px; } .frow p { margin:0; color:rgba(255,255,255,.72); font-size:15px; }
  .report { background:#fff; color:var(--ink); border-radius:20px; padding:24px; box-shadow:0 24px 50px -24px rgba(0,0,0,.6); transform:rotate(1.5deg); }
  .report .ttl { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); font-weight:700; margin-bottom:10px; }
  .report .r { display:flex; justify-content:space-between; gap:16px; font-size:14px; padding:10px 0; border-bottom:1px dashed var(--line); }
  .report .r span { color:var(--slate); } .report .r b { font-weight:700; text-align:right; }
  .report .r.col { flex-direction:column; gap:4px; } .report .r.col b { text-align:left; font-weight:600; }
  .report .ok { color:#2FA36B; }
  .report .pics { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:12px 0; border-bottom:1px dashed var(--line); }
  .report .pics .ph { height:110px; border-radius:12px; }
  @media (max-width:1024px) { .pmx { grid-template-columns:1fr; } }
  @media (max-width:860px) { .pmx { padding:32px 20px; border-radius:22px; gap:32px; } .report { transform:none; } }

.qhead { padding:72px 0 48px; text-align:center; }
  .qhead .wrap { max-width:820px; }
  .qhead h1 { font-size:clamp(36px,4.4vw,56px); font-weight:800; letter-spacing:-.03em; }
  .qhead .lead { margin:18px auto 0; }
  .qhead .crumb { text-align:left; }
  .photo-head { position:relative; isolation:isolate; overflow:hidden; margin:16px 28px 56px; border-radius:28px; padding:104px 0 80px; color:#fff; background:var(--navy) var(--img) center / cover no-repeat; }
  .photo-head::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(15,28,46,.55) 0%,rgba(15,28,46,.86) 100%); }
  .photo-head h1 { color:#fff; }
  .photo-head .lead { color:rgba(255,255,255,.86); }
  .photo-head .eyebrow, .photo-head .crumb, .photo-head .crumb a, .photo-head .lupd { color:rgba(255,255,255,.8); }
  .photo-head .crumb a:hover { color:#fff; }
  .photo-head .ticks span { color:#fff; } .photo-head .ticks svg { color:var(--amber); }
  .tk-pic { height:280px; border-radius:24px; background:var(--stone) center / cover no-repeat; margin:0 0 36px; }
  @media (max-width:860px) { .photo-head { margin:8px 12px 36px; border-radius:20px; padding:56px 0 44px; } .tk-pic { height:190px; } }
  .why4 .bx .ic b { font-weight:800; }
  .talk, .urgent { display:flex; justify-content:space-between; align-items:center; gap:24px; border-radius:20px; padding:28px 32px; }
  .talk { background:#fff; border:1.5px solid var(--navy); }
  .urgent { background:var(--amber-l); border:1px solid var(--amber); margin-top:36px; text-align:left; }
  .talk h3, .urgent h3 { font-size:20px; margin-bottom:6px; } .talk p, .urgent p { margin:0; color:var(--slate); max-width:560px; }
  .talk-btns { display:flex; gap:10px; flex-wrap:wrap; flex:none; }
  .thanks { padding:80px 0 120px; text-align:center; }
  .thanks .wrap { max-width:860px; }
  .tk-ic { width:84px; height:84px; border-radius:50%; background:var(--amber-l); color:var(--amber-d); display:flex; align-items:center; justify-content:center; margin:0 auto 26px; }
  .tk-ic svg.i { width:40px; height:40px; stroke-width:2.2; }
  .thanks h1 { font-size:clamp(32px,4vw,50px); font-weight:800; letter-spacing:-.03em; }
  .thanks .lead { margin:16px auto 0; }
  .thanks .small { color:var(--slate); font-size:14px; max-width:560px; margin:14px auto 0; }
  .tk-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; text-align:left; }
  .tk-steps div { background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px; display:flex; gap:14px; font-size:15px; }
  .tk-steps b { width:30px; height:30px; border-radius:50%; background:var(--navy); color:var(--amber); display:flex; align-items:center; justify-content:center; flex:none; font-size:14px; }
  .consent { display:flex !important; gap:10px; align-items:flex-start; font-size:13px; font-weight:500 !important; color:var(--slate); }
  .consent input { width:auto !important; padding:0 !important; margin-top:3px; }
  .consent a { color:var(--ink); border-bottom:1px solid var(--amber); }
  @media (max-width:860px) { .talk, .urgent { flex-direction:column; align-items:flex-start; padding:24px 20px; } .tk-steps { grid-template-columns:1fr; } .qhead { padding:40px 0 32px; } .thanks { padding:48px 0 80px; } }

.trust small { color:var(--slate); font-weight:500; font-size:12px; }
  .story { display:grid; grid-template-columns:1.1fr .9fr; gap:64px; align-items:center; }
  .story p { color:var(--slate); font-size:17px; margin:18px 0 0; }
  .story .ph-text { color:#8a5b0c; background:var(--amber-l); border:1px dashed var(--amber); border-radius:10px; padding:12px 16px; font-size:15px; }
  .reg { list-style:none; padding:0; margin:0; }
  .reg li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; }
  .reg span { color:var(--slate); } .reg b { text-align:right; font-weight:600; }
  @media (max-width:860px) { .story { grid-template-columns:1fr; gap:32px; } .reg li { flex-direction:column; gap:2px; } .reg b { text-align:left; } }

.copts .scard .ic { background:var(--navy); color:#fff; }
  .copts .scard.wa .ic { background:var(--wa); color:#fff; }
  .copts .scard.qt .ic { background:var(--amber); color:var(--navy); }
  .copts .scard p { flex:1; }
  .office { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:stretch; }
  .office h2 { margin-bottom:22px; }
  .addr { display:flex; gap:14px; font-size:16px; line-height:1.5; }
  .addr svg.i { color:var(--amber-d); margin-top:2px; }
  .ph-note { font-size:13px; color:#8a5b0c; background:var(--amber-l); border:1px dashed var(--amber); border-radius:8px; padding:8px 12px; margin:18px 0; }
  .map { position:relative; min-height:380px; border-radius:22px; overflow:hidden; border:1px solid var(--line);
    background:
      linear-gradient(90deg, rgba(255,255,255,.55) 1px, transparent 1px) 0 0/48px 48px,
      linear-gradient(rgba(255,255,255,.55) 1px, transparent 1px) 0 0/48px 48px,
      linear-gradient(160deg,#dfe6ec,#eef0ea 55%,#e6e0d4); }
  .map::before { content:""; position:absolute; left:-10%; right:-10%; top:46%; height:26px; background:#fff; transform:rotate(-14deg); opacity:.9; }
  .map::after { content:""; position:absolute; top:-10%; bottom:-10%; left:58%; width:18px; background:#fff; transform:rotate(18deg); opacity:.8; }
  .map-pin { position:absolute; left:50%; top:44%; transform:translate(-50%,-100%); z-index:2; background:var(--navy); color:#fff; border-radius:14px; padding:10px 14px; display:flex; align-items:center; gap:8px; font-size:14px; box-shadow:0 14px 30px -12px rgba(15,28,46,.6); white-space:nowrap; }
  .map-pin svg.i { color:var(--amber); width:20px; height:20px; } .map-pin span { color:rgba(255,255,255,.7); font-size:12px; }
  .map-pin::after { content:""; position:absolute; left:50%; bottom:-7px; transform:translateX(-50%) rotate(45deg); width:14px; height:14px; background:var(--navy); }
  .map-cap { position:absolute; left:16px; bottom:14px; z-index:2; font-size:12px; font-style:italic; color:var(--slate); }
  .map-link { position:absolute; right:16px; bottom:12px; z-index:2; background:#fff; border-radius:10px; padding:8px 12px; font-weight:700; font-size:13px; box-shadow:0 6px 16px -8px rgba(0,0,0,.3); }
  .cform { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:start; }
  .cform .panel { border:1px solid var(--line); }
  .cdone { text-align:center; padding:30px 10px; } .cdone .ok { width:60px; height:60px; border-radius:50%; background:var(--amber-l); color:var(--amber-d); display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }
  .cdone h3 { font-size:22px; } .cdone p { color:var(--slate); }
  @media (max-width:860px) { .office, .cform { grid-template-columns:1fr; gap:28px; } .map { min-height:280px; } .map-cap { display:none; } }

.lupd { color:var(--slate); font-size:14px; margin:10px 0 0; }
  .legal { display:grid; grid-template-columns:240px 1fr; gap:56px; align-items:start; max-width:1100px; }
  .legal > * { min-width:0; }
  .toc { position:sticky; top:110px; display:flex; flex-direction:column; gap:2px; font-size:14px; border-left:2px solid var(--line); padding-left:16px; }
  .toc b { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--slate); margin-bottom:10px; }
  .toc a { color:var(--slate); padding:5px 0; } .toc a:hover { color:var(--ink); }
  .ltext { max-width:760px; font-size:17px; color:#2b3542; }
  .ltext h2 { font-size:24px; margin:44px 0 12px; scroll-margin-top:100px; } .ltext h2:first-child { margin-top:0; }
  .ltext p { margin:0 0 14px; } .ltext ul { margin:0 0 16px; padding-left:22px; } .ltext li { margin:6px 0; }
  .ltab { overflow-x:auto; margin:8px 0 18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
  .ltab table { width:100%; min-width:620px; border-collapse:collapse; font-size:14px; }
  .ltab th, .ltab td { text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
  .ltab th { font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--slate); }
  .cbar { position:fixed; left:24px; bottom:24px; z-index:70; max-width:440px; background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px; box-shadow:0 24px 50px -20px rgba(15,28,46,.45); }
  .cbar h4 { margin:0 0 6px; font-size:16px; } .cbar p { margin:0 0 16px; font-size:14px; color:var(--slate); }
  .cbar p a { color:var(--ink); border-bottom:1px solid var(--amber); }
  .cbar .cb { display:flex; gap:8px; flex-wrap:wrap; } .cbar .btn { padding:11px 14px; font-size:13px; flex:1; }
  @media (max-width:860px) { .legal { grid-template-columns:1fr; gap:24px; } .toc { position:static; } .cbar { left:12px; right:12px; bottom:70px; max-width:none; } }

header .wrap { position:relative; }
  nav { align-items:center; }
  .ni { position:static; }
  .ni > a.dd { display:inline-flex; align-items:center; }
  .ni > a.dd::after { transition:transform .25s; }
  .mega { position:absolute; left:28px; right:28px; top:calc(100% - 6px); display:grid; grid-template-columns:1.1fr 1fr .9fr; gap:28px; background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px; box-shadow:0 30px 60px -30px rgba(15,28,46,.45); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s, transform .2s, visibility .2s; z-index:50; }
  .ni:hover .mega, .ni:focus-within .mega, .ni.open .mega { opacity:1; visibility:visible; transform:none; }
  .ni:hover > a.dd, .ni.open > a.dd { background:var(--stone); }
  .ni:hover > a.dd::after, .ni.open > a.dd::after { transform:rotate(-135deg) translate(-2px,-2px); }
  .ni.shut .mega { opacity:0 !important; visibility:hidden !important; }
  .mega-col { display:flex; flex-direction:column; gap:2px; min-width:0; }
  .mega-col.two { display:grid; grid-template-columns:1fr 1fr; gap:2px 16px; align-content:start; }
  .mega-col.two .mega-h, .mega-col.two .mall { grid-column:1 / -1; }
  .mega-h { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); font-weight:700; margin:0 0 10px; }
  nav .mega a { margin:0; padding:0; border-radius:12px; font-weight:500; }
  nav .mega a:hover { background:none; }
  .mi { display:flex !important; gap:12px; align-items:center; padding:10px !important; transition:background .2s; }
  .mi:hover { background:var(--ivory) !important; }
  .mi-ic { width:40px; height:40px; border-radius:12px; background:var(--ivory); display:flex; align-items:center; justify-content:center; flex:none; transition:.2s; }
  .mi:hover .mi-ic { background:var(--navy); color:var(--amber); }
  .mi b { display:block; font-size:15px; font-weight:700; color:var(--ink); }
  .mi small { display:block; font-size:12.5px; color:var(--slate); font-weight:500; }
  .ml { display:flex !important; align-items:center; gap:10px; padding:7px 10px !important; font-size:14.5px; color:var(--ink); white-space:nowrap; transition:background .2s; }
  .ml-ic { width:30px; height:30px; border-radius:9px; background:var(--ivory); display:flex; align-items:center; justify-content:center; flex:none; transition:.2s; }
  .ml-ic .i { width:17px; height:17px; }
  .ml:hover .ml-ic { background:var(--navy); color:var(--amber); }
  .mega.four { grid-template-columns:1.15fr 1fr 1fr .95fr; }
  .ml:hover { color:var(--amber-d); background:var(--ivory) !important; }
  .mall { margin-top:8px !important; padding:8px 10px !important; font-size:14px; font-weight:700 !important; color:var(--amber-d) !important; }
  .mega-promo { background:var(--navy) !important; color:#fff; border-radius:16px !important; padding:22px !important; display:flex !important; flex-direction:column; gap:6px; align-self:stretch; position:relative; overflow:hidden; }
  .mega-promo::after { content:""; position:absolute; right:-60px; bottom:-60px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle,rgba(229,163,59,.28),transparent 70%); }
  .mega-promo .mega-h { color:var(--amber); margin-bottom:4px; }
  .mega-promo b { font-size:18px; line-height:1.3; font-weight:800; }
  .mega-promo small { color:rgba(255,255,255,.72); font-size:13px; }
  .mp-btn { margin-top:auto; align-self:flex-start; background:var(--amber); color:var(--navy); font-weight:700; font-size:13px; padding:10px 14px; border-radius:10px; position:relative; z-index:1; }
  .burger { cursor:pointer; background:#fff; }
  .mnav { position:fixed; inset:0; z-index:80; background:rgba(15,28,46,.45); display:flex; justify-content:flex-end; }
  .mnav-panel { width:min(380px, 90vw); height:100%; overflow-y:auto; background:var(--ivory); padding:18px 20px 28px; display:flex; flex-direction:column; animation:slidein .28s var(--ease); }
  @keyframes slidein { from { transform:translateX(30px); opacity:0 } to { transform:none; opacity:1 } }
  .mnav-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
  .mnav-top b { font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--slate); }
  .mnav-x { width:44px; height:44px; border-radius:12px; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
  .mnav details { border-bottom:1px solid var(--line); }
  .mnav summary { list-style:none; cursor:pointer; padding:16px 4px; font-weight:700; font-size:17px; display:flex; justify-content:space-between; align-items:center; }
  .mnav summary::-webkit-details-marker { display:none; }
  .mnav summary::after { content:""; width:8px; height:8px; border-right:2px solid var(--slate); border-bottom:2px solid var(--slate); transform:rotate(45deg); transition:transform .2s; margin-right:6px; }
  .mnav details[open] summary::after { transform:rotate(-135deg); }
  .mnav-links { display:flex; flex-direction:column; padding:0 0 12px 8px; }
  .mnav-links a { padding:9px 4px; font-size:15px; color:var(--ink); }
  .mnav-links a:first-child { font-weight:700; color:var(--amber-d); }
  .mnav-item { padding:16px 4px; font-weight:700; font-size:17px; border-bottom:1px solid var(--line); }
  .mnav-cta { margin-top:24px; display:grid; gap:10px; }
  .mnav-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .mnav-cta .btn { width:100%; }
  .btn-wa { background:var(--wa); color:var(--navy); }
  .mnav-cta p { margin:6px 0 0; text-align:center; font-size:13px; color:var(--slate); }
  @media (max-width:1100px) { .mega, .mega.four { grid-template-columns:1fr 1fr; } .mega-promo { display:none !important; } }

[hidden]{display:none!important} #request,#compare{scroll-margin-top:90px}

/* WordPress-only additions */
/* Form messages and photo picker */
.ferr { display:block; margin:-4px 0 12px; color:#B42318; font-size:13.5px; font-weight:600; }
.ferr[hidden] { display:none; }
.field.bad input, .field.bad select, .field.bad textarea { border-color:#B42318 !important; }
.upload { cursor:pointer; }
.upload.has { border-color:var(--amber); color:var(--ink); font-weight:600; }
button[disabled] { opacity:.6; cursor:wait; }
