:root {
    --ink: #0a1830;
    --ink-soft: #33435f;
    --muted: #65728a;
    --line: #dbe3ee;
    --line-strong: #c7d2e2;
    --paper: #ffffff;
    --paper-soft: #f6f8fc;
    --paper-blue: #edf4ff;
    --navy: #07152b;
    --navy-2: #0b2245;
    --blue: #1769e0;
    --blue-dark: #0d4ca8;
    --cyan: #1ac8ef;
    --green: #0e9f6e;
    --red: #d62f45;
    --amber: #b7791f;
    --shadow-sm: 0 8px 24px rgba(11, 34, 69, .08);
    --shadow-md: 0 20px 60px rgba(7, 21, 43, .13);
    --shadow-lg: 0 36px 100px rgba(3, 14, 32, .2);
    --radius-sm: 10px;
    --radius: 18px;
    --radius-lg: 28px;
    --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
    margin: 0;
    min-width: 320px;
    color: var(--ink);
    background: var(--paper);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Thai", Tahoma, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-dark); }
img, svg { max-width: 100%; }
h1, h2, h3, h4 { margin: 0 0 .55em; color: var(--ink); line-height: 1.22; letter-spacing: -.025em; }
h1 { font-size: clamp(2.45rem, 5vw, 4.8rem); }
h2 { font-size: clamp(1.8rem, 3.3vw, 3rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1.15em; }
ul, ol { margin-top: 0; }
code { padding: .15em .4em; border-radius: 5px; background: #edf1f7; color: #143c75; font-size: .9em; }
hr { border: 0; border-top: 1px solid var(--line); margin: 1.6rem 0; }
[hidden] { display: none !important; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 9999; left: 16px; top: -100px; padding: 12px 18px; background: var(--paper); border: 2px solid var(--blue); border-radius: 8px; font-weight: 800; }
.skip-link:focus { top: 16px; }
.eyebrow { margin: 0 0 14px; color: var(--blue); font-size: .76rem; font-weight: 850; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(14, 159, 110, .12); }
.section { padding: 96px 0; }
.section-compact { padding: 62px 0; }
.section-tinted { background: var(--paper-soft); }
.section-dark { position: relative; overflow: hidden; background: var(--navy); color: #cbd8eb; }
.section-dark::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 80% 0%, rgba(23, 105, 224, .26), transparent 32%), linear-gradient(120deg, transparent 0 48%, rgba(255,255,255,.018) 48% 49%, transparent 49%); }
.section-dark > .container { position: relative; }
.section-heading { margin-bottom: 42px; }
.section-heading h2 { margin-bottom: 16px; }
.section-heading p:not(.eyebrow) { color: var(--muted); font-size: 1.08rem; }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading.narrow { max-width: 790px; }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; }
.split-heading > div { max-width: 650px; }
.split-heading > p { max-width: 450px; }
.light-heading h2 { color: #fff; }
.light-heading p { color: #b8c8df !important; }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 11px 20px;
    border: 1px solid var(--blue);
    border-radius: 10px;
    background: var(--blue);
    color: #fff;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(23, 105, 224, .18);
    transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.button:hover { color: #fff; background: var(--blue-dark); border-color: var(--blue-dark); transform: translateY(-1px); box-shadow: 0 12px 28px rgba(23, 105, 224, .24); }
.button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible, a:focus-visible { outline: 3px solid rgba(23, 105, 224, .28); outline-offset: 2px; }
.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.button-ghost { background: transparent; color: var(--blue); border-color: var(--line-strong); box-shadow: none; }
.button-ghost:hover { background: var(--paper-blue); color: var(--blue-dark); border-color: #9dbcef; }
.button-light { background: #fff; border-color: #fff; color: var(--navy); box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.button-light:hover { background: #eaf2ff; border-color: #eaf2ff; color: var(--navy); }
.button-danger { background: var(--red); border-color: var(--red); }
.button-danger:hover { background: #b91f36; border-color: #b91f36; }
.button-large { min-height: 54px; padding: 14px 25px; border-radius: 12px; }
.button-small { min-height: 37px; padding: 7px 13px; border-radius: 8px; font-size: .86rem; }
.button-block { width: 100%; }
.text-link, .card-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.card-link span, .text-link span { transition: transform .16s ease; }
.card-link:hover span, .text-link:hover span { transform: translateX(4px); }
.link-button { padding: 0; border: 0; background: none; color: #b6c7de; cursor: pointer; text-align: left; }
.link-button:hover { color: #fff; }

/* Header */
.site-header { position: sticky; z-index: 100; top: 0; background: rgba(255, 255, 255, .94); border-bottom: 1px solid rgba(219, 227, 238, .9); backdrop-filter: blur(14px); }
.header-inner { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); }
.brand:hover { color: var(--ink); }
.brand-mark { position: relative; display: grid; width: 42px; height: 42px; padding: 8px; gap: 4px; border-radius: 11px; background: linear-gradient(145deg, var(--blue), #0c407f); box-shadow: 0 9px 22px rgba(23, 105, 224, .2); }
.brand-mark span { display: block; position: relative; border-radius: 2px; background: rgba(255,255,255,.95); }
.brand-mark span::after { content: ""; position: absolute; right: 3px; top: 50%; width: 3px; height: 3px; transform: translateY(-50%); border-radius: 50%; background: var(--cyan); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.2; }
.brand-copy strong { color: var(--ink); font-size: 1.02rem; letter-spacing: -.02em; }
.brand-copy small { margin-top: 3px; max-width: 250px; overflow: hidden; color: var(--muted); font-size: .66rem; white-space: nowrap; text-overflow: ellipsis; }
.site-nav { display: flex; align-items: center; gap: 3px; }
.site-nav a { padding: 9px 13px; border-radius: 8px; color: var(--ink-soft); font-size: .93rem; font-weight: 700; }
.site-nav a:hover, .site-nav a[aria-current="page"] { background: var(--paper-blue); color: var(--blue); }
.site-nav .nav-cta { margin-left: 5px; padding-inline: 18px; background: var(--blue); color: #fff; }
.site-nav .nav-cta:hover { background: var(--blue-dark); color: #fff; }
.nav-toggle { display: none; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 9px 13px; font-weight: 800; }

/* Flashes */
.flash-stack { display: grid; position: relative; z-index: 20; gap: 10px; margin-top: 20px; }
.flash { padding: 13px 16px; border: 1px solid var(--line); border-radius: 10px; background: #fff; box-shadow: var(--shadow-sm); font-weight: 700; }
.flash-success { border-color: #a7e5d0; background: #ecfdf7; color: #07674a; }
.flash-error { border-color: #f4b7c1; background: #fff2f4; color: #9c1c31; }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 90px 0 102px; background: linear-gradient(180deg, #f7faff 0%, #fff 82%); }
.hero::before { content: ""; position: absolute; top: -260px; right: -260px; width: 700px; height: 700px; border-radius: 50%; background: radial-gradient(circle, rgba(23, 105, 224, .13), rgba(23, 105, 224, 0) 68%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr); align-items: center; gap: 52px; }
.hero-copy { position: relative; z-index: 2; }
.hero h1 { max-width: 760px; margin-bottom: 22px; font-size: clamp(3rem, 5.4vw, 5.2rem); }
.hero h1 span, .landing-hero h1 span { color: var(--blue); }
.hero-lead { max-width: 720px; color: var(--ink-soft); font-size: clamp(1.05rem, 1.8vw, 1.22rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 25px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 10px 23px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.trust-row span::before { content: "✓"; margin-right: 7px; color: var(--green); font-weight: 900; }
.hero-visual { position: relative; z-index: 1; min-height: 510px; }
.rack-scene { position: absolute; inset: 0; display: grid; place-items: center; perspective: 900px; }
.rack-scene::before { content: ""; position: absolute; width: 82%; height: 78%; border-radius: 50%; background: radial-gradient(circle, rgba(23,105,224,.13), transparent 66%); filter: blur(8px); }
.rack { position: relative; z-index: 2; width: 292px; padding: 15px; border: 8px solid #112845; border-radius: 15px 15px 11px 11px; background: #071629; box-shadow: 0 42px 70px rgba(4, 18, 39, .3), inset 0 0 0 2px #2c476a; transform: rotateY(-7deg) rotateX(1deg); }
.rack::before, .rack::after { content: ""; position: absolute; bottom: -18px; width: 28px; height: 18px; border-radius: 0 0 5px 5px; background: #091a31; }
.rack::before { left: 20px; } .rack::after { right: 20px; }
.rack-top { display: flex; gap: 5px; padding: 0 3px 11px; }
.rack-top span { width: 7px; height: 7px; border-radius: 50%; background: #253c5a; }
.server-unit { display: grid; grid-template-columns: 1fr 35px 38px; align-items: center; gap: 8px; min-height: 51px; margin-bottom: 7px; padding: 8px 9px; border: 1px solid #284565; border-radius: 5px; background: linear-gradient(180deg, #163350, #0e243c); box-shadow: inset 0 1px rgba(255,255,255,.05); }
.drive-bays { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
.drive-bays i { height: 25px; border: 1px solid #3a5878; border-radius: 3px; background: #08192c; box-shadow: inset 0 0 0 2px #102945; }
.server-lights { display: flex; gap: 4px; }
.server-lights b { width: 6px; height: 6px; border-radius: 50%; background: #21df9a; box-shadow: 0 0 8px rgba(33,223,154,.8); }
.server-lights b:last-child { background: #28b8ec; box-shadow: 0 0 8px rgba(40,184,236,.8); }
.server-vents { height: 23px; opacity: .65; background: repeating-linear-gradient(90deg, #42607e 0 2px, transparent 2px 5px); }
.metric-card { position: absolute; z-index: 3; min-width: 190px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.7); border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: var(--shadow-md); backdrop-filter: blur(12px); }
.metric-card small, .metric-card span { display: block; color: var(--muted); font-size: .68rem; }
.metric-card strong { display: block; margin: 2px 0; color: var(--ink); }
.metric-card-one { left: 0; top: 18%; }
.metric-card-two { right: -4%; bottom: 14%; }
.data-pulse { position: absolute; z-index: 1; width: 160px; height: 160px; border: 1px solid rgba(23,105,224,.18); border-radius: 50%; }
.data-pulse::before, .data-pulse::after { content: ""; position: absolute; inset: 22px; border: inherit; border-radius: inherit; }
.data-pulse::after { inset: 46px; }
.pulse-one { left: 2%; top: 7%; } .pulse-two { right: -5%; bottom: 2%; width: 120px; height: 120px; }

/* Cards and home sections */
.feature-grid { display: grid; gap: 22px; }
.feature-grid.three { grid-template-columns: repeat(3, 1fr); }
.feature-card { position: relative; min-height: 245px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 35px rgba(11,34,69,.045); }
.feature-card h3 { margin-top: 30px; }
.feature-card p { color: var(--muted); }
.feature-number { color: #b4c9e9; font-size: 2.15rem; font-weight: 900; letter-spacing: -.05em; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.category-card { display: flex; min-height: 260px; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.category-card:hover { transform: translateY(-4px); border-color: #a9c4eb; box-shadow: var(--shadow-sm); }
.category-card h3 { margin-top: 22px; }
.category-card p { flex: 1; color: var(--muted); }
.category-card a { display: flex; align-items: center; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); font-weight: 800; }
.category-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 12px; background: var(--paper-blue); color: var(--blue); font-size: .82rem; font-weight: 900; letter-spacing: .08em; }
.category-card-cta { background: linear-gradient(145deg, #0e3265, #07172e); border-color: #133e78; }
.category-card-cta h3, .category-card-cta a { color: #fff; }
.category-card-cta p { color: #bdcce1; }
.category-card-cta a { border-top-color: rgba(255,255,255,.15); }
.category-card-cta .category-icon { background: rgba(255,255,255,.1); color: #71d8f4; }
.process-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 85px; }
.sticky-heading { position: sticky; top: 120px; }
.process-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 70px 1fr; gap: 22px; padding: 29px 0; border-bottom: 1px solid var(--line); }
.process-list li:first-child { padding-top: 0; }
.process-list li > span { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid #bdd0ec; border-radius: 50%; color: var(--blue); font-weight: 900; }
.process-list h3 { margin: 0 0 7px; }
.process-list p { color: var(--muted); margin: 0; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.article-card { display: flex; min-height: 320px; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.article-card-body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.article-card h2, .article-card h3 { font-size: 1.24rem; }
.article-card h2 a, .article-card h3 a { color: inherit; }
.article-card p { flex: 1; color: var(--muted); font-size: .95rem; }
.article-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; color: var(--muted); font-size: .72rem; font-weight: 700; }
.article-meta span { padding: 4px 8px; border-radius: 6px; background: var(--paper-blue); color: var(--blue); text-transform: uppercase; }
.dark-card { min-height: 315px; padding: 27px; border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.055); }
.dark-card h3, .dark-card h3 a { color: #fff; }
.dark-card p { color: #b9c9df; }
.dark-card .article-meta span { background: rgba(60,151,255,.14); color: #72c8ff; }
.dark-card .card-link { color: #75dfff; }
.article-cover { display: flex; position: relative; height: 142px; align-items: center; justify-content: center; overflow: hidden; background: linear-gradient(145deg, #0c2b57, #1769e0); }
.article-cover span { position: relative; z-index: 2; color: #fff; font-size: 2.2rem; font-weight: 900; letter-spacing: .05em; }
.article-cover i { position: absolute; width: 180px; height: 40px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: rotate(-20deg); }
.article-cover i:nth-child(2) { width: 260px; height: 70px; } .article-cover i:nth-child(3) { width: 340px; height: 100px; }
.transparency-panel { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 60px; padding: 48px; border: 1px solid #bed2ef; border-radius: var(--radius-lg); background: linear-gradient(135deg, #f2f7ff, #fff); }
.transparency-panel h2 { font-size: clamp(1.7rem, 3vw, 2.55rem); }
.transparency-panel p { color: var(--muted); }
.transparency-checks { display: grid; gap: 12px; }
.transparency-checks span { padding: 13px 15px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink-soft); font-weight: 700; }
.cta-band { padding: 68px 0; background: linear-gradient(120deg, #0d55bb, #0a2e66); color: #d9e9ff; }
.cta-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.cta-band h2 { color: #fff; }
.cta-band p { max-width: 760px; margin-bottom: 0; }
.compact-band { padding: 48px 0; }

/* Page hero and article list */
.page-hero { position: relative; overflow: hidden; padding: 92px 0; background: linear-gradient(135deg, #07172e, #0d3265); color: #c8d8ee; }
.page-hero::after { content: ""; position: absolute; right: -160px; top: -200px; width: 600px; height: 600px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018); }
.page-hero h1 { color: #fff; font-size: clamp(2.6rem, 5vw, 4.5rem); }
.page-hero p:not(.eyebrow) { max-width: 750px; color: #c1d0e5; font-size: 1.12rem; }
.compact-hero { padding: 72px 0; }
.page-hero-grid { display: grid; position: relative; z-index: 1; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 70px; }
.search-box { padding: 24px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); background: rgba(255,255,255,.08); }
.search-box label { display: block; margin-bottom: 9px; color: #fff; font-weight: 800; }
.search-box > div { display: flex; gap: 8px; }
.search-box input { min-width: 0; flex: 1; border-color: transparent; }
.public-grid .article-card { min-height: 440px; box-shadow: 0 10px 35px rgba(10,31,61,.06); }
.result-summary { margin-bottom: 25px; color: var(--muted); }
.empty-state { max-width: 600px; margin: 0 auto; padding: 70px 30px; text-align: center; }
.empty-state > span { display: grid; width: 76px; height: 76px; margin: 0 auto 20px; place-items: center; border-radius: 50%; background: var(--paper-blue); color: var(--blue); font-size: 1.5rem; font-weight: 900; }
.empty-state p { color: var(--muted); }

/* Article */
.article-hero { position: relative; overflow: hidden; padding: 70px 0 76px; background: #f5f8fd; border-bottom: 1px solid var(--line); }
.article-hero::before { content: ""; position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(23,105,224,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(23,105,224,.055) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, black, transparent); }
.article-hero-inner { position: relative; max-width: 980px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; color: var(--muted); font-size: .82rem; }
.breadcrumbs a { color: var(--muted); }
.article-kicker { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; color: var(--muted); font-size: .8rem; }
.article-kicker span { padding: 5px 9px; border-radius: 7px; background: #e4efff; color: var(--blue); font-weight: 850; text-transform: uppercase; }
.article-hero h1 { max-width: 900px; font-size: clamp(2.45rem, 5vw, 4.45rem); }
.article-deck { max-width: 820px; color: var(--ink-soft); font-size: 1.18rem; }
.article-author { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.author-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--navy); color: #fff; font-size: .78rem; font-weight: 900; }
.article-author div { display: flex; flex-direction: column; }
.article-author small { color: var(--muted); }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(250px, 330px); align-items: start; justify-content: space-between; gap: 75px; padding-top: 72px; padding-bottom: 90px; }
.prose { color: #263752; font-size: 1.06rem; }
.prose h2 { margin-top: 2em; padding-top: .2em; font-size: 1.8rem; }
.prose h3 { margin-top: 1.7em; font-size: 1.35rem; }
.prose p { margin-bottom: 1.32em; }
.prose ul, .prose ol { padding-left: 1.35em; }
.prose li { margin-bottom: .65em; padding-left: .25em; }
.prose strong { color: var(--ink); }
.article-content > h2:first-child { margin-top: 0; }
.article-disclaimer { margin-top: 50px; padding: 26px 28px; border-left: 4px solid var(--blue); border-radius: 0 12px 12px 0; background: var(--paper-blue); }
.article-disclaimer h2 { margin-top: 0; font-size: 1.25rem; }
.article-disclaimer p { margin-bottom: 0; font-size: .94rem; }
.article-aside { display: grid; position: sticky; top: 110px; gap: 18px; }
.aside-card { padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.aside-card h2 { font-size: 1.35rem; }
.aside-card p { color: var(--muted); font-size: .9rem; }
.aside-links a { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .88rem; font-weight: 750; }
.aside-links a:hover { color: var(--blue); }

/* Landing */
.landing-hero { position: relative; overflow: hidden; padding: 84px 0 90px; background: linear-gradient(135deg, #f3f8ff 0%, #fff 68%); }
.landing-hero::before { content: ""; position: absolute; inset: 0; opacity: .45; background-image: radial-gradient(#8eb8ef 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(90deg, transparent, black); }
.landing-hero-grid { display: grid; position: relative; grid-template-columns: 1.08fr .72fr; align-items: center; gap: 75px; }
.landing-hero h1 { font-size: clamp(3rem, 5.3vw, 5rem); }
.landing-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 32px 0 0; padding: 0; list-style: none; }
.landing-proof li { padding: 15px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.8); }
.landing-proof strong, .landing-proof span { display: block; }
.landing-proof strong { font-size: .84rem; }
.landing-proof span { margin-top: 3px; color: var(--muted); font-size: .69rem; line-height: 1.45; }
.landing-spec-card { position: relative; padding: 24px; border: 1px solid #244d81; border-radius: 22px; background: linear-gradient(155deg, #102c51, #06172d); color: #c7d9f0; box-shadow: var(--shadow-lg); transform: rotate(1deg); }
.landing-spec-card::before { content: ""; position: absolute; inset: 9px; pointer-events: none; border: 1px solid rgba(255,255,255,.07); border-radius: 15px; }
.spec-card-head { display: flex; position: relative; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.13); color: #70dfff; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.spec-card-head i { color: #55708e; font-style: normal; letter-spacing: .25em; }
.landing-spec-card dl { position: relative; margin: 13px 0; }
.landing-spec-card dl div { display: grid; grid-template-columns: 105px 1fr; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.landing-spec-card dt { color: #7892b1; font-size: .75rem; text-transform: uppercase; }
.landing-spec-card dd { margin: 0; color: #fff; font-size: .91rem; font-weight: 700; }
.landing-spec-card > p { position: relative; margin: 16px 0 0; color: #91a8c5; font-size: .78rem; }
.logo-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; color: #708097; font-size: .73rem; font-weight: 900; letter-spacing: .11em; }
.icon-card .line-icon { display: grid; width: 55px; height: 55px; place-items: center; border: 1px solid #9dbcea; border-radius: 14px; color: var(--blue); font-size: 1.2rem; font-weight: 900; }
.comparison-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.comparison-layout > div:first-child p { color: var(--muted); }
.condition-table { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.condition-table > div { display: grid; grid-template-columns: 180px 1fr; gap: 25px; padding: 17px 22px; border-bottom: 1px solid var(--line); }
.condition-table > div:last-child { border-bottom: 0; }
.condition-table strong { color: var(--ink); }
.condition-table span { color: var(--muted); }
.request-guide { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; }
.request-guide h2 { color: #fff; }
.request-guide ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.request-guide li { display: grid; grid-template-columns: 42px 1fr; gap: 12px; padding: 18px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; background: rgba(255,255,255,.04); }
.request-guide li > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 9px; background: rgba(50,150,255,.16); color: #6edaff; font-weight: 900; }
.request-guide strong { color: #fff; }
.request-guide p { margin: 3px 0 0; color: #aabdd6; font-size: .82rem; }
.quote-section { background: #fff; }
.quote-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: 70px; }
.quote-copy { position: sticky; top: 115px; }
.quote-copy > p:not(.eyebrow) { color: var(--muted); }
.contact-stack { display: grid; gap: 10px; margin-top: 28px; }
.contact-stack a { display: flex; flex-direction: column; padding: 15px 17px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); }
.contact-stack a:hover { border-color: #9cbbea; background: var(--paper-blue); }
.contact-stack span { color: var(--muted); font-size: .72rem; }
.form-card { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; }
.faq-layout > div:first-child p { color: var(--muted); }
.faq-list { display: grid; gap: 10px; }
.faq-list details { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.faq-list summary { position: relative; padding: 18px 48px 18px 20px; color: var(--ink); font-weight: 800; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: var(--blue); font-size: 1.3rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { padding: 0 20px 18px; color: var(--muted); margin: 0; }

/* Forms */
.field { margin-bottom: 18px; }
.field label { display: block; margin-bottom: 7px; color: var(--ink); font-size: .88rem; font-weight: 800; }
.field label span { color: var(--red); }
input, textarea, select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease; }
textarea { min-height: 100px; resize: vertical; }
select { cursor: pointer; }
input:hover, textarea:hover, select:hover { border-color: #9bb5d8; }
input:focus, textarea:focus, select:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(23,105,224,.09); outline: none; }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--red); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-grid .field { min-width: 0; }
.field-help { display: block; margin-top: 6px; color: var(--muted); font-size: .73rem; line-height: 1.5; }
.field-error { display: block; margin-top: 6px; color: var(--red); font-size: .76rem; font-weight: 700; }
.block-error { margin: -8px 0 18px; }
.form-alert { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #efb4be; border-radius: 9px; background: #fff2f4; color: #9e1d33; font-size: .86rem; font-weight: 700; }
.check-field { display: flex; align-items: flex-start; gap: 10px; margin: 5px 0 20px; color: var(--ink-soft); font-size: .83rem; cursor: pointer; }
.check-field input { width: 18px; min-height: 18px; flex: 0 0 18px; margin-top: 3px; accent-color: var(--blue); }
.form-note { margin: 13px 0 0; color: var(--muted); font-size: .75rem; }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; }
.page-contact-card { display: flex; flex-direction: column; position: relative; z-index: 1; padding: 24px; border: 1px solid rgba(255,255,255,.15); border-radius: var(--radius); background: rgba(255,255,255,.07); }
.page-contact-card strong { color: #fff; font-size: 1.1rem; }
.page-contact-card a { color: #78dcff; }
.page-contact-card span { color: #9eb3ce; font-size: .84rem; }
.check-list { display: grid; gap: 9px; padding: 0; list-style: none; }
.check-list li::before { content: "✓"; display: inline-grid; width: 22px; height: 22px; margin-right: 9px; place-items: center; border-radius: 50%; background: #e5f8f1; color: var(--green); font-size: .75rem; font-weight: 900; }
.address-card { margin-top: 30px; padding: 22px; border-radius: 13px; background: var(--paper-soft); }
.address-card > span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.address-card p { margin: 7px 0 10px; color: var(--ink-soft); }

/* About, privacy, terms */
.narrow-page-hero { position: relative; z-index: 1; max-width: 900px; }
.content-two-col { display: grid; grid-template-columns: minmax(0, 760px) minmax(280px, 350px); justify-content: space-between; gap: 70px; }
.business-facts { position: sticky; top: 110px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.business-facts h2 { font-size: 1.35rem; }
.business-facts dl { margin: 0 0 22px; }
.business-facts dl div { padding: 12px 0; border-bottom: 1px solid var(--line); }
.business-facts dt { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.business-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--ink-soft); font-size: .9rem; }
.legal-hero { padding: 72px 0; }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 780px); justify-content: center; gap: 70px; }
.legal-index { display: flex; position: sticky; top: 110px; align-self: start; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-soft); }
.legal-index strong { margin-bottom: 8px; }
.legal-index a { padding: 7px 0; color: var(--muted); font-size: .82rem; }
.legal-index a:hover { color: var(--blue); }
.legal-prose h2 { scroll-margin-top: 110px; }
.narrow-prose { max-width: 850px; margin-inline: auto; }

/* Thank you, setup, errors */
.thankyou-section, .error-section { display: grid; min-height: calc(100vh - 78px); padding: 75px 0; place-items: center; background: linear-gradient(160deg, #f3f7fd, #fff); }
.thankyou-card, .error-card { max-width: 760px; padding: 50px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); text-align: center; }
.success-mark { display: grid; width: 78px; height: 78px; margin: 0 auto 23px; place-items: center; border-radius: 50%; background: #e2f8ef; color: var(--green); font-size: 2.2rem; font-weight: 900; }
.thankyou-card > p:not(.eyebrow) { max-width: 600px; margin-inline: auto; color: var(--muted); }
.next-steps { margin: 32px 0; padding: 25px; border-radius: 14px; background: var(--paper-soft); text-align: left; }
.next-steps h2 { font-size: 1.15rem; }
.next-steps > div { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; padding: 8px 0; }
.next-steps span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: var(--paper-blue); color: var(--blue); font-size: .75rem; font-weight: 900; }
.next-steps p { margin: 0; color: var(--ink-soft); font-size: .87rem; }
.thankyou-actions { display: flex; justify-content: center; gap: 10px; }
.conversion-note { margin-top: 20px !important; font-size: .72rem; }
.error-card > span { display: block; color: #bed0e8; font-size: 5rem; font-weight: 950; line-height: 1; }
.error-card > p:not(.eyebrow) { color: var(--muted); }
.error-card > div { display: flex; justify-content: center; gap: 10px; }
.setup-section { min-height: 100vh; padding: 60px 0; background: linear-gradient(140deg, #eef4fd, #fff 55%, #edf6ff); }
.setup-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 65px; }
.setup-intro { position: sticky; top: 40px; }
.setup-intro .brand { margin-bottom: 55px; }
.setup-intro h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); }
.setup-intro > p:not(.eyebrow) { color: var(--muted); }
.requirement-card { margin: 30px 0 22px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.78); }
.requirement-card h2 { font-size: 1.1rem; }
.requirement-card > div { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.requirement-card > div:last-child { border-bottom: 0; }
.requirement-card strong { font-size: .86rem; }
.requirement-card small { color: var(--muted); }
.requirement-status { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; color: #fff; font-size: .72rem; font-weight: 900; }
.requirement-status.ok { background: var(--green); } .requirement-status.bad { background: var(--red); }
.setup-security { padding-left: 13px; border-left: 3px solid #a8c7ef; font-size: .8rem; }
.setup-form-card { padding: 38px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
.setup-form-card > h2 { margin-bottom: 25px; }

/* Consent */
.consent-panel { position: fixed; z-index: 999; inset: 0; display: flex; align-items: end; padding: 24px; background: rgba(3, 13, 29, .56); backdrop-filter: blur(5px); }
.consent-card { display: flex; width: min(100%, 960px); margin: 0 auto; align-items: center; justify-content: space-between; gap: 35px; padding: 26px 28px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: #fff; box-shadow: 0 25px 80px rgba(0,0,0,.3); }
.consent-card h2 { font-size: 1.35rem; }
.consent-card p { margin: 0; color: var(--muted); font-size: .85rem; }
.consent-actions { display: flex; flex: 0 0 auto; gap: 8px; }

/* Footer */
.site-footer { padding: 65px 0 25px; background: #061326; color: #9eb1cb; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .8fr .7fr; gap: 70px; }
.footer-brand .brand-copy strong { color: #fff; }
.footer-brand .brand-copy small { color: #91a6c1; }
.footer-note { max-width: 500px; margin-top: 20px; color: #8da1bc; font-size: .84rem; }
.site-footer h2 { color: #fff; font-size: 1rem; }
.site-footer p { margin-bottom: 8px; font-size: .84rem; }
.site-footer a { color: #b6c7de; }
.site-footer a:hover { color: #fff; }
.footer-links { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; font-size: .84rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.09); color: #7186a2; font-size: .72rem; }

/* Admin */
.admin-body { min-height: 100vh; background: #f3f6fb; }
.admin-shell { display: grid; min-height: 100vh; grid-template-columns: 255px 1fr; }
.admin-sidebar { display: flex; position: sticky; z-index: 50; top: 0; height: 100vh; flex-direction: column; padding: 25px 18px; background: var(--navy); color: #fff; }
.admin-brand { margin: 0 7px 32px; }
.admin-brand .brand-copy strong { color: #fff; }
.admin-brand .brand-copy small { color: #7892b1; }
.admin-sidebar nav { display: grid; gap: 4px; }
.admin-sidebar nav a { padding: 11px 13px; border-radius: 8px; color: #9fb3cd; font-size: .89rem; font-weight: 750; }
.admin-sidebar nav a:hover, .admin-sidebar nav a[aria-current="page"] { background: rgba(70,145,238,.15); color: #fff; }
.admin-sidebar nav a[aria-current="page"] { box-shadow: inset 3px 0 #48c7f0; }
.admin-logout { margin-top: auto; }
.admin-sidebar .button-ghost { border-color: rgba(255,255,255,.15); color: #bdcce0; }
.admin-sidebar .button-ghost:hover { background: rgba(255,255,255,.07); color: #fff; }
.admin-content { min-width: 0; }
.admin-topbar { display: flex; min-height: 72px; align-items: center; justify-content: flex-end; padding: 0 32px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(12px); }
.admin-topbar > div { display: flex; flex-direction: column; text-align: right; }
.admin-topbar small { color: var(--muted); font-size: .7rem; }
.admin-menu-toggle { display: none; margin-right: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 8px 12px; font-weight: 800; }
.admin-main { max-width: 1480px; margin: 0 auto; padding: 32px; }
.admin-flashes { margin: 20px 32px 0; }
.admin-page-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.admin-page-head h1 { font-size: clamp(2rem, 3vw, 2.8rem); }
.admin-page-head p:not(.eyebrow) { margin-bottom: 0; color: var(--muted); }
.admin-head-actions { display: flex; gap: 9px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.stat-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 25px rgba(11,34,69,.04); }
.stat-card > span, .stat-card small { display: block; color: var(--muted); font-size: .75rem; }
.stat-card strong { display: block; margin: 7px 0 2px; font-size: 2.25rem; line-height: 1; }
.accent-stat { background: linear-gradient(145deg, #0d5cca, #0b3978); border-color: #0d5cca; }
.accent-stat span, .accent-stat small { color: #b9d4f6; }
.accent-stat strong { color: #fff; }
.admin-grid { display: grid; gap: 20px; align-items: start; }
.admin-grid.two-thirds { grid-template-columns: minmax(0, 1.8fr) minmax(280px, .8fr); }
.admin-panel { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 7px 25px rgba(10,31,61,.035); }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.panel-head h2 { margin: 0; font-size: 1.15rem; }
.panel-head p { margin: 2px 0 0; color: var(--muted); font-size: .78rem; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.admin-table th { padding: 10px 12px; border-bottom: 1px solid var(--line-strong); color: var(--muted); font-size: .7rem; text-align: left; text-transform: uppercase; }
.admin-table td { padding: 14px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-table td > strong, .admin-table td > small { display: block; }
.admin-table td > small { color: var(--muted); }
.status-badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #edf1f7; color: #4c5c74; font-size: .67rem; font-weight: 850; }
.status-new { background: #fff1ce; color: #8a5c00; }
.status-contacted { background: #e6f0ff; color: #1858ad; }
.status-qualified { background: #e2f8ef; color: #087052; }
.status-closed { background: #edf1f5; color: #526174; }
.status-spam { background: #ffe7eb; color: #a91f38; }
.launch-checklist ul { display: grid; gap: 13px; margin: 0 0 20px; padding: 0; list-style: none; }
.launch-checklist li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.launch-checklist li > span { width: 17px; height: 17px; margin-top: 3px; border: 2px solid #b5c2d2; border-radius: 50%; }
.launch-checklist li.done > span { border-color: var(--green); background: var(--green); box-shadow: inset 0 0 0 4px #fff; }
.launch-checklist li strong, .launch-checklist li small { display: block; }
.launch-checklist li small { color: var(--muted); font-size: .7rem; }
.admin-empty { padding: 50px 20px; text-align: center; }
.admin-empty p { color: var(--muted); }
.table-actions { display: flex; gap: 6px; white-space: nowrap; }
.article-admin-table td:first-child { min-width: 350px; }
.admin-editor-form > .admin-grid.editor-grid { grid-template-columns: minmax(0, 1fr) 340px; }
.editor-sidebar { display: grid; position: sticky; top: 92px; gap: 18px; }
.editor-sidebar .admin-panel h2 { font-size: 1.1rem; }
.input-prefix { display: flex; align-items: stretch; }
.input-prefix span { display: flex; align-items: center; padding: 0 10px; border: 1px solid var(--line-strong); border-right: 0; border-radius: 9px 0 0 9px; background: var(--paper-soft); color: var(--muted); font-size: .78rem; }
.input-prefix input { border-radius: 0 9px 9px 0; }
.field-counter { display: flex; justify-content: space-between; gap: 20px; margin-top: 6px; color: var(--muted); font-size: .72rem; }
.danger-panel { border-color: #efc4cb; }
.danger-panel p { color: var(--muted); font-size: .78rem; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 18px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.filter-tabs a { padding: 7px 12px; border-radius: 7px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.filter-tabs a:hover, .filter-tabs a[aria-current="page"] { background: var(--paper-blue); color: var(--blue); }
.lead-admin-list { display: grid; gap: 16px; }
.lead-card-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.lead-card-head h2 { margin: 7px 0 0; font-size: 1.25rem; }
.lead-card-head p { margin: 0; color: var(--muted); font-size: .8rem; }
.lead-card-head > div:last-child { text-align: right; }
.lead-card-head > div:last-child strong, .lead-card-head time { display: block; }
.lead-card-head time { color: var(--muted); font-size: .72rem; }
.lead-detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; padding: 18px 0; }
.lead-detail-grid > div { min-width: 0; padding: 12px; border-radius: 9px; background: var(--paper-soft); }
.lead-detail-grid span, .lead-detail-grid small, .lead-detail-grid strong, .lead-detail-grid a { display: block; }
.lead-detail-grid span { color: var(--muted); font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.lead-detail-grid strong, .lead-detail-grid a { margin-top: 4px; color: var(--ink); font-size: .82rem; }
.lead-detail-grid small { color: var(--muted); font-size: .68rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.clip-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lead-message { padding: 16px; border-left: 3px solid #a8c8ef; border-radius: 0 8px 8px 0; background: #f8faff; }
.lead-message span { color: var(--muted); font-size: .66rem; font-weight: 850; text-transform: uppercase; }
.lead-message p { margin: 5px 0 0; font-size: .87rem; }
.lead-update-form { display: flex; align-items: end; gap: 12px; margin-top: 18px; }
.lead-update-form .field { margin-bottom: 0; }
.grow-field { flex: 1; }
.lead-update-form textarea { min-height: 46px; }
.settings-grid { grid-template-columns: minmax(0, 1fr) 340px; }
.settings-grid > div { display: grid; gap: 20px; }
.sticky-settings { position: sticky; top: 92px; }
.sticky-settings h3 { font-size: 1rem; }
.info-callout { padding: 15px; border: 1px solid #bdd1ee; border-radius: 10px; background: var(--paper-blue); }
.info-callout p { margin: 3px 0 0; color: var(--ink-soft); font-size: .8rem; }

/* Admin auth */
.auth-shell { display: grid; min-height: 100vh; padding: 35px 20px; place-items: center; background: radial-gradient(circle at 20% 10%, rgba(23,105,224,.17), transparent 35%), linear-gradient(145deg, #06152b, #0b3268); }
.auth-card { width: min(100%, 470px); padding: 38px; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; background: #fff; box-shadow: 0 35px 100px rgba(0,0,0,.35); }
.auth-brand { margin-bottom: 40px; }
.auth-card h1 { font-size: 2.2rem; }
.auth-card > p:not(.eyebrow) { color: var(--muted); }
.auth-footer { display: flex; justify-content: space-between; gap: 15px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .72rem; }
.auth-flashes { position: fixed; z-index: 3; top: 15px; left: 50%; width: min(calc(100% - 30px), 600px); transform: translateX(-50%); }

@media (max-width: 1100px) {
    .hero-grid, .landing-hero-grid { grid-template-columns: 1fr 430px; gap: 30px; }
    .hero-visual { min-height: 470px; }
    .metric-card-one { left: -3%; }
    .metric-card-two { right: -2%; }
    .article-layout { grid-template-columns: minmax(0, 1fr) 285px; gap: 45px; }
    .admin-shell { grid-template-columns: 220px 1fr; }
    .lead-detail-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
    .site-nav { display: none; position: absolute; top: 69px; left: 20px; right: 20px; flex-direction: column; align-items: stretch; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: var(--shadow-md); }
    .site-nav.open { display: flex; }
    .site-nav .nav-cta { margin-left: 0; text-align: center; }
    .nav-toggle { display: block; }
    .header-inner { min-height: 70px; }
    .hero { padding: 65px 0 75px; }
    .hero-grid, .landing-hero-grid { grid-template-columns: 1fr; }
    .hero-copy { text-align: center; }
    .hero-copy .hero-lead { margin-inline: auto; }
    .hero-actions, .trust-row { justify-content: center; }
    .hero-visual { min-height: 480px; }
    .feature-grid.three, .category-grid, .article-grid { grid-template-columns: repeat(2, 1fr); }
    .process-layout, .comparison-layout, .request-guide, .quote-grid, .faq-layout, .content-two-col, .legal-layout { grid-template-columns: 1fr; gap: 42px; }
    .sticky-heading, .quote-copy, .business-facts, .legal-index { position: static; }
    .legal-index { display: none; }
    .transparency-panel { grid-template-columns: 1fr; gap: 25px; }
    .page-hero-grid { grid-template-columns: 1fr; gap: 30px; }
    .landing-proof { max-width: 750px; }
    .landing-spec-card { max-width: 520px; margin-inline: auto; transform: none; }
    .article-layout { grid-template-columns: 1fr; }
    .article-aside { position: static; grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .setup-grid { grid-template-columns: 1fr; }
    .setup-intro { position: static; }
    .setup-intro .brand { margin-bottom: 35px; }
    .admin-shell { display: block; }
    .admin-sidebar { position: fixed; left: -280px; top: 0; width: 255px; transition: left .2s ease; box-shadow: 15px 0 50px rgba(0,0,0,.25); }
    .admin-sidebar.open { left: 0; }
    .admin-topbar { justify-content: space-between; }
    .admin-menu-toggle { display: block; }
    .stat-grid { grid-template-columns: repeat(2, 1fr); }
    .admin-grid.two-thirds, .admin-editor-form > .admin-grid.editor-grid, .settings-grid { grid-template-columns: 1fr; }
    .editor-sidebar, .sticky-settings { position: static; }
    .editor-sidebar { grid-template-columns: repeat(2, 1fr); }
    .editor-sidebar .danger-panel { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    body { font-size: 15px; }
    .section { padding: 70px 0; }
    .section-compact { padding: 45px 0; }
    .split-heading, .cta-band-inner { align-items: flex-start; flex-direction: column; gap: 22px; }
    .hero h1, .landing-hero h1 { font-size: clamp(2.5rem, 12vw, 3.5rem); }
    .hero-actions { flex-direction: column; }
    .hero-actions .button { width: 100%; }
    .hero-visual { min-height: 405px; }
    .rack { width: 235px; padding: 11px; border-width: 6px; }
    .server-unit { min-height: 43px; grid-template-columns: 1fr 28px 28px; padding: 6px; }
    .drive-bays i { height: 20px; }
    .metric-card { min-width: 155px; padding: 11px 12px; }
    .metric-card-one { left: 0; top: 10%; }
    .metric-card-two { right: 0; bottom: 9%; }
    .feature-grid.three, .category-grid, .article-grid, .request-guide ol { grid-template-columns: 1fr; }
    .feature-card { min-height: auto; }
    .process-list li { grid-template-columns: 52px 1fr; gap: 13px; }
    .process-list li > span { width: 45px; height: 45px; }
    .transparency-panel { padding: 28px; }
    .landing-proof { grid-template-columns: 1fr; }
    .logo-strip { justify-content: center; gap: 14px 25px; }
    .condition-table > div { grid-template-columns: 1fr; gap: 5px; }
    .form-grid { grid-template-columns: 1fr; gap: 0; }
    .form-card, .setup-form-card, .thankyou-card, .error-card { padding: 27px 20px; }
    .button-block-mobile { width: 100%; }
    .article-hero { padding: 48px 0 55px; }
    .article-layout { padding-top: 48px; padding-bottom: 65px; }
    .article-aside { grid-template-columns: 1fr; }
    .article-author { align-items: flex-start; }
    .page-hero { padding: 60px 0; }
    .search-box > div { flex-direction: column; }
    .footer-grid { grid-template-columns: 1fr; gap: 36px; }
    .footer-grid > div:first-child { grid-column: auto; }
    .footer-bottom { flex-direction: column; }
    .consent-panel { padding: 10px; }
    .consent-card { align-items: stretch; flex-direction: column; gap: 18px; padding: 22px; }
    .consent-actions { flex-direction: column-reverse; }
    .consent-actions .button { width: 100%; }
    .thankyou-actions, .error-card > div { flex-direction: column; }
    .requirement-card > div { grid-template-columns: 28px 1fr; }
    .requirement-card small { grid-column: 2; }
    .admin-main { padding: 20px 14px; }
    .admin-topbar { padding: 0 15px; }
    .admin-flashes { margin-inline: 14px; }
    .admin-page-head { align-items: stretch; flex-direction: column; }
    .admin-head-actions { flex-direction: column; }
    .stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat-card { padding: 17px; }
    .stat-card strong { font-size: 1.8rem; }
    .editor-sidebar { grid-template-columns: 1fr; }
    .lead-detail-grid { grid-template-columns: 1fr; }
    .lead-update-form { align-items: stretch; flex-direction: column; }
    .lead-card-head { flex-direction: column; }
    .lead-card-head > div:last-child { text-align: left; }
    .auth-card { padding: 28px 22px; }
    .auth-footer { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* ========================================================================
   THAI WEEKEND TRAVEL — public-site visual system
   ======================================================================== */
:root {
    --ink: #17352b;
    --ink-soft: #496158;
    --muted: #718179;
    --line: #dce5dc;
    --line-strong: #c6d4c6;
    --paper: #fffdf7;
    --paper-soft: #f5f6ed;
    --paper-blue: #edf5ed;
    --navy: #173b31;
    --navy-2: #285647;
    --blue: #28725a;
    --blue-dark: #1c5845;
    --cyan: #f3c86c;
    --green: #28725a;
    --amber: #b77932;
    --shadow-sm: 0 10px 30px rgba(31, 74, 58, .08);
    --shadow-md: 0 24px 70px rgba(31, 74, 58, .14);
    --shadow-lg: 0 40px 110px rgba(31, 74, 58, .2);
    --radius-sm: 12px;
    --radius: 22px;
    --radius-lg: 34px;
}
body { background: var(--paper); }
a { color: var(--blue); }
h1, h2, h3, h4 { font-weight: 850; }
.eyebrow { color: #b1642d; }
.button { border-color: var(--blue); background: var(--blue); box-shadow: 0 9px 24px rgba(40,114,90,.18); }
.button:hover { border-color: var(--blue-dark); background: var(--blue-dark); box-shadow: 0 13px 30px rgba(40,114,90,.24); }
.button-ghost { border-color: var(--line-strong); background: transparent; color: var(--blue); box-shadow: none; }
.button-ghost:hover { border-color: #91ad9d; background: #eff5ef; color: var(--blue-dark); }
.site-header { background: rgba(255,253,247,.93); border-color: rgba(211,224,211,.94); }
.brand-mark { display: block; overflow: hidden; padding: 0; border-radius: 14px; background: linear-gradient(145deg,#f0c36e,#df8f4b); box-shadow: 0 10px 26px rgba(169,101,46,.18); }
.brand-mark::before { content:""; position:absolute; left:-7px; right:-7px; bottom:-1px; height:25px; border-radius:50% 50% 0 0; background:#2d765a; transform:rotate(-3deg); }
.brand-mark::after { content:""; position:absolute; left:12px; bottom:0; width:20px; height:28px; clip-path:polygon(50% 0,100% 100%,0 100%); background:#1d5946; }
.brand-mark i,.brand-mark b { position:absolute; z-index:2; display:block; }
.brand-mark i { right:8px; top:8px; width:8px; height:8px; border-radius:50%; background:#fff3cc; }
.brand-mark b { left:19px; bottom:0; width:4px; height:17px; background:#6e6554; transform:skew(-7deg); }
.site-nav a:hover,.site-nav a[aria-current="page"] { background:#ecf3ea; color:var(--blue); }
.site-nav .nav-cta { background:var(--blue); }
.site-nav .nav-cta:hover { background:var(--blue-dark); }
.site-footer { background:#15362d; color:#cbd9d0; }
.site-footer a,.site-footer button { color:#e5efe8; }
.site-footer a:hover,.site-footer button:hover { color:#f5d38a; }
.brand-footer .brand-copy strong { color:#fff; }
.footer-brand p { max-width:570px; }
.footer-note span,.footer-note a { display:block; margin:.28rem 0; }
.footer-links button { padding:0; border:0; background:none; text-align:left; cursor:pointer; }
.footer-bottom { border-color:rgba(255,255,255,.12); }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Home hero */
.travel-hero { position:relative; overflow:hidden; padding:86px 0 94px; background:linear-gradient(180deg,#fbf4df 0%,#fffdf7 78%); }
.travel-hero::before { content:""; position:absolute; width:620px; height:620px; right:-220px; top:-330px; border-radius:50%; background:radial-gradient(circle,rgba(235,160,82,.25),rgba(235,160,82,0) 68%); }
.travel-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr); gap:58px; align-items:center; }
.travel-hero-copy { position:relative; z-index:3; }
.travel-hero h1 { max-width:760px; margin-bottom:22px; font-size:clamp(3.1rem,5.7vw,5.6rem); }
.travel-hero h1 span,.travel-page-hero h1 span,.trip-selector-hero h1 span,.contact-hero h1 span { color:#b56833; }
.travel-hero .hero-lead { max-width:720px; }
.travel-scene { position:relative; min-height:500px; overflow:hidden; border:1px solid rgba(45,104,79,.18); border-radius:42% 42% 28px 28px; background:linear-gradient(180deg,#f4c875 0 39%,#d6e6c4 39% 100%); box-shadow:0 38px 80px rgba(66,87,58,.18); isolation:isolate; }
.scene-sun { position:absolute; z-index:1; right:62px; top:54px; width:68px; height:68px; border-radius:50%; background:#fff1be; box-shadow:0 0 0 15px rgba(255,242,195,.18); }
.scene-cloud { position:absolute; z-index:2; width:92px; height:24px; border-radius:30px; background:rgba(255,250,230,.82); }
.scene-cloud::before,.scene-cloud::after { content:""; position:absolute; bottom:0; border-radius:50%; background:inherit; }
.scene-cloud::before { left:14px; width:36px; height:36px; }.scene-cloud::after { right:12px; width:46px; height:46px; }
.cloud-a { left:52px; top:72px; }.cloud-b { right:118px; top:132px; transform:scale(.7); opacity:.72; }
.scene-mountain { position:absolute; left:-10%; width:120%; clip-path:polygon(0 100%,17% 57%,31% 76%,51% 20%,68% 70%,83% 46%,100% 100%); }
.mountain-back { z-index:2; bottom:35%; height:44%; background:#6f9b6d; opacity:.8; }
.mountain-front { z-index:3; bottom:19%; height:49%; background:#397359; clip-path:polygon(0 100%,15% 58%,30% 79%,45% 37%,59% 74%,77% 36%,100% 100%); }
.scene-road { position:absolute; z-index:5; left:35%; bottom:-4%; width:34%; height:56%; background:#626c66; clip-path:polygon(45% 0,57% 0,100% 100%,0 100%); }
.scene-road::after { content:""; position:absolute; left:49%; top:10%; width:3%; height:86%; background:repeating-linear-gradient(to bottom,#f4df9e 0 23px,transparent 23px 46px); transform:perspective(100px) rotateX(8deg); }
.scene-car { position:absolute; z-index:8; left:49%; bottom:84px; width:54px; height:28px; border-radius:9px 9px 6px 6px; background:#d76c45; box-shadow:0 8px 14px rgba(0,0,0,.2); transform:translateX(-50%); }
.scene-car::before { content:""; position:absolute; left:9px; top:-12px; width:36px; height:16px; border-radius:10px 10px 2px 2px; background:#e5845e; }
.scene-car::after { content:""; position:absolute; left:14px; top:-9px; width:26px; height:10px; border-radius:6px 6px 1px 1px; background:#dce8df; }
.scene-car i,.scene-car b { position:absolute; bottom:-5px; width:11px; height:11px; border-radius:50%; background:#283630; }
.scene-car i { left:8px; }.scene-car b { right:8px; }
.scene-tree { position:absolute; z-index:6; bottom:54px; width:16px; height:110px; background:#6e5943; }
.scene-tree::before,.scene-tree::after { content:""; position:absolute; left:50%; width:74px; height:74px; border-radius:50%; background:#1f6248; transform:translateX(-50%); }
.scene-tree::before { top:-27px; }.scene-tree::after { top:8px; width:88px; height:64px; background:#2e7758; }
.tree-a { left:47px; transform:scale(.88); }.tree-b { right:46px; bottom:30px; transform:scale(.7); }
.scene-sign { position:absolute; z-index:9; left:34px; bottom:34px; padding:13px 17px; border:3px solid #f8e8ba; border-radius:8px; background:#245f49; color:#e9f1e9; font-size:.74rem; line-height:1.2; transform:rotate(-2deg); box-shadow:0 9px 20px rgba(0,0,0,.16); }
.scene-sign::after { content:""; position:absolute; left:50%; top:100%; width:7px; height:28px; background:#725a3f; transform:translateX(-50%); }
.scene-sign strong { color:#fff; font-size:1rem; }
.destination-strip { border-block:1px solid var(--line); background:#fff; }
.destination-strip .container { display:flex; flex-wrap:wrap; justify-content:center; gap:9px 28px; padding:17px 0; color:#5d7065; font-size:.82rem; font-weight:750; }
.destination-strip span::before { content:"•"; margin-right:11px; color:#d79650; }
.destination-strip span:first-child::before { display:none; }

/* Shared travel sections */
.section-head { display:flex; align-items:end; justify-content:space-between; gap:34px; margin-bottom:38px; }
.section-head > div { max-width:790px; }
.section-head.centered { justify-content:center; text-align:center; }
.section-head p:not(.eyebrow) { color:var(--muted); }
.section-featured { padding-top:88px; }
.trip-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.trip-card { overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:var(--shadow-sm); transition:transform .2s ease,box-shadow .2s ease; }
.trip-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); }
.trip-card-art { position:relative; display:block; height:238px; overflow:hidden; background:linear-gradient(180deg,#f3c678 0 46%,#bdcf99 46% 100%); isolation:isolate; }
.trip-card-art::before { content:""; position:absolute; z-index:1; inset:auto -8% 0; height:66%; background:#427b5d; clip-path:polygon(0 100%,0 70%,18% 24%,34% 65%,52% 13%,69% 67%,85% 33%,100% 74%,100% 100%); }
.trip-card-art::after { content:""; position:absolute; z-index:2; left:39%; bottom:-8%; width:28%; height:58%; background:#606a65; clip-path:polygon(45% 0,58% 0,100% 100%,0 100%); }
.cover-sun { position:absolute; z-index:1; right:28px; top:25px; width:43px; height:43px; border-radius:50%; background:#fff0b5; }
.cover-land { position:absolute; z-index:3; inset:auto -5% 0; height:37%; background:#2b694f; clip-path:polygon(0 100%,0 69%,16% 44%,29% 73%,48% 37%,67% 70%,84% 34%,100% 61%,100% 100%); }
.cover-road { position:absolute; z-index:4; left:48%; bottom:-5%; width:4px; height:45%; background:repeating-linear-gradient(to bottom,#f5dfa2 0 13px,transparent 13px 27px); transform:rotate(-4deg); }
.cover-label { position:absolute; z-index:6; left:18px; top:18px; padding:6px 10px; border-radius:999px; background:rgba(255,253,247,.9); color:#244d3d; font-size:.72rem; font-weight:850; backdrop-filter:blur(8px); }
.cover-number { position:absolute; z-index:6; right:17px; bottom:11px; color:rgba(255,255,255,.7); font-size:2.7rem; font-weight:900; line-height:1; }
.theme-mountain .trip-card-art,.theme-mountain.trip-card .trip-card-art { background:linear-gradient(180deg,#efba78 0 46%,#d6d8aa 46%); }
.theme-river .trip-card-art,.theme-river.trip-card .trip-card-art { background:linear-gradient(180deg,#a9d5cf 0 47%,#8cb8a4 47%); }
.theme-river .cover-land { background:#31745d; }
.theme-heritage .trip-card-art,.theme-heritage.trip-card .trip-card-art { background:linear-gradient(180deg,#edc17b 0 50%,#d7af6a 50%); }
.theme-heritage .trip-card-art::before { background:#9b5d3f; clip-path:polygon(0 100%,0 76%,18% 76%,18% 45%,26% 45%,26% 26%,32% 26%,32% 74%,46% 74%,46% 50%,58% 50%,58% 74%,70% 74%,70% 32%,78% 32%,78% 75%,100% 75%,100% 100%); }
.theme-beach .trip-card-art,.theme-beach.trip-card .trip-card-art { background:linear-gradient(180deg,#8ed0d2 0 54%,#f1d49a 54%); }
.theme-beach .trip-card-art::before { height:28%; background:#3d9ca3; clip-path:polygon(0 45%,10% 35%,20% 48%,30% 36%,40% 50%,50% 38%,60% 52%,70% 37%,80% 49%,90% 36%,100% 48%,100% 100%,0 100%); }
.theme-beach .cover-land { background:#ecc987; }
.theme-coast .trip-card-art,.theme-coast.trip-card .trip-card-art { background:linear-gradient(180deg,#90c7cb 0 48%,#d7b877 48%); }
.trip-card-body { padding:24px; }
.trip-card-body h2,.trip-card-body h3 { margin:.55rem 0 .7rem; font-size:1.35rem; }
.trip-card-body h2 a,.trip-card-body h3 a { color:var(--ink); }
.trip-card-body p { color:var(--ink-soft); font-size:.92rem; }
.article-meta { display:flex; flex-wrap:wrap; gap:8px 15px; color:var(--muted); font-size:.72rem; font-weight:750; }
.article-meta span+span::before { content:"•"; margin-right:15px; color:#c69662; }
.card-foot { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:.74rem; }
.card-foot a { font-weight:800; }
.travel-style-section { background:#f2f4e8; }
.feature-grid.four { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.travel-style-card { min-height:285px; border:1px solid rgba(44,99,76,.15); background:#fffdf8; color:var(--ink); }
.travel-style-card:hover { color:var(--ink); }
.travel-style-card > span:last-child { margin-top:auto; color:var(--blue); font-size:.82rem; font-weight:850; }
.trip-symbol { display:grid; width:55px; height:55px; margin-bottom:27px; place-items:center; border-radius:17px; background:#e7efe4; color:#2c7459; font-size:1.45rem; }
.planning-section { background:#fffaf0; }
.planning-steps { display:grid; gap:20px; margin:30px 0; }
.planning-steps > div { display:grid; grid-template-columns:50px 1fr; gap:16px; align-items:start; }
.planning-steps b { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; background:#285f4c; color:#fff; }
.planning-steps span { display:flex; flex-direction:column; }
.planning-steps small { margin-top:4px; color:var(--muted); }
.editorial-card { align-self:start; padding:34px; border:1px solid rgba(255,255,255,.14); border-radius:26px; background:#183f33; color:#dbe8df; box-shadow:var(--shadow-md); }
.editorial-card h3 { color:#fff; font-size:1.75rem; }
.editorial-card p,.editorial-card li { color:#c9d9cf; }
.editorial-card a { color:#f4cd82; font-weight:800; }
.editorial-kicker { display:inline-block; margin-bottom:14px; color:#e5b96d; font-size:.7rem; font-weight:900; letter-spacing:.15em; }
.latest-section { background:#fff; }
.latest-list { border-top:1px solid var(--line); }
.latest-item { display:grid; grid-template-columns:70px minmax(0,1fr) 44px; gap:22px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); }
.latest-index { color:#c28a55; font-size:1.55rem; font-weight:900; }
.latest-item h3 { margin:.3rem 0 .4rem; }
.latest-item h3 a { color:var(--ink); }
.latest-item p { max-width:850px; margin:0; color:var(--muted); font-size:.88rem; }
.latest-arrow { display:grid; width:42px; height:42px; place-items:center; border:1px solid var(--line); border-radius:50%; }
.latest-item:hover .latest-arrow { background:var(--blue); color:#fff; border-color:var(--blue); }
.travel-cta { background:linear-gradient(135deg,#204d3e,#2f6d54); }

/* Page and selector heroes */
.travel-page-hero,.trip-selector-hero,.contact-hero { position:relative; overflow:hidden; padding:80px 0 72px; border-bottom:1px solid var(--line); background:linear-gradient(145deg,#fbf1d8,#f3f5e8); }
.travel-page-hero::after,.trip-selector-hero::after,.contact-hero::after { content:""; position:absolute; right:-120px; bottom:-180px; width:480px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(47,112,82,.18),transparent 67%); }
.travel-page-hero .container { position:relative; z-index:1; max-width:1040px; }
.travel-page-hero h1,.trip-selector-hero h1,.contact-hero h1 { font-size:clamp(2.7rem,5vw,4.8rem); }
.travel-page-hero p:not(.eyebrow) { max-width:780px; color:var(--ink-soft); font-size:1.1rem; }
.article-search { display:flex; max-width:720px; gap:10px; margin:29px 0 18px; }
.article-search input { min-height:54px; flex:1; border-radius:13px; }
.topic-chips { display:flex; flex-wrap:wrap; gap:8px; }
.topic-chips a { padding:6px 12px; border:1px solid var(--line-strong); border-radius:999px; background:rgba(255,255,255,.64); color:var(--ink-soft); font-size:.78rem; font-weight:750; }
.search-summary { display:flex; align-items:center; gap:12px; margin-bottom:28px; padding:16px 19px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.search-summary span,.search-summary small { color:var(--muted); }.search-summary a { margin-left:auto; font-weight:800; }
.archive-grid .trip-card-art { height:210px; }
.trip-selector-grid,.contact-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); gap:58px; align-items:center; }
.trip-selector-hero p:not(.eyebrow),.contact-hero p:not(.eyebrow) { max-width:720px; color:var(--ink-soft); font-size:1.08rem; }
.selector-panel { padding:30px; border:1px solid rgba(40,114,90,.16); border-radius:24px; background:rgba(255,255,255,.8); box-shadow:var(--shadow-sm); }
.selector-panel > span { display:block; margin-bottom:14px; color:#ac6530; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.selector-panel ol { display:grid; gap:13px; margin:0; padding-left:22px; }
.selector-panel li { padding-left:5px; color:var(--ink-soft); }
.quick-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.quick-choice { display:grid; grid-template-columns:145px 1fr; overflow:hidden; min-height:230px; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:var(--shadow-sm); }
.quick-choice-art { position:relative; overflow:hidden; background:linear-gradient(180deg,#efc379,#a9c28e); }
.quick-choice-art::before { content:""; position:absolute; inset:auto -25% 0; height:68%; background:#337054; clip-path:polygon(0 100%,13% 56%,30% 78%,53% 23%,71% 70%,87% 40%,100% 77%,100% 100%); }
.quick-choice-art::after { content:""; position:absolute; left:47%; bottom:-5%; width:29%; height:55%; background:#69706c; clip-path:polygon(43% 0,58% 0,100% 100%,0 100%); }
.quick-choice.theme-river .quick-choice-art { background:linear-gradient(#a1d1d2,#78aa9b); }
.quick-choice.theme-heritage .quick-choice-art { background:linear-gradient(#edc077,#c18a55); }
.quick-choice.theme-beach .quick-choice-art { background:linear-gradient(#8fcfd1 0 54%,#eccf91 54%); }
.quick-choice.theme-coast .quick-choice-art { background:linear-gradient(#91ced0,#c3a36c); }
.quick-choice > div:last-child { padding:23px; }
.quick-choice p { margin:0 0 4px; color:#a75f2e; font-size:.72rem; font-weight:850; }
.quick-choice h3 { margin-bottom:15px; }
.quick-choice dl { margin:0 0 14px; }
.quick-choice dl div { display:grid; grid-template-columns:60px 1fr; gap:8px; margin:4px 0; }
.quick-choice dt { color:var(--muted); font-size:.74rem; }.quick-choice dd { margin:0; color:var(--ink-soft); font-size:.8rem; }
.quick-choice a { font-weight:800; font-size:.82rem; }
.compare-section { background:#f4f5eb; }
.compare-layout { display:grid; grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr); gap:55px; align-items:start; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); }
.travel-table { width:100%; border-collapse:collapse; }
.travel-table th,.travel-table td { padding:17px 19px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.travel-table th { background:#e8efe5; color:#294e3e; font-size:.78rem; }
.travel-table td { color:var(--ink-soft); font-size:.84rem; }
.travel-table tr:last-child td { border-bottom:0; }
.ad-ready-section { background:#fffaf0; }
.ad-ready-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:60px; align-items:center; }
.ad-ready-points { display:grid; gap:14px; }
.ad-ready-points > div { display:grid; grid-template-columns:54px 1fr; gap:15px; padding:19px; border:1px solid var(--line); border-radius:17px; background:#fff; }
.ad-ready-points b { color:#bd7540; font-size:1.1rem; }.ad-ready-points span { display:flex; flex-direction:column; }.ad-ready-points small { color:var(--muted); }

/* Article */
.article-page { background:#fff; }
.article-hero { padding:65px 0 70px; border-bottom:1px solid var(--line); background:linear-gradient(150deg,#fbf3dd,#f3f5e9); }
.article-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:55px; align-items:center; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; color:var(--muted); font-size:.78rem; }
.breadcrumbs a { color:var(--muted); }.breadcrumbs a:hover { color:var(--blue); }
.article-kicker { color:#ad6531; font-size:.76rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.article-hero-copy h1 { max-width:920px; font-size:clamp(2.55rem,4.6vw,4.6rem); }
.article-deck { max-width:840px; color:var(--ink-soft); font-size:1.12rem; }
.article-meta-large { margin-top:25px; font-size:.79rem; }
.article-hero-art { position:relative; min-height:365px; overflow:hidden; border-radius:28px; background:linear-gradient(180deg,#efc477 0 49%,#b8cc91 49%); box-shadow:var(--shadow-md); isolation:isolate; }
.article-art-sun { position:absolute; right:38px; top:34px; width:58px; height:58px; border-radius:50%; background:#fff0b9; }
.article-art-back,.article-art-front { position:absolute; inset:auto -10% 0; }
.article-art-back { z-index:1; height:66%; background:#679568; clip-path:polygon(0 100%,12% 61%,28% 75%,48% 19%,67% 72%,84% 38%,100% 77%,100% 100%); }
.article-art-front { z-index:2; height:45%; background:#28684e; clip-path:polygon(0 100%,0 66%,19% 32%,37% 71%,57% 31%,75% 68%,89% 43%,100% 73%,100% 100%); }
.article-art-road { position:absolute; z-index:3; left:40%; bottom:-6%; width:30%; height:54%; background:#66706b; clip-path:polygon(44% 0,57% 0,100% 100%,0 100%); }
.article-hero-art b { position:absolute; z-index:5; left:25px; bottom:21px; padding:7px 12px; border-radius:999px; background:rgba(255,253,247,.88); color:#285943; font-size:.77rem; }
.article-page.theme-beach .article-hero-art { background:linear-gradient(180deg,#8ecdd0 0 56%,#ecd093 56%); }
.article-page.theme-heritage .article-hero-art { background:linear-gradient(180deg,#edc17b,#c6935a); }
.article-page.theme-river .article-hero-art { background:linear-gradient(180deg,#a4d1d0,#76a996); }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:62px; padding-top:66px; padding-bottom:80px; }
.article-main { min-width:0; }
.article-summary-box { margin-bottom:34px; padding:22px 24px; border-left:4px solid #d39252; border-radius:0 16px 16px 0; background:#fff7e8; }
.article-summary-box p { margin:.3rem 0 0; color:var(--ink-soft); }
.article-content { color:#354f45; font-size:1.04rem; line-height:1.88; }
.article-content h2 { margin:2.25em 0 .7em; padding-top:.1em; font-size:clamp(1.55rem,2.3vw,2.1rem); }
.article-content h3 { margin:1.8em 0 .55em; font-size:1.33rem; }
.article-content p { margin-bottom:1.3em; }
.article-content ul { margin-bottom:1.5em; padding-left:1.35em; }
.article-content li { margin:.38em 0; padding-left:.25em; }
.article-content a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.article-content strong { color:#233f34; }
.article-disclaimer { margin-top:42px; padding:24px; border:1px solid #ead8b8; border-radius:17px; background:#fffaf0; }
.article-disclaimer p { margin:.4rem 0 0; color:var(--muted); font-size:.86rem; }
.article-aside { position:sticky; top:100px; align-self:start; display:grid; gap:17px; }
.aside-card { padding:23px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.aside-card > span { color:#ad6531; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.aside-card h2 { margin:.45rem 0 .7rem; font-size:1.25rem; }
.aside-checklist ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.aside-checklist li::before { content:"✓"; margin-right:8px; color:var(--green); font-weight:900; }
.aside-note { background:#244f40; color:#d7e4dc; }
.aside-note p { color:#d7e4dc; }.aside-note a { color:#f1c979; font-weight:800; }
.aside-links a { display:block; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:.84rem; font-weight:750; line-height:1.45; }
.aside-links a:last-child { border-bottom:0; }.aside-links a span { display:block; color:#b46c38; font-size:.65rem; }

/* Contact, about, policy, thank-you, setup */
.contact-methods { display:grid; gap:10px; padding:25px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.78); }
.contact-methods div { padding:12px 0; border-bottom:1px solid var(--line); }.contact-methods div:last-child { border-bottom:0; }
.contact-methods span,.contact-methods strong { display:block; }.contact-methods span { color:var(--muted); font-size:.7rem; font-weight:850; text-transform:uppercase; }.contact-methods strong { margin-top:3px; font-size:.94rem; }
.contact-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(450px,1.22fr); gap:58px; align-items:start; }
.contact-intro { position:sticky; top:110px; }
.check-list { display:grid; gap:9px; padding:0; list-style:none; }
.check-list li::before { content:"✓"; margin-right:10px; color:var(--green); font-weight:900; }
.reader-message-form { padding:33px; border-radius:24px; box-shadow:var(--shadow-md); }
.field label span { color:#b04937; }.field label small { color:var(--muted); font-weight:500; }
.form-note { margin:.8rem 0 0; color:var(--muted); font-size:.75rem; text-align:center; }
.about-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:58px; align-items:start; }
.about-contact-card { padding:29px; border-radius:22px; background:#214c3d; color:#d8e5dc; box-shadow:var(--shadow-md); }
.about-contact-card span,.about-contact-card strong,.about-contact-card a { display:block; }.about-contact-card span { color:#efc477; font-size:.7rem; font-weight:900; text-transform:uppercase; }.about-contact-card strong { margin:.6rem 0 1rem; color:#fff; font-size:1.35rem; }.about-contact-card a { margin:.5rem 0; color:#e4efe8; }
.editorial-section { background:#f2f4e9; }
.editorial-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.editorial-grid article { min-height:250px; padding:25px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.editorial-grid b { color:#c07a43; font-size:1.3rem; }.editorial-grid h3 { margin-top:1.8rem; }.editorial-grid p { color:var(--muted); font-size:.88rem; }
.editorial-policy { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); gap:58px; }
.policy-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:65px; align-items:start; }
.policy-index { position:sticky; top:105px; display:grid; gap:5px; padding:20px; border:1px solid var(--line); border-radius:17px; background:#fff; }
.policy-index strong { margin-bottom:7px; }.policy-index a { padding:7px 9px; border-radius:8px; color:var(--ink-soft); font-size:.82rem; }.policy-index a:hover { background:#edf3ea; }
.policy-content { max-width:850px; }
.policy-content section { margin-bottom:42px; scroll-margin-top:110px; }.policy-content h2 { margin-bottom:.7rem; font-size:1.75rem; }.policy-content p,.policy-content li { color:var(--ink-soft); }.policy-content.standalone { margin-inline:auto; }
.thank-you-section { display:grid; min-height:70vh; padding:80px 0; place-items:center; background:linear-gradient(145deg,#fbf3df,#edf3e7); }
.thank-you-card { width:min(100%,720px); padding:50px; border:1px solid var(--line); border-radius:30px; background:#fff; text-align:center; box-shadow:var(--shadow-md); }
.thank-you-mark { display:grid; width:74px; height:74px; margin:0 auto 22px; place-items:center; border-radius:50%; background:#e3f1e8; color:#237052; font-size:2rem; font-weight:900; }
.reference-box { display:inline-flex; flex-direction:column; margin:10px 0 4px; padding:12px 26px; border:1px solid var(--line); border-radius:13px; background:#f5f7f0; }.reference-box span { color:var(--muted); font-size:.68rem; }.reference-box strong { font-family:ui-monospace,monospace; }
.thank-you-card .hero-actions { justify-content:center; }.thank-you-card > small { display:block; color:var(--muted); }
.setup-page { min-height:100vh; padding:55px 22px; background:linear-gradient(145deg,#173b31,#285f4a); }
.setup-shell { width:min(100%,1120px); margin:auto; display:grid; grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); gap:50px; align-items:start; }
.setup-intro { position:sticky; top:40px; color:#dbe7df; }.setup-intro .brand { margin-bottom:48px; }.setup-intro .brand-copy strong { color:#fff; }.setup-intro .brand-copy small { color:#bfd2c6; }.setup-intro h1 { color:#fff; }.setup-intro p { color:#c8d9cf; }
.requirements { display:grid; gap:8px; margin:30px 0; }.requirements > div { display:flex; gap:10px; align-items:center; padding:10px 13px; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(255,255,255,.06); font-size:.85rem; }.requirements span { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#3b8364; color:#fff; }.requirements .bad span { background:#b84c4c; }
.setup-note { padding:15px; border-left:3px solid #efc578; background:rgba(255,255,255,.06); font-size:.8rem; }
.setup-card { padding:36px; border-radius:28px; background:#fff; box-shadow:var(--shadow-lg); }.setup-form hr { margin:27px 0; }.setup-form .button { margin-top:10px; }
.error-section { display:grid; min-height:66vh; padding:70px 0; place-items:center; background:#f6f5eb; }.error-card { max-width:680px; margin:auto; text-align:center; }.error-card > span { display:block; color:#c07b43; font-size:4rem; font-weight:900; }

/* Admin travel refinements */
.admin-sidebar { background:#16392f; }
.admin-sidebar-note { margin-top:auto; padding:15px; border:1px solid rgba(255,255,255,.12); border-radius:12px; color:#c9dacf; font-size:.72rem; }.admin-sidebar-note p { margin:.3rem 0 0; color:#abc3b5; }
.admin-brand .brand-mark { flex:0 0 42px; }.admin-brand > span:last-child { display:flex; flex-direction:column; }.admin-brand strong { color:#fff; }.admin-brand small { color:#a9c1b2; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:20px; }
.stats-grid article { padding:21px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow-sm); }.stats-grid span,.stats-grid small,.stats-grid strong { display:block; }.stats-grid span { color:var(--muted); font-size:.75rem; font-weight:800; }.stats-grid strong { margin:.35rem 0; font-size:2.1rem; }.stats-grid small { color:var(--muted); font-size:.68rem; }.stats-grid .accent-stat { background:#285d49; }.stats-grid .accent-stat span,.stats-grid .accent-stat small { color:#cfe0d5; }.stats-grid .accent-stat strong { color:#fff; }
.dashboard-grid { grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); }
.recent-leads { display:grid; }.recent-leads > a { display:grid; grid-template-columns:90px minmax(0,1fr) 105px; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); color:var(--ink); }.recent-leads > a:last-child { border-bottom:0; }.recent-leads div { min-width:0; }.recent-leads strong,.recent-leads small { display:block; }.recent-leads small { overflow:hidden; color:var(--muted); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }.recent-leads time { color:var(--muted); font-size:.7rem; text-align:right; }
.launch-checklist ul { display:grid; gap:12px; padding:0; list-style:none; }.launch-checklist li { display:grid; grid-template-columns:26px 1fr; gap:9px; font-size:.8rem; }.launch-checklist li span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#e7f0e8; color:#276149; font-size:.7rem; font-weight:900; }
.row-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }.row-actions form { display:inline; }.row-actions button { padding:0; border:0; background:none; color:#b63f4d; cursor:pointer; }
.auth-copy p:not(.eyebrow) { color:var(--muted); }.auth-brand { display:flex; align-items:center; gap:12px; }.auth-brand > span:last-child { display:flex; flex-direction:column; }.auth-brand strong { color:var(--ink); }.auth-brand small { color:var(--muted); }
.auth-shell { background:radial-gradient(circle at 20% 10%,rgba(232,183,102,.2),transparent 35%),linear-gradient(145deg,#15382e,#2a654f); }
.info-callout { border-color:#c5d9ca; background:#eef5ed; }

@media (max-width:1100px) {
    .travel-hero-grid { grid-template-columns:minmax(0,1fr) 420px; gap:34px; }
    .trip-card-grid { gap:18px; }
    .feature-grid.four,.editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .article-hero-grid { grid-template-columns:minmax(0,1.2fr) 330px; gap:35px; }
    .contact-layout { grid-template-columns:minmax(0,.7fr) minmax(430px,1.3fr); gap:38px; }
}
@media (max-width:900px) {
    .travel-hero-grid,.trip-selector-grid,.contact-hero-grid,.article-hero-grid,.compare-layout,.ad-ready-grid,.contact-layout,.about-layout,.editorial-policy,.policy-layout,.setup-shell { grid-template-columns:1fr; }
    .travel-hero-copy { text-align:center; }.travel-hero-copy .hero-lead { margin-inline:auto; }
    .travel-scene { width:min(100%,570px); min-height:460px; margin-inline:auto; }
    .trip-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .quick-choice-grid { grid-template-columns:1fr; }
    .article-hero-art { max-width:600px; width:100%; margin-inline:auto; }
    .article-layout { grid-template-columns:1fr; gap:35px; }
    .article-aside { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .contact-intro,.policy-index,.setup-intro { position:static; }
    .policy-index { display:none; }
    .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dashboard-grid { grid-template-columns:1fr; }
}
@media (max-width:680px) {
    .travel-hero,.travel-page-hero,.trip-selector-hero,.contact-hero { padding:58px 0 62px; }
    .travel-hero h1,.travel-page-hero h1,.trip-selector-hero h1,.contact-hero h1,.article-hero-copy h1 { font-size:clamp(2.45rem,12vw,3.55rem); }
    .travel-scene { min-height:355px; border-radius:30% 30% 22px 22px; }.scene-tree { transform:scale(.62); }.tree-b { transform:scale(.48); }.scene-sign { left:16px; bottom:20px; }.scene-car { bottom:55px; }
    .destination-strip .container { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-inline:4px; white-space:nowrap; }.destination-strip span:first-child::before { display:inline; }
    .section-head { align-items:flex-start; flex-direction:column; gap:8px; }
    .trip-card-grid,.feature-grid.four,.editorial-grid { grid-template-columns:1fr; }
    .trip-card-art { height:215px; }.trip-card-body { padding:21px; }
    .latest-item { grid-template-columns:46px 1fr; gap:12px; }.latest-arrow { display:none; }.latest-item p { display:none; }
    .quick-choice { grid-template-columns:105px 1fr; min-height:220px; }.quick-choice > div:last-child { padding:19px; }.quick-choice dl div { grid-template-columns:1fr; gap:0; }.quick-choice dt { margin-top:4px; }
    .article-search { flex-direction:column; }.article-search .button { width:100%; }
    .search-summary { align-items:flex-start; flex-wrap:wrap; }.search-summary a { width:100%; margin-left:0; }
    .article-hero { padding:45px 0 50px; }.article-hero-art { min-height:280px; }.article-layout { padding-top:45px; padding-bottom:60px; }.article-aside { grid-template-columns:1fr; }.article-content { font-size:1rem; }
    .reader-message-form,.setup-card,.thank-you-card { padding:25px 19px; }
    .contact-methods { padding:20px; }
    .stats-grid { grid-template-columns:1fr 1fr; gap:9px; }.stats-grid article { padding:15px; }.stats-grid strong { font-size:1.7rem; }
    .recent-leads > a { grid-template-columns:76px minmax(0,1fr); }.recent-leads time { display:none; }
    .table-wrap { margin-inline:-5px; }
}

/* Traffic Intelligence v2.1 */
.traffic-page-head { align-items:flex-start; }
.traffic-parity-lock { display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; align-items:start; margin-bottom:20px; padding:18px 20px; border:1px solid #bcd7c8; border-radius:16px; background:linear-gradient(135deg,#edf8f1,#f8fcf7); box-shadow:var(--shadow-sm); }
.traffic-lock-mark { display:grid; width:44px; height:44px; place-items:center; border-radius:14px; background:#247154; color:#fff; font-size:1.15rem; font-weight:900; }
.traffic-parity-lock strong { display:block; color:#174f3b; }
.traffic-parity-lock p { margin:.3rem 0 0; color:#4e685e; font-size:.82rem; }
.traffic-stat-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; margin-bottom:20px; }
.traffic-stat-grid article { position:relative; overflow:hidden; padding:19px; border:1px solid var(--line); border-radius:15px; background:#fff; box-shadow:var(--shadow-sm); }
.traffic-stat-grid article::after { content:""; position:absolute; right:-20px; bottom:-30px; width:80px; height:80px; border-radius:50%; background:rgba(27,98,75,.055); }
.traffic-stat-grid span,.traffic-stat-grid strong,.traffic-stat-grid small { display:block; position:relative; z-index:1; }
.traffic-stat-grid span { color:var(--muted); font-size:.7rem; font-weight:850; }
.traffic-stat-grid strong { margin:.25rem 0; font-size:1.95rem; line-height:1.15; }
.traffic-stat-grid small { color:var(--muted); font-size:.65rem; line-height:1.45; }
.traffic-stat-human { border-top:3px solid #27815f !important; }
.traffic-stat-google { border-top:3px solid #3576d8 !important; }
.traffic-stat-ai { border-top:3px solid #8759c5 !important; }
.traffic-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; }
.traffic-main-column { display:grid; gap:20px; min-width:0; }
.traffic-panel-head { align-items:flex-start; }
.traffic-live-indicator { display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; padding:6px 10px; border:1px solid #c6ddcd; border-radius:999px; background:#f0f8f2; color:#31634d; font-size:.7rem; font-weight:850; }
.traffic-live-indicator i { width:8px; height:8px; border-radius:50%; background:#2b9a68; box-shadow:0 0 0 4px rgba(43,154,104,.12); }
.traffic-filter-form { display:grid; grid-template-columns:105px 155px 135px minmax(240px,1fr) auto; gap:10px; align-items:end; margin-bottom:17px; padding:14px; border:1px solid var(--line); border-radius:12px; background:#f7f9f6; }
.traffic-filter-form .field { margin:0; }
.traffic-filter-form label { font-size:.7rem; }
.traffic-filter-form input,.traffic-filter-form select { min-height:41px; padding:8px 10px; font-size:.78rem; }
.traffic-filter-actions { display:flex; gap:7px; }
.traffic-filter-actions .button { min-height:41px; padding:8px 13px; font-size:.77rem; white-space:nowrap; }
.traffic-table-wrap { width:100%; max-width:100%; min-width:0; max-height:780px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; border:1px solid var(--line); border-radius:12px; }
.traffic-table { width:100%; min-width:880px; table-layout:fixed; }
.traffic-col-type { width:17%; }
.traffic-col-network { width:21%; }
.traffic-col-agent { width:21%; }
.traffic-col-request { width:29%; }
.traffic-col-result { width:12%; }
.traffic-table thead { position:sticky; z-index:2; top:0; background:#f5f8f5; }
.traffic-table th { white-space:nowrap; }
.traffic-table td { min-width:0; overflow:hidden; vertical-align:top; }
.traffic-table time,.traffic-table strong,.traffic-table span,.traffic-table small { display:block; }
.traffic-table td > strong,.traffic-table td > span,.traffic-table td > small { max-width:100%; overflow-wrap:anywhere; }
.traffic-table time { margin-bottom:7px; color:var(--muted); font-size:.67rem; white-space:nowrap; }
.traffic-table small { margin-top:4px; color:var(--muted); font-size:.65rem; line-height:1.45; }
.traffic-type-cell,.traffic-network-cell,.traffic-request-cell { min-width:0 !important; max-width:none; }
.traffic-network-cell > span,.traffic-ua,.traffic-request-cell strong,.traffic-request-cell small { overflow:hidden; text-overflow:ellipsis; }
.traffic-network-cell > span,.traffic-ua,.traffic-request-cell strong,.traffic-request-cell small { white-space:nowrap; }
.traffic-class-badge { display:inline-flex !important; width:max-content; max-width:100%; overflow:hidden; padding:5px 9px; border-radius:999px; background:#edf1f3; color:#415260; font-size:.65rem !important; font-weight:900; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.traffic-class-human { background:#e8f5ed; color:#26644b; }
.traffic-class-google_ads,.traffic-class-google_search,.traffic-class-google_other { background:#e9f1ff; color:#285ca7; }
.traffic-class-ai_bot { background:#f1ebfa; color:#7045a5; }
.traffic-class-generic_bot { background:#f1f2f3; color:#515d63; }
.traffic-class-spoofed_bot { background:#fff0e8; color:#a44e28; }
.traffic-device-badge { display:inline-flex !important; width:max-content; margin-bottom:6px; padding:3px 7px; border-radius:7px; background:#eef3ec; color:#52675a; font-size:.62rem !important; font-weight:850; }
.traffic-verified { color:#247153 !important; font-weight:850; }
.traffic-unverified { color:#9a5c36 !important; }
.traffic-muted { color:#8a9490; font-style:italic; }
.traffic-status { display:inline-grid !important; width:44px; height:27px; margin-bottom:5px; place-items:center; border-radius:8px; font-size:.67rem; font-weight:900; }
.traffic-status-ok { background:#e7f5ec; color:#246247; }
.traffic-status-redirect { background:#fff6db; color:#84601c; }
.traffic-status-bad { background:#ffebee; color:#a92d40; }
.traffic-guard { color:#8258a5 !important; font-weight:800; }
.traffic-rule-list { display:grid; gap:10px; }
.traffic-rule-card { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fbfcfa; }
.traffic-rule-card.is-disabled { opacity:.58; }
.traffic-rule-priority { display:grid; width:43px; height:43px; place-items:center; border-radius:12px; background:#e8f0e9; color:#315c48; font-weight:900; }
.traffic-rule-copy { min-width:0; }
.traffic-rule-copy > div { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.traffic-rule-copy p { margin:.25rem 0; color:var(--ink-soft); font-size:.75rem; }
.traffic-rule-copy small { display:block; color:var(--muted); font-size:.67rem; line-height:1.55; }
.traffic-action-badge { display:inline-flex; padding:3px 7px; border-radius:999px; background:#edf1f4; color:#52606b; font-size:.61rem; font-weight:850; }
.traffic-action-deny { background:#ffeaed; color:#a42b40; }
.traffic-action-redirect { background:#fff1dc; color:#9a5a18; }
.traffic-action-allow { background:#e8f5ed; color:#246247; }
.traffic-rule-actions { display:flex; gap:6px; }
.traffic-rule-actions form { margin:0; }
.traffic-empty-inline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px; border:1px dashed #becbc1; border-radius:12px; background:#f8faf7; }
.traffic-empty-inline span { color:var(--muted); font-size:.76rem; }
.traffic-rule-form { padding:16px; border:1px solid var(--line); border-radius:13px; background:#fafbf8; }
.traffic-rule-match-grid { grid-template-columns:1fr 1.5fr .75fr; }
.traffic-rule-form .check-field { margin-bottom:12px; }
.traffic-inspector-panel,.traffic-feed-panel,.danger-panel { overflow:hidden; }
.traffic-inspect-result { display:grid; gap:0; margin:15px 0 0; border:1px solid var(--line); border-radius:11px; background:#f8faf7; }
.traffic-inspect-result div { display:grid; grid-template-columns:105px minmax(0,1fr); gap:10px; padding:9px 11px; border-bottom:1px solid var(--line); }
.traffic-inspect-result div:last-child { border-bottom:0; }
.traffic-inspect-result dt { color:var(--muted); font-size:.66rem; font-weight:850; }
.traffic-inspect-result dd { overflow-wrap:anywhere; margin:0; font-size:.7rem; }
.form-alert.traffic-inspect-result { display:block; }
.traffic-scope-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-bottom:13px; }
.traffic-scope-summary div { padding:10px 7px; border:1px solid var(--line); border-radius:9px; background:#f7f9f6; text-align:center; }
.traffic-scope-summary span,.traffic-scope-summary strong { display:block; }
.traffic-scope-summary span { color:var(--muted); font-size:.59rem; }
.traffic-scope-summary strong { margin-top:2px; font-size:.72rem; }
.traffic-page-feed-preview { margin-top:12px; }
.traffic-page-feed-preview summary { color:#315a49; font-size:.73rem; font-weight:850; cursor:pointer; }
.traffic-page-feed-preview ol { max-height:250px; overflow:auto; margin:10px 0 0; padding-left:24px; }
.traffic-page-feed-preview li { margin-bottom:8px; font-size:.65rem; }
.traffic-page-feed-preview li span,.traffic-page-feed-preview li code { display:block; }
.traffic-page-feed-preview li span { color:var(--muted); font-weight:800; }
.traffic-page-feed-preview code { overflow-wrap:anywhere; }
.danger-panel form + form { margin-top:9px; }
.traffic-settings-panel { margin-top:20px; }
.traffic-settings-grid { display:grid; grid-template-columns:1fr 1fr .78fr; gap:24px; }
.traffic-settings-grid > section { min-width:0; padding-right:24px; border-right:1px solid var(--line); }
.traffic-settings-grid > section:last-child { padding-right:0; border-right:0; }
.traffic-settings-grid h3 { font-size:1rem; }
.traffic-settings-grid .check-field > span { display:flex; flex-direction:column; }
.traffic-settings-grid .check-field strong { font-size:.82rem; }
.traffic-settings-grid .check-field small { color:var(--muted); font-size:.68rem; }
.traffic-safe-note { margin-bottom:15px; padding:13px; border-left:3px solid #d09b48; border-radius:0 9px 9px 0; background:#fff8e9; }
.traffic-safe-note strong { color:#74511e; font-size:.77rem; }
.traffic-safe-note p { margin:.25rem 0 0; color:#705f44; font-size:.69rem; }
.traffic-class-reference { display:grid; gap:6px; margin:17px 0; }
.traffic-class-reference h4 { margin-bottom:5px; font-size:.85rem; }
.traffic-class-reference div { display:grid; grid-template-columns:125px minmax(0,1fr); gap:8px; align-items:center; padding:6px 8px; border:1px solid var(--line); border-radius:8px; }
.traffic-class-reference code { font-size:.66rem; }
.traffic-class-reference span { color:var(--muted); font-size:.68rem; }
.traffic-settings-actions { display:flex; gap:9px; justify-content:flex-end; margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }

@media (max-width:1280px) {
    .traffic-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .traffic-layout { grid-template-columns:minmax(0,1fr) 300px; }
    .traffic-filter-form { grid-template-columns:100px 145px 130px minmax(220px,1fr); }
    .traffic-filter-actions { grid-column:1/-1; justify-content:flex-end; }
    .traffic-settings-grid { grid-template-columns:1fr 1fr; }
    .traffic-settings-grid > section:nth-child(2) { padding-right:0; border-right:0; }
    .traffic-settings-grid > section:last-child { grid-column:1/-1; padding-top:20px; border-top:1px solid var(--line); }
    .traffic-class-reference { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .traffic-class-reference h4 { grid-column:1/-1; }
}
@media (max-width:1020px) {
    .traffic-layout { grid-template-columns:1fr; }
    .traffic-filter-form { grid-template-columns:repeat(3,1fr); }
    .traffic-search-field { grid-column:1/-1; }
    .traffic-rule-card { grid-template-columns:48px minmax(0,1fr); }
    .traffic-rule-actions { grid-column:2; }
}
@media (max-width:760px) {
    .traffic-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .traffic-parity-lock { grid-template-columns:38px minmax(0,1fr); padding:15px; }
    .traffic-lock-mark { width:36px; height:36px; border-radius:10px; }
    .traffic-settings-grid { grid-template-columns:1fr; }
    .traffic-settings-grid > section:last-child { grid-column:auto; }
    .traffic-settings-grid > section { padding:0 0 19px; border-right:0; border-bottom:1px solid var(--line); }
    .traffic-settings-grid > section:last-child { padding-bottom:0; border-top:0; border-bottom:0; }
    .traffic-class-reference { grid-template-columns:1fr; }
    .traffic-class-reference h4 { grid-column:auto; }
    .traffic-filter-form { grid-template-columns:1fr 1fr; }
    .traffic-search-field,.traffic-filter-actions { grid-column:1/-1; }
    .traffic-filter-actions { justify-content:stretch; }
    .traffic-filter-actions .button { flex:1; }
    .traffic-rule-match-grid { grid-template-columns:1fr; }
    .traffic-rule-card { grid-template-columns:42px minmax(0,1fr); padding:12px; }
    .traffic-rule-priority { width:38px; height:38px; }
    .traffic-rule-actions { grid-column:1/-1; justify-content:flex-end; }
    .traffic-empty-inline { align-items:flex-start; flex-direction:column; }
    .traffic-settings-actions { flex-direction:column; }
}
@media (max-width:480px) {
    .traffic-stat-grid { grid-template-columns:1fr 1fr; gap:8px; }
    .traffic-stat-grid article { padding:14px; }
    .traffic-stat-grid strong { font-size:1.55rem; }
    .traffic-filter-form { grid-template-columns:1fr; }
    .traffic-search-field,.traffic-filter-actions { grid-column:auto; }
    .traffic-filter-actions { flex-direction:column; }
    .traffic-scope-summary { grid-template-columns:1fr; }
}

/* v2.3 — dedicated Google Ads pages and administrator handbook */
.google-ads-public-page { background:#f6f8f4; }
.ad-site-header { position:sticky; z-index:100; top:0; border-bottom:1px solid rgba(219,227,238,.92); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.ad-site-header-inner { display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:28px; }
.ad-site-nav { display:flex; align-items:center; gap:7px; }
.ad-site-nav > a:not(.button) { padding:8px 11px; border-radius:8px; color:var(--ink-soft); font-size:.86rem; font-weight:750; }
.ad-site-nav > a:not(.button):hover { background:var(--paper-blue); color:var(--blue); }
.ad-article-page { background:#fff; }
.ad-article-hero { padding-top:74px; }
.ad-landing-facts { display:flex; flex-wrap:wrap; gap:9px; margin-top:24px; }
.ad-landing-facts span { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid #cbdccf; border-radius:999px; background:#f1f8f3; color:#286146; font-size:.71rem; font-weight:850; }
.ad-landing-facts span::before { content:"✓"; font-weight:950; }
.ad-compliance-links a span { color:var(--muted); }
.ad-site-footer { padding:32px 0; border-top:1px solid var(--line); background:#08172d; color:#d6e0ed; }
.ad-site-footer-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:start; }
.ad-site-footer strong { display:block; margin-bottom:7px; color:#fff; }
.ad-site-footer p { max-width:760px; margin:0; color:#9fb1c9; font-size:.78rem; }
.ad-site-footer nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 14px; }
.ad-site-footer a,.ad-site-footer button { padding:0; border:0; background:none; color:#c5d3e4; font-size:.74rem; cursor:pointer; }
.ad-site-footer a:hover,.ad-site-footer button:hover { color:#fff; }

.dashboard-side-stack { display:grid; gap:20px; }
.dashboard-quick-actions { display:grid; gap:9px; }
.admin-parity-card { margin-bottom:20px; }
.ad-page-stats strong { font-size:1.25rem; line-height:1.25; overflow-wrap:anywhere; }
.ad-scope-setup-panel { margin-bottom:20px; }
.ad-scope-setup-actions { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#f8faf7; }
.ad-scope-setup-actions p { max-width:820px; margin:0; color:var(--muted); font-size:.78rem; }
.ad-scope-setup-actions form { flex:0 0 auto; margin:0; }
.ad-pages-table { min-width:1120px; }
.ad-pages-table td { vertical-align:top; }
.ad-final-url { display:block; max-width:460px; overflow-wrap:anywhere; padding:8px 10px; border:1px solid #d9e1eb; border-radius:8px; background:#f5f7fa; font-size:.68rem; line-height:1.55; }
.ad-url-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }
[data-copy-value].is-copied { border-color:#7bc4a2; background:#eaf8f0; color:#1e6a49; }
.ad-device-scope { display:grid; gap:6px; min-width:185px; }
.ad-device-scope span { display:block; padding:5px 8px; border-radius:8px; font-size:.65rem; font-weight:850; }
.ad-device-scope .is-allowed { background:#e9f7ef; color:#28684b; }
.ad-device-scope .is-missing { background:#fff2df; color:#8b5b19; }
.ad-final-url-help { margin-top:20px; }
.ad-final-url-help ol { margin-bottom:0; }
.ad-final-url-help li { margin-bottom:9px; color:var(--ink-soft); }

.admin-guide-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:20px; align-items:start; }
.admin-guide-nav { position:sticky; top:92px; display:grid; gap:4px; padding:16px; }
.admin-guide-nav > strong { margin-bottom:8px; padding:5px 8px; color:var(--ink); font-size:.82rem; }
.admin-guide-nav a { padding:8px 9px; border-radius:8px; color:var(--ink-soft); font-size:.72rem; font-weight:750; }
.admin-guide-nav a:hover { background:var(--paper-blue); color:var(--blue); }
.admin-guide-content { display:grid; gap:20px; min-width:0; }
.admin-guide-content .admin-panel { scroll-margin-top:92px; }
.admin-guide-content h2 { font-size:1.55rem; }
.admin-guide-content h3 { margin-top:1.25rem; font-size:1rem; }
.admin-guide-content p,.admin-guide-content li { color:var(--ink-soft); font-size:.82rem; }
.admin-guide-content li { margin-bottom:6px; }
.admin-guide-content pre { overflow:auto; margin:12px 0 18px; padding:15px; border:1px solid #d3deeb; border-radius:11px; background:#0b1b32; color:#dbe8f7; line-height:1.65; }
.admin-guide-content pre code { padding:0; background:transparent; color:inherit; font-size:.72rem; }
.guide-status-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.guide-status-grid div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:10px; background:#f8faf7; }
.guide-status-grid span,.guide-status-grid strong { display:block; }
.guide-status-grid span { color:var(--muted); font-size:.64rem; font-weight:800; }
.guide-status-grid strong { margin-top:3px; overflow-wrap:anywhere; font-size:.78rem; }
.guide-callout { margin:16px 0; padding:14px 16px; border-left:4px solid #d4a14c; border-radius:0 10px 10px 0; background:#fff8e9; }
.guide-callout strong { display:block; margin-bottom:3px; color:#76531c; font-size:.8rem; }
.guide-callout p { margin:0; color:#6b5c42; font-size:.74rem; }
.guide-callout pre { margin:8px 0; }
.guide-callout-good { border-left-color:#319369; background:#edf9f2; }
.guide-callout-good strong { color:#24674a; }
.guide-callout-good p { color:#456b58; }
.guide-callout-danger { border-left-color:#cc4055; background:#fff0f2; }
.guide-callout-danger strong { color:#9b263b; }
.guide-callout-danger p { color:#79535a; }
.guide-two-column { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0; }
.guide-two-column > div { min-width:0; padding:15px; border:1px solid var(--line); border-radius:11px; background:#fafbf9; }
.guide-two-column h3 { margin-top:0; }
.guide-two-column code { display:block; overflow-wrap:anywhere; }
.guide-definition-list { display:grid; gap:8px; margin:14px 0; }
.guide-definition-list > div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:14px; padding:11px 12px; border:1px solid var(--line); border-radius:9px; background:#fafbf9; }
.guide-definition-list dt { color:var(--ink); font-size:.75rem; font-weight:850; }
.guide-definition-list dd { margin:0; color:var(--muted); font-size:.74rem; }
.guide-do-dont { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.guide-do-dont > div { padding:16px; border-radius:12px; }
.guide-do-dont h3 { margin-top:0; }
.guide-do { border:1px solid #b9ddc8; background:#eff9f3; }
.guide-dont { border:1px solid #edc1c8; background:#fff2f4; }

/* v2.3.3 — Google Ads headline/description generator */
.ads-generator-picker { margin-bottom:20px; }
.ads-generator-select-form { display:flex; align-items:end; gap:12px; }
.ads-generator-select-form .field { flex:1 1 620px; margin:0; }
.ads-generator-source-card,.ads-generator-presets { margin-bottom:20px; }
.ads-generator-source-card .panel-head p { max-width:920px; }
.ads-generator-source-meta { display:grid; grid-template-columns:2fr repeat(3,minmax(130px,1fr)); gap:10px; }
.ads-generator-source-meta > div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:10px; background:#f8faf7; }
.ads-generator-source-meta span,.ads-generator-source-meta strong,.ads-generator-source-meta code { display:block; }
.ads-generator-source-meta span { color:var(--muted); font-size:.62rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.ads-generator-source-meta strong,.ads-generator-source-meta code { margin-top:4px; overflow-wrap:anywhere; color:var(--ink); font-size:.75rem; }
.ads-preset-actions { display:flex; flex-wrap:wrap; gap:9px; }
.ads-generator-errors { margin-bottom:20px; }
.ads-generator-errors strong { display:block; margin-bottom:6px; }
.ads-generator-errors ul { margin:0; padding-left:20px; }
.ads-generator-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:20px; align-items:start; }
.ads-generator-fields,.ads-generator-sidebar { display:grid; gap:20px; min-width:0; }
.ads-generator-sidebar { position:sticky; top:92px; }
.ads-asset-list { display:grid; gap:10px; }
.ads-asset-row { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; align-items:start; padding:10px; border:1px solid var(--line); border-radius:10px; background:#fafbf9; }
.ads-asset-row label { padding-top:10px; color:var(--ink); font-size:.72rem; font-weight:850; }
.ads-asset-row label span { display:block; margin-top:3px; color:var(--blue); font-size:.58rem; font-weight:800; }
.ads-asset-input-wrap { position:relative; }
.ads-asset-input-wrap input,.ads-asset-input-wrap textarea { padding-right:58px; background:#fff; }
.ads-asset-input-wrap textarea { resize:vertical; }
.ads-asset-input-wrap > small { position:absolute; right:10px; top:9px; padding:3px 5px; border-radius:6px; background:#edf2f7; color:var(--muted); font-size:.6rem; font-weight:800; }
.ads-description-row .ads-asset-input-wrap > small { top:auto; bottom:9px; }
.ads-asset-row.has-error { border-color:#e5a9b2; background:#fff6f7; }
[data-ads-asset].is-near-limit { border-color:#d5a24e; box-shadow:0 0 0 2px rgba(213,162,78,.12); }
[data-ads-asset].is-over-limit { border-color:var(--red); box-shadow:0 0 0 2px rgba(199,47,70,.12); }
.ads-path-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ads-preview-panel { overflow:hidden; }
.ads-search-preview { margin:12px 0; padding:18px; border:1px solid #dfe3e8; border-radius:13px; background:#fff; box-shadow:0 8px 24px rgba(16,39,68,.06); }
.ads-preview-sponsored { color:#202124; font-size:.64rem; font-weight:800; }
.ads-preview-url { margin-top:5px; color:#202124; font-size:.68rem; overflow-wrap:anywhere; }
.ads-search-preview h3 { margin:7px 0 5px; color:#1a0dab; font-family:Arial,sans-serif; font-size:1.12rem; font-weight:400; line-height:1.25; }
.ads-search-preview p { margin:0; color:#4d5156; font-family:Arial,sans-serif; font-size:.76rem; line-height:1.45; }
.ads-generator-actions h2,.danger-zone-lite h2 { margin-bottom:12px; font-size:1.05rem; }
.ads-generator-actions { display:grid; gap:9px; }
.ads-generator-actions h2 { margin-bottom:3px; }
.danger-zone-lite { border-color:#efc8ce; background:#fff8f9; }
.danger-zone-lite p { color:var(--muted); font-size:.72rem; }
[data-copy-asset-group].is-copied { border-color:#7bc4a2; background:#eaf8f0; color:#1e6a49; }

@media (max-width:1080px) {
    .ads-generator-grid { grid-template-columns:minmax(0,1fr) 300px; }
    .ads-generator-source-meta { grid-template-columns:1fr 1fr; }
    .admin-guide-layout { grid-template-columns:210px minmax(0,1fr); }
    .guide-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
    .ads-generator-grid { grid-template-columns:1fr; }
    .ads-generator-sidebar { position:static; }
    .ad-site-header-inner { min-height:68px; }
    .ad-site-nav > a:not(.button) { display:none; }
    .admin-guide-layout { grid-template-columns:1fr; }
    .admin-guide-nav { position:static; grid-template-columns:repeat(3,minmax(0,1fr)); }
    .admin-guide-nav > strong { grid-column:1/-1; }
    .ad-scope-setup-actions { align-items:flex-start; flex-direction:column; }
}
@media (max-width:680px) {
    .ads-generator-source-meta,.ads-path-grid { grid-template-columns:1fr; }
    .ads-asset-row { grid-template-columns:1fr; gap:5px; }
    .ads-asset-row label { padding-top:0; }
    .ads-generator-select-form { align-items:stretch; flex-direction:column; }
    .ad-site-header .brand-copy small { max-width:165px; }
    .ad-site-nav .button { min-height:37px; padding:7px 10px; font-size:.72rem; }
    .ad-site-footer-inner { grid-template-columns:1fr; }
    .ad-site-footer nav { justify-content:flex-start; }
    .ad-landing-facts { display:grid; grid-template-columns:1fr; }
    .guide-two-column,.guide-do-dont { grid-template-columns:1fr; }
    .guide-definition-list > div { grid-template-columns:1fr; gap:3px; }
    .admin-guide-nav { grid-template-columns:1fr 1fr; }
}
@media (max-width:480px) {
    .ad-site-header .brand-copy small { display:none; }
    .ad-site-header .brand-mark { width:38px; height:38px; }
    .guide-status-grid,.admin-guide-nav { grid-template-columns:1fr; }
}

/* v2.3.4 — Traffic writer runtime health and public-request self-test */
.traffic-health-panel { margin-bottom:20px; border-top:4px solid #2e8d66; }
.traffic-health-panel.traffic-health-bad { border-top-color:#ca4358; background:linear-gradient(180deg,#fffafb,#fff); }
.traffic-health-panel .panel-head { align-items:flex-start; }
.traffic-health-panel .panel-head form { flex:0 0 auto; margin:0; }
.traffic-health-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.traffic-health-grid > div { min-width:0; padding:12px; border:1px solid var(--line); border-radius:11px; background:#f8faf7; }
.traffic-health-bad .traffic-health-grid > div { background:#fffafb; }
.traffic-health-grid span,.traffic-health-grid strong,.traffic-health-grid code,.traffic-health-grid small { display:block; }
.traffic-health-grid span { color:var(--muted); font-size:.63rem; font-weight:850; }
.traffic-health-grid strong { margin-top:3px; color:var(--ink); font-size:.8rem; overflow-wrap:anywhere; }
.traffic-health-grid code { margin-top:5px; overflow-wrap:anywhere; font-size:.62rem; }
.traffic-health-grid small { margin-top:4px; color:var(--muted); font-size:.62rem; line-height:1.45; }
.traffic-health-errors { margin-top:13px; padding:12px 14px; border:1px solid #edbdc5; border-radius:10px; background:#fff1f3; color:#7f2d3b; }
.traffic-health-errors strong { display:block; font-size:.76rem; }
.traffic-health-errors p,.traffic-health-errors li,.traffic-health-errors small { font-size:.69rem; }
.traffic-health-errors ul { margin:7px 0 0; padding-left:20px; }
.traffic-health-errors code,.traffic-health-errors small { display:block; margin-top:6px; overflow-wrap:anywhere; }
.traffic-health-details { margin-top:13px; }
.traffic-health-details summary { color:#315a49; font-size:.73rem; font-weight:850; cursor:pointer; }
.traffic-live-indicator.is-error { border-color:#efc0c7; background:#fff0f2; color:#9b2e40; }
.traffic-live-indicator.is-error i { background:#ca4358; box-shadow:0 0 0 4px rgba(202,67,88,.12); }

@media (max-width:1020px) {
    .traffic-health-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
    .traffic-health-panel .panel-head { align-items:stretch; flex-direction:column; }
    .traffic-health-panel .panel-head form,.traffic-health-panel .panel-head .button { width:100%; }
    .traffic-health-grid { grid-template-columns:1fr; }
}

/* v2.3.5 — Compact IP inspector drawer */
.traffic-inspector-shell {
    position:fixed;
    z-index:1300;
    inset:0;
    visibility:hidden;
    pointer-events:none;
    transition:visibility 0s linear .22s;
}
.traffic-inspector-shell.is-open {
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
}
.traffic-inspector-backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(13,34,28,.08);
    opacity:0;
    cursor:default;
    transition:opacity .2s ease;
}
.traffic-inspector-shell.is-open .traffic-inspector-backdrop { opacity:1; }
.traffic-inspector-drawer {
    position:absolute;
    top:14px;
    right:14px;
    bottom:14px;
    display:flex;
    width:min(420px,calc(100vw - 28px));
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 70px rgba(24,54,44,.22);
    transform:translateX(calc(100% + 30px));
    transition:transform .22s ease;
}
.traffic-inspector-shell.is-open .traffic-inspector-drawer { transform:translateX(0); }
.traffic-inspector-drawer-head {
    display:flex;
    flex:0 0 auto;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:20px 20px 17px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fbfdfb,#f5f8f5);
}
.traffic-inspector-drawer-head .eyebrow { margin-bottom:4px; }
.traffic-inspector-drawer-head h2 { margin:0; font-size:1.3rem; }
.traffic-inspector-drawer-head p:last-child { margin:.25rem 0 0; color:var(--muted); font-size:.72rem; }
.traffic-inspector-close {
    display:grid;
    width:40px;
    height:40px;
    flex:0 0 40px;
    place-items:center;
    padding:0;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    color:var(--ink-soft);
    font:700 1.45rem/1 system-ui,sans-serif;
    cursor:pointer;
}
.traffic-inspector-close:hover,.traffic-inspector-close:focus-visible { border-color:#9bb8aa; background:#edf5f0; color:#245c47; }
.traffic-inspector-drawer-body {
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:18px 20px 24px;
    overscroll-behavior:contain;
}
.traffic-inspector-form { margin:0; }
.traffic-inspector-form .field { margin-bottom:12px; }
.traffic-inspector-result-block { margin-top:18px; }
.traffic-inspector-result-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:9px; }
.traffic-inspector-result-title strong { font-size:.83rem; }
.traffic-inspector-result-title span { padding:4px 8px; border-radius:999px; background:#e9f5ee; color:#286449; font-size:.62rem; font-weight:850; }
.traffic-inspector-result-block .traffic-inspect-result { margin-top:0; }
.traffic-inspector-result-block .traffic-inspect-result div { grid-template-columns:118px minmax(0,1fr); padding:11px 12px; }
.traffic-inspector-result-block .traffic-inspect-result dt { font-size:.67rem; }
.traffic-inspector-result-block .traffic-inspect-result dd { min-width:0; font-size:.73rem; word-break:break-word; overflow-wrap:anywhere; }
.traffic-inspector-empty { margin-top:18px; padding:16px; border:1px dashed #bdcbc3; border-radius:12px; background:#f8faf7; }
.traffic-inspector-empty strong { display:block; font-size:.8rem; }
.traffic-inspector-empty p { margin:.35rem 0 0; color:var(--muted); font-size:.7rem; line-height:1.55; }

@media (max-width:760px) {
    body.traffic-inspector-is-open { overflow:hidden; }
    .traffic-inspector-backdrop { background:rgba(13,34,28,.16); }
    .traffic-inspector-drawer {
        top:auto;
        right:0;
        bottom:0;
        left:0;
        width:100%;
        max-height:84vh;
        border-right:0;
        border-bottom:0;
        border-left:0;
        border-radius:20px 20px 0 0;
        transform:translateY(calc(100% + 24px));
    }
    .traffic-inspector-shell.is-open .traffic-inspector-drawer { transform:translateY(0); }
    .traffic-inspector-drawer-head { padding:16px 16px 14px; }
    .traffic-inspector-drawer-body { padding:15px 16px 22px; }
    .traffic-inspector-result-block .traffic-inspect-result div { grid-template-columns:105px minmax(0,1fr); }
}
@media (max-width:480px) {
    .traffic-inspector-drawer { max-height:88vh; }
    .traffic-inspector-drawer-head h2 { font-size:1.15rem; }
    .traffic-inspector-result-block .traffic-inspect-result div { grid-template-columns:1fr; gap:3px; }
}
@media (prefers-reduced-motion:reduce) {
    .traffic-inspector-shell,.traffic-inspector-backdrop,.traffic-inspector-drawer { transition:none; }
}
.traffic-page-head .admin-head-actions { flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:760px) {
    .traffic-page-head .admin-head-actions { justify-content:stretch; }
}

/* v2.3.6 — On-demand Traffic utility drawer */
.traffic-layout-main-only,
.traffic-layout-main-only .traffic-main-column,
.traffic-layout-main-only #traffic-log { width:100%; max-width:100%; min-width:0; }
.traffic-layout-main-only { grid-template-columns:minmax(0,1fr); }
.traffic-layout-main-only #traffic-log { overflow:hidden; }
.traffic-tool-launchers {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow-sm);
}
.traffic-tool-launchers > div:first-child { display:flex; min-width:0; flex-direction:column; }
.traffic-tool-launchers strong { font-size:.82rem; }
.traffic-tool-launchers span { color:var(--muted); font-size:.69rem; }
.traffic-tool-launcher-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:8px; }
.traffic-tool-launcher-actions .button { min-height:40px; padding:8px 13px; font-size:.73rem; }
.traffic-tools-shell {
    position:fixed;
    z-index:1320;
    inset:0;
    visibility:hidden;
    pointer-events:none;
    transition:visibility 0s linear .22s;
}
.traffic-tools-shell.is-open {
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
}
.traffic-tools-backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:0;
    border:0;
    background:rgba(13,34,28,.1);
    opacity:0;
    cursor:default;
    transition:opacity .2s ease;
}
.traffic-tools-shell.is-open .traffic-tools-backdrop { opacity:1; }
.traffic-tools-drawer {
    position:absolute;
    top:14px;
    right:14px;
    bottom:14px;
    display:flex;
    width:min(480px,calc(100vw - 28px));
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 70px rgba(24,54,44,.24);
    transform:translateX(calc(100% + 30px));
    transition:transform .22s ease;
}
.traffic-tools-shell.is-open .traffic-tools-drawer { transform:translateX(0); }
.traffic-tools-drawer-head {
    display:flex;
    flex:0 0 auto;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:20px 20px 17px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fbfdfb,#f5f8f5);
}
.traffic-tools-drawer-head .eyebrow { margin-bottom:4px; }
.traffic-tools-drawer-head h2 { margin:0; font-size:1.3rem; }
.traffic-tools-drawer-head p:last-child { margin:.25rem 0 0; color:var(--muted); font-size:.72rem; }
.traffic-tools-close {
    display:grid;
    width:40px;
    height:40px;
    flex:0 0 40px;
    place-items:center;
    padding:0;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
    color:var(--ink-soft);
    font:700 1.45rem/1 system-ui,sans-serif;
    cursor:pointer;
}
.traffic-tools-close:hover,.traffic-tools-close:focus-visible { border-color:#9bb8aa; background:#edf5f0; color:#245c47; }
.traffic-tools-drawer-body {
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:18px 20px 24px;
    overscroll-behavior:contain;
}
.traffic-tool-panel { min-width:0; }
.traffic-tool-panel .panel-head { margin-bottom:15px; }
.traffic-tool-panel .panel-head h3 { margin:0; font-size:1.08rem; }
.traffic-tool-panel .panel-head p { margin:.25rem 0 0; color:var(--muted); font-size:.72rem; }
.traffic-tools-warning { margin-bottom:16px; padding:13px; border-left:3px solid var(--red); border-radius:0 10px 10px 0; background:#fff1f3; }
.traffic-tools-warning strong { color:#9c2d40; font-size:.76rem; }
.traffic-tools-warning p { margin:.25rem 0 0; color:#80535b; font-size:.69rem; }
.traffic-tool-panel.danger-panel form + form { margin-top:9px; }
body.traffic-tools-is-open { overflow:hidden; }

@media (max-width:760px) {
    .traffic-tool-launchers { align-items:stretch; flex-direction:column; }
    .traffic-tool-launcher-actions { display:grid; grid-template-columns:1fr 1fr; }
    .traffic-tools-backdrop { background:rgba(13,34,28,.18); }
    .traffic-tools-drawer {
        top:auto;
        right:0;
        bottom:0;
        left:0;
        width:100%;
        max-height:84vh;
        border-right:0;
        border-bottom:0;
        border-left:0;
        border-radius:20px 20px 0 0;
        transform:translateY(calc(100% + 24px));
    }
    .traffic-tools-shell.is-open .traffic-tools-drawer { transform:translateY(0); }
    .traffic-tools-drawer-head { padding:16px 16px 14px; }
    .traffic-tools-drawer-body { padding:15px 16px 22px; }
}
@media (max-width:480px) {
    .traffic-tool-launcher-actions { grid-template-columns:1fr; }
    .traffic-tools-drawer { max-height:88vh; }
    .traffic-tools-drawer-head h2 { font-size:1.15rem; }
    .traffic-scope-summary { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
    .traffic-tools-shell,.traffic-tools-backdrop,.traffic-tools-drawer { transition:none; }
}

/* v2.3.7 — Google Ads landing page checker */
.google-ads-check-form { margin:0; padding:14px; border:1px solid var(--line); border-radius:12px; background:#f7f9f6; }
.google-ads-check-form .field { margin-bottom:11px; }
.google-ads-check-form input { font-size:.72rem; }
.google-ads-checker-explain { margin-top:14px; padding:13px 14px; border-left:3px solid #3c78d8; border-radius:0 10px 10px 0; background:#f0f5ff; }
.google-ads-checker-explain strong { display:block; color:#244f91; font-size:.77rem; }
.google-ads-checker-explain p { margin:.3rem 0; color:#4e6382; font-size:.68rem; line-height:1.55; }
.google-ads-checker-explain a { font-size:.67rem; font-weight:800; }
.google-ads-check-result { margin-top:16px; padding:14px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.google-ads-check-result-pass { border-color:#a8d3bb; background:#f7fcf9; }
.google-ads-check-result-warn { border-color:#e1c98c; background:#fffdf6; }
.google-ads-check-result-fail { border-color:#e5aebb; background:#fffafb; }
.google-ads-check-result-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; }
.google-ads-check-result-head > div:first-child span,.google-ads-check-result-head > div:first-child strong { display:block; }
.google-ads-check-result-head > div:first-child span { color:var(--muted); font-size:.62rem; font-weight:800; }
.google-ads-check-result-head > div:first-child strong { margin-top:2px; font-size:1.05rem; }
.google-ads-check-counts { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.google-ads-check-counts span { padding:4px 7px; border-radius:999px; font-size:.58rem; font-weight:900; }
.google-ads-check-counts .is-pass { background:#e4f4ea; color:#246248; }
.google-ads-check-counts .is-warn { background:#fff0c8; color:#765514; }
.google-ads-check-counts .is-fail { background:#ffe4e9; color:#9a2e42; }
.google-ads-check-target { display:block; overflow-wrap:anywhere; margin-bottom:11px; padding:8px 9px; border:1px solid var(--line); border-radius:8px; background:#f5f7fa; font-size:.62rem; line-height:1.5; }
.google-ads-check-list { display:grid; gap:6px; }
.google-ads-check-item { display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; align-items:start; padding:9px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.google-ads-check-mark { display:grid; width:22px; height:22px; place-items:center; border-radius:7px; font-size:.67rem; font-weight:950; }
.google-ads-check-item.is-pass .google-ads-check-mark { background:#e4f4ea; color:#246248; }
.google-ads-check-item.is-warn .google-ads-check-mark { background:#fff0c8; color:#765514; }
.google-ads-check-item.is-fail .google-ads-check-mark { background:#ffe4e9; color:#9a2e42; }
.google-ads-check-item strong { display:block; font-size:.7rem; }
.google-ads-check-item p { overflow-wrap:anywhere; margin:.2rem 0 0; color:var(--muted); font-size:.63rem; line-height:1.45; }
.google-ads-check-profiles { margin-top:11px; border-top:1px solid var(--line); padding-top:10px; }
.google-ads-check-profiles summary { color:#315a49; font-size:.68rem; font-weight:850; cursor:pointer; }
.google-ads-check-profiles dl { margin:8px 0 0; padding:9px; border:1px solid var(--line); border-radius:9px; background:#f8faf7; }
.google-ads-check-profiles dl + dl { margin-top:7px; }
.google-ads-check-profiles dl div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:7px; }
.google-ads-check-profiles dt { color:var(--muted); font-size:.6rem; font-weight:850; }
.google-ads-check-profiles dd { min-width:0; overflow-wrap:anywhere; margin:0; font-size:.61rem; }
.google-ads-check-note { margin:11px 0 0; color:var(--muted); font-size:.61rem; line-height:1.5; }
@media (max-width:760px) {
    .traffic-tool-launcher-actions [data-traffic-tool-open="checker"] { grid-column:1/-1; }
}
@media (max-width:480px) {
    .google-ads-check-result-head { flex-direction:column; }
    .google-ads-check-counts { justify-content:flex-start; }
    .google-ads-check-profiles dl div { grid-template-columns:1fr; gap:2px; }
}
