/* Phase 155 CSS bundle: core-pre.bundle.css */

/* >>> styles.min.css >>> */
:root{--bg:#fbfdff;--card:#ffffff;--line:rgba(11,43,74,.12);--ink:#0b1220;--muted:#334155;--nav:#0b5aa6;--nav2:#073b72;--primary:#0ea5a4;--primary2:#0b6f93;--accent:#ff7a45;--sand:#f7d9a6;--shadow:0 14px 34px rgba(8, 24, 48, .10);--r:16px;--radius:16px;--radius2:24px;--accent2:#0b1220;--font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max:1120px;} body{background:var(--bg);color:var(--ink);line-height:1.65} p,li{color:var(--ink)} small,.notice{color:var(--muted)} .container{max-width:1120px} .content{max-width:760px} .btn{border-radius:14px} .btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));border:none} .btn.primary:hover{filter:brightness(.98)} .pill{border-radius:999px} .card,.inc,.hl{border-radius:var(--radius);border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)} .card:hover{transform:translateY(-2px)} .card b{display:block;line-height:1.2} .card small{display:block;margin-top:6px;line-height:1.35;color:var(--muted)} .form input,.form select,.form textarea{width:100%;border:1px solid rgba(11,43,74,.18);border-radius:14px;padding:14px 14px;background:#fff;font-weight:650;outline:none;} .form textarea{min-height:130px;resize:vertical} .form input:focus,.form select:focus,.form textarea:focus{border-color:rgba(14,165,164,.55);box-shadow:0 0 0 4px rgba(14,165,164,.14);} label{display:block;font-weight:850;margin:10px 0 6px} .navDrawer{z-index:6500;display:none} .navDrawer.isOpen{display:block} .navDrawerPanel{border-radius:18px} .heroOverlayV18{background:linear-gradient(180deg,rgba(11,18,32,.25),rgba(11,18,32,.70))} .heroContent p{color:rgba(255,255,255,.92)} .heroContent h1{color:#fff} body{background:var(--bg);color:var(--ink);line-height:1.65} .container{max-width:1100px} .content{max-width:760px} h1,h2,h3{letter-spacing:-.02em} h1{font-size:clamp(30px,4.2vw,46px);line-height:1.08} h2{font-size:clamp(22px,2.8vw,30px);line-height:1.2} .notice{color:var(--muted)} .btn{border-radius:16px} .btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));border:none} .btn.primary:hover{filter:brightness(.98)} .pill{border-radius:999px} .card,.inc,.hl{border-radius:var(--radius);border:1px solid var(--line);background:var(--card)} .card:hover{transform:translateY(-2px)} .form input,.form select,.form textarea{width:100%;border:1px solid rgba(12,26,49,.18);border-radius:16px;padding:14px 14px;background:#fff;font-weight:650;outline:none;} .form textarea{min-height:130px;resize:vertical} .form input:focus,.form select:focus,.form textarea:focus{border-color:rgba(14,165,164,.55);box-shadow:0 0 0 4px rgba(14,165,164,.14);} label{display:block;font-weight:850;margin:10px 0 6px} label small{display:block;font-weight:650;color:var(--muted)} .modePill{border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:#fff;display:flex;gap:6px;align-items:center} .modePill button{border:none;background:transparent;padding:6px 10px;border-radius:999px;font-weight:850;color:var(--muted);cursor:pointer} .modePill button.isActive{background:rgba(14,165,164,.14);color:var(--ink)} .navCta{background:linear-gradient(135deg,var(--accent),#ffb38e);border:none;color:#0b1220} .stickyCta{position:fixed;left:12px;right:12px;bottom:12px;z-index:9998;display:none} .stickyCta .btn{width:100%;justify-content:center} @media (max-width:900px){.stickyCta{display:block}.modePill{display:none}} .heroOverlayV18{background:linear-gradient(180deg,rgba(11,18,32,.25),rgba(11,18,32,.70))} .heroPill{background:rgba(255,255,255,.90);color:var(--ink)} main{padding-top:6px} *{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6} a{color:inherit;text-decoration:none} .container{max-width:var(--max);margin:0 auto;padding:0 18px} .topbar{position:sticky;top:0;z-index:3000;background:linear-gradient(180deg, var(--nav), var(--nav2));box-shadow:0 6px 18px rgba(0,0,0,.12)} .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0} .brand{display:flex;align-items:center;gap:12px} .brand img{height:34px;width:auto;display:block} .menu{display:none;gap:14px;align-items:center;flex-wrap:wrap} .menu a{color:#eaf3ff;font-weight:700;font-size:.92rem;padding:8px 10px;border-radius:10px} .menu a:hover{background:rgba(255,255,255,.10)} .menu a[aria-current="page"]{background:rgba(255,255,255,.18)} .hero{background:#fff;border-bottom:1px solid var(--line)} .heroWrap{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);margin:18px 0 0} .heroImg{width:100%;height:420px;object-fit:cover;display:block} .heroOverlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.44), rgba(0,0,0,.10) 58%, rgba(0,0,0,0))} .heroContent{position:absolute;left:26px;top:26px;right:26px;color:#fff;max-width:620px} .heroContent h1{margin:0 0 8px;font-size:clamp(28px, 4vw, 44px);line-height:1.1} .heroContent p{margin:0 0 14px;opacity:.95} .btnRow{display:flex;gap:10px;flex-wrap:wrap} .btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;font-weight:800;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff} .btn.primary{border-color:rgba(255,183,3,.45);background:rgba(255,183,3,.92);color:#0b2b4a} .section{padding:18px 0} .cards{display:grid;grid-template-columns:1fr;gap:14px;margin-top:16px} .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden} .card img{width:100%;height:160px;object-fit:cover;display:block} .card .pad{padding:12px 14px} .card h3{margin:0 0 6px;font-size:1.05rem} .card p{margin:0;color:var(--muted);font-size:.95rem} .grid2{display:grid;grid-template-columns:1fr;gap:14px;align-items:start} .content{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px} .content h2{margin:0 0 8px;font-size:1.3rem} .content h3{margin:14px 0 8px} .content p{margin:0 0 10px;color:var(--muted)} .content ul{margin:8px 0 0 18px;color:var(--muted)} .tableWrap{overflow:auto;border:1px solid var(--line);border-radius:14px} table{border-collapse:collapse;width:100%;min-width:620px;background:#fff} th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left} th{background:#f7fbff;color:var(--ink);font-weight:900} .footer{padding:26px 0 40px;color:var(--muted)} .footer .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between} .pill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-weight:750;color:var(--muted)} .notice{font-size:.9rem} @media (min-width:980px){.menu{display:flex} .cards{grid-template-columns:repeat(5,1fr)} .grid2{grid-template-columns:1.1fr .9fr} .heroImg{height:520px}} .heroPill{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);color:#fff;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.86rem;margin-bottom:10px;} .navToggle{display:inline-flex;flex-direction:column;gap:5px;background:transparent;border:1px solid rgba(255,255,255,.18);padding:10px 10px;border-radius:12px;cursor:pointer;} .navToggle span{display:block;width:22px;height:2px;background:#eaf3ff;border-radius:2px;} .navDrawer{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90;} .navDrawerPanel{position:absolute;left:12px;right:12px;top:12px;background:#fff;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;max-height:calc(100vh - 24px);} .navDrawerTop{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);} .navClose{border:none;background:transparent;font-weight:900;cursor:pointer;padding:8px 10px;} .navDrawerLinks{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;} .navDrawerLinks a{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-weight:800;color:var(--muted);} .navDrawerLinks a:hover{background:#f7fbff} @media (min-width:980px){.navToggle{display:none;}} @media (max-width:979px){.menu{display:none;}} @media (max-width:440px){.heroContent{left:16px;top:18px;right:16px} .heroImg{height:420px} .btn{padding:10px 12px}} .content p{max-width:82ch} .kpiRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px} .kpi{border:1px solid var(--line);border-radius:14px;padding:12px;background:#f7fbff} .kpi b{display:block;font-size:1.05rem} .kpi span{color:var(--muted);font-size:.92rem} .related{display:grid;grid-template-columns:repeat(auto-fit, minmax(210px,1fr));gap:12px;margin-top:10px} .related a{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;font-weight:850;color:var(--muted)} .related a b{color:var(--ink)} .related a small{display:block;margin-top:6px;font-weight:650;color:var(--muted)} .faq{margin-top:10px} .faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;margin-top:10px} .faq summary{cursor:pointer;font-weight:900;color:var(--ink)} .faq p{margin:10px 0 0;color:var(--muted)} .newsletter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end} .newsletter input{min-width:220px;padding:10px 12px;border:1px solid var(--line);border-radius:12px} .newsletter button{border:none;cursor:pointer} @media (max-width:520px){.newsletter{justify-content:stretch} .newsletter input{flex:1;min-width:0}} body{background:radial-gradient(1200px 500px at 50% -50px, rgba(56,189,248,.22), transparent 55%), var(--bg);} .topbar{background:linear-gradient(180deg, #1666a8, #0f4d7a);} .heroWrapV18{border-radius:24px} .heroOverlayV18{background:linear-gradient(90deg, rgba(2,6,23,.55), rgba(2,6,23,.20) 58%, rgba(2,6,23,0))} .btn.primary{background:linear-gradient(90deg, rgba(255,183,3,.98), rgba(45,212,191,.92));border-color:rgba(255,183,3,.45)} .cardV18 img{height:170px} .cardV18 .pad{padding:14px 14px} .cardV18 h3{font-size:1.08rem} .cardV18 p{font-size:.95rem} .section{padding:22px 0} .content{border-radius:18px} .kpi{background:linear-gradient(180deg, #f7fbff, #ffffff)} .navToggle{padding:12px 12px} .navDrawerLinks a{padding:12px 12px} .split{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch} .split .media{border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:#fff} .split .media img{width:100%;height:100%;object-fit:cover;display:block} @media (min-width:980px){.split{grid-template-columns:1fr 1fr} .cardV18 img{height:180px}} .navChk{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px} .navDrawer{display:none} .navDrawerBackdrop{position:absolute;inset:0} #navChk:checked ~ .navDrawer{display:block} .navDrawerAcc details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-top:10px;overflow:hidden} .navDrawerAcc summary{cursor:pointer;padding:12px 14px;font-weight:900;color:var(--ink);list-style:none} .navDrawerAcc summary::-webkit-details-marker{display:none} .navDrawerAcc .navDrawerLinks{padding:0 10px 10px} .navDrawerAcc .navDrawerLinks a{display:block;padding:10px 10px;border-radius:12px} .navDrawerAcc .navDrawerLinks a:hover{background:#f3f6fb} #navChk:checked ~ #navDrawer{display:block} #navChk:checked ~ header .navToggle span:nth-child(2){opacity:0} #navChk:checked ~ header .navToggle span:nth-child(1){transform:translateY(8px) rotate(45deg)} #navChk:checked ~ header .navToggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)} .widgetCard{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);padding:14px} .widgetHead{margin-bottom:10px} .skyscannerWrap{border:1px solid var(--line);border-radius:16px;overflow:hidden;padding:10px;background:#f7fbff} .badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f2f8ff;border:1px solid var(--line);font-weight:850;color:var(--ink);text-transform:capitalize} .ugcMeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px} .metaItem{color:var(--muted);font-weight:700} .ugcHero{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#e8eef6} .ugcHero img{width:100%;height:auto;display:block;object-fit:cover} .tableWrap table td, .tableWrap table th{white-space:nowrap} @media (max-width:520px){.tableWrap{overflow:auto} .tableWrap table{min-width:680px}} .navToggle{cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:120;position:relative} .navToggle span{display:block} .navDrawer{display:none} #navChk:checked ~ #navDrawer{display:block !important} .navDrawerBackdrop{position:absolute;inset:0;display:block} .navDrawerPanel{pointer-events:auto} .ugcGrid{display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:12px;} .ugcCard{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden;color:inherit;text-decoration:none;} .ugcCardMedia{position:relative;aspect-ratio:16/9;background:#e9eef6;overflow:hidden;} .ugcCardMedia img{width:100%;height:100%;object-fit:cover;display:block} .ugcCardBody{padding:14px} .ugcMeta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px;color:var(--muted);font-size:.92rem} .badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f2f8ff;border:1px solid var(--line);font-weight:900;color:var(--ink);text-transform:capitalize;} .ugcExcerpt{margin-top:8px;color:var(--muted)} .navToggle{background:transparent;border:0;padding:10px;border-radius:14px} .navToggle:focus-visible{outline:3px solid rgba(255,255,255,.65);outline-offset:2px} body.navOpen .navDrawer{display:block} body.navOpen{overflow:hidden} .navDrawer{display:none} .navDrawerBackdrop{border:0;background:rgba(0,0,0,.45);width:100%;height:100%;position:fixed;inset:0} .navDrawerPanel{position:fixed;right:0;top:0;height:100%;width:min(92vw, 380px);background:#fff;padding:12px;overflow:auto;box-shadow:-20px 0 60px rgba(0,0,0,.25)} .navClose{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;font-weight:900} .navDrawerTop{display:flex;align-items:center;justify-content:space-between;gap:10px} .navDrawerAcc details{border:1px solid var(--line);border-radius:14px;background:#fff;margin-top:10px;overflow:hidden} .navDrawerAcc summary{cursor:pointer;padding:12px 14px;font-weight:900;color:var(--ink);list-style:none} .navDrawerAcc summary::-webkit-details-marker{display:none} .navDrawerAcc .navDrawerLinks{padding:0 10px 10px} .navDrawerAcc .navDrawerLinks a{display:block;padding:10px 10px;border-radius:12px} .navDrawerAcc .navDrawerLinks a:hover{background:#f3f6fb} .skyscannerWrap, .skyscannerWrap *{position:relative;z-index:1} .input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 12px;font:inherit;color:var(--ink);box-shadow:0 6px 18px rgba(15,23,42,.04);} .input:focus{outline:none;border-color:rgba(0,112,243,.45);box-shadow:0 0 0 4px rgba(0,112,243,.12)} .formRow{display:flex;gap:12px;flex-wrap:wrap} .formRow > *{flex:1} .listGrid{display:grid;grid-template-columns:1fr;gap:12px} .listCard{display:flex;gap:12px;align-items:stretch;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:var(--shadow);color:inherit;text-decoration:none;} .listImg{width:150px;flex:0 0 150px;background:#e8eef6;position:relative} .listImg img{width:100%;height:100%;object-fit:cover;display:block} .listImgPh{height:100%;display:flex;align-items:center;justify-content:center;font-weight:900;color:#0f4d7a;text-transform:capitalize} .listBody{padding:14px;flex:1;min-width:0} .listTop{display:flex;gap:10px;align-items:center;flex-wrap:wrap} .listWhen{color:var(--muted);font-weight:800;font-size:.92rem} .listTitle{margin:10px 0 4px;font-size:1.05rem;line-height:1.2} .listMeta{color:var(--muted);font-weight:800} .listExcerpt{margin-top:8px;color:var(--muted)} @media (max-width:520px){.listCard{flex-direction:column} .listImg{width:100%;flex:0 0 auto;aspect-ratio:16/9}} #cookieBanner{position:fixed;left:0;right:0;bottom:0;z-index:99999;padding:10px;background:rgba(10,20,40,.55);backdrop-filter:blur(6px)} #cookieBanner .cookieInner{max-width:1050px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap} #cookieBanner .cookieText{min-width:220px;flex:1} #cookieBanner .cookieText p{margin:6px 0 0;color:var(--muted)} #cookieBanner .cookieActions{display:flex;gap:10px;flex-wrap:wrap} #cookieBanner .cookiePrefs{max-width:1050px;margin:10px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:12px} .switchRow{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:14px;background:#f7fbff} .switchRow input{margin-top:3px} .switchRow span{display:flex;flex-direction:column;gap:2px} .switchRow small{color:var(--muted)} .topbar{position:sticky;top:0;z-index:9999} .navDrawer{display:none;position:fixed;inset:0;z-index:99998} .navDrawer.isOpen{display:block} .navDrawerBackdrop{position:absolute;inset:0;background:rgba(10,20,40,.55)} .navDrawerPanel{position:absolute;right:0;top:0;height:100%;width:min(420px, 92vw);background:#fff;border-left:1px solid var(--line);box-shadow:var(--shadow);padding:14px;overflow:auto} .navDrawerTop{display:flex;align-items:center;justify-content:space-between;gap:10px} .navClose{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;font-weight:900} .navToggle{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 10px;display:none} .navToggle span{display:block;height:2px;width:20px;background:var(--ink);margin:4px 0;border-radius:2px;transition:transform .2s ease,opacity .2s ease} @media (max-width:900px){.menu{display:none} .navToggle{display:inline-flex;flex-direction:column;align-items:center;justify-content:center}} body.navOpen{overflow:hidden} .crumbWrap{background:#f7fbff;border-bottom:1px solid var(--line)} .crumbBar{display:flex;gap:8px;align-items:center;padding:10px 0;flex-wrap:wrap;color:var(--muted);font-weight:800} .crumb{color:var(--muted);text-decoration:none} a.crumb:hover{color:var(--ink)} .crumbSep{opacity:.6} .nextSteps{position:fixed;left:0;right:0;bottom:0;z-index:99997;padding:10px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-top:1px solid var(--line)} .nextSteps .nextInner{max-width:1050px;margin:0 auto;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap} .nextSteps .nextLinks{display:flex;gap:8px;flex-wrap:wrap;align-items:center} .pill.ghost{background:#fff} .baseRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px} .basePill{border:1px solid var(--line)} .baseActive{background:#0f4d7a !important;color:#fff !important;border-color:#0f4d7a !important} input, select, textarea{font:inherit} .formRow input,.formRow textarea,.formRow select, .form input, .form textarea, .form select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 12px;background:#fff;outline:none;} .formRow textarea, .form textarea{min-height:130px;resize:vertical} .formRow input:focus,.formRow textarea:focus,.formRow select:focus{box-shadow:0 0 0 4px rgba(15,77,122,.12);border-color:#8db7d6} .card, .ugcCard, .widgetCard{transition:transform .15s ease, box-shadow .15s ease} .card:hover, .ugcCard:hover, .widgetCard:hover{transform:translateY(-2px)} body{padding-bottom:90px} .highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0} .hl{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:12px} .hl b{display:block;font-weight:900;color:var(--ink)} .hl span{color:var(--muted);font-weight:750} .includesGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px} .inc{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:12px} .inc b{display:block;font-weight:900} .inc span{display:block;color:var(--muted);margin-top:4px} .timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px} .tl{border:1px solid var(--line);border-radius:16px;background:#f7fbff;padding:12px} .tl b{display:block;font-weight:900} .tl span{display:block;color:var(--muted);margin-top:4px} .marketBar{display:flex;gap:8px;align-items:center;margin-left:10px} .marketSelect{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;font-weight:750} @media (max-width:900px){.marketBar{display:none}} body{background:radial-gradient(1200px 600px at 50% -120px, rgba(14,165,164,.14), transparent 55%), var(--bg);color:var(--ink);} .topbar{background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);box-shadow:0 10px 28px rgba(7,20,36,.10);} .nav{padding:12px 0} .brand img{height:36px} .menu{gap:8px} .menu a{color:var(--ink);font-weight:850;padding:9px 10px;border-radius:12px;} .menu a:hover{background:rgba(14,165,164,.10)} .menuRight{gap:10px} .langPill{border:1px solid var(--line);background:#fff;} .modePill{border:1px solid var(--line);background:#fff;} .modePill button{color:var(--muted)} .modePill button.isActive{background:rgba(14,165,164,.14);color:var(--ink)} .navCta{background:linear-gradient(135deg, var(--accent2), #ffb38e);color:#071424 !important;border:none;} .navCta:hover{filter:brightness(.98)} .hero{background:transparent;border-bottom:none} .heroWrap{border-radius:24px} .heroImg{filter:saturate(1.06) contrast(1.02)} .heroOverlayV18{background:linear-gradient(90deg, rgba(7,20,36,.62), rgba(7,20,36,.26) 60%, rgba(7,20,36,0) 100%);} .heroPill{background:rgba(255,255,255,.90);border:1px solid rgba(255,255,255,.55);color:var(--ink);} .heroContent{max-width:720px} .heroContent p{color:rgba(255,255,255,.92)} .card{padding:14px;color:var(--ink);text-decoration:none;} .card.cardV18{padding:0} .card b{display:block;font-weight:950} .card small{margin-top:6px} .form{margin-top:10px} .form input,.form select,.form textarea{font-size:16px;line-height:1.4;} .form textarea{min-height:140px} .navDrawerPanel{border-left:1px solid var(--line);} .navDrawerLinks a{display:block;padding:10px 10px;border-radius:12px;} .navDrawerLinks a:hover{background:rgba(14,165,164,.10)} @media (min-width:980px){.nav{justify-content:flex-start} .brand{margin-right:10px} .modePill{margin-right:10px} .menuPackages,.menuGuides{margin-right:auto} .menuRight{margin-left:8px}} body{background:var(--bg);color:var(--ink)} p,li{color:var(--ink)} small{color:var(--muted)} .card small{display:block;margin-top:6px;line-height:1.35;color:var(--muted)} .card b{display:block;line-height:1.2} .notice{color:var(--muted)} .menu a{color:#eef6ff} .menu a.pill{background:rgba(255,255,255,.16);color:#eef6ff} .menuRight a{color:#eef6ff} .langPill{border:1px solid rgba(255,255,255,.20)} .navToggle{border:1px solid rgba(255,255,255,.22)} .navToggle span{background:#eef6ff} .navDrawer{z-index:6500;display:none} .navDrawer.isOpen{display:block} .navDrawerBackdrop{position:absolute;inset:0} .navDrawerPanel{position:absolute;right:12px;top:12px;width:min(520px, 92vw)} @media (max-width:520px){.navDrawerPanel{left:12px;right:12px;width:auto} .navDrawerLinks{grid-template-columns:1fr}} .heroContent p{color:rgba(255,255,255,.92)} .heroContent h1{color:#fff} .navToggle{background:#fff;border:1px solid var(--line)} .navToggle span{background:var(--ink)} .navDrawerPanel{max-height:calc(100vh - 24px);overflow:auto} .navDrawerAcc details{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);margin:10px 0} .navDrawerAcc summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:900;position:relative} .navDrawerAcc summary::-webkit-details-marker{display:none} .navDrawerAcc summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--muted)} .navDrawerAcc details[open] summary::after{content:"−";color:var(--ink)} .navDrawerLinks{display:grid;grid-template-columns:1fr;gap:10px;padding:12px 14px} .navDrawerLinks a{padding:12px 14px;border:1px solid rgba(11,43,74,.10);border-radius:14px;background:#fff} .navDrawerLinks a.pill{border:none} .langSwitch{display:flex;gap:8px;align-items:center} .langSwitch .pill{padding:8px 12px;background:#fff;border:1px solid var(--line);color:var(--ink)} body.navOpen .stickyCta{display:none !important} body.navOpen .nextBar, body.navOpen .bottomBar, body.navOpen .stickyNext{display:none !important} @media (max-width:780px){.fold{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);margin:10px 0} .fold summary{padding:12px 14px;font-weight:950;cursor:pointer;position:relative} .fold summary::-webkit-details-marker{display:none} .fold summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--muted)} .fold[open] summary::after{content:"−";color:var(--ink)} .foldBody{padding:0 14px 14px} .section{padding-top:10px;padding-bottom:10px} .cards{gap:10px}} .topbar{position:sticky;top:0;z-index:3000;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.06)} .menu{display:none;gap:12px;align-items:center;flex-wrap:wrap} .menu a{color:var(--ink);font-weight:800;font-size:.92rem;padding:8px 10px;border-radius:12px} .menu a:hover{background:rgba(11,43,74,.06)} .menu a[aria-current="page"]{background:rgba(11,43,74,.08)} .navCta{background:linear-gradient(135deg,var(--accent),#ffb38e);color:#111;border:none} .langPill{background:rgba(11,43,74,.06);color:var(--ink);border:1px solid var(--line)} .modePill{background:#fff;border:1px solid var(--line)} .modePill button{color:var(--muted)} .modePill button.isActive{background:rgba(14,165,164,.12);color:var(--ink)} .navToggle{background:#fff;border:1px solid var(--line);border-radius:14px} .navToggle span{background:var(--ink)} .navDrawerTop{display:flex;align-items:center;justify-content:space-between;gap:10px} .langSwitch .pill{padding:8px 10px} .footer{background:#fff;border-top:1px solid var(--line);margin-top:22px} .footerGrid{display:grid;grid-template-columns:1fr 1.2fr 1.4fr;gap:16px;padding:22px 0} .footerLinks,.footerMeta{display:flex;flex-wrap:wrap;gap:10px} .footer .pill{padding:10px 12px} .newsletterForm{display:flex;gap:10px;flex-wrap:wrap;align-items:center} .newsletterForm input{flex:1;min-width:220px;border:1px solid rgba(11,43,74,.18);border-radius:14px;padding:12px 12px} .footerCta{padding-top:0} .footerCtaInner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap} @media (max-width:900px){.footerGrid{grid-template-columns:1fr;gap:14px} .newsletterForm{flex-direction:column;align-items:stretch} .newsletterForm input{min-width:unset;width:100%} .footer .pill{flex:1 1 calc(50% - 10px);text-align:center}} #nextSteps{position:fixed;left:0;right:0;bottom:0;z-index:2200;background:rgba(255,255,255,.96);backdrop-filter:saturate(140%) blur(10px);border-top:1px solid var(--line);padding:10px 12px} #nextSteps .nextInner{display:flex;align-items:center;gap:10px;justify-content:space-between} #nextSteps .nextLinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end} #nextSteps .pill{padding:8px 10px} @media (min-width:901px){#nextSteps{display:none !important}} body.navOpen #nextSteps{display:none !important} body.footerInView #nextSteps{display:none !important} .form{max-width:760px} .drawer{display:none;position:fixed;inset:0;z-index:8000} .drawer.isOpen{display:block} .drawerBackdrop{position:absolute;inset:0;background:rgba(11,18,32,.35)} .drawerPanel{position:absolute;right:10px;top:10px;width:min(520px, 94vw);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);max-height:calc(100vh - 20px);overflow:auto} @media (max-width:560px){.drawerPanel{left:10px;right:10px;width:auto}} .drawerTop{display:flex;align-items:center;gap:10px;padding:12px 12px 8px} .drawerBrand img{height:28px;width:auto} .drawerLang{margin-left:auto;display:flex;gap:8px} .drawerClose{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;font-weight:900;cursor:pointer} .drawerCtas{display:grid;grid-template-columns:1fr;gap:10px;padding:0 12px 10px} .drawerCtas .btn{justify-content:center} .drawerTabs{display:flex;gap:8px;padding:0 12px 10px} .drawerTabs .tab{flex:1;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 12px;font-weight:900;cursor:pointer} .drawerTabs .tab.isActive{background:rgba(14,165,164,.14)} .drawerBody{padding:0 12px 14px} .tabPane{display:none} .tabPane.isActive{display:block} .navItem{display:block;padding:12px 12px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#fff;margin:10px 0} .navItem b{display:block;font-weight:950} .navItem small{display:block;margin-top:4px;color:var(--muted)} .drawerSectionTitle{margin:14px 0 8px;font-weight:950;color:var(--muted);font-size:13px} .chipRow{display:flex;flex-wrap:wrap;gap:8px} .chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:850;color:var(--ink)} .navToggle{background:#fff;border:1px solid var(--line)} .navToggle span{background:var(--ink)} body.navOpen .nextBar, body.navOpen #nextBar, body.navOpen .stickyNext, body.navOpen .bottomBar, body.navOpen .stickyCta{display:none !important} @media (max-width:780px){footer .btnRow{flex-direction:column;align-items:stretch} footer .btnRow .btn{width:100%} footer .pill{white-space:nowrap} .footerLinks{display:grid;grid-template-columns:1fr 1fr;gap:10px} .footerForm{display:grid;grid-template-columns:1fr;gap:10px}} ::selection{background:rgba(255,122,69,.25)} body.modePackages .nextBar, body.modePackages #nextBar, body.modePackages .stickyNext{display:none !important}
/* <<< styles.min.css <<< */

/* >>> v18415.css >>> */
/* V18.4.15.3 — menu + builder UI */
.drawer{display:none; position:fixed; inset:0; z-index:9000}
.drawer.isOpen{display:block}
.drawerBackdrop{position:absolute; inset:0; background:rgba(11,18,32,.40)}
.drawerPanel{position:absolute; right:10px; top:10px; width:min(560px,94vw); background:#fff; border:1px solid rgba(0,0,0,.10); border-radius:22px; box-shadow:0 14px 34px rgba(8,24,48,.12); max-height:calc(100vh - 20px); overflow:auto}
@media (max-width:560px){.drawerPanel{left:10px; right:10px; width:auto}}
.drawerTop{display:flex; align-items:center; gap:10px; padding:12px 12px 8px}
.drawerBrand img{height:28px; width:auto}
.drawerLang{margin-left:auto; display:flex; gap:8px}
.drawerClose{border:1px solid rgba(0,0,0,.12); background:#fff; border-radius:12px; padding:8px 10px; font-weight:900; cursor:pointer}
.drawerCtas{display:grid; grid-template-columns:1fr; gap:10px; padding:0 12px 12px}
.drawerBody{padding:0 12px 14px}
.drawerGroup{border:1px solid rgba(0,0,0,.12); border-radius:18px; background:#fff; margin:10px 0}
.drawerGroup summary{list-style:none; cursor:pointer; padding:12px 14px; font-weight:950; position:relative}
.drawerGroup summary::-webkit-details-marker{display:none}
.drawerGroup summary::after{content:"+"; position:absolute; right:14px; top:50%; transform:translateY(-50%); font-size:20px; color:#334155}
.drawerGroup[open] summary::after{content:"−"; color:#0b1220}
.drawerLinks{display:grid; grid-template-columns:1fr; gap:10px; padding:12px 14px}
.navItem{display:block; padding:12px 12px; border:1px solid rgba(11,43,74,.10); border-radius:16px; background:#fff; text-decoration:none}
.navItem b{display:block; font-weight:950; line-height:1.15; color:#0b1220}
.navItem small{display:block; margin-top:4px; color:#334155; line-height:1.35}
.chipRow{display:flex; flex-wrap:wrap; gap:8px; padding:12px 14px}
.chip{display:inline-flex; align-items:center; padding:8px 12px; border:1px solid rgba(0,0,0,.12); border-radius:999px; background:#fff; font-weight:850; color:#0b1220; text-decoration:none}
.navToggle{background:#fff !important; border:1px solid rgba(0,0,0,.12) !important; border-radius:14px; padding:10px 12px; cursor:pointer; z-index:50}
.navToggle span{display:block; width:24px; height:2px; background:#0b1220; margin:5px 0}
body.navOpen .stickyCta, body.navOpen .nextBar, body.navOpen #nextBar, body.navOpen .bottomBar{display:none !important}

/* Build checkout */
.buildProgress{margin:12px 0 6px}
.buildProgressBar{height:10px;border-radius:999px;background:rgba(11,43,74,.10);overflow:hidden}
.buildProgressBar > div{height:100%;width:10%;background:rgba(14,165,164,.85)}
.buildMobileBar{position:fixed; left:10px; right:10px; bottom:10px; z-index:8500; background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:18px; box-shadow:0 14px 34px rgba(8,24,48,.10); padding:10px; display:none}
.buildMobileBar .row{display:flex; gap:10px; align-items:center}
.buildMobileBar .row .btn{flex:1; justify-content:center}
@media (max-width:900px){ .buildMobileBar{display:block} }


/* V22 fixes — desktop nav, builder layout, language switch, footer collision */
.topbar .langSwitch{display:flex;gap:8px;align-items:center}
.topbar .langPill.is-current,.drawerLang .chip.is-current{background:rgba(14,165,164,.16);border-color:rgba(14,165,164,.35)}
@media (min-width:901px){
  .topbar .nav{justify-content:space-between;gap:18px}
  .topbar .brand{flex:0 0 auto;margin-right:4px}
  .topbar .modePill{display:flex !important;flex:0 0 auto}
  .topbar .menu{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap}
  .topbar .menuGuides,.topbar .menuPackages{margin-left:auto}
  .topbar .menu a{white-space:nowrap}
  .topbar .navToggle{display:none !important}
  .topbar .container{max-width:1240px}
}
@media (max-width:900px){
  .topbar .modePill{display:none !important}
  .topbar .menu{display:none !important}
  .topbar .navToggle{display:inline-flex !important}
}
.builderGrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;align-items:start}
.builderCard{background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:22px;box-shadow:0 14px 34px rgba(8,24,48,.08);padding:18px}
.builderSteps{min-width:0}
.stickySummary{position:sticky;top:92px}
.badgeRow{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.badge{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(11,43,74,.12);border-radius:999px;background:#f7fbff;font-weight:900;color:#0b1220}
.stepBody{padding:0 14px 14px}
.optGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:12px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#fff}
.opt input{margin-top:4px}
.opt .meta b{display:block;line-height:1.2}
.opt .meta small{display:block;margin-top:4px;color:#475569;line-height:1.35}
.opt .price{font-weight:900;white-space:nowrap}
.sumLine{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(11,43,74,.08)}
.sumLine span:last-child,.sumLine small:last-child{white-space:nowrap;text-align:right}
.sumTotal{font-size:18px;font-weight:950;border-bottom:none;padding-top:14px}
#priceSummary{margin-top:8px}
body.buildPage{padding-bottom:104px}
body.footerInView .buildMobileBar,body.navOpen .buildMobileBar,body.cookieOpen .buildMobileBar{display:none !important}
@media (max-width:900px){
  .builderGrid{grid-template-columns:1fr;gap:16px}
  .stickySummary{position:static}
  .optGrid{grid-template-columns:1fr}
  .builderCard{padding:14px;border-radius:18px}
  .buildMobileBar{display:block}
  .footer{padding-bottom:118px}
}
@media (max-width:780px){
  .footerLinks{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .footerCtaInner{align-items:flex-start}
  .footerCta .btnRow{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .footerCta .btnRow .btn{width:100%}
}

/* V23 booking flexibility + admin catalog */
.builderIntro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}
.modeCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.modeCard{display:block;cursor:pointer;position:relative}
.modeCard input{position:absolute;opacity:0;pointer-events:none}
.modeCardText{display:block;padding:16px;border:1px solid rgba(11,43,74,.12);border-radius:18px;background:#fff;min-height:118px;transition:.2s ease}
.modeCardText b{display:block;font-size:18px;line-height:1.2;color:#0b1220}
.modeCardText small{display:block;margin-top:8px;color:#475569;line-height:1.45}
.modeCard input:checked + .modeCardText{border-color:rgba(14,165,164,.45);background:linear-gradient(180deg,rgba(14,165,164,.08),rgba(255,196,0,.08));box-shadow:0 10px 24px rgba(8,24,48,.08)}
.packageIncludes{margin:8px 0 0 18px;padding:0}
.packageIncludes li{margin:4px 0;color:#334155}
.sumGroupTitle{margin:12px 0 4px;font-weight:900;color:#0b1220}
details.fold.is-step-hidden{display:none !important}
@media (min-width:901px){
  .builderGrid{grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)}
  .builderSteps{padding:22px}
}
@media (max-width:900px){
  .builderIntro{grid-template-columns:1fr}
  .modeCards{grid-template-columns:1fr}
  .modeCardText{min-height:auto}
}
.adminCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.adminCard{background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(8,24,48,.06)}


/* V24 booking operations + live widget */
.builderIntroV24{grid-template-columns:repeat(3,minmax(0,1fr))}
.buildUtilityBar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.buildUtilityBar .notice{margin:0;padding:12px 14px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#f7fbff}
.builderGridV24 .builderCard{padding:20px}
.optGridWide{grid-template-columns:repeat(4,minmax(0,1fr))}
.twoColBlocks{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.buildInfoStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.buildInfoStrip > div{padding:12px 14px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#f8fafc}
.buildInfoStrip b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569}
.buildInfoStrip span{display:block;margin-top:4px;font-weight:900;color:#0b1220}
.packageRateNotice{margin-top:10px;padding:10px 12px;border:1px solid rgba(14,165,164,.22);border-radius:14px;background:rgba(14,165,164,.06)}
.sumNotice{margin-top:8px;padding:10px 12px;border-radius:14px;background:#fff7e6;border:1px solid rgba(255,166,0,.18)}
.siteLiveWidget{position:fixed;right:14px;bottom:14px;z-index:8200;max-width:min(360px,calc(100vw - 28px))}
.siteLiveWidgetToggle{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;border:1px solid rgba(11,43,74,.12);background:#0b1220;color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(8,24,48,.18);cursor:pointer}
.siteLiveWidgetPanel{margin-top:10px;background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:22px;box-shadow:0 16px 42px rgba(8,24,48,.16);overflow:hidden}
.siteLiveWidgetHead{padding:14px 14px 10px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetTabs{display:flex;gap:8px;margin-top:10px}
.siteLiveWidgetTabs button{padding:8px 12px;border-radius:999px;border:1px solid rgba(11,43,74,.12);background:#fff;font-weight:800;cursor:pointer}
.siteLiveWidgetTabs button.is-active{background:#0b1220;color:#fff;border-color:#0b1220}
.siteLiveWidgetBody{padding:14px}
.siteLiveWidgetPane{display:none}
.siteLiveWidgetPane.is-active{display:block}
.miniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.miniStat{padding:12px;border:1px solid rgba(11,43,74,.10);border-radius:16px;background:#f8fafc}
.miniStat b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#475569}
.miniStat span{display:block;margin-top:6px;font-weight:900;color:#0b1220}
.siteLiveWidgetActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.btn.small{padding:10px 12px;font-size:13px}
@media (min-width:901px){
  .builderGridV24{grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr)}
}
@media (max-width:900px){
  .optGridWide,.twoColBlocks,.buildInfoStrip,.builderIntroV24{grid-template-columns:1fr}
  .siteLiveWidget{right:10px;left:10px;max-width:none}
  .miniGrid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:640px){
  .miniGrid{grid-template-columns:1fr}
}
body.footerInView .siteLiveWidget, body.navOpen .siteLiveWidget, body.cookieOpen .siteLiveWidget{display:none !important}


/* V26 full — smart live widget + richer mobile builder UX */
.siteLiveWidget{position:fixed;right:16px;bottom:86px;z-index:7200;width:min(380px,calc(100vw - 24px))}
.siteLiveWidgetToggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(11,43,74,.12);border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(8,24,48,.15);font-weight:950}
.siteLiveWidgetToggle small{display:block;color:#64748b;font-weight:700}
.siteLiveWidgetPanel{margin-top:10px;border:1px solid rgba(11,43,74,.12);border-radius:20px;background:#fff;box-shadow:0 18px 42px rgba(8,24,48,.15);overflow:hidden}
.siteLiveWidgetHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:14px 14px 10px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetHead small{display:block;color:#64748b;margin-top:4px}
.siteLiveWidgetTabs{display:flex;gap:8px;flex-wrap:wrap}
.siteLiveWidgetTabs button,.siteLiveSpotChips .chip{border:1px solid rgba(11,43,74,.12);background:#fff;border-radius:999px;padding:8px 10px;font-weight:850}
.siteLiveWidgetTabs button.is-active,.siteLiveSpotChips .chip.is-active{background:rgba(14,165,164,.12)}
.siteLiveSpotChips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetBody{padding:14px}
.siteLiveWidgetPane{display:none}
.siteLiveWidgetPane.is-active{display:block}
.miniGridWide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.miniStat{border:1px solid rgba(11,43,74,.08);border-radius:16px;background:#f8fafc;padding:12px}
.miniStat b{display:block;font-size:12px;color:#64748b;margin-bottom:4px}
.miniStat span{font-size:16px;font-weight:950;color:#0f172a}
.siteLiveWidgetMeta{margin-top:12px;padding-top:12px;border-top:1px solid rgba(11,43,74,.08);color:#475569;font-size:13px}
.siteLiveCtaBox{display:grid;gap:12px}
.siteLiveWidgetActions{display:flex;gap:8px;flex-wrap:wrap}
.siteLiveWidgetActions .btn{justify-content:center}
.buildMobileBar .buildEstimateBtn{min-width:120px}
.buildSummarySheet{position:fixed;inset:0;z-index:8600}
.buildSummaryBackdrop{position:absolute;inset:0;background:rgba(15,23,42,.38);border:none;padding:0;margin:0}
.buildSummaryPanel{position:absolute;left:10px;right:10px;bottom:10px;max-height:78vh;overflow:auto;background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:22px;box-shadow:0 20px 44px rgba(8,24,48,.22);padding:14px}
.buildSummaryHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(11,43,74,.08)}
.buildSummaryClose{border:1px solid rgba(11,43,74,.12);background:#fff;border-radius:12px;padding:8px 10px}
.buildSummaryMeta{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}
.buildSummaryMeta .chip{background:#f8fafc}
.buildSummaryBody .sumLine{padding:12px 0}
.fold summary{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fold .foldMeta{display:block;font-size:12px;color:#64748b;font-weight:700;max-width:70%;text-align:right;padding-right:18px}
.fold .foldTitle{display:block}
.fold summary::after{top:18px}
.modeCard{transition:transform .14s ease, box-shadow .14s ease}
.modeCard:hover{transform:translateY(-2px)}
@media (max-width:900px){
  .siteLiveWidget{right:10px;left:10px;bottom:84px;width:auto}
  .siteLiveWidgetToggle{padding:12px}
  .miniGridWide{grid-template-columns:1fr 1fr}
  .stickySummary{display:none}
}
@media (max-width:560px){
  .miniGridWide{grid-template-columns:1fr}
  .siteLiveWidgetActions{display:grid;grid-template-columns:1fr}
}
body.footerInView .siteLiveWidget,body.cookieOpen .siteLiveWidget,body.navOpen .siteLiveWidget{display:none!important}


/* V26.1 hotfixes: real live widget, robust build estimate, stronger mobile UX */
.buildInlineEstimate{display:none}
@media (max-width:900px){
  .buildInlineEstimate{display:block;position:sticky;top:72px;z-index:35;background:#fff;border:1px solid rgba(11,43,74,.12);border-radius:16px;padding:12px;margin:12px 0 14px;box-shadow:0 12px 28px rgba(8,24,48,.10)}
  .buildInlineEstimateTop{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:950}
  .buildInlineEstimateMeta{margin-top:6px;color:#475569;font-size:13px}
  .buildInlineEstimateLines{margin-top:6px;font-size:13px;color:#0f172a;line-height:1.45}
}
.stepNextWrap{margin-top:14px;display:flex;justify-content:flex-end}
.stepNextBtn{font-weight:900}
.siteLiveWidget{right:12px;bottom:84px;z-index:7800;width:min(392px,calc(100vw - 24px))}
.siteLiveWidgetToggle{cursor:pointer}
.siteLiveWidgetPanel{display:block}
.siteLiveWidget:not(.is-open) .siteLiveWidgetPanel{display:none}
.siteLiveWidget.is-open .siteLiveWidgetToggle{border-bottom-left-radius:14px;border-bottom-right-radius:14px}
.siteLiveSpotChips{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 14px}
.liveSwitchRow .btn{margin-bottom:8px}
@media (max-width:900px){
  .siteLiveWidget{left:10px;right:10px;bottom:84px;width:auto}
  .siteLiveWidgetToggle{padding:12px 14px}
}
body.cookieOpen .siteLiveWidget, body.navOpen .siteLiveWidget{display:none!important}
/* <<< v18415.css <<< */

/* >>> v27.css >>> */
:root{
  --v27-ocean:#0f6aa4;
  --v27-deep:#092847;
  --v27-sand:#ffcb7d;
  --v27-foam:#eef8ff;
  --v27-sunset:#ff9266;
  --v27-surf:#2db0cf;
  --v27-wellness:#f59e7f;
  --v27-trip:#ffb347;
  --v27-guide:#7dd3fc;
  --v27-card-shadow:0 24px 44px rgba(8,24,48,.10);
}
body{background:radial-gradient(900px 320px at 50% -40px, rgba(34,197,94,.04), transparent 60%), radial-gradient(1100px 480px at 10% -30px, rgba(56,189,248,.14), transparent 55%), linear-gradient(180deg,#f7fbff 0,#fcfdff 28%,#fbfdff 100%)}
main.container{padding-bottom:14px}
section.section{position:relative}
section.section::before{content:"";position:absolute;inset:10px 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(15,106,164,.12),transparent)}
.btn.small{padding:9px 12px;border-radius:12px;font-size:.92rem}
.heroWrap{overflow:hidden}
.heroImg{transform:scale(1.01)}
.heroOverlayV18,.heroOverlay{background:linear-gradient(180deg,rgba(6,18,35,.18),rgba(6,18,35,.72)) !important}
.heroContent{max-width:760px}
.heroPill{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;background:rgba(255,255,255,.92);color:#0b1220;border-color:rgba(255,255,255,.65)}
.heroPill::before{content:"";width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,var(--v27-surf),var(--v27-sunset));box-shadow:0 0 0 6px rgba(45,176,207,.12)}
.heroContent h1{max-width:12ch;text-wrap:balance}
.heroContent p{max-width:58ch}
.heroActionBar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.heroActionCard{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(10px);border-radius:18px;color:#0b1220;box-shadow:0 18px 32px rgba(8,24,48,.12)}
.heroActionCard strong{display:block;font-size:.97rem;line-height:1.15}
.heroActionCard small{display:block;color:#475569;margin-top:4px;line-height:1.3}
.v27Icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:currentColor}
.iconBadge{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(180deg,rgba(14,165,164,.18),rgba(255,183,3,.18));color:#0b1220;box-shadow:inset 0 0 0 1px rgba(11,43,74,.08)}
.iconBadge svg,.v27Icon svg,.microIcon svg{width:100%;height:100%}
.heroStatsStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0}
.heroStat{padding:14px 16px;background:#fff;border-radius:18px;border:1px solid rgba(11,43,74,.10);box-shadow:var(--v27-card-shadow)}
.heroStat b{display:block;font-size:1.08rem;color:#0b1220}
.heroStat small{display:block;margin-top:6px;color:#475569;line-height:1.3}
.visualSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.visualSectionTitle p{max-width:50ch;margin:0;color:#475569}
.showcaseGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.showcaseCard{position:relative;overflow:hidden;border-radius:24px;border:1px solid rgba(11,43,74,.08);background:#fff;box-shadow:var(--v27-card-shadow);text-decoration:none;color:#0b1220;min-height:340px;display:flex;flex-direction:column}
.showcaseMedia{position:relative;height:190px;overflow:hidden}
.showcaseMedia img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02)}
.showcaseMedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,35,.05),rgba(6,18,35,.4))}
.showcaseBody{padding:18px 18px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.showcaseTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.showcaseTop strong{font-size:1.08rem;line-height:1.15;display:block;text-wrap:balance}
.pricePill{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(11,43,74,.06);font-weight:950;color:#0b1220;font-size:.92rem;white-space:nowrap}
.metaChips{display:flex;flex-wrap:wrap;gap:8px}
.metaChip{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#f7fbff;border:1px solid rgba(11,43,74,.08);font-weight:850;font-size:.87rem;color:#0b1220}
.metaChip .microIcon{width:15px;height:15px;color:#0f6aa4}
.showcaseBody p{margin:0;color:#475569;line-height:1.45}
.inlineCtas{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.inlineLink{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#fff6ea;border:1px solid rgba(255,146,102,.25);font-weight:850}
.inlineLink.secondary{background:#eef8ff;border-color:rgba(15,106,164,.16)}
.visualBand{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(140deg,#0b2340,#145f92 60%,#1aa7a6);padding:22px;color:#fff;box-shadow:0 24px 40px rgba(8,24,48,.14)}
.visualBand::before{content:"";position:absolute;inset:auto -10% -60% auto;width:300px;height:300px;border-radius:999px;background:radial-gradient(circle at center, rgba(255,255,255,.18), transparent 65%)}
.visualBand::after{content:"";position:absolute;inset:-70px auto auto -70px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle at center, rgba(255,205,125,.26), transparent 65%)}
.visualBandGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
.visualBand h2{margin:0 0 10px;color:#fff}
.visualBand p{margin:0;color:rgba(255,255,255,.88)}
.visualBand .metaChip{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.18)}
.infoTiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.infoTile{padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.infoTile h3,.infoTile b{margin:0;display:block;color:#0b1220;font-size:1rem}
.infoTile p,.infoTile small{margin:8px 0 0;display:block;color:#475569;line-height:1.45}
.infoTile .iconBadge{margin-bottom:12px}
.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.triptych .inc,.triptych .content{height:100%;padding:18px;border-radius:20px}
.triptych .inc b{display:flex;align-items:center;gap:10px;font-size:1rem}
.surfaceRibbon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.surfaceRibbon .hl{padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.surfaceRibbon .hl b{display:block;font-size:1rem}
.surfaceRibbon .hl span,.surfaceRibbon .hl small{display:block;margin-top:6px;color:#475569;line-height:1.45}
.cards{gap:16px}
.cards .card{border-radius:22px;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow);padding:0;overflow:hidden;background:#fff}
.cards .card:hover{transform:translateY(-4px);box-shadow:0 28px 48px rgba(8,24,48,.13)}
.cards .card.cardVisual{display:flex;flex-direction:column;min-height:100%}
.cardVisual .cardMedia{height:160px;position:relative;overflow:hidden}
.cardVisual .cardMedia img{width:100%;height:100%;object-fit:cover;display:block}
.cardVisual .cardMedia::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,35,.08),rgba(6,18,35,.35))}
.cardVisual .cardBody{padding:16px 16px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.cardVisual .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#0f6aa4;font-weight:900;font-size:.83rem;text-transform:uppercase;letter-spacing:.04em}
.cardVisual p{margin:0;color:#475569;line-height:1.45}
.cardVisual .miniList{display:flex;flex-wrap:wrap;gap:8px}
.cardVisual .miniList span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f7fbff;border:1px solid rgba(11,43,74,.08);font-size:.85rem;font-weight:800;color:#0b1220}
.cardVisual .miniList .microIcon{width:14px;height:14px;color:#0f6aa4}
.comparePanel{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}
.compareTable{background:#fff;border:1px solid rgba(11,43,74,.08);border-radius:24px;box-shadow:var(--v27-card-shadow);overflow:hidden}
.compareTable table{min-width:100%}
.compareTable th{background:#eff8ff;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#145f92}
.compareTable td{font-weight:700}
.compareSidebar{display:grid;gap:14px}
.storyPanel{padding:18px;border-radius:22px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.storyPanel h3{margin:0 0 10px}
.storyPanel p{margin:0;color:#475569}
.storyPanel ul{margin:10px 0 0 18px;color:#475569}
.content{border-radius:24px;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow);padding:20px;background:linear-gradient(180deg,#ffffff,#fbfdff)}
.content h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.38rem}
.content h2::before{content:"";width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,var(--v27-surf),var(--v27-sunset));box-shadow:0 0 0 6px rgba(45,176,207,.12)}
.content p{color:#44556f}
.kpiRow{gap:14px;margin:16px 0 18px}
.kpi{border-radius:18px;padding:14px 16px;background:linear-gradient(180deg,#f8fcff,#ffffff);border:1px solid rgba(11,43,74,.08)}
.kpi b{font-size:1rem}
.related{gap:14px}
.related a{border-radius:18px;padding:14px;background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid rgba(11,43,74,.08)}
.related a small{margin-top:8px}
.articleMoodboard{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin:16px 0 20px;padding:14px;border:1px solid rgba(11,43,74,.08);background:#fff;border-radius:22px;box-shadow:var(--v27-card-shadow)}
.articleMoodboard figure{margin:0;border-radius:18px;overflow:hidden;min-height:220px}
.articleMoodboard img{width:100%;height:100%;object-fit:cover;display:block}
.articleMoodMeta{display:flex;flex-direction:column;gap:12px;justify-content:center}
.articleMoodMeta .metaChip{width:max-content}
.articleMoodMeta p{margin:0;color:#475569;line-height:1.5}
.siteLiveWidget{bottom:84px !important;right:14px !important;z-index:8700}
.siteLiveWidgetToggle,.siteLiveWidgetPanel{box-shadow:0 24px 44px rgba(8,24,48,.16) !important}
.siteLiveWidgetToggle{border-radius:18px !important;background:linear-gradient(135deg,#0b2340,#145f92 70%,#1aa7a6) !important;color:#fff !important;border:none !important;padding:14px 16px !important}
.siteLiveWidgetPanel{border-radius:24px !important;border:1px solid rgba(11,43,74,.12) !important;background:linear-gradient(180deg,#ffffff,#f9fcff) !important;overflow:hidden}
.siteLiveWidgetHead{padding-bottom:10px;border-bottom:1px solid rgba(11,43,74,.08)}
.siteLiveWidgetTabs button{border-radius:999px !important;padding:8px 12px !important}
.siteLiveSpotChips .chip{background:#fff;border:1px solid rgba(11,43,74,.08)}
.siteLiveSpotChips .chip.is-active{background:#0f6aa4;color:#fff;border-color:#0f6aa4}
.siteLiveCtaBox{padding:14px;border-radius:18px;background:linear-gradient(180deg,#0b2340,#145f92);color:#fff}
.siteLiveWidgetActions{display:grid !important;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.siteLiveWidgetActions .btn{justify-content:center}
.siteLiveWidgetActions .btn:not(.primary){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14);color:#fff}
.visualLegend{display:flex;flex-wrap:wrap;gap:8px}
.visualLegend span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;font-weight:800;font-size:.86rem;background:#fff;border:1px solid rgba(11,43,74,.08)}
.bottomQuickNav{position:fixed;left:12px;right:12px;bottom:12px;z-index:8600;display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:8px;border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid rgba(11,43,74,.10);box-shadow:0 24px 40px rgba(8,24,48,.14)}
.bottomQuickNav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 6px;border-radius:16px;color:#44556f;font-size:.72rem;font-weight:800;min-height:56px}
.bottomQuickNav a .microIcon{width:17px;height:17px;color:#0f6aa4}
.bottomQuickNav a.is-active{background:#eff8ff;color:#0b1220}
.bottomQuickNav a.is-active .microIcon{color:#0b1220}
.footer{position:relative;background:linear-gradient(180deg,#fbfdff,#f7fbff);overflow:hidden}
.footer::before{content:"";position:absolute;inset:0 auto auto 0;width:260px;height:260px;background:radial-gradient(circle at 30% 30%, rgba(45,176,207,.18), transparent 65%);pointer-events:none}
.footer::after{content:"";position:absolute;right:-90px;bottom:-90px;width:260px;height:260px;background:radial-gradient(circle at center, rgba(255,183,3,.14), transparent 68%);pointer-events:none}
.footerGrid{position:relative;z-index:1;align-items:start}
.footerBrand strong{font-size:1.16rem;display:block;margin-bottom:6px}
.footerBrand p,.footerBrand .notice{max-width:30ch}
.footerVisual{display:flex;gap:14px;align-items:center;padding:16px;border-radius:22px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.footerVisual img{width:88px;height:88px;border-radius:18px;object-fit:cover;display:block}
.footerVisual b{display:block;font-size:1rem}
.footerVisual small{display:block;margin-top:6px;color:#475569;line-height:1.45}
.footerMeta .pill,.footerLinks .pill{background:#fff}
.footerCtaInner{padding:18px;border-radius:22px;background:linear-gradient(135deg,#0b2340,#145f92 65%,#1aa7a6);color:#fff;box-shadow:0 24px 40px rgba(8,24,48,.16)}
.footerCtaInner span{color:rgba(255,255,255,.86) !important}
.footerCtaInner .btn:not(.primary){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14);color:#fff}
.buildUtilityBar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid rgba(11,43,74,.08);border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:var(--v27-card-shadow)}
.builderIntro{gap:14px}
.builderIntro .inc{padding:18px;border-radius:20px;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.builderIntro .inc b{display:flex;align-items:center;gap:10px;font-size:1rem}
.builderCard{border-radius:26px;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow);background:linear-gradient(180deg,#fff,#fbfdff)}
.buildInlineEstimate{background:linear-gradient(180deg,#0b2340,#145f92 68%,#1aa7a6) !important;border:none !important;color:#fff !important;box-shadow:0 22px 38px rgba(8,24,48,.18) !important}
.buildInlineEstimateMeta,.buildInlineEstimateLines{color:rgba(255,255,255,.86) !important}
.buildInlineEstimateTop span{font-size:1.1rem;font-weight:950}
details.fold{border-radius:20px !important;border:1px solid rgba(11,43,74,.08) !important;background:#fff !important;box-shadow:0 14px 30px rgba(8,24,48,.06);margin:12px 0 !important;overflow:hidden}
details.fold summary{padding:16px 18px !important;font-size:1rem;display:flex;align-items:center;gap:12px;list-style:none;background:linear-gradient(180deg,#ffffff,#f9fbff)}
details.fold summary::before{content:"";width:10px;height:10px;border-radius:999px;background:linear-gradient(180deg,var(--v27-surf),var(--v27-sunset));box-shadow:0 0 0 6px rgba(45,176,207,.12)}
.stepBody{padding:8px 18px 18px !important}
.modeCardText{border-radius:20px !important;padding:18px !important;min-height:130px;background:linear-gradient(180deg,#fff,#f8fbff)}
.modeCardText b{font-size:1.02rem}
.opt,.buildInfoStrip>div{border-radius:18px !important}
.buildInfoStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.buildInfoStrip>div{padding:14px 16px;background:#f7fbff;border:1px solid rgba(11,43,74,.08)}
.buildInfoStrip b{display:block;color:#0b1220;margin-bottom:4px}
.sumLine{font-size:.94rem}
.sumTotal{font-size:1.12rem}
.contactShell{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.contactIntro{display:grid;gap:14px}
.contactHighlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.contactHighlights .inc{padding:16px;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)}
.contactHighlights .inc b{display:flex;align-items:center;gap:10px;font-size:1rem}
.contactFormPanel{padding:18px;border-radius:24px;background:#fff;border:1px solid rgba(11,43,74,.08);box-shadow:var(--v27-card-shadow)}
.contactSplitHero{display:flex;gap:14px;align-items:center;padding:14px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid rgba(11,43,74,.08)}
.contactSplitHero img{width:124px;height:124px;border-radius:18px;object-fit:cover}
@media (max-width:1100px){
  .showcaseGrid,.infoTiles,.heroStatsStrip,.surfaceRibbon,.triptych,.contactHighlights{grid-template-columns:repeat(2,minmax(0,1fr))}
  .comparePanel,.visualBandGrid,.contactShell,.articleMoodboard{grid-template-columns:1fr}
}
@media (max-width:900px){
  .heroActionBar,.heroStatsStrip,.showcaseGrid,.infoTiles,.surfaceRibbon,.triptych,.contactHighlights{grid-template-columns:1fr}
  .bottomQuickNav{display:grid}
  body{padding-bottom:92px}
  .footer{padding-bottom:104px}
  .siteLiveWidget{bottom:104px !important}
  .visualSectionTitle{display:block}
  .visualSectionTitle p{margin-top:8px}
  .heroActionCard{padding:12px 14px}
  .heroContent h1{max-width:15ch}
  .buildUtilityBar{display:block}
  .buildUtilityBar .btn{margin-top:10px;width:100%;justify-content:center}
  .buildInlineEstimate{top:68px !important}
  .modeCardText{min-height:auto}
  .siteLiveWidgetPanel{max-width:min(92vw, 360px)}
}
@media (max-width:640px){
  .heroWrap{border-radius:24px}
  .heroContent{left:18px !important;top:20px !important;right:18px !important}
  .heroImg{height:480px !important}
  .heroContent h1{font-size:clamp(2rem,8vw,2.8rem)}
  .content,.builderCard{padding:16px}
  .cardVisual .cardMedia{height:190px}
  .compareTable{overflow:auto}
  .contactSplitHero{display:block}
  .contactSplitHero img{width:100%;height:180px;margin-bottom:12px}
}
.liveNavChip{display:inline-flex !important;align-items:center;gap:7px;padding:8px 12px !important;border-radius:999px;background:#eef8ff !important;color:#0b2340 !important;border:1px solid rgba(15,106,164,.14)}
.liveNavChip .microIcon{width:15px;height:15px;color:#0f6aa4}
@media (max-width:900px){body:not(.is-build-page) .stickyCta{display:none !important}}

/* V27.4 — build-page corrective cleanup from V27 baseline only */
body.buildPage .hero{padding-bottom:10px}
body.buildPage .heroWrap{min-height:460px}
body.buildPage .heroContent{max-width:640px}
body.buildPage .buildHeroNote{margin:10px 0 0;color:rgba(255,255,255,.88);font-size:.95rem}
body.buildPage .buildHeroNote a{color:#fff;text-decoration:underline;text-underline-offset:2px}
body.buildPage .buildQuickFacts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
body.buildPage .buildQuickFacts .chip{padding:8px 10px;background:#fff;border:1px solid rgba(11,43,74,.10)}
body.buildPage .buildUtilityBar.compactOnly{padding:0;border:0;background:none;box-shadow:none;margin:0 0 12px}
body.buildPage .buildUtilityBar.compactOnly .notice{padding:10px 12px;border-radius:14px;font-size:13px;background:#f7fbff}
body.buildPage .builderCard.builderSteps{overflow:visible}
body.buildPage .buildInlineEstimate{display:block;position:sticky;top:74px;z-index:120;background:#fff !important;color:#0b1220 !important;border:1px solid rgba(11,43,74,.12) !important;box-shadow:0 12px 26px rgba(8,24,48,.10) !important;margin:0 0 12px;padding:12px 14px;border-radius:16px}
body.buildPage .buildInlineEstimateMeta,body.buildPage .buildInlineEstimateLines{color:#475569 !important}
body.buildPage .compactBadges{gap:8px;margin-bottom:12px}
body.buildPage .compactBadges .badge{padding:7px 10px;font-size:12px;box-shadow:none}
body.buildPage .buildProgress{margin-bottom:12px}
body.buildPage .buildMobileBar{bottom:92px;left:12px;right:12px;z-index:8450}
body.buildPage .buildSummaryPanel{bottom:92px}
body.buildPage .footer{padding-bottom:88px}
body.buildPage .footerCta{display:none !important}
body.buildPage .navCta{display:none !important}
body.buildPage .siteLiveWidget{display:none !important}

.siteLiveWidget{right:12px !important;bottom:88px !important;width:min(320px,calc(100vw - 24px)) !important;z-index:7800}
.siteLiveWidgetBar{display:flex;align-items:center;gap:8px}
.siteLiveWidgetToggle{flex:1;padding:10px 12px !important;border-radius:16px !important;background:#fff !important;color:#0b1220 !important;border:1px solid rgba(11,43,74,.12) !important;box-shadow:0 14px 28px rgba(8,24,48,.12) !important;text-align:left}
.siteLiveWidgetToggleText{display:flex;flex-direction:column;gap:2px}
.siteLiveWidgetToggleText strong{font-size:.92rem;line-height:1.1}
.siteLiveWidgetToggleText small{font-size:.72rem;line-height:1.2;color:#64748b !important;font-weight:700}
.siteLiveWidgetToggleBadge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:#eff8ff;color:#0b5aa6;font-size:.72rem;font-weight:900;white-space:nowrap}
.siteLiveWidgetClose{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(11,43,74,.12);border-radius:14px;background:#fff;color:#334155;font-size:18px;box-shadow:0 14px 28px rgba(8,24,48,.10)}
.siteLiveWidgetPanel{margin-top:8px !important;border-radius:18px !important;max-height:min(68vh,520px);overflow:auto}
.siteLiveWidgetHead{padding:12px 12px 8px !important}
.siteLiveWidgetHead strong{font-size:.95rem}
.siteLiveWidgetHead small{font-size:.76rem}
.siteLiveWidgetTabs{gap:6px}
.siteLiveWidgetTabs button,.siteLiveSpotChips .chip{padding:7px 9px !important;font-size:12px}
.siteLiveSpotChips{padding:0 12px 10px !important;gap:6px}
.siteLiveWidgetBody{padding:12px !important}
.siteLiveWidgetActions{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important}
.siteLiveWidgetActions .btn{padding:9px 10px;font-size:12px}
.siteLiveWidgetMeta{font-size:12px}

@media (max-width:900px){
  body.buildPage .heroWrap{min-height:380px}
  body.buildPage .heroContent{padding:28px 24px 30px !important}
  body.buildPage .buildQuickFacts{overflow:auto;flex-wrap:nowrap;padding-bottom:2px}
  body.buildPage .buildQuickFacts .chip{white-space:nowrap}
  body.buildPage .builderGridV24{gap:14px}
  body.buildPage .buildInlineEstimate{top:66px;margin-bottom:10px}
  body.buildPage .buildProgressTop .badge{padding:6px 10px}
  body.buildPage .buildUtilityBar.compactOnly .notice{font-size:12px;line-height:1.45}
  .siteLiveWidget{left:auto !important;right:10px !important;width:min(290px,calc(100vw - 20px)) !important;bottom:86px !important}
  .siteLiveWidgetToggle{padding:10px 12px !important}
  .siteLiveWidgetToggleText strong{font-size:.88rem}
  .siteLiveWidgetToggleText small{font-size:.7rem}
  .siteLiveWidgetActions{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  body.buildPage .heroWrap{min-height:330px;border-radius:24px}
  body.buildPage .heroContent h1{font-size:2.35rem !important;line-height:1.02}
  body.buildPage .heroContent p{font-size:1rem;margin:12px 0 0}
  body.buildPage .heroContent .btnRow{margin-top:14px}
  body.buildPage .buildQuickFacts{margin-bottom:8px}
  body.buildPage .buildUtilityBar.compactOnly{margin-bottom:10px}
  body.buildPage .compactBadges{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.buildPage .compactBadges .badge:last-child{grid-column:1 / -1}
  body.buildPage details.fold summary{padding:14px 16px !important}
  body.buildPage .stepBody{padding:6px 14px 14px !important}
  body.buildPage .buildMobileBar .row{display:grid;grid-template-columns:auto 1fr auto;gap:8px}
  body.buildPage .buildMobileBar .btn{min-width:0}
  body.buildPage .buildEstimateBtn{font-weight:950}
}

/* V27.6 — page-by-page corrective refresh */
.microIcon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;line-height:0}
.microIcon svg{width:16px !important;height:16px !important}
.v27Icon{width:18px;height:18px;flex:0 0 18px;line-height:0}
.v27Icon svg{width:18px !important;height:18px !important}
.iconBadge{width:34px !important;height:34px !important;border-radius:12px !important;background:linear-gradient(180deg,rgba(14,165,164,.12),rgba(255,183,3,.12)) !important;box-shadow:inset 0 0 0 1px rgba(11,43,74,.06) !important}
.iconBadge.slim{width:30px !important;height:30px !important;border-radius:10px !important}
.metaChip .microIcon,.cardVisual .miniList .microIcon,.bottomQuickNav a .microIcon,.liveNavChip .microIcon{width:15px !important;height:15px !important}
.triptych .inc b .microIcon,.contactHighlights .inc b .microIcon,.surfaceRibbon .hl b .microIcon,.infoTile b .microIcon,.navItem b .microIcon{width:16px;height:16px;color:#0f6aa4}
.infoTile.compact{padding:14px 15px;border-radius:18px}
.infoTile.compact small{margin-top:6px}

/* drawer cleanup */
.drawerPanel{width:min(440px,92vw) !important;border-radius:20px !important;box-shadow:0 20px 40px rgba(8,24,48,.16) !important}
.drawerTop{padding:12px 12px 6px !important}
.drawerBrand img{height:26px !important}
.drawerLang .chip,.drawerClose{padding:7px 10px !important;border-radius:12px !important;font-size:.88rem}
.drawerCtas{padding:4px 12px 10px !important}
.drawerBody{padding:0 12px 14px !important}
.drawerTabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}
.drawerTabs .tab{border:1px solid rgba(11,43,74,.10);background:#fff;border-radius:16px;padding:10px 12px;font-weight:900}
.drawerTabs .tab.isActive{background:#eaf7fb}
.drawerGroup{border:1px solid rgba(11,43,74,.08) !important;border-radius:16px !important;margin:9px 0 !important;overflow:hidden}
.drawerGroup summary{display:flex;align-items:center;gap:10px;padding:12px 14px !important;background:#fff;font-size:.94rem}
.drawerGroup summary span{font-weight:900;color:#0b1220}
.drawerGroup summary::after{right:14px !important;font-size:18px !important;color:#334155 !important}
.drawerLinks.compactLinks{gap:8px !important;padding:8px 12px 12px !important}
.drawerLinks .navItem{padding:10px 12px !important;border-radius:14px !important;min-height:auto !important}
.drawerLinks .navItem b{font-size:.94rem;line-height:1.1}
.drawerLinks .navItem small{font-size:.78rem;line-height:1.25;margin-top:4px}
.drawerSectionTitle{margin-top:10px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.chipRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chipRow .chip{padding:7px 10px;border-radius:999px;border:1px solid rgba(11,43,74,.1);background:#fff;font-size:.78rem;font-weight:800;color:#334155}

/* live widget smarter + smaller */
.siteLiveWidget{width:min(286px,calc(100vw - 24px)) !important;bottom:86px !important;right:10px !important;z-index:7750 !important}
.siteLiveWidgetBar{display:flex;align-items:center;gap:6px}
.siteLiveWidgetToggle{padding:9px 11px !important;border-radius:15px !important;min-height:44px}
.siteLiveWidgetToggleText strong{font-size:.86rem !important}
.siteLiveWidgetToggleText small{font-size:.68rem !important;color:#6b7280 !important}
.siteLiveWidgetToggleBadge{padding:5px 8px !important;font-size:.68rem !important}
.siteLiveWidgetClose{width:36px !important;height:36px !important;border-radius:12px !important;font-size:16px !important;box-shadow:0 10px 18px rgba(8,24,48,.08) !important}
.siteLiveWidgetPanel{margin-top:6px !important;border-radius:16px !important;max-height:min(62vh,420px) !important}
.siteLiveWidgetHead{padding:10px 10px 8px !important}
.siteLiveWidgetHead strong{font-size:.9rem !important}
.siteLiveWidgetHead small{font-size:.72rem !important}
.siteLiveWidgetTabs button,.siteLiveSpotChips .chip{padding:6px 8px !important;font-size:11px !important}
.siteLiveWidgetBody{padding:10px !important}
.siteLiveWidgetActions{grid-template-columns:1fr 1fr !important;gap:8px !important}
.siteLiveWidgetActions .btn{padding:8px 10px !important;font-size:11px !important;min-height:38px}
.siteLiveDraftBox{margin:10px 0;padding:10px 12px;border-radius:14px;background:#f7fbff;border:1px solid rgba(11,43,74,.08)}
.siteLiveDraftBox strong{display:block;font-size:.86rem;color:#0b1220}
.siteLiveDraftBox small{display:block;margin-top:4px;color:#475569;line-height:1.3}
.siteLiveWidgetMeta{font-size:11px !important;line-height:1.35}
.siteLiveWidgetMeta a{font-weight:800}

/* package/home/contact/build cards tighten */
.inc,.surfaceRibbon .hl,.storyPanel,.infoTile,.content,.builderCard,.showcaseCard,.contactFormPanel{border-color:rgba(11,43,74,.07) !important}
.triptych .inc{padding:16px !important}
.triptych .inc b{font-size:.96rem !important}
.triptych .inc span{display:block;margin-top:8px;line-height:1.4;color:#475569}
.contactShellPro{grid-template-columns:1fr .95fr;gap:16px}
.contactFormPanelPro{padding:16px !important}
.contactFormHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.contactMiniMeta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.contactMiniMeta .chip{padding:7px 10px;background:#f7fbff;border:1px solid rgba(11,43,74,.08)}
.fieldCard{padding:12px;border-radius:16px;background:#f9fbff;border:1px solid rgba(11,43,74,.08)}
.fieldCard label{display:block;margin:0 0 6px;font-size:.84rem;font-weight:900;color:#0b1220}
.fieldCard input,.fieldCard textarea{background:#fff;border-radius:12px;border:1px solid rgba(11,43,74,.10)}
.contactFormGrid textarea{min-height:150px}
.contactActionRow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:12px}
.contactActionNote{font-size:.84rem;color:#475569;line-height:1.4}
.contactQuickGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compactHighlights{grid-template-columns:1fr !important;gap:10px !important}
.compactHighlights .inc{padding:14px !important}

/* build cleanup */
body.buildPage .heroWrap{min-height:400px !important}
body.buildPage .heroContent{max-width:560px !important}
body.buildPage .heroContent .btnRow{display:none !important}
body.buildPage .buildHeroNote{margin-top:8px !important;font-size:.9rem !important}
body.buildPage .buildQuickFacts{margin-bottom:10px !important}
body.buildPage .chip{padding:8px 10px !important;font-size:.8rem}
body.buildPage .buildUtilityBar.compactOnly .notice{font-size:12px !important;padding:9px 11px !important}
body.buildPage .buildInlineEstimate{top:70px !important;padding:10px 12px !important;border-radius:14px !important}
body.buildPage .buildInlineEstimateTop strong{font-size:.9rem}
body.buildPage .buildInlineEstimateTop span{font-size:1rem !important}
body.buildPage .buildInlineEstimateLines{font-size:.78rem;line-height:1.35}
body.buildPage .badgeRow.compactBadges{display:none !important}
body.buildPage details.fold{margin:10px 0 !important;border-radius:16px !important}
body.buildPage details.fold summary{padding:13px 14px !important;position:relative;justify-content:space-between;gap:10px;font-size:.95rem}
body.buildPage details.fold summary::before{width:8px;height:8px;box-shadow:0 0 0 4px rgba(45,176,207,.12)}
body.buildPage details.fold summary::after{content:'+';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:18px;font-weight:800;color:#334155}
body.buildPage details.fold[open] summary::after{content:'−';color:#0b1220}
body.buildPage .foldTitle{padding-right:28px;display:block;font-weight:900;color:#0b1220}
body.buildPage .foldMeta{display:block;margin-top:4px;font-size:.76rem;color:#64748b;font-weight:700;padding-right:24px}
body.buildPage .stepBody{padding:8px 14px 14px !important}
body.buildPage .stepNextWrap{display:flex;justify-content:flex-end;margin-top:12px}
body.buildPage .stepNextBtn{padding:9px 12px;border-radius:12px}
body.buildPage .modeCards{display:grid;gap:10px}
body.buildPage .modeCardText{padding:14px !important;border-radius:16px !important}
body.buildPage .modeCardText b{font-size:.98rem !important}
body.buildPage .buildInfoStrip{gap:10px !important}
body.buildPage .buildInfoStrip>div{padding:12px 14px !important;border-radius:14px !important}
body.buildPage .buildMobileBar{bottom:84px !important;left:10px !important;right:10px !important}
body.buildPage .buildMobileBar .row{grid-template-columns:auto 1fr auto !important;gap:6px !important}
body.buildPage .buildMobileBar .btn{padding:10px 12px !important;font-size:.9rem}
body.buildPage .buildEstimateBtn{font-weight:900}
body.buildPage .buildSummaryPanel{bottom:86px !important}

@media (max-width:900px){
  .contactShellPro,.contactQuickGrid{grid-template-columns:1fr}
  .contactFormHead,.contactActionRow{grid-template-columns:1fr;display:block}
  .contactMiniMeta{justify-content:flex-start;margin-top:8px}
  .siteLiveWidget{width:min(250px,calc(100vw - 20px)) !important;right:10px !important;bottom:82px !important}
  .siteLiveWidgetActions{grid-template-columns:1fr !important}
}


/* V27.7 technical + mobile overflow cleanup */
html,body{max-width:100%;overflow-x:hidden}
body{overflow-wrap:break-word}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
.container,.content,main,section,.heroWrap,.heroWrapV18,.visualBand,.showcaseCard,.card,.contactShell,.footerGrid,.builderGrid,.builderCard,.siteLiveWidget,.siteLiveWidgetPanel,.drawerPanel,.bottomQuickNav,.buildMobileBar{max-width:100%}
.cards,.grid2,.optGrid,.contactQuickGrid,.footerGrid,.triptych,.builderGrid,.twoColBlocks{min-width:0}
.heroContent h1,.heroContent p,.foldTitle,.foldMeta,.notice,.navItem small,.navItem b{overflow-wrap:anywhere}
.tableWrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}
body:not(.buildPage) .buildMobileBar{display:none!important}

.topbar{box-shadow:0 6px 18px rgba(8,24,48,.06)!important}
.topbar .container{max-width:1180px!important}
.nav{padding:8px 0!important;gap:10px!important}
.brand img{height:30px!important;width:auto!important;display:block}
.modePill{transform:scale(.94);transform-origin:left center}
.menu a{padding:7px 9px!important;font-size:.88rem!important;border-radius:10px!important}
.menu .langPill{padding:7px 10px!important}
.navToggle{padding:9px 10px!important;border-radius:12px!important;min-width:auto!important}
.navToggle span{width:20px!important;height:2px!important;margin:4px 0!important}
@media (max-width:900px){
  .nav{padding:6px 0!important}
  .brand img{height:27px!important}
  .navToggle{padding:8px 9px!important}
}

.drawerPanel{width:min(400px,92vw)!important;border-radius:18px!important}
.drawerBrand img{height:24px!important}
.drawerTop{padding:10px 10px 6px!important}
.drawerLang .chip,.drawerClose{padding:6px 9px!important;font-size:.83rem!important;border-radius:10px!important}
.drawerCtas{padding:2px 10px 8px!important}
.drawerCtas .btn{padding:11px 12px!important}
.drawerBody{padding:0 10px 12px!important}
.drawerTabs{padding:0 10px 10px!important;gap:8px!important}
.drawerTabs .tab{padding:9px 10px!important;font-size:.9rem!important}
.drawerGroup{border-radius:14px!important;margin:8px 0!important}
.drawerGroup summary{padding:10px 12px!important;font-size:.9rem!important}
.drawerGroup summary::after{font-size:16px!important;right:12px!important}
.drawerLinks.compactLinks{padding:6px 10px 10px!important;gap:7px!important}
.drawerLinks .navItem{padding:9px 10px!important;border-radius:12px!important;margin:0!important}
.drawerLinks .navItem b{font-size:.9rem!important}
.drawerLinks .navItem small{font-size:.75rem!important;margin-top:3px!important}
.drawerSectionTitle{font-size:.74rem!important;margin:8px 0 6px!important}
.chipRow .chip{padding:6px 10px!important;font-size:.78rem!important}

.microIcon{width:14px;height:14px;flex:0 0 14px}
.microIcon svg{width:14px!important;height:14px!important}
.iconBadge{width:38px!important;height:38px!important;border-radius:12px!important}
.iconBadge.slim{width:34px!important;height:34px!important}
.v27Icon{width:16px;height:16px}
.v27Icon svg{width:16px!important;height:16px!important}
.metaChip .microIcon,.cardVisual .miniList .microIcon,.bottomQuickNav a .microIcon,.liveNavChip .microIcon,.navItem b .microIcon{width:14px!important;height:14px!important}

.siteLiveWidget{right:10px!important;bottom:84px!important;width:min(240px,calc(100vw - 20px))!important}
.siteLiveWidgetBar{padding:4px!important;border-radius:16px!important}
.siteLiveWidgetToggle{padding:10px 12px!important;min-width:0}
.siteLiveWidgetToggle strong{font-size:.92rem!important}
.siteLiveWidgetToggle small{font-size:.72rem!important;line-height:1.2!important}
.siteLiveWidgetToggleBadge{padding:6px 9px!important;font-size:.75rem!important}
.siteLiveWidgetClose{width:34px!important;height:34px!important;border-radius:10px!important;font-size:15px!important}
.siteLiveWidgetPanel{max-height:min(62vh,460px)!important;border-radius:16px!important}
.siteLiveWidgetHead{padding:12px 12px 8px!important}
.siteLiveWidgetHead strong{font-size:.95rem!important}
.siteLiveWidgetHead small{font-size:.74rem!important}
.siteLiveWidgetTabs button{padding:7px 10px!important;font-size:.78rem!important}
.siteLiveSpotChips{padding:0 12px 10px!important;gap:6px!important}
.siteLiveSpotChips .chip{padding:6px 9px!important;font-size:.76rem!important}
.siteLiveWidgetBody{padding:0 12px 12px!important}
.miniGridWide{grid-template-columns:1fr 1fr!important;gap:8px!important}
.miniStat{padding:9px 10px!important;border-radius:12px!important}
.miniStat b{font-size:.72rem!important}
.miniStat span{font-size:.88rem!important}
@media (max-width:640px){.siteLiveWidget{width:min(220px,calc(100vw - 20px))!important;bottom:82px!important}}

body.buildPage .heroWrap{border-radius:22px!important}
body.buildPage .heroContent{max-width:540px!important;left:20px!important;top:18px!important;right:20px!important}
body.buildPage .heroContent h1{font-size:clamp(2rem,7vw,2.8rem)!important;max-width:10ch!important}
body.buildPage .heroContent p{font-size:1rem!important;max-width:42ch!important}
body.buildPage .heroPill{padding:8px 12px!important;font-size:.84rem!important}
body.buildPage .buildQuickFacts{gap:8px!important;flex-wrap:wrap!important}
body.buildPage .buildQuickFacts .chip{padding:7px 10px!important;font-size:.78rem!important}
body.buildPage .buildInlineEstimate{top:64px!important;padding:10px 12px!important;border-radius:14px!important}
body.buildPage .buildInlineEstimateTop strong{font-size:.88rem!important}
body.buildPage .buildInlineEstimateTop span{font-size:1rem!important}
body.buildPage .buildInlineEstimateMeta,body.buildPage .buildInlineEstimateLines{font-size:.76rem!important}
body.buildPage details.fold{margin:10px 0!important;border-radius:15px!important}
body.buildPage details.fold summary{padding:12px 14px!important;font-size:.93rem!important}
body.buildPage details.fold summary::after{font-size:16px!important;right:12px!important}
body.buildPage .stepBody{padding:0 12px 12px!important}
body.buildPage .buildMobileBar{bottom:82px!important;left:10px!important;right:10px!important;padding:8px!important}
body.buildPage .buildMobileBar .btn{padding:10px 11px!important;font-size:.88rem!important}
body.buildPage .buildSummaryPanel{left:10px!important;right:10px!important;bottom:82px!important}

.contactShellPro{gap:16px!important}
.contactSplitHero{grid-template-columns:92px 1fr!important;gap:12px!important;align-items:center!important}
.contactSplitHero img{border-radius:14px!important}
.contactHighlights .inc,.contactQuickGrid .infoTile,.contactFormPanelPro .fieldCard{border-radius:14px!important}
.contactFormHead{gap:10px!important}
.contactFormGrid .grid2{gap:10px!important}
.contactActionRow{gap:10px!important}
@media (max-width:900px){
  .contactSplitHero{grid-template-columns:1fr!important}
  .contactMiniMeta{gap:6px!important}
}

.siteLiveWidgetReopen{position:fixed;right:10px;bottom:84px;z-index:7740;border:1px solid rgba(11,43,74,.12);background:#fff;border-radius:999px;padding:8px 12px;font-weight:900;box-shadow:0 10px 24px rgba(8,24,48,.14)}
@media (max-width:640px){.siteLiveWidgetReopen{bottom:82px;padding:7px 11px;font-size:.85rem}}


/* V28 — Smart Dock + Booking Receipt + Book your week */
.smartDock{right:10px!important;bottom:84px!important;width:min(250px,calc(100vw - 20px))!important;z-index:7750!important}
.smartDockBar{display:flex;align-items:center;gap:6px;background:transparent}
.smartDockToggle{padding:10px 12px!important;border-radius:16px!important;min-height:46px;background:rgba(255,255,255,.98)!important;color:#0b1220!important;border:1px solid rgba(11,43,74,.12)!important;box-shadow:0 12px 30px rgba(8,24,48,.12)!important}
.smartDockText strong{display:block;font-size:.92rem!important;line-height:1.05}
.smartDockText small{display:block;font-size:.72rem!important;line-height:1.2;color:#64748b!important}
.smartDockBadge{padding:6px 9px!important;font-size:.72rem!important;background:#eef8ff!important;color:#0f6aa4!important}
.smartDockClose{width:34px!important;height:34px!important;border-radius:10px!important}
.smartDockPanel{margin-top:7px!important;border-radius:18px!important;padding:0!important;background:#fff!important;box-shadow:0 20px 42px rgba(8,24,48,.14)!important;border:1px solid rgba(11,43,74,.10)!important;max-height:min(72vh,560px)!important;overflow:auto!important}
.smartDockHead{padding:12px 12px 8px!important;border-bottom:1px solid rgba(11,43,74,.08)}
.smartDockHead strong{font-size:.96rem!important}
.smartDockHead small{display:block;margin-top:4px;font-size:.75rem!important;color:#64748b!important}
.smartDockSpotChips{padding:10px 12px 0!important;display:flex;gap:6px;flex-wrap:wrap}
.smartDockSpotChips .chip{padding:6px 9px!important;font-size:11px!important}
.smartDockBody{padding:12px!important;display:grid;gap:12px}
.smartDockSection{border:1px solid rgba(11,43,74,.08);border-radius:16px;padding:12px;background:#fbfdff}
.smartDockSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.smartDockSectionHead h3{margin:0;font-size:.92rem;line-height:1.1}
.smartDockKicker{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.smartDockGrid{display:grid;gap:10px}
.smartDockResumeCard{display:grid;gap:8px}
.smartDockResumeCard small{color:#64748b}
.smartDockCtaBox .notice{margin:0 0 8px}
.smartDockActions{grid-template-columns:1fr!important;gap:8px!important}
.smartDockActions .btn{justify-content:center}
.smartDockMeta{font-size:11px!important;line-height:1.4;color:#64748b}
@media (min-width:901px){.smartDock{width:min(320px,26vw)!important;bottom:20px!important;right:20px!important}.smartDockActions{grid-template-columns:1fr 1fr 1fr!important}.smartDockGrid{grid-template-columns:1fr 1fr}}
body.buildPage .buildInlineEstimate{padding:12px 14px!important;border-radius:16px!important;background:#fff!important;color:#0b1220!important;border:1px solid rgba(11,43,74,.12)!important;box-shadow:0 16px 34px rgba(8,24,48,.12)!important}
body.buildPage .buildInlineEstimateTop{display:flex;align-items:center;justify-content:space-between;gap:10px}
body.buildPage .buildInlineEstimateTop strong{font-size:.92rem!important;letter-spacing:.01em}
body.buildPage .buildInlineEstimateTop span{font-size:1.12rem!important;font-weight:950;color:#0b2340!important}
body.buildPage .buildInlineEstimateMeta{font-size:.76rem!important;color:#64748b!important;margin-top:4px}
body.buildPage .buildInlineEstimateLines{font-size:.8rem!important;line-height:1.4;color:#334155!important;margin-top:6px}
body.buildPage .buildInlineEstimateActions{margin-top:10px;display:flex;justify-content:flex-start}
body.buildPage .buildInlineEstimateActions .btn{padding:8px 12px;border-radius:999px}
body.buildPage .stickySummary h2{margin-bottom:10px}
body.buildPage #priceSummary{display:grid;gap:10px}
body.buildPage .sumSection{border:1px solid rgba(11,43,74,.08);border-radius:16px;padding:10px 12px;background:#fbfdff}
body.buildPage .sumSection h3{margin:0 0 8px;font-size:.84rem;text-transform:uppercase;letter-spacing:.05em;color:#475569}
body.buildPage .sumLine{padding:9px 0;gap:12px}
body.buildPage .sumLine span:last-child{min-width:74px;font-weight:900}
body.buildPage .sumLine.isIncluded span:last-child{color:#0f6aa4}
body.buildPage .sumLine.isNote span:last-child{color:#64748b}
body.buildPage .sumFooterNote{font-size:.8rem;line-height:1.45}
body.buildPage .buildMobileBar .buildEstimateBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
body.buildPage .buildMobileBar .buildEstimateBtn::before{content:'Receipt';font-size:.68rem;line-height:1;color:#dbeafe}
body.buildPage .buildSummaryPanel{border-radius:20px 20px 0 0!important}
body.buildPage .buildSummaryHead strong{font-size:1rem}
body.buildPage .buildSummaryMeta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
body.buildPage .buildSummaryMeta .chip{padding:6px 9px;font-size:11px}
body.buildPage .buildSummaryBody{display:grid;gap:10px}
@media (max-width:900px){body.buildPage .stickySummary{display:none!important}body.buildPage .buildInlineEstimate{top:64px!important;margin-bottom:12px!important}body.buildPage .buildInlineEstimateLines{max-width:100%;white-space:normal}}



/* V28.2 — media-led refresh from uploaded library */
.mediaRibbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}
.mediaTile{position:relative;display:block;min-height:170px;border-radius:22px;overflow:hidden;background:#eaf3f8;box-shadow:0 14px 28px rgba(8,24,48,.10)}
.mediaTile img{width:100%;height:100%;object-fit:cover;display:block}
.mediaTile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,48,.06),rgba(8,24,48,.58))}
.mediaTileBody{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;display:grid;gap:4px;color:#fff}
.mediaTileBody b{font-size:1rem;line-height:1.08}
.mediaTileBody small{font-size:.83rem;line-height:1.35;color:rgba(255,255,255,.94)}
.mediaTileTag{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:.72rem;font-weight:900;letter-spacing:.01em}
.mediaMosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;margin-top:18px}
.mediaMosaic .mediaTile:nth-child(1){grid-column:span 5;min-height:300px}
.mediaMosaic .mediaTile:nth-child(2){grid-column:span 4;min-height:300px}
.mediaMosaic .mediaTile:nth-child(3){grid-column:span 3;min-height:300px}
.mediaStorySplit{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;align-items:start}
.mediaStoryStack{display:grid;gap:14px}
.mediaStoryStack .mediaTile{min-height:184px}
.mediaFigure{margin:0}
.mediaFigure figcaption{margin-top:8px;color:#64748b;font-size:.86rem;line-height:1.45}
.heroPhotoNote{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(6px);font-size:.83rem;color:#fff}
.bookMoodStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 16px}
.bookMoodTile{position:relative;overflow:hidden;border-radius:18px;min-height:110px;background:#eaf3f8}
.bookMoodTile img{width:100%;height:100%;object-fit:cover;display:block}
.bookMoodTile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,48,.06),rgba(8,24,48,.62))}
.bookMoodTile span{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-weight:900;font-size:.86rem;line-height:1.15;z-index:2}
.cardVisual .cardMedia img,.showcaseMedia img{width:100%;height:100%;object-fit:cover;display:block}
.hotelGalleryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.hotelGalleryGrid .mediaTile{min-height:180px}
@media (max-width:900px){
  .mediaStorySplit{grid-template-columns:1fr}
  .mediaMosaic{grid-template-columns:1fr 1fr}
  .mediaMosaic .mediaTile{grid-column:span 1!important;min-height:180px!important}
  .bookMoodStrip{grid-template-columns:1fr 1fr}
  .bookMoodTile:last-child{grid-column:1 / -1}
  .hotelGalleryGrid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .mediaRibbon{grid-template-columns:1fr 1fr}
  .mediaTile{min-height:150px;border-radius:18px}
  .mediaTileBody{left:12px;right:12px;bottom:12px}
  .mediaTileBody b{font-size:.92rem}
  .mediaTileBody small{font-size:.76rem}
  .bookMoodStrip{grid-template-columns:1fr}
  .hotelGalleryGrid{grid-template-columns:1fr}
}
/* <<< v27.css <<< */

/* >>> v29.css >>> */
/* V29 — page-by-page premium UX pass */
:root{
  --v29-navy:#0b2f52;
  --v29-ink:#0f2034;
  --v29-soft:#f5f8fc;
  --v29-line:rgba(11,47,82,.12);
  --v29-card:#ffffff;
  --v29-warm:#fff4df;
  --v29-sea:#e9f6ff;
}
body{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 22%,#f9fbfd 100%)}
.heroContent h1{letter-spacing:-.03em}
.heroPill{backdrop-filter:blur(8px)}
.heroWrapV18{overflow:hidden}
.visualHeroRail,.routeRibbon,.planningScenarios,.editorialRow,.sceneSplit,.contactJourney,.liveDashGrid,.liveSpotScenes,.bookChapterRail,.bookHeroRail,.bookCompass,.weatherCompass{display:grid;gap:16px}
.visualHeroRail{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
.routeRibbon{grid-template-columns:repeat(3,minmax(0,1fr))}
.planningScenarios{grid-template-columns:1.15fr .85fr;align-items:start}
.sceneSplit{grid-template-columns:1.15fr .85fr;align-items:center}
.editorialRow{grid-template-columns:repeat(3,minmax(0,1fr))}
.contactJourney{grid-template-columns:repeat(3,minmax(0,1fr))}
.liveDashGrid{grid-template-columns:1.1fr .9fr;align-items:start}
.liveSpotScenes{grid-template-columns:repeat(3,minmax(0,1fr))}
.bookHeroRail{grid-template-columns:1.12fr .88fr;align-items:start;margin-top:14px}
.bookChapterRail{grid-template-columns:repeat(4,minmax(0,1fr))}
.bookCompass{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}
.weatherCompass{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}
.v29Card,.v29Panel,.v29Metric,.v29Route,.v29Scene,.v29Chapter,.v29StepHint,.v29LiveStat,.v29ContactPoint,.dockPanelCard,.receiptHeroCard{
  background:var(--v29-card);
  border:1px solid var(--v29-line);
  border-radius:22px;
  box-shadow:0 18px 42px rgba(15,32,52,.07);
}
.v29Panel{padding:20px}
.v29Card{overflow:hidden}
.v29Card img,.v29Scene img,.v29Route img,.v29SpotShot img{display:block;width:100%;height:100%;object-fit:cover}
.v29CardBody,.v29RouteBody,.v29SceneBody{padding:18px}
.v29RouteBody p,.v29CardBody p,.v29SceneBody p{margin:8px 0 0;color:#405266}
.v29RouteTop,.v29CardTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.v29Eyebrow,.v29Tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--v29-soft);font-size:12px;font-weight:800;color:var(--v29-navy)}
.v29Price{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:linear-gradient(90deg,#ffe08b,#8ce7d8);font-weight:900;color:#17324d;font-size:13px}
.v29MiniList{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.v29MiniList li{display:flex;gap:10px;align-items:flex-start;color:#2d4258;font-size:14px}
.v29MiniList .microIcon{flex:0 0 16px;margin-top:2px}
.v29Scene{display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden;min-height:240px}
.v29SceneBody{display:flex;flex-direction:column;justify-content:center}
.v29SceneActions,.v29DockActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.v29StatStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.v29Metric{padding:16px 16px 14px}
.v29Metric b{display:block;font-size:13px;color:#4e657a;text-transform:uppercase;letter-spacing:.04em}
.v29Metric strong{display:block;font-size:26px;line-height:1.05;margin-top:4px;color:var(--v29-ink)}
.v29Metric small{display:block;margin-top:6px;color:#5d7187}
.v29Route{overflow:hidden}
.v29RouteMedia{aspect-ratio:1.25/1}
.v29RouteBody .metaChips{margin-top:12px}
.v29Compare{display:grid;grid-template-columns:1fr 320px;gap:16px}
.v29CompareCard{padding:18px}
.v29CompareCard table{width:100%}
.v29AsideStack{display:grid;gap:16px}
.v29AsideNote{padding:18px}
.v29AsideNote h3{margin:0 0 8px}
.v29AsideNote p,.v29AsideNote li{color:#526578}
.v29AsideNote ul{margin:10px 0 0 18px;padding:0}

/* Smart Dock redesign */
.smartDock{position:fixed;right:12px;left:auto;bottom:86px;max-width:360px;z-index:45}
.smartDockBar{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border:1px solid rgba(11,47,82,.12);border-radius:999px;padding:8px 10px;box-shadow:0 14px 32px rgba(11,24,40,.16)}
.smartDockToggle{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:none;border:none;padding:0;width:100%;text-align:left;color:inherit;min-width:0}
.smartDockText{display:grid;gap:2px;min-width:0}
.smartDockText em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#506278}
.smartDockText strong{font-size:13px;line-height:1.15;color:var(--v29-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smartDockText small{font-size:11px;line-height:1.25;color:#5c6f82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.smartDockBadge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:34px;padding:0 12px;border-radius:999px;background:linear-gradient(90deg,#ffe08b,#84e2d6);font-size:11px;font-weight:900;color:#16324d}
.smartDockClose,.smartDockCloseSheet{width:34px;height:34px;border-radius:999px;border:1px solid rgba(11,47,82,.15);background:#fff;color:#17324d;display:inline-flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;flex:0 0 34px}
.smartDockPanel{position:fixed;right:12px;left:12px;bottom:144px;max-width:520px;margin-left:auto;padding:14px;border-radius:24px;background:rgba(255,255,255,.98);border:1px solid rgba(11,47,82,.12);box-shadow:0 22px 48px rgba(11,24,40,.18);max-height:min(78vh,720px);overflow:auto}
.smartDockSheetHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.smartDockSheetHead h3{margin:4px 0 0;font-size:18px;color:#10253b}
.smartDockSummaryCard,.smartDockActionCard,.smartDockResumeCard,.smartDockMiniCard{padding:14px;border-radius:18px;border:1px solid rgba(11,47,82,.1);background:#f8fbff}
.smartDockSummaryCard h3,.smartDockActionCard h3,.smartDockResumeCard h3{margin:0;font-size:15px}
.smartDockKicker{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#62809b;margin-bottom:6px;font-weight:800}
.smartDockMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.smartDockMiniCard .notice{margin:0}
.smartDockMiniCard b{display:block;font-size:12px;color:#5a7188;text-transform:uppercase;letter-spacing:.04em}
.smartDockMiniCard strong{display:block;margin-top:4px;font-size:18px;color:#10253b}
.smartDockMiniCard small{display:block;margin-top:4px;color:#5d7187}
.smartDockSpotChips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.smartDockSpotChips .chip{padding:7px 10px;font-size:12px}
.smartDockActionCard p,.smartDockSummaryCard p,.smartDockResumeCard p{margin:8px 0 0;color:#587089;font-size:13px;line-height:1.45}
.smartDockActions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.smartDockActions .btn:last-child{grid-column:1/-1}
.smartDockResumeCard{margin-top:12px;background:linear-gradient(180deg,#f8fcff,#eef7ff)}
.smartDockResumeTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.smartDockMeta{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(11,47,82,.12);font-size:12px;color:#607488}
.siteLiveWidgetReopen{position:fixed;right:12px;bottom:86px;z-index:44;border:none;border-radius:999px;background:#16324d;color:#fff;padding:9px 12px;box-shadow:0 16px 32px rgba(11,24,40,.18);font-weight:800}
.smartDock.is-open .smartDockBadge{background:#16324d;color:#fff}

/* Book page / receipt */
.bookHeroRail{position:relative}
.bookHeroVisualCard{overflow:hidden;min-height:240px}
.bookHeroVisualCard img{width:100%;height:100%;object-fit:cover}
.bookHeroVisualOverlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,26,45,.08),rgba(7,26,45,.48))}
.bookHeroVisualInner{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;display:grid;gap:10px}
.bookHeroVisualInner h3{margin:0;font-size:28px;line-height:1.02}
.bookHeroVisualInner p{margin:0;color:rgba(255,255,255,.86)}
.bookChapterRail{margin-top:18px}
.v29Chapter{padding:16px}
.v29ChapterHead{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.v29ChapterHead .iconBadge{width:34px;height:34px}
.v29Chapter b{font-size:15px;color:var(--v29-ink)}
.v29Chapter p{margin:0;color:#587089;font-size:13px;line-height:1.45}
.v29PillList{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.v29PillList span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f3f8fd;color:#22415e;font-size:12px;font-weight:700}
.buildInlineEstimate{padding:16px 18px 14px;border:1px solid rgba(11,47,82,.12);background:linear-gradient(180deg,#f8fbff,#ffffff);border-radius:22px;box-shadow:0 18px 40px rgba(11,24,40,.06)}
.buildInlineEstimateTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.buildInlineEstimateTop strong{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#557089}
#inlineEstimateTotal{font-size:26px;font-weight:950;color:#10253b;white-space:nowrap}
.buildInlineEstimateMeta{margin-top:6px;font-size:13px;color:#5e748a}
.buildInlineEstimateLines{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.buildInlineEstimateLines .receiptChip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:var(--v29-soft);font-size:12px;font-weight:700;color:#23445f}
.buildInlineEstimateActions{margin-top:12px;display:flex;gap:10px;align-items:center;justify-content:space-between}
.builderGridV24{align-items:start;gap:24px}
.receiptShell{display:grid;gap:12px}
.receiptHeroCard{padding:18px 18px 14px;background:linear-gradient(180deg,#0d3358,#173f6a);color:#fff}
.receiptHeroCard strong{display:block;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.receiptHeroCard b{display:block;font-size:28px;line-height:1.02;margin-top:8px}
.receiptHeroCard p{margin:8px 0 0;color:rgba(255,255,255,.82)}
.receiptHighlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.receiptHighlights span{display:flex;align-items:center;justify-content:center;padding:9px 10px;border-radius:14px;background:rgba(255,255,255,.12);font-size:12px;font-weight:800}
.stickySummary{position:sticky;top:98px;display:grid;gap:12px;background:transparent;border:none;box-shadow:none;padding:0}
#priceSummary{background:#fff;border:1px solid rgba(11,47,82,.12);border-radius:22px;box-shadow:0 18px 40px rgba(11,24,40,.06);padding:14px}
.sumSection{padding:10px 2px 4px;border-bottom:1px solid rgba(11,47,82,.07)}
.sumSection:last-of-type{border-bottom:none}
.sumSection h3{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#56728d}
.sumLine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:flex-start;padding:9px 0}
.sumLine span:last-child{font-weight:900;color:#16324d;white-space:nowrap;display:block;text-align:right}
.sumLine b{display:block;color:#16324d;font-size:14px;line-height:1.25}
.sumLine small{display:block;margin-top:4px;color:#637a90;line-height:1.35;font-size:12px}
.sumLine.isIncluded span:last-child{color:#0f7a60}
.sumLine.isIncluded{background:linear-gradient(90deg,rgba(11,180,117,.06),transparent);padding-left:10px;padding-right:10px;border-radius:12px}
.sumLine.isNote{background:rgba(11,47,82,.04);padding-left:10px;padding-right:10px;border-radius:12px}
.sumTotal{margin-top:6px;padding-top:14px;border-top:1px solid rgba(11,47,82,.1);font-size:18px}
.sumFooterNote{background:#f8fbff;border-radius:14px;padding:10px 12px;color:#5f7487;font-size:12px}
.fold summary{padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.fold summary::-webkit-details-marker{display:none}
.fold .foldTitle{font-size:18px;font-weight:900;color:#16324d;display:flex;align-items:center;gap:10px}
.fold .foldMeta{margin-left:auto;max-width:46%;font-size:12px;color:#607489;text-align:right;line-height:1.35}
.fold[open]{border-color:rgba(18,87,142,.32);box-shadow:0 14px 34px rgba(11,24,40,.06)}
.stepBody{padding:0 18px 18px}
.stepNextWrap{display:flex;justify-content:flex-end;margin-top:14px}
.buildSummaryPanel{border-radius:24px 24px 0 0;padding:18px 16px 16px;max-height:78vh}
.buildSummaryMeta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.buildSummaryMeta .chip{font-size:12px;padding:7px 10px}
.buildSummaryBody .sumSection{padding:8px 0 2px}
.buildSummaryBody .sumLine{grid-template-columns:minmax(0,1fr) auto}


.buildPage .hero .heroWrap{min-height:clamp(360px,56vw,520px)}
.buildPage .heroContent{max-width:640px}
.buildPage .heroContent p{max-width:38ch}
.bookHeroCompactRail{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.compactBuildGuide{margin:0 0 12px;font-size:13px}
.compactReceipt{padding:0;border:none;background:transparent;box-shadow:none}
.buildInlineEstimateButton{display:block;width:100%;text-align:left;background:#f8fbff;border:1px solid rgba(11,47,82,.12);border-radius:18px;padding:12px 14px;box-shadow:0 12px 28px rgba(11,24,40,.05)}
.buildInlineEstimateButton:hover{background:#f2f8ff}
.buildInlineEstimateActions,.buildInlineEstimateLines,.badgeRow.compactBadges,.bookCompass,.buildUtilityBar.compactOnly{display:none!important}
.desktopReceiptShell .compactHint{font-size:12px}
.receiptShell{display:grid;gap:10px}
.buildMobileBar{padding:8px 10px 10px;border-radius:18px}
.buildMobileRow{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}
.buildNavBtn{min-width:0;padding:11px 12px!important}
.buildEstimateBtn{display:grid!important;grid-template-rows:auto auto auto;gap:2px;align-items:start;justify-items:start;padding:10px 12px!important;min-width:0}
.buildEstimateBtn .receiptKicker{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6b7f93;font-weight:800}
.buildEstimateBtn strong{font-size:16px;line-height:1;color:#10253b}
.buildEstimateBtn small{font-size:11px;line-height:1.2;color:#5c7085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.buildInlineEstimate{position:sticky;top:74px;z-index:20;margin-bottom:12px}
#priceSummary{padding:12px}
.sumLine{padding:8px 0}
.sumLine b{font-size:13px}
.fold summary{padding:14px 16px}
.fold .foldTitle{font-size:17px}
.fold .foldMeta{font-size:11px;max-width:42%}
@media (max-width:900px){
  .buildPage .hero .heroWrap{min-height:430px}
  .buildPage .heroContent{padding-bottom:18px}
  .buildPage .heroContent h1{font-size:clamp(2.1rem,10vw,3.1rem)}
  .bookHeroCompactRail{display:none}
  .compactBuildGuide{display:none}
  .desktopReceiptShell{display:none}
  .buildInlineEstimate{top:68px}
  body.buildPage .buildMobileBar{display:block;bottom:82px!important;left:10px!important;right:10px!important}
}
@media (max-width:640px){
  .smartDock{left:12px;right:12px;max-width:none;bottom:82px}
  .smartDockBar{padding:7px 9px}
  .smartDockText small{display:none}
  .smartDockPanel{left:0;right:0;bottom:0;max-width:none;border-radius:24px 24px 0 0;padding:14px 14px 110px}
  .smartDockMetrics{grid-template-columns:1fr}
  .smartDockActions{grid-template-columns:1fr}
  .buildInlineEstimateButton{padding:10px 12px}
  .buildInlineEstimateTop strong{font-size:12px}
  #inlineEstimateTotal{font-size:22px}
  .buildEstimateBtn{padding:9px 10px!important}
  .buildEstimateBtn strong{font-size:15px}
  .fold summary{display:block}
  .fold .foldMeta{display:block;max-width:none;text-align:left;margin-left:0;margin-top:6px}
}

/* Weather / ocean dashboards */
.liveHeroPanel{padding:18px;background:linear-gradient(180deg,#0d3358,#1f4f77);color:#fff}
.liveHeroPanel p{color:rgba(255,255,255,.84)}
.liveHeroStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.liveHeroStats .v29Metric{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.08);box-shadow:none;color:#fff}
.liveHeroStats .v29Metric b,.liveHeroStats .v29Metric strong,.liveHeroStats .v29Metric small{color:inherit}
.liveControlPanel{padding:18px}
.liveSwitchPills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.liveSwitchPills .btn{margin:0}
.liveDashboardCard{padding:16px}
.liveDashboardCard h3{margin:0 0 10px}
.liveDashboardNote{font-size:13px;color:#5e748a;margin-top:10px}
.v29SpotShot{overflow:hidden;border-radius:18px;border:1px solid rgba(11,47,82,.1);background:#fff;box-shadow:0 14px 32px rgba(11,24,40,.06)}
.v29SpotShot img{display:block;width:100%;aspect-ratio:1.25/1;object-fit:cover}
.v29SpotShotBody{padding:14px}
.v29SpotShotBody b{display:block;color:#133352;font-size:15px}
.v29SpotShotBody small{display:block;margin-top:6px;color:#607488;line-height:1.45}
.kpiRow{gap:12px}
.kpi{border-radius:18px;border:1px solid rgba(11,47,82,.1);background:#fff;box-shadow:0 14px 32px rgba(11,24,40,.05);padding:14px 14px 12px}
.kpi b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#597289}
.kpi span{display:block;margin-top:6px;font-size:20px;font-weight:900;color:#16324d;line-height:1.1}

/* contact */
.contactTrustRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.contactTrustRow .v29Metric strong{font-size:18px}
.contactQuickActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.contactFormPanelPro .fieldCard{background:#fff;border:1px solid rgba(11,47,82,.1);border-radius:18px;padding:12px}
.contactFormPanelPro .fieldCard label{display:block;margin-bottom:8px;font-weight:800;color:#153451;font-size:13px}
.contactFormPanelPro input,.contactFormPanelPro textarea{width:100%;border:none;outline:none;background:transparent;font-size:15px;color:#17324d}
.contactFormPanelPro textarea{min-height:150px;resize:vertical}

/* home / packages */
.v29Mosaic{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;align-items:start}
.v29MosaicSmall{display:grid;gap:16px}
.v29StoryCard{padding:18px}
.v29StoryCard h3{margin:0 0 8px}
.v29StoryCard p{margin:0;color:#5c7288}
.v29FlowList{display:grid;gap:10px;margin-top:14px}
.v29FlowList li{display:flex;gap:10px;align-items:flex-start;color:#294158}
.v29FlowList strong{display:block}
.v29FlowList small{display:block;color:#5d7389}

/* Mobile */
@media (max-width:900px){
  .planningScenarios,.sceneSplit,.v29Mosaic,.v29Compare,.liveDashGrid,.bookHeroRail,.visualHeroRail,.routeRibbon,.editorialRow,.contactJourney,.liveSpotScenes,.bookChapterRail,.bookCompass,.weatherCompass,.v29StatStrip,.contactTrustRow,.liveHeroStats{grid-template-columns:1fr}
  .stickySummary{position:static}
  .builderGridV24{grid-template-columns:1fr}
}
@media (max-width:640px){
  .visualHeroRail,.routeRibbon,.editorialRow,.contactJourney,.liveSpotScenes,.bookChapterRail,.bookCompass,.weatherCompass,.v29StatStrip,.contactTrustRow,.liveHeroStats,.receiptHighlights{grid-template-columns:1fr}
  .bookHeroVisualInner h3{font-size:22px}
  .sumLine{grid-template-columns:minmax(0,1fr)}
  .sumLine span:last-child{text-align:left}
}

/* V29.2 booking logic + responsive media */
.smartDateCard{border:1px solid rgba(11,47,82,.12);background:linear-gradient(180deg,#f8fbff,#fff);border-radius:20px;padding:14px 14px 10px;margin-bottom:12px;box-shadow:0 10px 24px rgba(11,24,40,.05)}
.smartDateHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.smartDateHead b{display:block;font-size:15px;color:#0f2940}
.smartDateHead small{display:block;color:#64748b;margin-top:2px}
.smartDatePreview{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(11,47,82,.10);font-size:12px;font-weight:800;color:#23445f;white-space:nowrap}
.smartDateFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.compactCoreGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.bookingModeMessage{margin-top:10px}
body.buildPage .twoColBlocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.buildPage .twoColBlocks > div{min-width:0}
.sumLine.isNote span:last-child{color:#9f1239;font-weight:800}
.routeRibbon{align-items:stretch}
.routeRibbon .v29Route{height:100%}
@media (max-width: 900px){
  body.buildPage .twoColBlocks{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .smartDateHead{align-items:flex-start;flex-direction:column}
  .smartDateFields,.compactCoreGrid{grid-template-columns:1fr 1fr}
  .routeRibbon{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .routeRibbon::-webkit-scrollbar{display:none}
  .routeRibbon .v29Route{flex:0 0 88%;scroll-snap-align:start}
}
@media (max-width: 420px){
  .smartDateFields,.compactCoreGrid{grid-template-columns:1fr}
}
/* <<< v29.css <<< */

/* >>> v30.css >>> */
:root{
  --v30-bg:#f8fafc;
  --v30-card:#ffffff;
  --v30-line:#dbe7f3;
  --v30-ink:#0f172a;
  --v30-muted:#475569;
  --v30-accent:#0f766e;
  --v30-warm:#f59e0b;
}
.v30TrustShell,.v30TrustPoints,.v30HowItWorks,.v30ConciergeStrip,.v30FaqShell,.v30EmailInfo,.v30AsidePanel{background:var(--v30-card);border:1px solid var(--v30-line);border-radius:22px;padding:22px;box-shadow:0 18px 40px rgba(15,23,42,.06)}
.v30QuoteGrid,.v30PointGrid,.v30FeatureGrid,.v30StepGrid,.v30BusinessGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v30QuoteCard,.v30PointCard,.v30FeatureCard,.v30StepCard,.v30BusinessCard,.v30AsidePanel{background:#fff;border:1px solid var(--v30-line);border-radius:18px;padding:18px}
.v30QuoteCard p{margin:10px 0 14px;font-size:1.02rem;line-height:1.6}
.v30QuoteBadge,.v30Badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#ecfeff;color:#115e59;font-size:.78rem;font-weight:800;letter-spacing:.02em}
.v30QuoteMeta{display:flex;justify-content:space-between;gap:10px;color:var(--v30-muted);font-size:.92rem}
.v30PointCard .iconBadge,.v30FeatureCard .iconBadge{margin-bottom:10px}
.v30PointCard b,.v30FeatureCard b,.v30BusinessCard b,.v30StepCard b{display:block;margin-bottom:6px}
.v30PointCard small,.v30FeatureCard small,.v30BusinessCard small,.v30StepCard small,.v30AsidePanel small{display:block;color:var(--v30-muted);line-height:1.55}
.v30HowItWorksHead{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.v30StepNumber{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#0f172a;color:#fff;font-weight:800;margin-bottom:12px}
.v30ConciergeStrip{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#0f172a,#0f766e);color:#fff}
.v30ConciergeStrip p,.v30ConciergeStrip small,.v30ConciergeStrip .notice{color:rgba(255,255,255,.85)}
.v30ConciergeActions{display:flex;gap:10px;flex-wrap:wrap}
.v30FaqShell .faqItem{padding:14px 0;border-top:1px solid var(--v30-line)}
.v30FaqShell .faqItem:first-child{border-top:none;padding-top:0}
.v30FaqShell .faqItem b{display:block;margin-bottom:6px}
.v30ReceiptHint{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#eff6ff;border-radius:16px;border:1px solid #bfdbfe;color:#1e3a8a;margin:14px 0}
.v30BusinessCard img{width:100%;height:190px;object-fit:cover;border-radius:14px;margin-bottom:12px;display:block}
.v30LinkList{display:grid;gap:10px;margin-top:12px}
.v30LinkList a{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--v30-line);color:inherit;text-decoration:none}
.v30LinkList a small{color:var(--v30-muted)}
.v30TrustInline{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.v30TrustInline .chip{background:#f8fafc}
.v30WhatsApp{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#166534;text-decoration:none;font-weight:700}
.v30MiniStack{display:grid;gap:12px}
.v30DockHint{font-size:.92rem;color:var(--v30-muted);margin-top:8px}
@media (max-width:980px){
  .v30QuoteGrid,.v30PointGrid,.v30FeatureGrid,.v30StepGrid,.v30BusinessGrid{grid-template-columns:1fr 1fr}
  .v30HowItWorksHead,.v30ConciergeStrip{flex-direction:column;align-items:flex-start}
}
@media (max-width:720px){
  .v30QuoteGrid,.v30PointGrid,.v30FeatureGrid,.v30StepGrid,.v30BusinessGrid{grid-template-columns:1fr}
  .v30TrustShell,.v30TrustPoints,.v30HowItWorks,.v30ConciergeStrip,.v30FaqShell,.v30EmailInfo,.v30AsidePanel{padding:18px;border-radius:18px}
  .v30BusinessCard img{height:180px}
}


.v30WhatsApp{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#166534;text-decoration:none;font-weight:700}
.v30WhatsApp .microIcon{display:inline-flex;width:18px;height:18px}
.v30WhatsApp .microIcon svg{width:18px;height:18px}
.seoBandGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.seoBandCard{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid rgba(11,43,74,.1);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.seoBandCard b{font-size:1rem;line-height:1.2}
.seoBandCard small{display:block;color:var(--muted);line-height:1.45}
.seoBandCard .chipRow{margin-top:auto}
.seoBandCard:hover{transform:translateY(-2px)}
.landingMiniGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.landingMiniCard{border:1px solid rgba(11,43,74,.1);border-radius:18px;background:#fff;padding:16px;box-shadow:var(--shadow)}
.landingMiniCard b{display:block;margin-bottom:6px}
.landingMiniCard small{display:block;color:var(--muted)}
.landingStatGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.landingStat{padding:16px;border:1px solid rgba(11,43,74,.1);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.landingStat b{display:block;font-size:1rem}
.landingStat strong{display:block;margin-top:6px;font-size:1.1rem;line-height:1.2}
.landingStat small{display:block;margin-top:8px;color:var(--muted)}
@media (max-width:900px){.seoBandGrid,.landingMiniGrid,.landingStatGrid{grid-template-columns:1fr}}
/* <<< v30.css <<< */

/* >>> v302.css >>> */
:root{
  --v302-navy:#0b1f35;
  --v302-ink:#13293f;
  --v302-sand:#cdb27b;
  --v302-stone:#f7f5f0;
  --v302-line:rgba(11,31,53,.11);
  --v302-line-strong:rgba(11,31,53,.18);
  --v302-soft:#f4f7fb;
  --v302-soft-2:#edf2f8;
  --v302-shadow:0 18px 42px rgba(9,24,44,.08);
  --v302-shadow-soft:0 10px 24px rgba(9,24,44,.06);
}

.btn,
.utilityBtn{
  border-radius:16px !important;
  border:1px solid var(--v302-line) !important;
  background:rgba(255,255,255,.94) !important;
  color:var(--v302-ink) !important;
  box-shadow:var(--v302-shadow-soft);
  font-weight:800 !important;
  letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.btn:hover,
.utilityBtn:hover{transform:translateY(-1px); box-shadow:0 14px 28px rgba(15,23,42,.1); border-color:var(--v302-line-strong)!important}
.btn.primary,
.navCta,
.buildNavBtn.primary,
.headerPrimaryCta{
  background:linear-gradient(180deg,#162d47 0%, #0d2239 100%) !important;
  color:#fff !important;
  border-color:rgba(9,24,44,.08)!important;
  box-shadow:0 16px 34px rgba(13,39,69,.2);
  position:relative;
  overflow:hidden;
}
.btn.primary::after,
.headerPrimaryCta::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 0%, rgba(205,178,123,.22) 45%, transparent 95%);
  pointer-events:none;
}
.btn.primary:hover,
.navCta:hover,
.buildNavBtn.primary:hover,
.headerPrimaryCta:hover{box-shadow:0 18px 36px rgba(13,39,69,.28)}
.btn.secondary,
.btn.ghost{
  background:var(--v302-stone)!important;
  color:var(--v302-ink)!important;
  border-color:rgba(11,31,53,.12)!important;
}
.utilityBtn,
.liveNavChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  text-decoration:none;
  font-weight:800;
}
.liveNavChip .microIcon{width:16px;height:16px}
.liveNavChip,.v29Tag,.heroPill,.chip{border-radius:999px}

.topbar{
  border-bottom:1px solid rgba(12,35,61,.08);
  backdrop-filter:blur(12px);
  background:rgba(255,255,255,.88);
}
.topbar .container{max-width:1320px}
.topbar .nav{gap:18px; min-height:82px}
.topbar .brand{flex:0 0 auto}
.topbar .brand img{width:136px; height:auto; object-fit:contain}
.topbar .modePill{display:none}
.desktopPrimary{display:none}
.desktopUtility{display:flex; align-items:center; gap:12px; margin-left:auto}
.menuLang{display:flex; align-items:center; gap:8px}
.langPill{min-width:42px; text-align:center; padding:10px 12px; border:1px solid rgba(11,31,53,.1); background:rgba(247,245,240,.9)}
.langPill.is-current{background:#fff; border-color:rgba(11,31,53,.24); box-shadow:0 8px 18px rgba(11,31,53,.08)}
.headerPrimaryCta{padding-inline:18px}
@media (min-width:901px){
  .desktopPrimary{display:flex;align-items:center;justify-content:center;gap:28px;flex:1 1 auto}
  .desktopPrimary a{color:#1a2f46;font-weight:800;text-decoration:none;position:relative;padding:10px 0}
  .desktopPrimary a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:linear-gradient(90deg,transparent,#98b6cf,transparent);transform:scaleX(0);transition:transform .18s ease}
  .desktopPrimary a:hover::after{transform:scaleX(1)}
}
@media (max-width:900px){.desktopPrimary,.desktopUtility{display:none !important}}

.heroContentRefined{max-width:700px}
.heroContentRefined h1{max-width:13ch}
.visualHeroRail{margin-top:18px}
.routeRibbonRefined .v29Route{min-height:100%}
.homeMediaStage{display:grid;grid-template-columns:1.45fr .95fr .85fr;gap:18px;align-items:stretch}
.homeMediaMain,.homeMediaSide,.homeMediaCard{border:1px solid var(--v302-line);border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--v302-shadow)}
.homeMediaMain{position:relative;min-height:430px}
.homeMediaMain img,.homeMediaSide img{width:100%;height:100%;object-fit:cover;display:block}
.homeMediaOverlay{position:absolute;left:0;right:0;bottom:0;padding:24px;background:linear-gradient(180deg,rgba(7,19,33,.04) 0%, rgba(7,19,33,.75) 100%);color:#fff}
.homeMediaOverlay h3,.homeMediaSideBody h3,.homeMediaCard h3{margin:10px 0 8px;font-size:30px;line-height:1.06}
.homeMediaOverlay p,.homeMediaSideBody p,.homeMediaCard p{margin:0;color:inherit}
.homeMediaSide{display:grid;grid-template-rows:240px auto}
.homeMediaSideBody{padding:20px;color:var(--v302-ink)}
.homeMediaCard{padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#f9fafc 0%, #f4f7fb 100%)}
.homeMediaMeta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.premiumCompareGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.82fr);gap:18px}
.premiumCompass{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.homeMediaStage{grid-template-columns:1fr 1fr}.homeMediaCard{grid-column:1 / -1}}
@media (max-width:780px){.homeMediaStage{grid-template-columns:1fr}.homeMediaMain{min-height:340px}.homeMediaOverlay h3,.homeMediaSideBody h3,.homeMediaCard h3{font-size:24px}.premiumCompareGrid,.premiumCompass{grid-template-columns:1fr}}

.footerRefined{padding-top:10px}
.footerGrid{grid-template-columns:1.05fr 1.15fr .95fr !important;align-items:start;gap:20px}
.footerBrand .notice{max-width:52ch}
.footerMetaLine{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.footerLinksCompact{display:flex;flex-wrap:wrap;gap:10px}
.infoTilesSlim{grid-template-columns:1fr !important;gap:10px;margin-top:14px}
.footerCtaSlim{padding-top:8px}
.footerCtaSlim .footerCtaInner{padding:18px 20px;border-radius:22px}
@media (max-width:900px){.footerGrid{grid-template-columns:1fr !important}}

.drawerPanel{max-width:420px}
.drawerGroup > summary{padding:12px 14px;border-radius:14px;font-size:15px}
.compactLinks .navItem{padding:10px 12px;border-radius:14px}
.compactLinks .navItem b{font-size:15px}
.compactLinks .navItem small{font-size:12px}

body.buildPage .hero{padding-bottom:8px}
body.buildPage .heroWrap{min-height:420px}
body.buildPage .heroContent{max-width:640px}
body.buildPage .heroContent p{max-width:56ch}
.bookHeroCompactRail{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.compactBuildGuide,.v30ReceiptHint{max-width:960px;margin-left:auto;margin-right:auto}
.buildTopAssist{max-width:960px;margin:14px auto 0}
.buildTopAssistCard{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border-radius:22px;border:1px solid var(--v302-line);background:linear-gradient(180deg,#fff 0%, #f7fafc 100%);box-shadow:var(--v302-shadow-soft)}
.buildTopAssistCard small{display:block;color:#53677c;margin-top:4px}
.modeLeadGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px;align-items:start}
.modeLeadText{margin:0;color:#4e6174}
.modeResponsePanel{border:1px solid var(--v302-line);background:linear-gradient(180deg,#fbfcfe 0%, #f3f7fb 100%);border-radius:20px;padding:16px;min-height:130px}
.modeResponsePanel h3{margin:0 0 8px;font-size:20px;color:var(--v302-ink)}
.modeResponsePanel p{margin:0;color:#4d6174}
.modeResponseTags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.modeResponseTags span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(11,31,53,.08);font-size:12px;font-weight:800;color:#163452}
.modeCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.modeCard{padding:16px;border:1px solid rgba(11,31,53,.12);background:rgba(255,255,255,.95);border-radius:20px;box-shadow:var(--v302-shadow-soft);cursor:pointer;transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease}
.modeCard:hover{transform:translateY(-2px);border-color:rgba(11,31,53,.22)}
.modeCard input{margin-right:8px}
.modeCard:has(input:checked){border-color:rgba(17,41,63,.3);background:linear-gradient(180deg,#fff 0%, #f4f7fb 100%);box-shadow:0 18px 32px rgba(13,39,69,.1)}
.modeCardText b{display:block;margin-bottom:6px;font-size:18px}
.modeCardText small{display:block;color:#55697d;line-height:1.45}
.routeStateBar{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.routeStateBar .stateChip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef4fa;color:#153452;font-size:12px;font-weight:800}
.routeStateBar .stateChip.active{background:#0f2e4f;color:#fff}
.buildModeSummary{background:linear-gradient(180deg,#fbfcfe 0%, #f5f8fc 100%) !important}
.packageInsights{display:grid;gap:10px}
.packageInsightCard{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;padding:16px;border:1px solid var(--v302-line);border-radius:18px;background:linear-gradient(180deg,#f9fbfd,#f3f7fb)}
.packageInsightCard h4{margin:0 0 6px;font-size:20px}
.packageInsightList{display:grid;gap:8px}
.packageInsightList span{display:flex;align-items:center;gap:8px;font-size:14px;color:#304559}
.packageInsightAside{display:grid;gap:8px;align-content:start}
.packageInsightAside .miniCompare{padding:12px;border-radius:16px;background:#fff;border:1px solid rgba(12,35,61,.08)}
.packageInsightAside .miniCompare b{display:block;margin-bottom:4px}
.packageInsightAside .miniCompare small{display:block;color:#5a6c7d}
.fold[data-step="custom"]{transition:opacity .18s ease, transform .18s ease}
.fold.is-hidden-step{display:none !important}
.buildInlineEstimate.compactReceipt{position:sticky;top:88px;z-index:18;background:transparent;padding:0;margin-bottom:14px}
.buildInlineEstimateButton{width:100%;border:1px solid rgba(12,35,61,.12);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 26px rgba(12,35,61,.08);padding:14px 16px;text-align:left}
.buildInlineEstimateTop{display:flex;justify-content:space-between;gap:10px;align-items:center}
.buildInlineEstimateTop strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#5c6f83}
.buildInlineEstimateTop span{font-size:28px;line-height:1;font-weight:900;color:#0f2740}
.buildInlineEstimateMeta{margin-top:5px;color:#41556b;font-size:13px}
.desktopReceiptShell{top:100px}
.premiumReceiptPanel{border-radius:24px !important;background:linear-gradient(180deg,#fff 0%, #f7fafc 100%) !important;box-shadow:var(--v302-shadow-soft)}
.premiumReceiptHint{border-radius:18px !important}
body.buildPage .v30HowItWorks, body.buildPage .v30FaqShell, body.buildPage .v29TrustShell, body.buildPage .testimonials, body.buildPage .testimonialShell{display:none !important}
body.buildPage .opt{padding:12px 12px 11px;border-radius:14px}
body.buildPage .stepBody{padding:0 12px 12px}
body.buildPage .fold summary{font-size:18px;padding:16px 18px}
body.buildPage .smartDateCard,.buildInfoStrip{border-radius:18px}
.compactBookingSupport .compactBookingSupportInnerRefined{display:flex;justify-content:space-between;gap:18px;align-items:center}
.compactBookingSupport .compactBtnRow{margin:0}
@media (max-width:960px){.modeLeadGrid,.buildTopAssistCard,.compactBookingSupport .compactBookingSupportInnerRefined,.packageInsightCard{grid-template-columns:1fr;display:grid}.modeCards{grid-template-columns:1fr}}
@media (max-width:780px){.sceneCarouselNav{display:none}.compactBookingSupport .compactBookingSupportInnerRefined{display:flex;flex-direction:column;align-items:flex-start}}

.sceneCarousel{position:relative;display:grid;gap:14px}
.sceneCarouselTrack{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.sceneCarouselTrack::-webkit-scrollbar{display:none}
.sceneSlide{flex:0 0 calc(33.333% - 10px);min-width:0;scroll-snap-align:start;background:#fff;border:1px solid var(--v302-line);border-radius:28px;overflow:hidden;box-shadow:var(--v302-shadow);display:grid;grid-template-rows:220px auto}
.sceneSlide img{width:100%;height:100%;object-fit:cover;display:block}
.sceneSlideBody{padding:20px}
.sceneSlideBody h3{margin:10px 0 8px;font-size:32px;line-height:1.02}
.sceneSlideBody p{margin:0;color:#45586c}
.sceneCarouselNav{position:absolute;top:calc(50% - 24px);z-index:2;width:48px;height:48px;border-radius:50%;border:1px solid rgba(12,35,61,.16);background:rgba(255,255,255,.92);color:#0d2745;font-size:28px;font-weight:700;box-shadow:0 8px 18px rgba(12,35,61,.14)}
.sceneCarouselNav.prev{left:-8px}
.sceneCarouselNav.next{right:-8px}
.sceneCarouselDots{display:flex;justify-content:center;gap:8px}
.sceneCarouselDots button{width:10px;height:10px;border-radius:50%;border:0;background:#c6d2df;padding:0}
.sceneCarouselDots button.is-active{background:#10365b;width:26px;border-radius:999px}
@media (max-width:1100px){.sceneSlide{flex-basis:calc(50% - 8px)}.sceneSlideBody h3{font-size:26px}}
@media (max-width:780px){.sceneSlide{flex-basis:88%;grid-template-rows:190px auto;border-radius:22px}.sceneSlideBody{padding:16px}.sceneSlideBody h3{font-size:24px}}

.cardsTight{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cardCluster{display:flex;flex-direction:column;justify-content:space-between;min-height:100%}
.relatedCompact{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.relatedCompact a{flex:0 0 auto}
.guideAsidePanel{height:100%}
.v30StepGridOne{grid-template-columns:1fr !important}
.footerCtaInnerGuide{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 24px;border-radius:24px;border:1px solid var(--v302-line);background:linear-gradient(180deg,#fff 0%, #f6f9fc 100%);box-shadow:var(--v302-shadow-soft)}
@media (max-width:960px){.cardsTight{grid-template-columns:1fr}.footerCtaInnerGuide{display:flex;flex-direction:column;align-items:flex-start}}

.fold.is-step-hidden{display:none !important}
body.buildPage .fold summary{display:block;padding-right:46px}
body.buildPage .fold .foldTitle{display:block}
body.buildPage .fold .foldMeta{display:block;max-width:none;text-align:left;margin-left:0;margin-top:6px}
body.buildPage .desktopReceiptShell{position:sticky;top:100px;align-self:start}
body.buildPage .stickySummary{position:sticky;top:100px;align-self:start}
body.buildPage .builderCard.builderSteps{overflow:visible}
body.buildPage .builderGrid,body.buildPage .builderGridV24{align-items:start}
@media (max-width:960px){body.buildPage .fold summary{padding-right:18px}}

body.buildPage .desktopReceiptShell,body.buildPage .stickySummary{position:-webkit-sticky;position:sticky;top:100px;align-self:start;height:fit-content;overflow:visible}
body.buildPage .premiumReceiptPanel{max-height:calc(100vh - 128px);overflow:auto}
.marketFitPills,.marketFitTags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.marketFitPills span,.marketFitTags span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid rgba(11,31,53,.08);font-size:12px;font-weight:800;color:#163452}
.packageInsights .marketFitCard{padding:14px 16px;border:1px solid var(--v302-line);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%)}
.packageInsights .marketFitCard h4{margin:0 0 6px;font-size:18px}
.packageInsights .marketFitCard p{margin:0;color:#4d6174}
.marketWordingBand{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.marketWordingCard{padding:16px 18px;border:1px solid rgba(11,31,53,.1);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#f7fafc 100%);box-shadow:var(--v302-shadow-soft)}
.marketWordingCard b{display:block;margin-bottom:6px;font-size:17px;color:#102d4b}
.marketWordingCard small{display:block;color:#5c6f83;line-height:1.45}
.marketWordingHeader{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:10px}
.marketWordingHeader p{margin:4px 0 0;color:#4d6174}
@media (max-width:960px){.marketWordingBand{grid-template-columns:1fr}.marketWordingHeader{display:block}}

.buildTrustStrip{max-width:960px;margin:12px auto 0;display:flex;flex-wrap:wrap;gap:10px}
.buildTrustStrip span{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#fff;border:1px solid rgba(11,31,53,.1);box-shadow:0 8px 20px rgba(11,31,53,.04);font-size:12px;font-weight:800;color:#17324d}
.buildValidationBox{margin:14px 0 16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(160,58,29,.18);background:linear-gradient(180deg,#fff9f6 0%,#fff4ee 100%);color:#6f2e16;box-shadow:0 12px 24px rgba(160,58,29,.06)}
.buildValidationBox ul{margin:8px 0 0;padding-left:18px}
.buildValidationBox li+li{margin-top:4px}
.buildValidationBox.is-info{border-color:rgba(17,41,63,.12);background:linear-gradient(180deg,#fbfcfe 0%,#f4f7fb 100%);color:#17324d}
.buildContactTrust{margin-top:14px}
.buildThanksGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.buildThanksNext ul{margin:10px 0 0;padding-left:18px}
.buildThanksNext li+li{margin-top:5px}
body.buildPage .desktopReceiptShell,body.buildPage .stickySummary{top:96px}
body.buildPage .premiumReceiptPanel{max-height:calc(100vh - 122px);overscroll-behavior:contain}
body.buildPage .buildInlineEstimate.compactReceipt{top:82px}
@media (max-width:960px){.buildTrustStrip{margin-top:10px}.buildThanksGrid{grid-template-columns:1fr}}
@media (max-width:780px){.buildValidationBox{margin:12px 0}.buildTrustStrip span{width:100%;justify-content:center}}

.trustVisualBand{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:18px;align-items:stretch}
.trustVisualLead{padding:22px;border-radius:26px}
.trustVisualLead p{margin:0;color:#4d6174;max-width:60ch}
.trustVisualGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.trustVisualCard{display:grid;grid-template-rows:180px auto;border:1px solid var(--v302-line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--v302-shadow-soft)}
.trustVisualCard img{width:100%;height:100%;object-fit:cover;display:block}
.trustVisualCardBody{padding:16px 18px}
.trustVisualCardBody b{display:block;margin-bottom:6px;font-size:18px;color:#102d4b}
.trustVisualCardBody small{display:block;color:#5c6f83;line-height:1.45}
.buildAssuranceSection{max-width:1200px;margin:16px auto 0}
.buildAssuranceShell{padding:18px;border-radius:26px}
.buildAssuranceLead{max-width:62ch}
.buildAssuranceLead p{margin:0;color:#4d6174}
.buildAssuranceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.buildAssuranceCard{border:1px solid var(--v302-line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--v302-shadow-soft)}
.buildAssuranceCard img{width:100%;height:150px;object-fit:cover;display:block}
.buildAssuranceCardBody{padding:15px 16px}
.buildAssuranceCardBody b{display:block;margin-bottom:6px;font-size:17px;color:#102d4b}
.buildAssuranceCardBody small{display:block;color:#5c6f83;line-height:1.45}
@media (max-width:1100px){.trustVisualBand{grid-template-columns:1fr}.trustVisualGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:780px){.trustVisualGrid,.buildAssuranceGrid{grid-template-columns:1fr}.buildAssuranceCard img{height:180px}}
/* <<< v302.css <<< */

/* >>> v315.css >>> */

.buildInlineEstimateButton::before{content:"";display:block;width:28px;height:28px;margin-bottom:10px;border-radius:9px;background:url("/assets/brand/logo-receipt.png") center/contain no-repeat}
/* V31.5 – proof cleanup, logo pack integration, visitor-facing polish */
.footerBrandLogo{display:inline-flex;align-items:center;max-width:220px;margin-bottom:12px}
.footerBrandLogo img{width:100%;height:auto;display:block}

.buildHeroQuickRow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.stepHintRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.stepHintRow .modeLeadText{margin:0;flex:1 1 auto}

.helpBubble{position:relative;flex:0 0 auto}
.helpBubble summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid rgba(11,31,53,.14);background:#fff;color:#17324d;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 10px 22px rgba(11,31,53,.08)}
.helpBubble summary::-webkit-details-marker{display:none}
.helpBubble[open] summary{background:#17324d;color:#fff}
.helpBubble > div{position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 48px));padding:14px 15px;border-radius:18px;border:1px solid rgba(11,31,53,.12);background:#fff;box-shadow:0 18px 34px rgba(11,31,53,.12);color:#304559;font-size:14px;line-height:1.5;z-index:40}
.inlineHelpBubble > div{right:auto;left:0}
.buildHelpBubble > div{min-width:280px}

.visitorChip{background:#fff;border-color:rgba(11,31,53,.08);color:#17324d}
body.homePage .seoBandCard .chipRow{margin-top:10px}

@media (max-width:900px){
  body{padding-bottom:112px}
  .buildHeroQuickRow{align-items:center}
}

@media (max-width:780px){
  body.homePage .heroWrapV18 .heroImg{height:680px}
  body.homePage .heroContentRefined{max-width:none}
  body.homePage .heroContentRefined h1{max-width:10ch;font-size:clamp(26px,8.4vw,44px);line-height:1.02}
  body.homePage .heroContentRefined p{font-size:1rem;line-height:1.45;max-width:26ch}
  body.homePage .heroContentRefined .btnRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  body.homePage .heroContentRefined .btnRow > *{width:100%}
  body.homePage .heroContentRefined .btnRow > *:nth-child(3),
  body.homePage .heroContentRefined .btnRow > *:nth-child(4){grid-column:1 / -1}
  body.homePage .heroCompareBtn{min-height:56px}

  body.buildPage .heroWrapV18 .heroImg{height:320px}
  body.buildPage .heroContent{top:18px;left:18px;right:18px;max-width:none}
  body.buildPage .heroContent h1{font-size:clamp(26px,8vw,42px);line-height:1.03;max-width:11ch}
  body.buildPage .heroContent p{font-size:.98rem;line-height:1.45;max-width:28ch}
  body.buildPage .heroContent .btnRow{display:grid;grid-template-columns:1fr;gap:10px;max-width:280px}
  .bookHeroCompactRail{gap:8px}
  .buildHeroQuickRow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
  .buildTrustStrip{margin:0;gap:8px}
  .buildTrustStrip span{width:auto;justify-content:flex-start;padding:8px 10px;font-size:11px}
  .stepHintRow{align-items:center}
  .helpBubble > div{right:0;left:auto;width:min(320px,calc(100vw - 36px))}
  .inlineHelpBubble > div{left:0;right:auto}
  .buildAssuranceSection{margin-top:8px}
  .footerBrandLogo{max-width:190px}
}

@media (max-width:520px){
  body.homePage .heroWrapV18 .heroImg{height:720px}
  body.homePage .heroContentRefined h1{font-size:clamp(24px,8vw,40px)}
  body.homePage .heroContentRefined p{font-size:.95rem;max-width:24ch}
  body.buildPage .heroWrapV18 .heroImg{height:300px}
  .buildHeroQuickRow{grid-template-columns:1fr auto}
  .buildTrustStrip{display:flex;flex-wrap:wrap}
  .buildTrustStrip span{flex:0 1 auto}
}
/* <<< v315.css <<< */

/* >>> v316.css >>> */
/* V31.6 — logo trim + premium system consistency + mobile booking tightening */

:root{
  --tgz-navy:#17324d;
  --tgz-navy-strong:#10253b;
  --tgz-stone:#f7f4ee;
  --tgz-stone-strong:#f2eee5;
  --tgz-sand:#d7b77b;
  --tgz-line:rgba(16,37,59,.12);
  --tgz-shadow:0 14px 30px rgba(16,37,59,.08);
}

/* Shared premium buttons and pills */
.topbar .brand.brandSystem{display:inline-flex;align-items:center;gap:12px}
.topbar .brand.brandSystem .brandMark img{width:100% !important;height:auto !important}
.drawerBrand .drawerBrandMark img{width:100% !important;height:auto !important}
.btn,
.utilityBtn,
.v29Price,
.heroPill,
.v29Tag,
.chip,
.visitorChip,
.badge,
.buildTrustStrip span,
.bookHeroCompactRail .v29Tag,
.buildInlineEstimateLines .receiptChip,
.langPill,
.liveNavChip,
.smartDockBadge,
.pill{
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.btn.primary,
.headerPrimaryCta,
.v30WhatsApp,
.smartDockBadge,
.siteLiveWidgetReopen{
  background:linear-gradient(180deg,var(--tgz-navy),var(--tgz-navy-strong)) !important;
  color:#fff !important;
  border:1px solid rgba(16,37,59,.08) !important;
  box-shadow:var(--tgz-shadow);
}
.btn.primary:hover,
.headerPrimaryCta:hover,
.v30WhatsApp:hover,
.siteLiveWidgetReopen:hover{
  filter:none !important;
  background:linear-gradient(180deg,#1b3856,#112a41) !important;
}

.btn.secondary,
.btn:not(.primary):not(.utilityBtn),
.utilityBtn,
.langPill,
.pill,
.visitorChip,
.heroPill,
.v29Tag,
.buildTrustStrip span,
.bookHeroCompactRail .v29Tag,
.badge,
.buildInlineEstimateLines .receiptChip,
.liveNavChip{
  background:linear-gradient(180deg,#fffdf9,var(--tgz-stone)) !important;
  color:var(--tgz-navy) !important;
  border:1px solid rgba(16,37,59,.12) !important;
  box-shadow:0 8px 18px rgba(16,37,59,.05);
}

.btn.secondary:hover,
.btn:not(.primary):not(.utilityBtn):hover,
.utilityBtn:hover,
.langPill:hover,
.pill:hover,
.visitorChip:hover,
.liveNavChip:hover{
  background:linear-gradient(180deg,#fff,var(--tgz-stone-strong)) !important;
}

.v29Price{
  padding:8px 14px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,var(--tgz-navy),var(--tgz-navy-strong)) !important;
  color:#f7efe1 !important;
  border:1px solid rgba(16,37,59,.08) !important;
  font-size:12px !important;
  letter-spacing:.03em;
  box-shadow:0 12px 24px rgba(16,37,59,.12);
}
.v29Price::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--tgz-sand);
  display:inline-block;
  margin-right:8px;
  box-shadow:0 0 0 4px rgba(215,183,123,.15);
}

.heroPill,
.v29Tag,
.bookHeroCompactRail .v29Tag,
.buildTrustStrip span,
.badge,
.buildInlineEstimateLines .receiptChip{
  font-weight:850 !important;
}

/* Brand system with trimmed logo pack */
.brand,
.drawerBrand,
.footerBrandLogo{
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.brandMark,
.footerBrandMark,
.drawerBrandMark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:18px;
}
.brandMark img,
.footerBrandMark img,
.drawerBrandMark img{
  display:block;
  width:100%;
  height:auto;
}
.brandMark{width:46px}
.drawerBrandMark{width:52px}
.footerBrandMark{width:64px}
.brandText,
.footerBrandText,
.drawerBrandText{display:grid;gap:2px;line-height:1.05}
.brandText strong,
.footerBrandText strong,
.drawerBrandText strong{font-size:1.05rem;font-weight:950;letter-spacing:-.03em;color:var(--tgz-navy)}
.brandText small,
.footerBrandText small,
.drawerBrandText small{font-size:.72rem;color:#5c7082;font-weight:700;letter-spacing:.01em}
.footerBrandLogo{max-width:none !important;margin-bottom:12px}
.footerBrand{min-width:0}
.footerBrand .notice{max-width:32ch}

.buildInlineEstimateButton::before{
  width:22px !important;
  height:22px !important;
  margin-bottom:0 !important;
  margin-right:10px;
  display:inline-block;
  vertical-align:middle;
  border-radius:0 !important;
  background:url("/assets/brand/logo-receipt.png") center/contain no-repeat !important;
}
.buildInlineEstimateTop{display:flex;justify-content:space-between;gap:10px;align-items:center}
.buildInlineEstimateButton{
  background:linear-gradient(180deg,#fff,var(--tgz-stone)) !important;
}
.receiptHeroCard{
  background:linear-gradient(180deg,var(--tgz-navy),var(--tgz-navy-strong)) !important;
}

/* Build page cleanup */
.buildValidationBox.is-info{display:none !important}
.buildPage .buildHelpBubble{align-self:flex-start}
.buildPage .buildTrustStrip span{font-size:11px}
.buildPage .buildInlineEstimate.compactReceipt{margin-bottom:8px}
.buildPage .buildProgress{margin-bottom:10px}
.buildPage .heroContent .btnRow .btn{min-height:48px}
.buildPage .modeResponsePanel{margin-top:4px}
.buildPage .buildHeroQuickRow{margin-bottom:10px}

/* Home mobile CTA cleanup */
.homePage .heroCompareBtn,
.homePage .heroContentRefined .utilityBtn{min-height:52px}

/* Contact/footer layout cleanup */
.contactMiniMeta .chip,
.footerMetaLine .utilityBtn{
  white-space:nowrap;
}

/* Smart dock avoids overlapping bottom navigation */
@media (max-width:900px){
  body{padding-bottom:132px}
  .smartDock,
  .siteLiveWidgetReopen{bottom:124px !important}
}

@media (max-width:780px){
  .brand{gap:10px}
  .brandMark{width:40px}
  .brandText strong{font-size:1rem}
  .brandText small{font-size:.64rem}
  .drawerBrandMark{width:48px}
  .footerBrandMark{width:54px}
  .footerBrandText strong{font-size:1rem}

  .homePage .heroContentRefined .btnRow{
    grid-template-columns:1fr 1fr !important;
  }
  .homePage .heroCompareBtn,
  .homePage .heroContentRefined .utilityBtn{
    grid-column:1 / -1;
  }

  .buildPage .heroWrapV18 .heroImg{height:240px !important}
  .buildPage .heroContent{top:16px !important;left:16px !important;right:16px !important}
  .buildPage .heroContent h1{max-width:13ch !important;font-size:clamp(24px,7.2vw,36px) !important}
  .buildPage .heroContent p{display:none}
  .buildPage .heroContent .btnRow{grid-template-columns:1fr 1fr !important;max-width:none !important}
  .buildPage .bookHeroCompactRail{
    margin-top:10px;
    display:flex;
    flex-wrap:nowrap;
    overflow:auto;
    gap:8px;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .buildPage .bookHeroCompactRail::-webkit-scrollbar{display:none}
  .buildPage .bookHeroCompactRail .v29Tag,
  .buildPage .buildTrustStrip span{white-space:nowrap}
  .buildPage .buildHeroQuickRow{grid-template-columns:1fr auto !important;gap:8px !important}
  .buildPage .buildTrustStrip{
    flex-wrap:nowrap !important;
    overflow:auto;
    gap:8px !important;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .buildPage .buildTrustStrip::-webkit-scrollbar{display:none}
  .buildPage .buildTrustStrip span{width:auto !important;justify-content:center !important}
  .buildPage .buildInlineEstimateButton{padding:10px 12px !important;border-radius:18px !important}
  .buildPage .buildInlineEstimateMeta{font-size:13px}
  .buildPage .buildProgressTop .badge{padding:8px 12px !important}
  .buildPage .stepBody{padding-top:12px}
  .buildPage .buildHelpBubble summary{width:32px;height:32px}
  .buildPage .buildAssuranceSection{margin-top:4px}
}

@media (max-width:560px){
  .brandText small,
  .drawerBrandText small{display:none}
  .footerBrandLogo{align-items:flex-start}
  .footerBrandText small{display:block}
  .buildPage main.container{padding-top:12px !important}
}
/* <<< v316.css <<< */

/* >>> v317.css >>> */
/* V31.7 — Agadir base clarity + weather hero refresh + smart range calendar + mobile cleanup */

:root{
  --v317-navy:#16324d;
  --v317-navy-2:#10253b;
  --v317-gold:#c89a3c;
  --v317-stone:#fbf8f2;
  --v317-line:rgba(16,37,59,.12);
}

/* Brand system */
.topbar .brandText strong,
.footerBrandText strong{
  color:var(--v317-navy);
  letter-spacing:-.04em;
}
.topbar .brandText small,
.footerBrandText small{
  color:#876323;
  font-weight:800;
}
.drawerBrandIconOnly{display:flex;align-items:center;justify-content:flex-start;min-width:48px}
.drawerBrandIconOnly .drawerBrandMark{width:54px}
.drawerBrandIconOnly .drawerBrandText{display:none !important}

@media (max-width:780px){
  .topbar .brandText{display:none !important}
  .topbar .brandMark{width:54px}
  .topbar .nav{padding:12px 0}
}

/* Weather hero / stats */
.liveHeroStats .v29Metric{
  background:#fff !important;
  color:var(--v317-navy) !important;
  border:1px solid var(--v317-line) !important;
  box-shadow:0 12px 28px rgba(16,37,59,.06) !important;
}
.liveHeroStats .v29Metric b,
.liveHeroStats .v29Metric strong,
.liveHeroStats .v29Metric small{color:inherit !important}
.weatherPage .heroWrap .heroImg,
body:has(#weatherPageTitle) .heroWrap .heroImg{object-position:center center}

/* Shared premium chips */
.v29Price,
.heroPill,
.v29Tag,
.buildTrustStrip span,
.bookHeroCompactRail .v29Tag,
.visitorChip,
.liveSwitchPills .btn,
.buildInfoStrip > div,
.smartRangeTrigger,
.smartRangeNavBtn{
  border-radius:999px;
}
.v29Price{min-width:116px;justify-content:center;text-align:center}

/* Build spacing cleanup */
.buildPage .buildHelpBubble{display:none !important}
.buildPage .buildHeroQuickRow{margin-bottom:4px !important}
.buildPage .bookHeroCompactRail{margin-top:8px !important}
.buildPage .buildTrustStrip{margin-top:8px !important;gap:8px !important}
.buildPage .buildTrustStrip span{padding:9px 12px !important}
.buildPage .compactReceipt{margin-bottom:10px !important}
.buildPage .buildInlineEstimateButton{padding:12px 14px !important}
.buildPage .stepHintRow{margin-bottom:8px !important}
.buildPage .inlineHelpBubble{position:relative}
.buildPage .inlineHelpBubble summary{
  width:30px;height:30px;font-size:15px;
  background:linear-gradient(180deg,var(--v317-stone),#fff) !important;
  color:var(--v317-navy) !important;
}
.buildPage .inlineHelpBubble>div{
  right:0;left:auto;max-width:min(260px,calc(100vw - 42px));
}
.buildPage .modeLeadGrid .modeLeadCopy{min-width:0}
.buildPage .modeLeadText{margin-bottom:0}
.buildPage .packageInsights,
.buildPage .buildModeSummary,
.buildPage #packageIncludeBox{margin-top:10px !important}
.buildPage .buildValidationBox,
.buildPage #buildSummaryHint{display:none !important}

.buildPage .fold{overflow:visible}
.buildPage .stepHintRow{position:relative}
.buildPage .inlineHelpBubble{margin-left:auto;z-index:8}
.buildPage .inlineHelpBubble>div{right:0 !important;left:auto !important;transform:none !important}

/* Smart range calendar */
.smartDateCardRange{padding:16px;border:1px solid var(--v317-line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff)}
.compactSmartDateHead small{display:block;margin-top:4px;color:#607489}
.smartRangePicker{position:relative;margin-top:10px}
.smartRangeTrigger{
  width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;
  padding:16px 18px;border:1px solid var(--v317-line);background:linear-gradient(180deg,#fff,var(--v317-stone));
  color:var(--v317-navy);box-shadow:0 12px 26px rgba(16,37,59,.06);font:inherit;text-align:left;cursor:pointer;
}
.smartRangeTriggerLabel{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#667b90}
.smartRangeTrigger strong{font-size:22px;line-height:1.15;color:var(--v317-navy)}
.smartRangePanel{
  position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:60;padding:14px;
  border:1px solid var(--v317-line);border-radius:24px;background:#fff;box-shadow:0 24px 40px rgba(16,37,59,.16);
}
.smartRangeNav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:10px}
.smartRangeNavBtn{
  width:40px;height:40px;border:1px solid var(--v317-line);background:linear-gradient(180deg,#fff,var(--v317-stone));color:var(--v317-navy);font-size:24px;line-height:1;cursor:pointer;
}
.smartRangeMonthLabel{text-align:center;font-weight:900;color:var(--v317-navy);font-size:16px}
.smartRangeWeekdays,
.smartRangeGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.smartRangeWeekdays{margin-bottom:6px}
.smartRangeWeekdays span{text-align:center;font-size:11px;font-weight:900;color:#70839a;text-transform:uppercase}
.smartRangeDay{
  aspect-ratio:1/1;border:1px solid rgba(16,37,59,.08);border-radius:16px;background:#fff;color:var(--v317-navy);
  font:inherit;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;
}
.smartRangeDay:hover{background:#f4f8fc}
.smartRangeDay.is-muted{opacity:.38}
.smartRangeDay.is-start,.smartRangeDay.is-end{background:linear-gradient(180deg,var(--v317-navy),var(--v317-navy-2));color:#fff;border-color:transparent}
.smartRangeDay.is-in-range{background:#edf4fa;border-color:#d2e1ee}
.smartRangeDay.is-today::after{content:"";position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:999px;background:#3cc4c4}
.smartRangeFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(16,37,59,.08);font-size:13px;color:#5c7086}
.smartRangeFooterActions{display:flex;gap:8px;flex-wrap:wrap}
.smartDateFieldsHidden{display:none !important}
.smartRangePicker.is-open .smartRangeTrigger{box-shadow:0 18px 32px rgba(16,37,59,.12)}

/* Build receipt */
.mobileReceiptDock{
  position:fixed;left:12px;right:12px;top:74px;z-index:2600;display:none;
}
.mobileReceiptDock.is-visible{display:block}
.mobileReceiptDock .buildInlineEstimateButton{
  box-shadow:0 18px 34px rgba(16,37,59,.16) !important;
  background:#fff !important;
}
.mobileReceiptDockSpacer{display:none;height:0}
.buildPage .buildInlineEstimate.compactReceipt{position:sticky !important;top:76px !important;z-index:22}

@media (max-width:900px){
  .buildPage .buildInlineEstimate.compactReceipt{top:80px !important}
}
@media (max-width:780px){
  .smartDateCardRange{padding:14px}
  .smartRangeTrigger{padding:14px 16px}
  .smartRangeTrigger strong{font-size:18px}
  .smartRangePanel{padding:12px;border-radius:20px}
  .smartRangeDay{border-radius:14px}
  .smartRangeFooter{flex-direction:column;align-items:flex-start}
  .smartRangeFooterActions{width:100%}
  .smartRangeFooterActions .btn{flex:1 1 calc(50% - 6px);justify-content:center}
  .buildPage .bookHeroCompactRail,
  .buildPage .buildTrustStrip{margin-bottom:0 !important}
  .buildPage .buildTrustStrip span{white-space:nowrap}
  .mobileReceiptDock{top:78px}
}

/* Contact/footer layout tightening */
.footerBrand .notice{max-width:40ch}
.contactMiniMeta{gap:8px;align-items:center}
.contactMiniMeta .chip{padding:10px 12px}

/* Drawer layout */
@media (max-width:560px){
  .drawerTop{grid-template-columns:auto 1fr auto;display:grid;align-items:center}
  .drawerLang{justify-content:flex-end;flex-wrap:nowrap;overflow:auto;padding-bottom:2px}
  .drawerLang .chip{white-space:nowrap}
}
/* <<< v317.css <<< */

/* >>> v318.css >>> */
/* V31.8 — mobile cleanup + live forecast + builder stabilization */

:root{
  --v318-navy:#16324d;
  --v318-stone:#fbf8f2;
  --v318-line:rgba(16,37,59,.12);
}

.drawerBrandIconOnly .drawerBrandMark{width:84px !important; display:block}
.drawerBrandIconOnly .drawerBrandMark img{width:100%;height:auto;display:block}

.topbar .brandText strong{color:var(--v318-navy);font-weight:950;letter-spacing:-.045em}
.topbar .brandText small,.footerBrandText small{font-size:12px;letter-spacing:.02em}

@media (max-width:780px){
  body{padding-bottom:118px}
  main.container{padding-bottom:18px}
  footer{padding-bottom:118px}
  .bottomQuickNav{z-index:5200;padding-bottom:14px}

  .topbar .brandMark{width:58px !important}
  .topbar .brandText{display:block !important}
  .topbar .brandText strong{font-size:1.05rem}
  .topbar .brandText small{display:none !important}

  body.homePage .heroWrapV18 .heroImg{height:800px !important}
  body.homePage .heroContentRefined{max-width:none !important}
  body.homePage .heroContentRefined h1{font-size:clamp(22px,7.4vw,38px) !important;line-height:1.01 !important;max-width:8.5ch !important}
  body.homePage .heroContentRefined p{font-size:.92rem !important;line-height:1.33 !important;max-width:19ch !important;margin-bottom:12px !important}
  body.homePage .heroContentRefined .btnRow{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;align-items:stretch}
  body.homePage .heroContentRefined .btnRow > *{width:100%}
  body.homePage .heroCompareBtn{grid-column:1 / -1 !important}
  body.homePage .heroContentRefined .btnRow > *:nth-child(4){display:none !important}

  .buildPage .bookHeroCompactRail{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .buildPage .buildTrustStrip{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .buildPage .buildTrustStrip span{white-space:normal !important;min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}
  .buildPage .builderGrid{gap:14px}
  .buildPage .compactReceipt{margin-bottom:8px !important}
  .buildPage .buildInlineEstimate.compactReceipt{position:sticky !important;top:72px !important;z-index:34}
  .buildPage .inlineHelpBubble > div{max-width:min(230px,calc(100vw - 32px)) !important}

  .smartDock{right:12px !important;left:auto !important;bottom:118px !important;width:auto !important;max-width:none !important;z-index:4600 !important}
  .smartDockBar{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important}
  .smartDockClose{display:none !important}
  .smartDockToggle{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;width:auto !important}
  .smartDockText{display:none !important}
  .smartDockBadge{display:inline-flex !important;align-items:center;justify-content:center;min-width:auto !important;height:46px !important;padding:0 16px !important;border-radius:999px !important;background:var(--v318-navy) !important;color:#fff !important;box-shadow:0 14px 30px rgba(16,37,59,.20) !important;font-size:14px !important;font-weight:900 !important}
  .smartDockPanel{left:10px !important;right:10px !important;bottom:104px !important;border-radius:24px !important;max-height:min(70vh,640px) !important;padding:14px 14px 96px !important}

  .footerBrandLogo{align-items:flex-start !important}
  .footerBrandMark{width:58px !important;flex:0 0 58px}
  .footerLinksCompact,.footerMeta{grid-template-columns:1fr 1fr}
}

.homePage .v29CompareCard h2,
.homePage .v29AsideNote h3,
.packagesPage .marketWordingHeader h2,
.packagesPage .content h2{letter-spacing:-.03em}

.homePage .seoBandCard,
.packagesPage .seoBandCard{min-height:unset}
.homePage .seoBandCard small,
.packagesPage .seoBandCard small{line-height:1.45}

.mobileReceiptDock{z-index:5300 !important}
.mobileReceiptDock .buildInlineEstimateButton{border:1px solid var(--v318-line)}

.buildPage .fold summary .foldTitle{display:inline;min-width:0}
.buildPage .fold summary .foldMeta{display:block}

.buildPage .buildInfoStrip,
.buildPage .buildValidationBox{margin-top:10px}

body.buildPage .buildAssuranceSection{display:none !important}

.weatherPage .v29Panel,
.weatherPage .v29Panel h2,
.weatherPage .v29Panel p,
.weatherPage .liveDashGrid p,
.weatherPage .v30BusinessCard b,
.weatherPage .v30BusinessCard small,
.weatherPage .liveDashboardNote,
.weatherPage .visualSectionTitle h2,
.weatherPage .visualSectionTitle p{color:var(--ink) !important}
/* <<< v318.css <<< */

/* >>> v330.css >>> */

:root{--v330-navy:#15375f;--v330-cream:#faf6ed;--v330-line:rgba(16,36,58,.12)}
html[lang="ar"] body{direction:rtl}
html[lang="ar"] .nav,html[lang="ar"] .heroContent,html[lang="ar"] .content,html[lang="ar"] .builderCard,html[lang="ar"] .drawerPanel,html[lang="ar"] .footerGrid{text-align:right}
body.homePage .heroWrapV18,body.buildPage .heroWrapV18{padding-bottom:0!important;min-height:0!important;height:auto!important;background:#e9eef2}
body.homePage .heroWrapV18 .heroImg{height:clamp(620px,82vh,860px)!important;min-height:620px!important;object-fit:cover;object-position:center center}
body.buildPage .heroWrapV18 .heroImg{height:clamp(300px,42vw,430px)!important;min-height:300px!important;object-fit:cover;object-position:center 46%}
body.homePage .heroContent,body.buildPage .heroContent{display:flex;flex-direction:column;top:24px;bottom:24px}
body.homePage .heroContent .btnRow,body.buildPage .heroContent .btnRow{margin-top:auto}
body.homePage .heroContent h1{font-size:clamp(50px,8.4vw,92px);line-height:.92;max-width:8ch;margin-bottom:12px}
body.homePage .heroContent p{font-size:clamp(18px,2.3vw,24px);max-width:18ch}
body.buildPage .heroContent h1{font-size:clamp(42px,7.1vw,74px);line-height:.95;max-width:8ch;margin-bottom:12px}
body.buildPage .heroContent p{font-size:clamp(17px,2vw,22px);max-width:18ch}
body.homePage .heroContent .btn,body.buildPage .heroContent .btn{justify-content:center;min-height:58px}
@media (max-width:900px){body.homePage .heroContent{left:22px;right:22px;top:22px;bottom:26px}body.buildPage .heroContent{left:22px;right:22px;top:22px;bottom:20px}body.homePage .heroWrapV18 .heroImg{height:740px!important;min-height:740px!important}body.buildPage .heroWrapV18 .heroImg{height:380px!important;min-height:380px!important}body.homePage .heroContent h1{font-size:clamp(38px,12.6vw,64px)}body.buildPage .heroContent h1{font-size:clamp(34px,11.8vw,58px)}body.homePage .heroContent p,body.buildPage .heroContent p{font-size:clamp(15px,4.6vw,19px);max-width:none}body.homePage .heroContent .btnRow,body.buildPage .heroContent .btnRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}body.homePage .heroContent .btnRow .utilityBtn,body.buildPage .heroContent .btnRow .utilityBtn{grid-column:1/-1}}
@media (max-width:540px){body.homePage .heroContent{left:18px;right:18px;top:18px;bottom:22px}body.buildPage .heroContent{left:18px;right:18px;top:18px;bottom:16px}body.homePage .heroWrapV18 .heroImg{height:700px!important;min-height:700px!important}body.buildPage .heroWrapV18 .heroImg{height:340px!important;min-height:340px!important}}
.drawerBrandIconOnly .drawerBrandMark img{width:84px!important;height:auto!important;max-width:none!important;display:block}.drawerTop{align-items:center;gap:8px}.drawerLang,.drawerCurrency{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.drawerLang .chip,.drawerCurrency .chip,.langSwitch .pill,.currencyChip{padding:8px 10px!important;font-size:13px!important;line-height:1.1}.desktopUtility{gap:10px!important;align-items:center}.desktopUtility .currencySwitch,.desktopUtility .menuLang{display:flex;gap:6px;align-items:center;flex-wrap:wrap}@media (max-width:560px){.drawerBrandIconOnly .drawerBrandMark img{width:72px!important}.drawerLang .chip,.drawerCurrency .chip{padding:7px 9px!important;font-size:12px!important}}
body.buildPage .builderGrid{align-items:start}body.buildPage .buildHeroQuickRow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}body.buildPage .buildTrustStrip{display:flex;gap:10px;flex-wrap:wrap}body.buildPage .buildTrustStrip span{border:1px solid var(--v330-line);background:var(--v330-cream);border-radius:999px;padding:12px 16px;font-weight:850;color:var(--v330-navy)}body.buildPage .buildHelpBubble{align-self:flex-start;margin-inline-start:auto}body.buildPage .buildInlineEstimate.compactReceipt{position:sticky!important;top:78px!important;z-index:60!important;margin-bottom:14px!important}body.buildPage .desktopReceiptShell,body.buildPage .stickySummary{position:sticky!important;top:96px!important;align-self:start!important;height:auto!important;overflow:visible!important}body.buildPage .premiumReceiptPanel{max-height:calc(100vh - 134px)!important;overflow:auto!important}body.buildPage main.container{padding-bottom:168px!important}body.buildPage .builderCard{overflow:visible!important}body.buildPage .fold summary{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}body.buildPage .fold summary .foldTitle{display:block;max-width:70%}body.buildPage .fold summary .foldMeta{display:block;text-align:right;color:#6b7c8f;font-size:15px;font-weight:700;max-width:30%}html[lang="ar"] body.buildPage .fold summary .foldMeta{text-align:left}
.buildSummarySheet{display:none}@media (max-width:900px){body.buildPage .desktopReceiptShell{display:none!important}.buildSummarySheet{position:fixed;inset:0;z-index:6200;display:block;pointer-events:none}.buildSummarySheet[hidden]{display:none!important}.buildSummarySheet:not([hidden]){pointer-events:auto}.buildSummaryDialog{position:absolute;left:10px;right:10px;bottom:104px;max-height:min(68vh,640px);overflow:auto;background:#fff;border:1px solid var(--v330-line);border-radius:24px;box-shadow:0 24px 58px rgba(8,24,48,.22);padding:16px}.buildSummaryBackdrop{position:absolute;inset:0;border:none;background:rgba(15,23,42,.34)}.buildSummarySheetHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.buildSummarySheetMeta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.buildSummarySheetMeta .chip{padding:8px 12px}.buildSummarySheetBody .sumSection:first-child{margin-top:0}.buildInlineEstimate.compactReceipt{display:block!important}}
body.buildPage #siteLiveWidget{display:none!important}.smartDock{right:12px!important;bottom:106px!important;z-index:4300!important}.smartDockPanel{bottom:112px!important}@media (max-width:900px){.smartDock{bottom:102px!important;right:12px!important}.smartDockPanel{bottom:108px!important;padding-bottom:112px!important}}body.homePage .smartDock{bottom:118px!important}body.homePage .smartDockPanel{bottom:124px!important}
.v29RouteMedia img,.homeMediaMain img,.homeMediaSide img,.homeMediaCard img,.card img{width:100%;height:100%;object-fit:cover;display:block}.v29RouteTop .v29Price{background:linear-gradient(180deg,#173b63,#102948)!important;color:#fff!important;border:none!important;padding:8px 12px;border-radius:999px;font-weight:900}.routeRibbon{align-items:stretch}@media (max-width:900px){.routeRibbon{grid-template-columns:1fr!important}.homeMediaStage{grid-template-columns:1fr!important}}
.bottomQuickNav{z-index:5000!important}body{padding-bottom:env(safe-area-inset-bottom)}
/* <<< v330.css <<< */

/* === Phase 166: shared interaction tokens ================================= */
:root{
  --tgz-act-orange:#e98d25;
  --tgz-act-orange-2:#ffb15c;
  --tgz-act-ink:#111827;
  --tgz-act-ink-2:#0b1220;
  --tgz-act-sand:#fbf4e9;
  --tgz-act-sand-2:#f3eadc;
  --tgz-act-ocean:#0b6f93;
  --tgz-act-line:rgba(17,24,39,.12);
  --tgz-act-line-strong:rgba(17,24,39,.20);
  --tgz-act-shadow:0 14px 34px rgba(17,24,39,.10);
  --tgz-act-shadow-strong:0 22px 54px rgba(17,24,39,.16);
  --tgz-act-radius:18px;
  --tgz-act-radius-card:24px;
  --tgz-act-speed:160ms;
  --tgz-act-panel:260ms;
  --tgz-act-ease:cubic-bezier(.2,.8,.2,1);
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}
