@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --ink: #06111e;
  --navy: #071f36;
  --navy-2: #093b63;
  --blue: #0877b9;
  --cyan: #04bdf5;
  --ice: #8be6ff;
  --silver: #b8c7d5;
  --mist: #eef8fc;
  --white: #ffffff;
  --line: rgba(137, 214, 244, .23);
  --shadow: 0 24px 60px rgba(2, 15, 29, .16);
  --wrap: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.65; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.wrap { width: var(--wrap); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 14px; color: var(--ink); background: var(--white); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.business-switcher { position: relative; z-index: 30; border-bottom: 1px solid rgba(139, 230, 255, .18); color: #d7edf6; background: #020b14; }
.business-switcher__inner { display: flex; width: var(--wrap); min-height: 44px; align-items: stretch; justify-content: flex-end; margin-inline: auto; }
.business-switcher__inner > span { display: flex; align-items: center; margin-right: auto; color: #87a9b8; font-family: "Barlow Condensed", sans-serif; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.business-switcher a { display: flex; align-items: center; padding: 0 20px; border-inline-start: 1px solid rgba(139, 230, 255, .13); font-family: "Barlow Condensed", sans-serif; font-size: .82rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: color .2s, background-color .2s; }
.business-switcher a:last-child { border-inline-end: 1px solid rgba(139, 230, 255, .13); }
.business-switcher a:hover { color: var(--white); background: rgba(4, 189, 245, .12); }
.business-switcher a[aria-current="page"] { color: var(--ink); background: var(--cyan); }

h1, h2, h3 { margin: 0 0 .65em; font-family: "Barlow Condensed", Arial Narrow, sans-serif; line-height: .98; letter-spacing: -.025em; }
h1 { font-size: clamp(3.5rem, 8vw, 7.5rem); text-transform: uppercase; }
h2 { font-size: clamp(2.25rem, 5vw, 4.5rem); }
h3 { font-size: 1.75rem; }
p { margin: 0 0 1.15rem; }
.eyebrow { margin-bottom: 1rem; color: var(--cyan); font-size: .8rem; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 13px 24px; border: 1px solid transparent; font-weight: 700; letter-spacing: .035em; text-decoration: none; cursor: pointer; transition: transform .2s, background-color .2s, border-color .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: var(--ink); background: var(--cyan); box-shadow: 0 10px 30px rgba(4, 189, 245, .2); }
.button.primary:hover { background: var(--ice); }
.button.secondary { border-color: rgba(255, 255, 255, .48); color: var(--white); background: transparent; }
.button.secondary:hover { border-color: var(--cyan); color: var(--cyan); }
.text-link { color: var(--cyan); font-weight: 700; text-decoration: none; }

.site-header { position: relative; z-index: 20; background: var(--white); border-bottom: 1px solid #d7e5ec; }
.utility-bar { display: flex; justify-content: space-between; padding: 8px max(24px, calc((100% - 1180px) / 2)); color: #c9e9f6; background: var(--ink); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.brand-stage { position: relative; display: grid; min-height: 122px; place-items: center; overflow: hidden; background: linear-gradient(90deg, #fff 0%, #f4fbfe 50%, #fff 100%); }
.brand-stage::before, .brand-stage::after { position: absolute; top: 50%; width: min(20vw, 260px); height: 1px; content: ""; background: linear-gradient(90deg, transparent, #b8d5e3); }
.brand-stage::before { right: calc(50% + 225px); }
.brand-stage::after { left: calc(50% + 225px); transform: rotate(180deg); }
.brand { display: block; width: min(385px, 64vw); }
.brand img { width: 100%; filter: drop-shadow(0 8px 12px rgba(5, 41, 68, .1)); }
.main-nav { position: relative; border-top: 1px solid #dce9ef; background: rgba(255, 255, 255, .97); }
.nav-links { display: flex; width: var(--wrap); min-height: 64px; align-items: stretch; justify-content: center; margin-inline: auto; }
.nav-links a { position: relative; display: flex; align-items: center; padding: 0 26px; color: #243b4a; font-family: "Barlow Condensed", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.nav-links a::after { position: absolute; right: 26px; bottom: 0; left: 26px; height: 3px; content: ""; background: var(--cyan); transform: scaleX(0); transition: transform .2s; }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }
.nav-links .nav-cta { margin: 8px 0 8px 20px; padding-inline: 22px; color: var(--white); background: var(--navy); }
.nav-links .nav-cta::after { display: none; }
.nav-links .nav-cta:hover { background: var(--blue); }
.menu-toggle { display: none; width: 100%; padding: 14px 20px; border: 0; color: var(--white); background: var(--navy); font-weight: 700; text-align: left; text-transform: uppercase; }
.menu-toggle span { float: right; }

.hero { position: relative; min-height: 700px; display: grid; align-items: center; overflow: hidden; color: var(--white); background: radial-gradient(circle at 76% 28%, rgba(6, 178, 235, .22), transparent 22%), linear-gradient(118deg, rgba(3, 16, 29, .96) 0 52%, rgba(5, 39, 65, .92) 52% 100%), var(--navy); }
.hero::before { position: absolute; inset: 0; content: ""; opacity: .45; background-image: linear-gradient(rgba(93, 203, 241, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(93, 203, 241, .08) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to right, black, transparent 70%); }
.hero::after { position: absolute; right: -10vw; bottom: -30vw; width: 70vw; height: 70vw; border: 1px solid rgba(4, 189, 245, .14); border-radius: 50%; box-shadow: 0 0 0 60px rgba(4, 189, 245, .025), 0 0 0 120px rgba(4, 189, 245, .018); content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(48px, 8vw, 110px); align-items: center; padding-block: 100px; }
.hero-copy .lede { max-width: 720px; color: #d8e9f1; font-size: clamp(1.08rem, 2vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.confidential-note { margin-top: 24px; color: var(--silver); font-size: .86rem; }
.confidential-note span { margin-right: 8px; color: var(--cyan); }
.case-panel { position: relative; padding: 28px; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .025)); box-shadow: 0 24px 70px rgba(0, 0, 0, .28); backdrop-filter: blur(8px); }
.case-panel::before { position: absolute; inset: 8px; border: 1px solid rgba(139, 230, 255, .12); content: ""; pointer-events: none; }
.case-topline { display: flex; justify-content: space-between; color: var(--ice); font-family: "Barlow Condensed", sans-serif; font-size: .75rem; letter-spacing: .15em; }
.monogram { display: grid; width: 108px; height: 108px; place-items: center; margin: 54px auto 38px; border: 1px solid var(--cyan); border-radius: 50%; color: var(--cyan); font-family: "Barlow Condensed", sans-serif; font-size: 2.4rem; font-weight: 700; box-shadow: inset 0 0 0 8px rgba(4, 189, 245, .06), 0 0 35px rgba(4, 189, 245, .12); }
.case-panel h2 { font-size: 2.2rem; text-align: center; }
.case-panel dl { margin: 34px 0 0; }
.case-panel dl div { display: grid; grid-template-columns: 48px 1fr; gap: 15px; padding: 14px 0; border-top: 1px solid var(--line); }
.case-panel dt { color: var(--cyan); font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.case-panel dd { margin: 0; color: #e4f2f8; }

.trust-strip { background: var(--mist); border-bottom: 1px solid #dceaf1; }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-grid div { padding: 30px clamp(20px, 4vw, 50px); border-left: 1px solid #d3e3ea; }
.trust-grid div:last-child { border-right: 1px solid #d3e3ea; }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { color: var(--navy-2); font-family: "Barlow Condensed", sans-serif; font-size: 1.45rem; text-transform: uppercase; }
.trust-grid span { color: #597080; font-size: .9rem; }
.section { padding-block: clamp(78px, 10vw, 130px); }
.section-heading { max-width: 780px; margin-bottom: 54px; }
.section-heading h2 { color: var(--navy); }
.section-heading > p:last-child { color: #536a79; font-size: 1.08rem; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #c7dce6; border-bottom: 1px solid #c7dce6; }
.service-card { min-height: 350px; padding: 38px; border-left: 1px solid #c7dce6; transition: background-color .25s, transform .25s; }
.service-card:last-child { border-right: 1px solid #c7dce6; }
.service-card:hover { background: var(--mist); transform: translateY(-5px); }
.card-number { display: inline-block; margin-bottom: 70px; color: var(--blue); font-family: "Barlow Condensed", sans-serif; font-size: .85rem; font-weight: 700; letter-spacing: .14em; }
.service-card h3 { color: var(--navy); }
.service-card p { color: #587080; }
.service-card a { color: var(--blue); font-weight: 700; text-decoration: none; }
.dark-section { position: relative; overflow: hidden; padding-block: clamp(80px, 10vw, 130px); color: var(--white); background: var(--ink); }
.dark-section::before { position: absolute; inset: 0; content: ""; opacity: .16; background: repeating-linear-gradient(135deg, transparent 0 29px, rgba(5, 189, 245, .12) 29px 30px); }
.split-section, .principles { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 10vw, 130px); }
.statement { padding-left: 36px; border-left: 1px solid var(--cyan); color: #cfe1ea; font-size: 1.12rem; }
.cta-section { padding-block: 70px; background: var(--mist); }
.cta-box { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(34px, 5vw, 66px); border: 1px solid #b9dae8; background: var(--white); box-shadow: var(--shadow); }
.cta-box h2 { max-width: 700px; margin-bottom: 0; color: var(--navy); font-size: clamp(2rem, 4vw, 3.7rem); }

.page-hero { position: relative; overflow: hidden; padding-block: clamp(80px, 11vw, 150px); color: var(--white); background: radial-gradient(circle at 85% 20%, rgba(4, 189, 245, .22), transparent 24%), linear-gradient(120deg, var(--ink), var(--navy-2)); }
.page-hero::after { position: absolute; right: -8vw; bottom: -18vw; width: 42vw; height: 42vw; border: 1px solid rgba(139, 230, 255, .13); border-radius: 50%; box-shadow: 0 0 0 55px rgba(139, 230, 255, .025); content: ""; }
.page-hero .wrap { position: relative; z-index: 1; }
.page-hero h1 { max-width: 1000px; font-size: clamp(3.2rem, 7.2vw, 7rem); }
.page-hero p:last-child { max-width: 740px; color: #d6e8f0; font-size: 1.16rem; }
.service-list { display: grid; gap: 0; }
.detail-card { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; padding: 64px 0; border-bottom: 1px solid #c7dce6; }
.detail-card:first-child { border-top: 1px solid #c7dce6; }
.detail-card .card-number { margin-bottom: 20px; }
.detail-card h2 { color: var(--navy); font-size: clamp(2.4rem, 4vw, 4rem); }
.detail-card p { color: #526978; }
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 24px; color: #244355; }
.check-list li::before { position: absolute; left: 0; color: var(--blue); content: "◆"; font-size: .65rem; }
.price-note { margin-top: 30px; padding: 18px 20px; border-left: 3px solid var(--cyan); background: var(--mist); }
.notice-section { padding-block: 60px; background: var(--mist); }
.notice-box { padding: 34px; border: 1px solid #bad9e6; background: var(--white); }
.notice-box h2 { margin-bottom: .4em; color: var(--navy); font-size: 2rem; }
.notice-box p { margin-bottom: 0; color: #526978; }

.timeline { max-width: 1020px; }
.timeline-step { display: grid; grid-template-columns: 130px 1fr; gap: 42px; padding: 60px 0; border-bottom: 1px solid #c7dce6; }
.timeline-step > span { color: rgba(8, 119, 185, .18); font-family: "Barlow Condensed", sans-serif; font-size: 5rem; font-weight: 700; line-height: 1; }
.timeline-step h2 { color: var(--navy); font-size: clamp(2.5rem, 5vw, 4rem); }
.timeline-step p:last-child { max-width: 700px; color: #526978; }
.principle-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.principle-grid article { padding: 24px; border: 1px solid var(--line); background: rgba(255,255,255,.035); }
.principle-grid h3 { margin-bottom: .35em; color: var(--ice); font-size: 1.5rem; }
.principle-grid p { margin: 0; color: #c8dbe5; font-size: .92rem; }
.about-grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(50px, 9vw, 120px); align-items: start; }
.about-grid h2 { color: var(--navy); }
.about-grid > div > p:not(.eyebrow) { color: #526978; font-size: 1.07rem; }
.values-card { padding: 36px; color: var(--white); background: linear-gradient(145deg, var(--navy), #0a426c); box-shadow: var(--shadow); }
.values-card h2 { color: var(--white); font-size: 2.5rem; }
.values-card ul { margin: 0; padding: 0; list-style: none; }
.values-card li { padding: 18px 0; border-top: 1px solid var(--line); }
.values-card strong, .values-card span { display: block; }
.values-card strong { color: var(--ice); font-family: "Barlow Condensed", sans-serif; font-size: 1.25rem; text-transform: uppercase; }
.values-card span { color: #d2e5ee; }
.credential-band { color: var(--white); background: var(--navy); }
.credential-band .wrap { display: grid; grid-template-columns: repeat(3, 1fr); }
.credential-band .wrap > div { padding: 38px; border-left: 1px solid var(--line); }
.credential-band .wrap > div:last-child { border-right: 1px solid var(--line); }
.credential-label { display: block; margin-bottom: 8px; color: var(--cyan); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.credential-band strong { font-family: "Barlow Condensed", sans-serif; font-size: 1.35rem; }

.contact-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 9vw, 120px); align-items: start; }
.contact-copy h2 { color: var(--navy); }
.contact-copy > p { color: #526978; }
.contact-fact { padding: 22px 0; border-top: 1px solid #c7dce6; }
.contact-fact span, .contact-fact strong, .contact-fact small { display: block; }
.contact-fact span { color: var(--blue); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.contact-fact strong { margin: 6px 0; color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: 1.6rem; }
.contact-fact small { color: #647b89; }
.intake-form { padding: clamp(28px, 5vw, 50px); border-top: 5px solid var(--cyan); background: var(--mist); box-shadow: var(--shadow); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.intake-form label { display: grid; gap: 8px; margin-bottom: 20px; color: var(--navy); font-weight: 700; }
.intake-form input, .intake-form select, .intake-form textarea { width: 100%; border: 1px solid #accbd9; border-radius: 0; color: var(--ink); background: var(--white); padding: 13px 14px; outline: none; }
.intake-form input:focus, .intake-form select:focus, .intake-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(8, 119, 185, .12); }
.intake-form .consent { display: flex; align-items: flex-start; font-size: .9rem; font-weight: 500; }
.consent input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 4px; }
.form-note { margin: 18px 0 0; color: #617783; font-size: .82rem; }
.form-status { display: none; margin-bottom: 22px; padding: 15px; }
.form-status.success { display: block; border: 1px solid #41a8cf; color: #073f5d; background: #dff6ff; }

.site-footer { padding-top: 70px; color: #c7d9e2; background: #030c15; }
.footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 70px; padding-bottom: 60px; }
.footer-logo { width: min(460px, 100%); margin-bottom: 22px; padding: 12px; background: linear-gradient(90deg, #ffffff, #eef8fc); }
.footer-grid p { max-width: 460px; color: #91aab7; }
.footer-grid h2 { margin-bottom: 18px; color: var(--cyan); font-size: 1.1rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid a, .footer-grid span { display: block; margin: 9px 0; color: #c7d9e2; text-decoration: none; }
.footer-grid a:hover { color: var(--cyan); }
.legal { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.1); color: #728c9a; font-size: .72rem; }
.error-page { display: grid; min-height: 100vh; place-items: center; padding: 30px; color: var(--white); text-align: center; background: radial-gradient(circle at center, #0a426c, var(--ink) 70%); }
.error-page main { max-width: 760px; }
.error-page img { width: min(620px, 90vw); margin: 0 auto 55px; }
.error-page h1 { font-size: clamp(3rem, 7vw, 6rem); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal { opacity: 1; transform: none; transition: none; } .button { transition: none; } }

@media (max-width: 900px) {
  .utility-bar span:last-child { display: none; }
  .utility-bar { justify-content: center; }
  .brand-stage { min-height: 116px; }
  .brand { width: min(370px, 82vw); }
  .brand-stage::before, .brand-stage::after { display: none; }
  .menu-toggle { display: block; }
  .nav-links { display: none; width: 100%; min-height: 0; flex-direction: column; }
  .nav-links.open { display: flex; }
  .nav-links a { min-height: 52px; padding: 0 24px; border-top: 1px solid #e0ebf0; }
  .nav-links a::after { right: auto; bottom: 10px; left: 24px; width: 40px; }
  .nav-links .nav-cta { margin: 0; }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 78px; }
  .case-panel { max-width: 580px; }
  .trust-grid, .credential-band .wrap { grid-template-columns: 1fr; }
  .trust-grid div, .trust-grid div:last-child, .credential-band .wrap > div, .credential-band .wrap > div:last-child { border-right: 1px solid #d3e3ea; border-bottom: 1px solid #d3e3ea; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card, .service-card:last-child { min-height: auto; border-right: 1px solid #c7dce6; border-bottom: 1px solid #c7dce6; }
  .service-card:last-child { border-bottom: 0; }
  .card-number { margin-bottom: 28px; }
  .split-section, .principles, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .detail-card { grid-template-columns: 1fr; gap: 16px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  :root { --wrap: min(100% - 28px, 1180px); }
  .business-switcher__inner { width: 100%; min-height: 42px; }
  .business-switcher__inner > span { display: none; }
  .business-switcher a { flex: 1; justify-content: center; padding-inline: 10px; font-size: .7rem; text-align: center; }
  h1 { font-size: clamp(3rem, 16vw, 4.7rem); }
  .brand-stage { min-height: 104px; }
  .brand { width: min(340px, 88vw); }
  .utility-bar { font-size: .62rem; }
  .hero-grid { padding-block: 60px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .case-panel { padding: 22px; }
  .monogram { margin-block: 42px 28px; }
  .section { padding-block: 72px; }
  .service-card { padding: 30px 24px; }
  .check-list { grid-template-columns: 1fr; }
  .timeline-step { grid-template-columns: 1fr; gap: 10px; padding: 44px 0; }
  .timeline-step > span { font-size: 3.5rem; }
  .principle-grid, .field-row { grid-template-columns: 1fr; }
  .cta-box { align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .legal { flex-direction: column; }
}

/* Trenton AI guide */
.trenton-shell { position: fixed; z-index: 1200; right: clamp(12px, 2vw, 28px); bottom: clamp(10px, 2vw, 24px); display: grid; justify-items: end; pointer-events: none; }
.trenton-greeting { max-width: 280px; margin: 0 84px 8px 0; padding: 11px 14px; border: 1px solid rgba(4,189,245,.45); border-radius: 16px 16px 4px 16px; color: #dff7ff; background: rgba(3,16,29,.96); box-shadow: 0 14px 38px rgba(2,15,29,.28); font-size: .84rem; line-height: 1.4; opacity: 0; transform: translateY(7px); transition: .25s ease; pointer-events: auto; }
.trenton-shell.ready .trenton-greeting { opacity: 1; transform: none; }
.trenton-launcher { position: relative; width: 78px; height: 104px; border: 0; background: transparent; cursor: pointer; pointer-events: auto; filter: drop-shadow(0 9px 16px rgba(4,189,245,.24)); }
.trenton-launcher::after { position: absolute; right: 13px; bottom: 3px; width: 48px; height: 8px; border-radius: 50%; content: ""; background: rgba(4,189,245,.24); filter: blur(4px); }
.trenton-avatar { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; animation: trenton-float 3.2s ease-in-out infinite; }
.trenton-panel { width: min(380px, calc(100vw - 24px)); max-height: min(610px, calc(100vh - 135px)); margin-bottom: 8px; overflow: hidden; border: 1px solid rgba(94,203,241,.38); border-radius: 22px 22px 6px 22px; color: #e8f6fb; background: #06111ef5; box-shadow: 0 28px 80px rgba(0,0,0,.38); backdrop-filter: blur(18px); pointer-events: auto; opacity: 0; transform: translateY(12px) scale(.97); transform-origin: bottom right; transition: .22s ease; visibility: hidden; }
.trenton-panel.open { opacity: 1; transform: none; visibility: visible; }
.trenton-head { display: grid; grid-template-columns: 44px 1fr 34px; gap: 11px; align-items: center; padding: 15px 16px; border-bottom: 1px solid rgba(139,230,255,.15); background: linear-gradient(135deg, #093b63, #061a2d); }
.trenton-head img { width: 44px; height: 44px; object-fit: contain; }
.trenton-head strong, .trenton-head span { display: block; }
.trenton-head strong { font-family: "Barlow Condensed", sans-serif; font-size: 1.35rem; letter-spacing: .04em; }
.trenton-head span { color: #94cfe4; font-size: .72rem; }
.trenton-close { width: 34px; height: 34px; border: 0; border-radius: 50%; color: #dff7ff; background: rgba(255,255,255,.08); cursor: pointer; }
.trenton-log { display: grid; gap: 12px; max-height: 350px; min-height: 225px; overflow-y: auto; padding: 18px; }
.trenton-message { max-width: 88%; padding: 11px 13px; border-radius: 15px; font-size: .9rem; line-height: 1.48; white-space: pre-wrap; }
.trenton-message.bot { justify-self: start; border: 1px solid rgba(4,189,245,.24); border-bottom-left-radius: 4px; color: #daf3fc; background: rgba(9,59,99,.64); }
.trenton-message.user { justify-self: end; border-bottom-right-radius: 4px; color: #06111e; background: #04bdf5; }
.trenton-message.error { border-color: rgba(255,155,155,.42); color: #ffdada; background: rgba(126,30,43,.32); }
.trenton-form { display: grid; grid-template-columns: 1fr auto; gap: 9px; padding: 12px; border-top: 1px solid rgba(139,230,255,.15); }
.trenton-form textarea { min-height: 46px; max-height: 110px; resize: vertical; border: 1px solid rgba(139,230,255,.25); border-radius: 13px; padding: 11px 12px; color: #f3fbfe; background: rgba(255,255,255,.07); outline: none; }
.trenton-form textarea:focus { border-color: #04bdf5; box-shadow: 0 0 0 3px rgba(4,189,245,.12); }
.trenton-send { align-self: end; min-width: 66px; height: 46px; border: 0; border-radius: 12px; color: #06111e; background: #04bdf5; font-weight: 800; cursor: pointer; }
.trenton-send:disabled { cursor: wait; opacity: .55; }
.trenton-disclosure { margin: 0; padding: 0 14px 13px; color: #84a9b8; font-size: .68rem; line-height: 1.35; }
@keyframes trenton-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .trenton-avatar { animation: none; } }
@media (max-width: 620px) { .trenton-panel { max-height: calc(100vh - 118px); } .trenton-greeting { display: none; } .trenton-launcher { width: 68px; height: 92px; } .trenton-log { min-height: 190px; max-height: 42vh; } }
