:root {
  --ink: #26172a;
  --ink-2: #432542;
  --paper: #f8f2e9;
  --surface: #fffdfa;
  --accent: #f2b93f;
  --accent-deep: #b87800;
  --accent-ink: #704600;
  --accent-soft: #fae6b6;
  --accent-text: #26172a;
  --hot: #d9544f;
  --muted: #756777;
  --line: #e5d9df;
  --white: #fff;
  --warm: #efe0dc;
  --radius: 22px;
  --shadow: 0 24px 80px rgba(61, 30, 57, .14);
  --display: "Manrope", sans-serif;
  --body: "DM Sans", sans-serif;
  --container: min(1220px, calc(100% - 48px));
}
* { box-sizing: border-box; }
[hidden] { display:none !important; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button,input,select,textarea { font:inherit; }
button { color:inherit; }
small { font-size:12px; }
.container { width:var(--container); margin-inline:auto; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:999; background:var(--accent); padding:10px 16px; border-radius:8px; font-weight:700; }
.skip-link:focus { top:16px; }
.site-notice { height:34px; background:var(--ink); color:#dce2d8; font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
.notice-inner { height:100%; display:flex; justify-content:space-between; align-items:center; }
.notice-inner a { border-bottom:1px solid #788174; font-size:13px; }
.status-dot { display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:99px; background:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent); }
.site-header { position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--paper) 92%,transparent); border-bottom:1px solid transparent; backdrop-filter:blur(14px); transition:.3s ease; }
.site-header.scrolled { border-color:var(--line); }
.site-header.header-hidden:not(:focus-within):not(:has(.mobile-menu:not([hidden]),.services-dropdown[open])) { transform:translateY(-100%); }
.nav-shell { height:78px; position:relative; display:flex; align-items:center; justify-content:space-between; gap:34px; }
.brand { display:inline-flex; align-items:center; gap:9px; font:800 19px/1 var(--display); letter-spacing:-.05em; }
.brand > span > span { font-weight:500; opacity:.66; }
.brand-mark { width:37px; height:37px; fill:var(--ink); }
.brand-spark { fill:var(--accent); }
.desktop-nav { display:flex; align-items:center; gap:29px; margin-left:auto; }
.desktop-nav>a,.desktop-nav summary { position:relative; font-size:14px; font-weight:600; }
.desktop-nav>a::after,.desktop-nav summary::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--accent-deep); transition:.2s; }
.desktop-nav>a:hover::after,.desktop-nav>a.active::after,.desktop-nav summary:hover::after,.desktop-nav summary.active::after { right:0; }
.services-dropdown { position:relative; }
.services-dropdown summary { display:flex; align-items:center; justify-content:space-between; gap:9px; list-style:none; cursor:pointer; }
.services-dropdown summary::-webkit-details-marker { display:none; }
.services-chevron { width:7px; height:7px; flex-shrink:0; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.services-dropdown[open] .services-chevron { transform:rotate(225deg); }
.desktop-nav summary { min-height:44px; }
.desktop-nav summary::after { bottom:3px; }
.services-submenu { list-style:none; margin:0; padding:8px; }
.desktop-nav .services-submenu { position:absolute; top:100%; left:0; width:300px; max-height:calc(100dvh - 120px); overflow-y:auto; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
.services-submenu a { display:flex; align-items:center; min-height:44px; padding:10px 12px; border-radius:7px; font-size:14px; font-weight:600; line-height:1.4; }
.services-submenu a:hover,.services-submenu a:focus-visible { background:var(--accent-soft); }
.services-dropdown summary:focus-visible,.services-submenu a:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.mobile-menu .services-dropdown { border-bottom:1px solid var(--line); }
.mobile-menu summary { min-height:44px; padding:13px 0; font:700 clamp(25px,8vw,38px)/1.1 var(--display); }
.mobile-menu summary.active { text-decoration:underline; text-decoration-color:var(--accent-deep); text-decoration-thickness:2px; text-underline-offset:6px; }
.mobile-menu .services-submenu { padding:0 0 10px 12px; }
.nav-actions { display:flex; align-items:center; gap:12px; }
.client-login { font-size:13px; font-weight:700; border-bottom:1px solid var(--line); }
.menu-toggle { display:none; width:43px; height:43px; border:1px solid var(--line); border-radius:50%; background:transparent; align-items:center; justify-content:center; flex-direction:column; gap:6px; }
.menu-toggle span { width:18px; height:1.5px; background:var(--ink); transition:.25s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
.mobile-menu { position:absolute; z-index:40; inset:100% 0 auto; max-height:calc(100dvh - 112px); overflow-y:auto; background:var(--paper); border-top:1px solid var(--line); }
.mobile-menu nav { padding-top:28px; display:grid; }
.mobile-menu nav>a:not(.btn) { padding:13px 0; font:700 clamp(25px,8vw,38px)/1.1 var(--display); border-bottom:1px solid var(--line); display:flex; justify-content:space-between; }
.mobile-menu nav>a:not(.btn) span { font:500 13px var(--body); color:var(--muted); }
.mobile-menu .btn { margin-top:25px; }
.btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:24px; border:1px solid transparent; border-radius:99px; padding:11px 20px; font-weight:700; font-size:14px; line-height:1; transition:transform .2s,box-shadow .2s,background .2s; cursor:pointer; }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 25px rgba(20,27,20,.12); }
.btn span { font-size:17px; }
.btn-sm { min-height:42px; padding:9px 16px; gap:13px; }
.btn-lg { min-height:58px; padding:15px 25px; }
.btn-primary { background:var(--accent); color:var(--ink); }
.btn-dark { background:var(--ink); color:var(--white); }
.btn-light { background:var(--surface); color:var(--ink); }
.btn-outline { border-color:var(--ink); color:var(--ink); }
.text-link { display:inline-flex; align-items:center; gap:30px; font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }
.text-link span { transition:transform .2s; }
.text-link:hover span { transform:translateX(4px); }
.section { padding:120px 0; }
.eyebrow { margin:0 0 20px; font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:800; color:var(--accent-ink); display:flex; align-items:center; gap:10px; }
.eyebrow::before { content:""; width:24px; height:2px; background:currentColor; }
.eyebrow.light { color:var(--accent); }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.055em; margin-top:0; line-height:1.05; }
h2 { font-size:clamp(42px,5vw,70px); margin-bottom:0; }
.section-head { display:grid; grid-template-columns:1.5fr .65fr; gap:80px; align-items:end; margin-bottom:70px; }
.section-head>p { color:var(--muted); font-size:18px; margin:0 0 6px; }
.section-head.inverse { color:white; }
.section-head.inverse>p { color:#aeb7ab; }
.home-hero { padding-top:48px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:60px; min-height:650px; }
.kicker { display:flex; align-items:center; gap:14px; margin-bottom:28px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.kicker i { width:4px; height:4px; background:var(--accent-deep); border-radius:50%; }
.hero-copy h1 { font-size:clamp(57px,6.3vw,98px); margin:0 0 30px; line-height:.93; letter-spacing:-.075em; }
.hero-copy h1 em { position:relative; color:var(--accent-deep); font-style:normal; }
.hero-copy h1 em::after { content:""; position:absolute; height:6px; border-top:2px solid currentColor; border-radius:50%; left:3%; right:0; bottom:-2px; transform:rotate(-1deg); }
.hero-intro { max-width:580px; font-size:20px; color:var(--muted); line-height:1.6; margin-bottom:32px; }
.hero-actions { display:flex; align-items:center; gap:35px; flex-wrap:wrap; }
.hero-proof { display:flex; align-items:center; gap:14px; margin-top:40px; }
.avatar-stack { display:flex; }
.avatar-stack span { width:35px; height:35px; display:grid; place-items:center; border:2px solid var(--paper); border-radius:50%; margin-left:-8px; background:var(--ink); color:white; font-size:10px; }
.avatar-stack span:first-child { margin-left:0; background:#9a6f55; }
.avatar-stack span:last-child { background:var(--accent-deep); color:var(--ink); }
.stars { color:#e5a928; font-size:13px; letter-spacing:.08em; }
.hero-proof p { margin:1px 0 0; font-size:13px; color:var(--muted); }
.hero-visual { position:relative; }
.hero-image-wrap { position:relative; width:calc(100% + ((100vw - var(--container))/2)); min-height:590px; border-radius:28px 0 0 28px; overflow:hidden; background:var(--warm); }
.hero-image-wrap>img { width:100%; height:590px; object-fit:cover; object-position:56% center; }
.image-badge { position:absolute; right:28px; top:28px; width:148px; height:148px; background:var(--accent); border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; transform:rotate(5deg); box-shadow:0 16px 35px rgba(20,27,20,.16); }
.image-badge b { font:800 36px/1 var(--display); letter-spacing:-.06em; }
.image-badge span { margin-top:6px; font-size:10px; text-transform:uppercase; letter-spacing:.09em; line-height:1.35; }
.case-label { position:absolute; left:0; bottom:0; background:var(--ink); color:white; padding:21px 27px 23px; min-width:245px; }
.case-label span { display:block; color:var(--accent); font-size:10px; letter-spacing:.15em; margin-bottom:8px; }
.case-label strong { display:block; font:700 20px/1.2 var(--display); letter-spacing:-.03em; }
.case-label a { display:inline-block; font-size:13px; margin-top:13px; border-bottom:1px solid #647063; }
.orbit-note { display:none; }
.logo-row { border-top:1px solid var(--line); margin-top:60px; padding:28px 0 25px; display:flex; align-items:center; gap:55px; }
.logo-row p { color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.logo-row div { width:100%; display:flex; align-items:center; justify-content:space-between; color:#828a80; font:700 12px var(--display); letter-spacing:.04em; }
.proof-strip { background:var(--surface); }
.principles-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.principle { position:relative; padding:35px 30px 0; border-left:1px solid var(--line); min-height:330px; }
.principle:first-child { border-left:0; padding-left:0; }
.principle .number { position:absolute; right:20px; top:18px; font:600 10px var(--display); color:#949b91; }
.icon-draw { width:55px; height:55px; margin-bottom:45px; color:var(--accent-ink); }
.icon-draw svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.principle h3 { font-size:22px; margin-bottom:15px; }
.principle p { font-size:14px; color:var(--muted); margin:0; }
.services-showcase { background:var(--ink); color:white; }
.service-rows { border-top:1px solid #3d453b; }
.service-row { display:grid; grid-template-columns:70px 1fr 170px 55px; gap:25px; align-items:center; min-height:150px; border-bottom:1px solid #3d453b; transition:.25s; }
.service-row:hover { padding-inline:18px; background:color-mix(in srgb,var(--accent) 7%,var(--ink)); }
.service-index { font-size:11px; color:var(--accent); }
.service-title h3 { font-size:clamp(30px,3vw,43px); margin:0 0 8px; }
.service-title p { color:#aeb7ab; margin:0; font-size:14px; }
.service-tag { justify-self:start; padding:7px 10px; border:1px solid #515b4e; border-radius:99px; color:#bfc7bc; font-size:10px; letter-spacing:.12em; }
.round-arrow { justify-self:end; width:50px; height:50px; display:grid; place-items:center; border:1px solid #5b6559; border-radius:50%; transition:.25s; }
.service-row:hover .round-arrow { background:var(--accent); color:var(--ink); border-color:var(--accent); transform:rotate(45deg); }
.showcase-foot { display:flex; align-items:center; justify-content:flex-end; gap:24px; padding-top:30px; color:#9da69b; font-size:13px; }
.showcase-foot a { color:white; border-bottom:1px solid #626c60; padding-bottom:4px; }
.showcase-foot a span { margin-left:20px; color:var(--accent); }
.process-section { background:var(--warm); }
.process-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:130px; align-items:start; }
.process-sticky { position:sticky; top:130px; }
.process-sticky>p:not(.eyebrow) { color:var(--muted); font-size:18px; max-width:410px; margin:28px 0 35px; }
.process-list { margin:0; padding:0; list-style:none; }
.process-list li { display:grid; grid-template-columns:60px 1fr; gap:25px; padding:44px 0; border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.process-list li:last-child { border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.process-list li>span { font:700 13px var(--display); color:var(--accent-ink); }
.process-list li div>p:first-child { margin:0 0 10px; font-size:13px; font-weight:800; letter-spacing:.16em; }
.process-list h3 { font-size:32px; margin-bottom:14px; }
.process-list li div>p:last-child { color:var(--muted); margin:0; max-width:600px; }
.results-section { background:var(--surface); }
.results-top { display:flex; justify-content:space-between; align-items:end; margin-bottom:60px; }
.results-grid { display:grid; grid-template-columns:1.65fr .65fr; gap:25px; }
.featured-case { background:var(--paper); border:1px solid var(--line); display:grid; grid-template-columns:1.1fr .9fr; min-height:470px; border-radius:var(--radius); overflow:hidden; }
.case-visual { position:relative; }
.case-visual img { width:100%; height:100%; object-fit:cover; }
.case-visual>span { position:absolute; left:20px; top:20px; background:var(--surface); border-radius:99px; padding:7px 11px; font-size:10px; letter-spacing:.12em; font-weight:800; }
.case-copy { padding:48px 40px; display:flex; flex-direction:column; }
.case-copy .quote { font:600 26px/1.35 var(--display); letter-spacing:-.04em; margin:0; }
.metric-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:auto 0 38px; padding-top:40px; }
.metric-pair div { border-top:1px solid var(--line); padding-top:18px; }
.metric-pair b { display:block; font:800 35px var(--display); letter-spacing:-.05em; }
.metric-pair span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.testimonial-card { padding:42px 35px; background:var(--ink); color:white; border-radius:var(--radius); display:flex; flex-direction:column; }
.testimonial-card blockquote { margin:25px 0 35px; font:600 23px/1.45 var(--display); letter-spacing:-.035em; }
.person { display:flex; align-items:center; gap:12px; }
.person>span { width:43px; height:43px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:var(--ink); font-size:11px; }
.person p,.person small { display:block; margin:0; }
.person b { font-size:13px; }
.person small { color:#aeb7ab; font-size:12px; }
.card-rule { border-top:1px solid #465044; margin:40px 0 25px; }
.mini-label { color:var(--accent); font-size:13px; letter-spacing:.15em; margin:0 0 4px; }
.testimonial-card>strong { font:700 18px var(--display); }
.stat-line { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); margin-top:70px; }
.stat-line div { padding:28px 24px 0; border-left:1px solid var(--line); }
.stat-line div:first-child { padding-left:0; border-left:0; }
.stat-line b { display:block; font:800 36px var(--display); letter-spacing:-.05em; }
.stat-line span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.cta-section { padding:0 0 120px; background:var(--surface); }
.cta-banner { background:var(--accent); color:var(--ink); padding:75px 80px; border-radius:24px; display:grid; grid-template-columns:1.25fr .65fr; align-items:center; gap:80px; position:relative; overflow:hidden; }
.cta-banner::after { content:""; position:absolute; width:320px; height:320px; border:1px solid color-mix(in srgb,var(--ink) 14%,transparent); border-radius:50%; left:40%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 60px color-mix(in srgb,var(--ink) 5%,transparent),0 0 0 120px color-mix(in srgb,var(--ink) 3%,transparent); }
.cta-banner>* { position:relative; z-index:1; }
.cta-banner .eyebrow { color:var(--ink); }
.cta-side>p { margin:0 0 26px; font-size:16px; }
.cta-side .btn { width:100%; }
.cta-side small { display:block; margin-top:12px; text-align:center; font-size:12px; text-transform:uppercase; letter-spacing:.07em; }
.site-footer { background:var(--ink); color:white; padding:100px 0 25px; }
.footer-lead { display:flex; justify-content:space-between; align-items:end; padding-bottom:80px; border-bottom:1px solid #3b4439; }
.footer-lead h2 { font-size:clamp(46px,6vw,78px); }
.circle-link { width:165px; height:165px; flex:0 0 auto; border-radius:50%; background:var(--accent); color:var(--ink); display:flex; flex-direction:column; align-items:center; justify-content:center; font-weight:800; gap:16px; transition:.25s; }
.circle-link:hover { transform:rotate(-5deg) scale(1.03); }
.circle-link svg { width:34px; fill:none; stroke:currentColor; stroke-width:1.5; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; padding:65px 0; }
.brand-inverse .brand-mark { fill:white; }
.footer-brand>p { max-width:320px; color:#a7b0a5; font-size:14px; margin:24px 0; }
.compliance-pill { display:inline-flex; gap:8px; align-items:center; border:1px solid #435041; border-radius:99px; padding:8px 13px; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.compliance-pill span { color:var(--accent); }
.footer-links { display:flex; flex-direction:column; gap:10px; font-size:13px; }
.footer-links p { margin:0 0 8px; color:var(--accent); font-size:13px; letter-spacing:.15em; text-transform:uppercase; }
.footer-links a { color:#d6dbd4; }
.footer-links a:hover { color:var(--accent); }
.footer-links span { color:#7f897d; }
.footer-bottom { border-top:1px solid #3b4439; padding-top:23px; display:flex; justify-content:space-between; color:#7f897d; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.footer-bottom a { font-size:13px; }
.footer-bottom nav { display:flex; gap:22px; }
.toast { position:fixed; right:25px; bottom:25px; z-index:100; max-width:400px; background:var(--ink); color:white; padding:18px 22px; border-radius:12px; box-shadow:var(--shadow); transform:translateY(140%); opacity:0; transition:.35s; }
.toast.show { transform:none; opacity:1; }
.reveal { opacity:1; transform:none; transition:opacity .65s ease,transform .65s ease; }
.js .reveal { opacity:0; transform:translateY(20px); }
.reveal.in-view { opacity:1; transform:none; }

/* Interior pages */
.page-hero { padding:95px 0 105px; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.page-hero::after { content:""; position:absolute; right:-8vw; top:20px; width:38vw; aspect-ratio:1; border-radius:50%; border:1px solid color-mix(in srgb,var(--ink) 10%,transparent); box-shadow:0 0 0 80px color-mix(in srgb,var(--ink) 3%,transparent),0 0 0 160px color-mix(in srgb,var(--ink) 2%,transparent); pointer-events:none; }
.page-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .65fr; align-items:end; gap:100px; }
.page-hero h1,.narrow-hero h1 { max-width:900px; margin:0; font-size:clamp(58px,7vw,104px); line-height:.96; letter-spacing:-.075em; }
.page-hero h1 em,.narrow-hero h1 em { color:var(--accent-deep); font-style:normal; }
.page-hero-copy>p,.hero-aside>p { color:var(--muted); font-size:19px; margin:25px 0 32px; max-width:590px; }
.hero-aside { padding-top:20px; }
.hero-aside .btn { margin-top:8px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.hero-meta span,.pill { display:inline-flex; align-items:center; min-height:30px; padding:6px 11px; border:1px solid var(--line); border-radius:99px; color:var(--muted); font-size:10px; line-height:1; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.narrow-hero { padding:95px 0 75px; text-align:center; }
.narrow-hero .eyebrow { justify-content:center; }
.narrow-hero p { max-width:680px; color:var(--muted); font-size:18px; margin:25px auto 0; }
.content-section { padding:105px 0; }
.content-section.alt { background:var(--surface); }
.content-section.dark { background:var(--ink); color:white; }
.content-section.warm { background:var(--warm); }
.content-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:115px; align-items:start; }
.content-grid.reverse { grid-template-columns:1.2fr .8fr; }
.content-intro { position:sticky; top:120px; }
.content-intro h2 { font-size:clamp(40px,4.5vw,64px); }
.content-intro>p:not(.eyebrow) { color:var(--muted); font-size:18px; margin:25px 0; }
.dark .content-intro>p:not(.eyebrow) { color:#aeb7ab; }
.content-body h2 { font-size:clamp(37px,4vw,57px); margin-bottom:30px; }
.content-body h3 { font-size:27px; margin:35px 0 12px; }
.content-body p { color:var(--muted); font-size:17px; }
.content-body>p:first-child { margin-top:0; }
.lead { font:600 clamp(24px,3vw,38px)/1.35 var(--display)!important; letter-spacing:-.04em; color:var(--ink)!important; }
.dark .lead { color:white!important; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-grid.two { grid-template-columns:repeat(2,1fr); }
.feature-card { position:relative; min-height:300px; background:var(--surface); padding:32px 28px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.feature-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.feature-card { transition:.25s; }
.feature-card .card-number { display:block; color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.1em; margin-bottom:70px; }
.feature-card h3 { font-size:25px; margin:0 0 13px; }
.feature-card p { color:var(--muted); margin:0; font-size:14px; }
.dark .feature-card { background:var(--ink-2); border-color:#465044; }
.dark .feature-card p { color:#aeb7ab; }
.dark .feature-card .card-number { color:var(--accent); }
.step-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); counter-reset:step; }
.step-card { padding:34px 28px 15px; border-left:1px solid var(--line); min-height:300px; counter-increment:step; }
.step-card:first-child { border-left:0; padding-left:0; }
.step-card::before { content:"0" counter(step); display:block; color:var(--accent-ink); font-size:11px; font-weight:800; margin-bottom:65px; }
.step-card:has(>.step-number)::before,.step-card:has(>span:first-child)::before { display:none; }
.step-card>span:first-child,.step-number { display:block; color:var(--accent-ink); font-size:11px; font-weight:800; margin-bottom:50px; }
.step-card h3 { font-size:24px; margin-bottom:13px; }
.step-card p { color:var(--muted); margin:0; font-size:14px; }
.section-title-row { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:55px; }
.section-title-row>p { color:var(--muted); max-width:430px; margin:0; }
.split-panel { display:block; padding:55px; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:var(--surface); }
.split-panel:has(>div+div) { display:grid; grid-template-columns:1fr 1fr; padding:0; }
.split-panel>div { padding:55px; min-height:390px; }
.split-panel>div+div { border-left:1px solid var(--line); background:var(--ink); color:white; }
.content-grid>.split-panel { padding:45px; }
.split-panel h2 { font-size:clamp(38px,4vw,58px); }
.split-panel h3 { font-size:30px; }
.split-panel p { color:var(--muted); }
.split-panel>div+div p { color:#aeb7ab; }
.check-list { list-style:none; padding:0; margin:30px 0; }
.check-list li { position:relative; padding:13px 0 13px 31px; border-bottom:1px solid var(--line); }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--accent-ink); font-weight:800; }
.dark .check-list li,.split-panel>div+div .check-list li { border-color:#465044; }
.split-panel>div+div .check-list li::before { color:var(--accent); }
.metric-band { background:var(--accent); padding:48px 0; }
.metric-band .container { display:grid; grid-template-columns:repeat(4,1fr); }
.metric-band div div { padding:0 30px; border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.metric-band div div:first-child { padding-left:0; border-left:0; }
.metric-band b { display:block; font:800 clamp(35px,4vw,54px)/1 var(--display); letter-spacing:-.06em; }
.metric-band span { font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.faq-wrap { max-width:900px; margin:0 auto; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button { width:100%; padding:24px 0; display:flex; justify-content:space-between; gap:25px; align-items:center; text-align:left; border:0; background:transparent; cursor:pointer; font:700 20px var(--display); letter-spacing:-.025em; }
.faq-item button::after { content:"+"; width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font:400 21px var(--body); transition:.2s; }
.faq-item button[aria-expanded="true"]::after { content:"−"; background:var(--accent); border-color:var(--accent); }
.faq-item>div { padding:0 70px 25px 0; color:var(--muted); }
.faq-item>div p { margin:0; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
.pricing-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:36px 30px; display:flex; flex-direction:column; min-height:570px; position:relative; }
.pricing-card.featured { color:white; background:var(--ink); border-color:var(--ink); transform:translateY(-12px); }
.pricing-card .pricing-label { color:var(--accent-ink); font-size:10px; letter-spacing:.12em; font-weight:800; text-transform:uppercase; }
.pricing-card.featured .pricing-label { color:var(--accent); }
.pricing-card h2,.pricing-card h3 { font-size:32px; margin:18px 0 8px; }
.pricing-card .price { font:800 47px/1 var(--display); letter-spacing:-.055em; margin:22px 0 8px; }
.pricing-card .price small { font:500 13px var(--body); letter-spacing:0; color:var(--muted); }
.pricing-card.featured .price small,.pricing-card.featured>p { color:#aeb7ab; }
.pricing-card .check-list { margin-bottom:32px; }
.pricing-card .btn { margin-top:auto; width:100%; }
.pricing-card.featured .check-list li { border-color:#465044; }
.pricing-card.featured .check-list li::before { color:var(--accent); }
.comparison-table { width:100%; border-collapse:collapse; background:var(--surface); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); }
.comparison-table th,.comparison-table td { padding:18px 20px; text-align:center; border-bottom:1px solid var(--line); }
.comparison-table th:first-child,.comparison-table td:first-child { text-align:left; }
.comparison-table th { background:var(--ink); color:white; font-size:12px; letter-spacing:.05em; }
.comparison-table td { font-size:14px; }
.story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:90px; align-items:center; }
.story-visual { min-height:560px; border-radius:var(--radius); overflow:hidden; position:relative; background:var(--warm); }
.story-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.story-visual::after { content:"FORMER SELLERS · PRACTICAL OPERATORS"; position:absolute; left:20px; bottom:20px; background:var(--accent); padding:9px 13px; font-size:10px; letter-spacing:.11em; font-weight:800; }
.story-copy h2 { font-size:clamp(42px,5vw,68px); }
.story-copy p { color:var(--muted); font-size:17px; }
.case-grid,.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.case-card,.resource-card { display:flex; flex-direction:column; min-height:430px; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface); transition:.25s; }
.case-card:hover,.resource-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.case-card .case-image,.resource-card .resource-image { height:220px; overflow:hidden; background:var(--warm); }
.case-card img,.resource-card img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.case-card:hover img,.resource-card:hover img { transform:scale(1.035); }
.case-card>div:last-child,.resource-card>div:last-child { padding:26px; display:flex; flex:1; flex-direction:column; }
.case-card .eyebrow,.resource-card .eyebrow { margin-bottom:13px; font-size:13px; }
.case-card h2,.case-card h3,.resource-card h2,.resource-card h3 { font-size:24px; margin:0 0 12px; }
.case-card p,.resource-card p { color:var(--muted); font-size:14px; }
.case-card .text-link,.resource-card .text-link { margin-top:auto; align-self:flex-start; font-size:13px; }
.contact-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; align-items:start; }
.contact-details { position:sticky; top:120px; }
.contact-details h2 { font-size:clamp(40px,5vw,65px); }
.contact-details>p { color:var(--muted); }
.contact-method { display:block; padding:18px 0; border-top:1px solid var(--line); }
.contact-method:last-child { border-bottom:1px solid var(--line); }
.contact-method small { display:block; color:var(--muted); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.contact-method strong { font:700 17px var(--display); }
.contact-form { background:var(--surface); padding:45px; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 16px 60px color-mix(in srgb,var(--ink) 6%,transparent); }
.contact-form h2 { font-size:35px; margin-bottom:10px; }
.contact-form>p { color:var(--muted); margin-bottom:32px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; }
.field { min-width:0; }
.field { display:flex; flex-direction:column; gap:7px; margin-bottom:18px; }
.field.full { grid-column:1/-1; }
.field label { font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.field input,.field select,.field textarea { width:100%; border:1px solid var(--line); background:var(--paper); border-radius:10px; padding:13px 14px; color:var(--ink); outline:none; }
.field textarea { min-height:145px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--accent-deep); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent); }
.contact-form .btn { width:100%; margin-top:8px; }
.form-note { display:block; color:var(--muted); text-align:center; margin-top:13px; font-size:13px; }
.article-layout { display:grid; grid-template-columns:minmax(0,760px) 240px; gap:100px; align-items:start; justify-content:center; }
.article-body { font-size:17px; }
.article-body>p:first-child { font:600 24px/1.55 var(--display); letter-spacing:-.025em; color:var(--ink); }
.article-body p { color:var(--muted); }
.article-body h2 { font-size:38px; margin:55px 0 20px; }
.article-body h3 { font-size:26px; margin:38px 0 14px; }
.article-body blockquote { margin:45px 0; border-left:4px solid var(--accent); padding:10px 0 10px 25px; font:600 25px/1.45 var(--display); letter-spacing:-.03em; }
.article-aside { position:sticky; top:120px; }
.article-aside p { font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.article-aside a { display:block; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; }
.legal-copy { max-width:850px; margin:0 auto; }
.legal-copy h2 { font-size:34px; margin:50px 0 15px; }
.legal-copy h3 { font-size:23px; margin:35px 0 12px; }
.legal-copy p,.legal-copy li { color:var(--muted); }
.legal-copy a { text-decoration:underline; }
.notice-box { padding:25px 28px; background:var(--accent-soft); border-left:4px solid var(--accent-deep); border-radius:0 12px 12px 0; margin:30px 0; }
.notice-box p { margin:0; color:var(--ink); }
.empty-state { min-height:55vh; display:grid; place-items:center; text-align:center; }
.empty-state h1 { font-size:clamp(90px,18vw,230px); color:var(--accent-deep); margin:0; line-height:.8; }
.empty-state h2 { font-size:35px; margin:30px 0 10px; }
.empty-state p { color:var(--muted); margin-bottom:28px; }

/* Rich page modules */
.alt-section { background:var(--surface); }
.dark-section { background:var(--ink); color:white; }
.dark-section .feature-card,.feature-card.inverse,.content-card.inverse { background:var(--ink-2); border-color:#465044; color:white; }
.dark-section .feature-card p,.feature-card.inverse p,.content-card.inverse p { color:#abb5a8; }
.feature-index { display:block; margin-bottom:65px; color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.11em; }
.dark-section .feature-index,.inverse .feature-index { color:var(--accent); }
.page-hero-intro { color:var(--muted); font-size:19px; max-width:620px; margin:27px 0 32px; }
.hero-note { background:var(--ink); color:white; padding:36px; border-radius:var(--radius); box-shadow:var(--shadow); position:relative; }
.hero-note-index { color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.14em; }
.hero-note h2 { margin:45px 0 15px; font-size:30px; }
.hero-note>p { color:#b0b9ad; }
.hero-note-quote { margin:40px 0!important; font:600 26px/1.42 var(--display); letter-spacing:-.035em; color:white!important; }
.hero-note-rule { border-top:1px solid #475044; margin:30px 0; }
.hero-note-points { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.hero-note-points span { color:#c6cdc3; font-size:12px; }
.hero-note-points b { color:var(--accent); margin-right:6px; }
.pricing-card-top>p { color:var(--muted); }
.pricing-card .price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.pricing-card .price small { width:100%; font-size:12px; color:var(--muted); }
.pricing-card .price strong { font:800 47px/1 var(--display); letter-spacing:-.06em; }
.pricing-card .price span { color:var(--muted); font-size:12px; }
.pricing-card.featured .price span,.pricing-card.featured .price small,.pricing-card.featured .pricing-card-top>p { color:#abb5a8; }
.pricing-ribbon { position:absolute; right:18px; top:18px; background:var(--accent); color:var(--ink); padding:6px 9px; border-radius:99px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.pricing-note { margin-top:35px; padding:22px 25px; border:1px solid var(--line); border-radius:12px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:var(--surface); }
.pricing-note>div { display:flex; align-items:center; gap:15px; }
.pricing-note p { margin:0; color:var(--muted); font-size:13px; }
.pricing-note-icon { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:var(--accent); font-weight:800; }
.pricing-note>a { font-weight:700; font-size:13px; white-space:nowrap; }
.split-card>strong { display:block; margin:22px 0 13px; font:700 32px var(--display); letter-spacing:-.04em; }
.split-card-meta { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:28px 0; }
.split-card-meta span { border-top:1px solid var(--line); padding-top:15px; color:var(--muted); font-size:11px; text-transform:uppercase; }
.split-card-meta b { display:block; font:800 30px var(--display); color:var(--ink); }
.split-panel>div+div .split-card-meta b { color:white; }
.split-panel>div+div .split-card-meta span { border-color:#465044; color:#abb5a8; }
.table-wrap { overflow-x:auto; border-radius:var(--radius); }
.table-caption { color:var(--muted); font-size:13px; margin-top:18px; }
.table-check { color:var(--accent-ink); font-weight:800; }
.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; }
.step-grid:has(>li:nth-child(5)) { grid-template-columns:repeat(5,1fr); }
.step-card { list-style:none; }
.step-card-body .check-list { margin-top:22px; }
.step-card-body .check-list li { font-size:13px; }
.step-output { margin-top:25px!important; padding-top:15px; border-top:1px solid var(--line); color:var(--muted)!important; font-size:10px!important; letter-spacing:.05em; }
.step-output b { color:var(--ink); margin-right:5px; }
.dark-section .step-card { border-color:#465044; }
.dark-section .step-card>span:first-child { color:var(--accent); }
.dark-section .step-card p { color:#abb5a8; }
.section-link { text-align:right; margin-top:35px; }
.content-grid:has(>.content-card) { grid-template-columns:repeat(3,1fr); gap:18px; }
.content-card { padding:35px 30px; min-height:310px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.content-card h3 { font-size:25px; }
.content-card>p:last-child { color:var(--muted); }
.story-heading h2 { font-size:clamp(42px,5vw,68px); }
.story-lead { font:600 25px/1.45 var(--display)!important; letter-spacing:-.035em; color:var(--ink)!important; }
.container>.metric-band { margin-top:70px; padding:45px; border-radius:var(--radius); display:grid; grid-template-columns:repeat(4,1fr); }
.container>.metric-band>div { padding:0 20px; border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
.container>.metric-band>div:first-child { border-left:0; padding-left:0; }
.container>.metric-band b { display:block; font:800 43px/1 var(--display); letter-spacing:-.06em; }
.container>.metric-band span { font-size:10px; line-height:1.4; text-transform:uppercase; letter-spacing:.1em; }
.case-grid { grid-template-columns:1fr 1fr; }
.case-card-featured { grid-column:1/-1; min-height:490px; display:grid; grid-template-columns:1fr 1fr; }
.case-card-visual { min-height:230px; padding:22px; position:relative; overflow:hidden; }
.case-card-featured .case-card-visual { min-height:100%; }
.tone-wellness { background:radial-gradient(circle at 70% 35%,var(--accent) 0 9%,transparent 9.5%),linear-gradient(145deg,#dde7d4,var(--ink)); }
.tone-outdoors { background:linear-gradient(145deg,#d5bc8c,#25382a); }
.tone-home { background:linear-gradient(145deg,#f0d8c9,#7b4b3f); }
.case-type,.case-caption { display:inline-block; background:var(--surface); padding:6px 9px; border-radius:99px; font-size:10px; font-weight:800; letter-spacing:.1em; }
.case-caption { position:absolute; left:22px; bottom:22px; }
.case-monogram { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:130px; height:130px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; color:white; font:800 45px var(--display); }
.case-card-copy { padding:30px; display:flex; flex-direction:column; }
.case-card-copy h2 { font-size:35px; }
.case-card-copy>p { color:var(--muted); }
.case-metrics { display:flex; flex-wrap:wrap; gap:25px; margin:25px 0; }
.case-metrics span { color:var(--muted); font-size:10px; text-transform:uppercase; }
.case-metrics b { display:block; color:var(--ink); font:800 28px var(--display); }
.case-card-copy>.btn,.case-card-copy>.text-link { margin-top:auto; align-self:flex-start; }
.back-link { display:inline-flex; gap:10px; align-items:center; border-bottom:1px solid var(--line); margin-bottom:55px; font-size:13px; }
.case-study-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; }
.case-study-heading h1 { font-size:clamp(52px,7vw,96px); }
.case-study-summary>p { color:var(--muted); font-size:18px; }
.case-study-summary dl { margin-top:30px; }
.case-study-summary dl div { display:flex; justify-content:space-between; gap:15px; border-top:1px solid var(--line); padding:10px 0; font-size:13px; }
.case-study-summary dt { color:var(--muted); text-transform:uppercase; }
.case-study-summary dd { margin:0; font-weight:700; text-align:right; }
.callout,.result-quote { margin:35px 0; padding:30px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); }
.callout blockquote,.result-quote blockquote { margin:12px 0; font:600 24px/1.45 var(--display); letter-spacing:-.03em; }
.result-quote p span { display:block; color:var(--muted); font-size:13px; }
.case-disclaimer { padding:18px; border-left:3px solid var(--accent-deep); background:var(--accent-soft); font-size:13px!important; }
.contact-copy h2 { font-size:clamp(40px,5vw,62px); }
.contact-copy>ol { list-style:none; padding:0; margin:40px 0; }
.contact-copy>ol>li { display:grid; grid-template-columns:40px 1fr; gap:15px; border-top:1px solid var(--line); padding:20px 0; }
.contact-copy>ol>li>span { color:var(--accent-ink); font-size:13px; font-weight:800; }
.contact-copy h3 { font-size:19px; margin:0 0 5px; }
.contact-copy li p { color:var(--muted); margin:0; font-size:13px; }
.contact-copy .contact-details { position:static; }
.contact-details>p { margin:0; padding:13px 0; border-top:1px solid var(--line); }
.contact-details>p>span { display:block; color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.field-consent label { display:flex; align-items:flex-start; gap:9px; text-transform:none; letter-spacing:0; font-weight:500; }
.field-consent input { width:auto; margin-top:5px; }
.field-consent a { text-decoration:underline; }
.faq-item h3 { margin:0; }
.faq-item button>span { display:none; }
details.faq-item summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:24px 0; font:700 20px var(--display); }
details.faq-item summary::-webkit-details-marker { display:none; }
details.faq-item summary::after { content:"+"; width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font:400 21px var(--body); }
details.faq-item[open] summary::after { content:"−"; background:var(--accent); border-color:var(--accent); }
details.faq-item>p { color:var(--muted); margin:0; padding:0 70px 25px 0; }
.resource-feature { display:grid; grid-template-columns:1.45fr .55fr; min-height:480px; border-radius:var(--radius); overflow:hidden; background:var(--ink); color:white; }
.resource-feature-visual { padding:48px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 75%,white),var(--accent-deep)); color:var(--ink); }
.resource-feature-visual>span { font-size:10px; font-weight:800; letter-spacing:.12em; }
.resource-feature-visual h2 { font-size:clamp(38px,4vw,58px); }
.resource-feature-copy { padding:45px 35px; display:flex; flex-direction:column; justify-content:space-between; }
.resource-feature-copy>p { color:#b0b9ad; }
.resource-card>a { display:flex; flex-direction:column; height:100%; }
.resource-art { min-height:210px; padding:23px; display:flex; align-items:flex-start; justify-content:space-between; color:white; background:var(--ink-2); }
.resource-card:nth-child(3n+2) .resource-art { background:var(--accent-deep); color:var(--ink); }
.resource-card:nth-child(3n) .resource-art { background:#80634e; }
.resource-art span { font-size:10px; letter-spacing:.1em; }
.resource-art strong { font:700 48px var(--display); }
.resource-card-copy { display:flex; flex:1; flex-direction:column; padding:25px; }
.resource-card-copy p { color:var(--accent-ink); font-size:13px; letter-spacing:.1em; }
.resource-card-copy h3 { font-size:22px; }
.resource-card-copy>span { margin-top:auto; font-size:13px; font-weight:700; }
.article-hero { padding-bottom:65px; }
.article-hero .narrow-hero { padding:0; }
.article-meta { display:flex; justify-content:center; gap:20px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.article-lede { font:600 24px/1.55 var(--display)!important; color:var(--ink)!important; letter-spacing:-.025em; }
.article-callout { background:var(--accent-soft); border-left:4px solid var(--accent-deep); padding:28px; margin:40px 0; }
.article-callout p { font-size:13px; font-weight:800; letter-spacing:.12em; }
.article-callout strong { font:700 24px/1.45 var(--display); }
.article-end { border-top:1px solid var(--line); margin-top:55px; padding-top:30px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.compliance-principles { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:45px 0; }
.compliance-principles article { padding:25px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.compliance-principles span { color:var(--accent-ink); font-size:10px; font-weight:800; }
.compliance-principles h3 { margin:35px 0 10px; }
.compliance-principles p { font-size:13px; }
.legal-note { padding:23px; border-left:4px solid var(--accent-deep); background:var(--accent-soft); color:var(--ink)!important; }
.error-page .hero-actions { justify-content:center; margin-top:30px; }

/* 2026 visual polish */
body { background-image:radial-gradient(circle at 5% 4%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 24vw); }
.site-notice { background:linear-gradient(90deg,var(--ink),var(--ink-2)); }
.site-header { box-shadow:0 1px 0 transparent; }
.site-header.scrolled { background:color-mix(in srgb,var(--surface) 88%,transparent); box-shadow:0 10px 40px rgba(62,31,58,.08); }
.brand-mark { filter:drop-shadow(0 4px 9px color-mix(in srgb,var(--accent) 22%,transparent)); }
.btn { position:relative; overflow:hidden; }
.btn::before { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.25) 48%,transparent 70%); transform:translateX(-140%); transition:transform .55s ease; }
.btn:hover::before { transform:translateX(140%); }
.btn-primary { color:var(--accent-text); background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent-deep) 88%,var(--hot))); box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 28%,transparent); }
.btn-dark { background:linear-gradient(135deg,var(--ink-2),var(--ink)); box-shadow:0 10px 24px rgba(60,28,55,.15); }
.home-hero { position:relative; isolation:isolate; background:linear-gradient(180deg,color-mix(in srgb,var(--accent-soft) 35%,var(--paper)) 0%,var(--paper) 58%,transparent 100%); }
.home-hero::before { content:""; position:absolute; z-index:-1; width:620px; height:620px; left:-260px; top:-290px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--accent) 17%,transparent),transparent 68%); filter:blur(3px); pointer-events:none; }
.home-hero::after { content:""; position:absolute; z-index:-1; inset:0 45% 30% 0; opacity:.28; background-image:radial-gradient(color-mix(in srgb,var(--accent) 34%,transparent) 1px,transparent 1px); background-size:22px 22px; mask-image:linear-gradient(135deg,#000,transparent 70%); pointer-events:none; }
.kicker { width:max-content; padding:7px 11px; background:color-mix(in srgb,var(--surface) 75%,transparent); border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line)); border-radius:99px; box-shadow:0 8px 25px rgba(60,30,56,.06); }
.hero-copy h1 em { background:linear-gradient(100deg,var(--accent-ink),var(--accent-deep)); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-image-wrap { border:1px solid rgba(255,255,255,.75); box-shadow:0 30px 90px rgba(66,32,57,.2),0 0 0 8px color-mix(in srgb,var(--surface) 54%,transparent); }
.hero-image-wrap>img { filter:sepia(.1) saturate(.88) hue-rotate(306deg); }
.hero-image-wrap::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(125deg,rgba(242,185,63,.12),transparent 38%,rgba(217,84,79,.08)); }
.image-badge { z-index:2; color:#fff; background:linear-gradient(145deg,var(--hot),color-mix(in srgb,var(--hot) 70%,#bd1839)); box-shadow:0 20px 40px color-mix(in srgb,var(--hot) 28%,transparent),inset 0 1px rgba(255,255,255,.4); }
.case-label { z-index:2; background:color-mix(in srgb,var(--ink) 92%,transparent); backdrop-filter:blur(12px); }
.logo-row div { gap:10px; }
.logo-row div span { padding:7px 12px; border:1px solid color-mix(in srgb,var(--accent) 13%,var(--line)); border-radius:99px; background:color-mix(in srgb,var(--surface) 76%,transparent); text-align:center; }
.proof-strip { background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--accent-soft) 18%,var(--surface))); }
.principles-grid { gap:14px; border-top:0; }
.principle,.principle:first-child { min-height:310px; padding:30px 26px; border:1px solid var(--line); border-radius:var(--radius); background:color-mix(in srgb,var(--surface) 92%,transparent); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.principle:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--accent) 32%,var(--line)); box-shadow:0 22px 55px rgba(63,31,58,.12); }
.principle .number { right:22px; top:22px; width:29px; height:29px; display:grid; place-items:center; color:var(--accent-ink); background:var(--accent-soft); border-radius:50%; }
.icon-draw { padding:12px; width:58px; height:58px; border-radius:16px; background:var(--accent-soft); }
.services-showcase { position:relative; background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 27%),linear-gradient(145deg,var(--ink-2),var(--ink) 62%); overflow:hidden; }
.services-showcase::after { content:""; position:absolute; width:500px; height:500px; left:-280px; bottom:-300px; border:1px solid color-mix(in srgb,var(--accent) 25%,transparent); border-radius:50%; box-shadow:0 0 0 70px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 140px color-mix(in srgb,var(--accent) 3%,transparent); }
.services-showcase .container { position:relative; z-index:1; }
.service-rows { border-color:rgba(255,255,255,.13); }
.service-row { border-color:rgba(255,255,255,.13); border-radius:14px; }
.service-row:hover { padding-inline:22px; background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--accent) 5%,transparent)); border-color:color-mix(in srgb,var(--accent) 40%,transparent); }
.service-tag { border-color:rgba(255,255,255,.25); color:#c8d6e6; background:rgba(255,255,255,.04); }
.round-arrow { border-color:rgba(255,255,255,.26); }
.service-row:hover .round-arrow { color:var(--accent-text); box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 30%,transparent); }
.process-section { background:radial-gradient(circle at 12% 20%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 26%),linear-gradient(135deg,var(--warm),color-mix(in srgb,var(--surface) 68%,var(--warm))); }
.process-list li { transition:padding .25s ease,background .25s ease; }
.process-list li:hover { padding-inline:18px; background:color-mix(in srgb,var(--surface) 45%,transparent); }
.featured-case { border:0; box-shadow:0 24px 70px rgba(63,31,58,.13); }
.case-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 55%); pointer-events:none; }
.testimonial-card { background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 45%,transparent),transparent 38%),linear-gradient(145deg,var(--ink-2),var(--ink)); box-shadow:0 24px 65px rgba(57,25,52,.2); }
.stat-line b { color:var(--accent-deep); }
.cta-banner { color:white; background:radial-gradient(circle at 8% 5%,rgba(255,255,255,.12),transparent 28%),linear-gradient(135deg,var(--ink-2),var(--ink)); box-shadow:0 28px 70px rgba(62,29,57,.2); }
.cta-banner .eyebrow { color:var(--accent); }
.cta-banner::before { content:""; position:absolute; width:110px; height:110px; right:-25px; top:-24px; border-radius:50%; background:var(--hot); box-shadow:0 0 0 24px color-mix(in srgb,var(--hot) 18%,transparent); }
.cta-banner::after { border-color:rgba(255,255,255,.2); box-shadow:0 0 0 60px rgba(255,255,255,.06),0 0 0 120px rgba(255,255,255,.035); }
.cta-side small { color:rgba(255,255,255,.68); }
.site-footer { background:radial-gradient(circle at 80% 8%,color-mix(in srgb,var(--accent) 19%,transparent),transparent 26%),linear-gradient(160deg,var(--ink-2),var(--ink) 55%); }
.circle-link { color:var(--accent-text); background:linear-gradient(145deg,var(--accent),var(--accent-deep)); box-shadow:0 18px 45px color-mix(in srgb,var(--accent) 25%,transparent); }
.page-hero { isolation:isolate; background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 36%,var(--paper)),var(--paper) 58%); }
.page-hero::before { content:""; position:absolute; z-index:-1; inset:0; opacity:.3; background-image:radial-gradient(color-mix(in srgb,var(--accent) 28%,transparent) 1px,transparent 1px); background-size:24px 24px; mask-image:linear-gradient(90deg,#000,transparent 62%); }
.page-hero::after { border-color:color-mix(in srgb,var(--accent) 20%,transparent); box-shadow:0 0 0 80px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 160px color-mix(in srgb,var(--accent) 3%,transparent); }
.page-hero h1 em,.narrow-hero h1 em { background:linear-gradient(90deg,var(--accent-ink),var(--accent-deep)); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.hero-note { background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 40%,transparent),transparent 42%),linear-gradient(145deg,var(--ink-2),var(--ink)); border:1px solid rgba(255,255,255,.08); }
.feature-card,.content-card,.pricing-card,.contact-form,.case-card,.resource-card { border-color:color-mix(in srgb,var(--accent) 10%,var(--line)); box-shadow:0 10px 35px rgba(63,31,58,.055); }
.feature-card:hover,.content-card:hover,.case-card:hover,.resource-card:hover { border-color:color-mix(in srgb,var(--accent) 32%,var(--line)); box-shadow:0 24px 65px rgba(63,31,58,.12); }
.pricing-card.featured { background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 42%,transparent),transparent 35%),linear-gradient(150deg,var(--ink-2),var(--ink)); box-shadow:0 28px 70px rgba(57,25,52,.22); }
.metric-band { color:var(--accent-text); background:linear-gradient(120deg,var(--accent),var(--accent-deep)); }
.resource-feature-visual { color:var(--accent-text); background:radial-gradient(circle at 80% 12%,color-mix(in srgb,var(--hot) 65%,transparent),transparent 28%),linear-gradient(145deg,var(--accent),var(--accent-deep)); }
.resource-card:nth-child(3n+2) .resource-art { color:var(--accent-text); background:linear-gradient(145deg,var(--accent),var(--accent-deep)); }
.field input,.field select,.field textarea { transition:border-color .2s,box-shadow .2s,background .2s; }
.field input:focus,.field select:focus,.field textarea:focus { background:var(--surface); }

/* Signature home modules */
.proof-strip .section-head>p { padding:22px 24px; border-left:3px solid var(--accent); background:color-mix(in srgb,var(--accent-soft) 50%,var(--surface)); border-radius:0 14px 14px 0; }
.principles-grid { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:minmax(330px,auto); gap:18px; }
.principle,.principle:first-child { display:flex; flex-direction:column; padding:32px; overflow:hidden; isolation:isolate; }
.principle:nth-child(1),.principle:nth-child(4) { grid-column:span 7; }
.principle:nth-child(2),.principle:nth-child(3) { grid-column:span 5; }
.principle:nth-child(1) { color:white; border-color:var(--ink-2); background:radial-gradient(circle at 85% 5%,color-mix(in srgb,var(--accent) 38%,transparent),transparent 34%),linear-gradient(145deg,var(--ink-2),var(--ink)); }
.principle:nth-child(2) { background:linear-gradient(135deg,var(--accent-soft),color-mix(in srgb,var(--accent) 82%,white)); border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.principle:nth-child(3) { background-color:var(--surface); background-image:radial-gradient(color-mix(in srgb,var(--ink) 12%,transparent) 1px,transparent 1px); background-size:18px 18px; }
.principle:nth-child(4) { color:white; background:linear-gradient(125deg,var(--hot),color-mix(in srgb,var(--hot) 52%,var(--ink-2))); border-color:transparent; }
.principle::after { content:""; position:absolute; z-index:-1; right:-55px; bottom:-75px; width:180px; height:180px; border:1px solid color-mix(in srgb,currentColor 20%,transparent); border-radius:50%; box-shadow:0 0 0 28px color-mix(in srgb,currentColor 5%,transparent),0 0 0 56px color-mix(in srgb,currentColor 3%,transparent); }
.principle .number { z-index:2; width:40px; height:40px; font-size:11px; background:color-mix(in srgb,var(--surface) 78%,transparent); color:var(--ink); }
.principle:nth-child(1) .number,.principle:nth-child(4) .number { color:white; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.18); }
.principle-kicker { font-size:10px; font-weight:800; letter-spacing:.15em; color:var(--accent-ink); }
.principle:nth-child(1) .principle-kicker,.principle:nth-child(4) .principle-kicker { color:var(--accent); }
.principle .icon-draw { width:76px; height:76px; margin:32px 0 24px; padding:18px; color:var(--ink); background:color-mix(in srgb,var(--surface) 72%,transparent); box-shadow:0 14px 32px rgba(52,26,48,.1); }
.principle:nth-child(1) .icon-draw,.principle:nth-child(4) .icon-draw { color:var(--accent); background:rgba(255,255,255,.1); }
.principle h3 { font-size:clamp(25px,2.5vw,37px); margin-bottom:12px; }
.principle:nth-child(1) p,.principle:nth-child(4) p { color:rgba(255,255,255,.75); }
.principle-foot { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:22px; border-top:1px solid color-mix(in srgb,currentColor 18%,transparent); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.principle-foot i { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--surface) 70%,transparent); color:var(--ink); font-style:normal; font-size:15px; }
.service-row { grid-template-columns:108px 1fr 170px 55px; min-height:164px; }
.service-index { align-self:stretch; position:relative; display:grid; place-items:center; border-right:1px solid rgba(255,255,255,.12); color:white; }
.service-index b { position:absolute; left:0; top:18px; font:700 13px var(--display); color:var(--accent); letter-spacing:.08em; }
.service-index i { width:62px; height:62px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.055); color:var(--accent); transition:.25s ease; }
.service-index svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.service-row:hover .service-index i { color:var(--ink); background:var(--accent); border-color:var(--accent); transform:rotate(-5deg) scale(1.05); box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 22%,transparent); }
.process-list li { position:relative; grid-template-columns:108px 1fr; gap:32px; padding:34px 0; }
.process-marker { width:82px; height:82px; position:relative; display:grid!important; place-items:center; margin:0!important; border:1px solid color-mix(in srgb,var(--ink) 18%,transparent); border-radius:24px; color:var(--ink)!important; background:color-mix(in srgb,var(--surface) 66%,transparent); box-shadow:0 14px 36px rgba(60,29,55,.09); transition:.25s ease; }
.process-marker b { position:absolute; left:-7px; top:-8px; width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:white; font:700 13px var(--display); }
.process-marker svg { width:44px; height:44px; fill:none; stroke:var(--accent-deep); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.process-list li:hover .process-marker { color:var(--accent-text)!important; background:var(--accent); border-color:var(--accent); transform:rotate(-4deg); }
.process-list li:hover .process-marker svg { stroke:var(--ink); }
.process-list li:hover .process-marker b { background:var(--hot); }
.stat-showcase { margin-top:72px; display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:repeat(2,minmax(220px,auto)); gap:18px; }
.stat-card { position:relative; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); overflow:hidden; }
.stat-card-primary { grid-row:1/3; color:white; background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--accent) 44%,transparent),transparent 29%),linear-gradient(150deg,var(--ink-2),var(--ink)); border-color:transparent; }
.stat-card-category { background:linear-gradient(135deg,var(--accent-soft),var(--accent)); }
.stat-card-experience { background:var(--surface); }
.stat-card-rating { grid-column:2/4; color:white; background:linear-gradient(120deg,var(--hot),color-mix(in srgb,var(--hot) 45%,var(--ink-2))); border-color:transparent; }
.stat-label { display:block; font-size:10px; font-weight:800; letter-spacing:.14em; margin-bottom:35px; opacity:.68; }
.stat-card b { display:block; font:800 clamp(50px,5vw,76px)/.9 var(--display); letter-spacing:-.07em; }
.stat-card b sup { color:var(--accent); font-size:.46em; vertical-align:top; }
.stat-card b small { font-size:max(12px,.35em); letter-spacing:0; margin-left:5px; }
.stat-card h3 { max-width:370px; margin:23px 0 10px; font-size:22px; }
.stat-card p { max-width:390px; margin:0; color:var(--muted); font-size:13px; }
.stat-card-primary p,.stat-card-rating p { color:rgba(255,255,255,.7); }
.stat-card-rating { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto 1fr; column-gap:25px; }
.stat-card-rating .stat-label { grid-column:1; }
.stat-card-rating .stars { grid-column:2; grid-row:1; justify-self:end; color:var(--accent); }
.stat-card-rating b { grid-column:1; grid-row:2/4; }
.stat-card-rating h3 { grid-column:2; grid-row:2; margin-top:0; }
.stat-card-rating p { grid-column:2; grid-row:3; }
.stat-orbit { position:absolute; right:-68px; bottom:-70px; width:230px; height:230px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 32px rgba(255,255,255,.035),0 0 0 64px rgba(255,255,255,.02); }
.stat-orbit i { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--accent); }
.stat-orbit i:nth-child(1) { left:20px; top:42px; }.stat-orbit i:nth-child(2) { right:32px; top:17px; }.stat-orbit i:nth-child(3) { left:42px; bottom:18px; background:var(--hot); }
.category-ticks { display:flex; align-items:end; gap:5px; height:37px; margin:20px 0; }
.category-ticks i { width:9px; border-radius:5px; background:var(--ink); opacity:.72; }
.category-ticks i:nth-child(1){height:35%}.category-ticks i:nth-child(2){height:62%}.category-ticks i:nth-child(3){height:48%}.category-ticks i:nth-child(4){height:85%}.category-ticks i:nth-child(5){height:100%}
.experience-line { display:flex; align-items:center; justify-content:space-between; margin-top:35px; border-top:2px solid var(--line); }
.experience-line span { width:11px; height:11px; margin-top:-6px; border:3px solid var(--surface); border-radius:50%; background:var(--accent-deep); }

/* Six CTA compositions */
.cta-feature { min-height:480px; padding:85px 90px; grid-template-columns:1.2fr .65fr; background:radial-gradient(circle at 15% 0,rgba(255,255,255,.17),transparent 31%),linear-gradient(130deg,var(--ink-2),var(--ink)); }
.cta-feature h2 { font-size:clamp(54px,6vw,82px); }
.cta-feature .cta-seal { position:absolute; right:38%; bottom:35px; width:106px; height:106px; display:grid; place-items:center; align-content:center; border-radius:50%; color:var(--ink); background:var(--accent); text-align:center; font:800 10px/1.25 var(--display); letter-spacing:.08em; transform:rotate(-9deg); box-shadow:0 15px 35px rgba(34,15,31,.22); }
.cta-feature .cta-seal span { font-size:23px; letter-spacing:-.04em; }
.cta-service { border-radius:80px 22px 22px 22px; background:linear-gradient(125deg,var(--accent),color-mix(in srgb,var(--accent) 58%,var(--hot))); color:var(--ink); }
.cta-service .eyebrow,.cta-service .cta-side small { color:var(--ink); }
.cta-service::before { background:var(--surface); }
.cta-frame { color:var(--ink); border:2px solid var(--ink); background:transparent; box-shadow:none; }
.cta-frame::before { background:var(--accent); }
.cta-frame::after { border-color:color-mix(in srgb,var(--ink) 12%,transparent); box-shadow:0 0 0 60px color-mix(in srgb,var(--ink) 3%,transparent),0 0 0 120px color-mix(in srgb,var(--ink) 2%,transparent); }
.cta-frame .eyebrow,.cta-frame .cta-side small { color:var(--ink); }
.cta-editorial { background:linear-gradient(110deg,var(--hot) 0 36%,var(--ink-2) 36% 100%); }
.cta-editorial::before { background:var(--accent); }
.cta-compact { min-height:310px; padding:55px 65px; border-radius:22px 90px 22px 22px; background:linear-gradient(135deg,var(--ink-2),var(--ink)); }
.cta-compact h2 { font-size:clamp(42px,4vw,58px); }
.cta-minimal { color:var(--ink); background:var(--surface); border:1px solid var(--line); box-shadow:0 20px 70px rgba(60,28,55,.08); }
.cta-minimal::before { background:var(--hot); }
.cta-minimal .eyebrow,.cta-minimal .cta-side small { color:var(--ink); }

/* Mixed-format service portfolio */
.core-services-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; }
.core-service { min-height:390px; position:relative; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface); }
.core-service h3 { font-size:clamp(30px,3vw,43px); margin:0 0 14px; }
.core-service p { color:var(--muted); }
.core-service-image { display:grid; grid-template-columns:1.08fr .92fr; grid-column:1/-1; min-height:490px; }
.core-service-media { position:relative; min-height:100%; overflow:hidden; }
.core-service-media img { width:100%; height:100%; object-fit:cover; filter:sepia(.15) saturate(.78) hue-rotate(306deg); }
.core-service-media::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 58%); }
.core-service-media>span { position:absolute; z-index:1; left:23px; top:23px; padding:8px 11px; border-radius:99px; background:var(--surface); font-size:10px; font-weight:800; letter-spacing:.11em; }
.core-service-copy { padding:55px 45px; display:flex; flex-direction:column; justify-content:center; }
.core-service-copy .text-link { align-self:flex-start; margin-top:30px; }
.core-service-dark { padding:35px; color:white; background:radial-gradient(circle at 95% 0,color-mix(in srgb,var(--accent) 42%,transparent),transparent 36%),linear-gradient(145deg,var(--ink-2),var(--ink)); }
.core-service-dark p { color:rgba(255,255,255,.68); }
.core-service-dark .text-link { margin-top:35px; }
.core-service-icon { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:70px; }
.core-service-icon svg { width:68px; height:68px; padding:14px; border:1px solid rgba(255,255,255,.18); border-radius:20px; fill:none; stroke:var(--accent); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.core-service-icon b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.11); font-size:13px; }
.core-service-amber { padding:35px; background:linear-gradient(135deg,var(--accent-soft),var(--accent)); }
.core-service-amber p { color:color-mix(in srgb,var(--ink) 72%,transparent); }
.keyword-cloud { min-height:120px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:30px; }
.keyword-cloud span { padding:8px 13px; border:1px solid color-mix(in srgb,var(--ink) 16%,transparent); border-radius:99px; background:rgba(255,255,255,.28); font-size:11px; transform:rotate(-3deg); }
.keyword-cloud span:nth-child(even) { transform:translateY(12px) rotate(4deg); font-size:16px; font-weight:700; }
.core-service-wide { grid-column:1/-1; padding:42px; display:grid; grid-template-columns:.65fr 1.35fr; gap:55px; align-items:center; background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--hot) 8%,var(--surface))); }
.listing-wireframe { min-height:280px; padding:25px; display:grid; grid-template-columns:1fr 1.2fr; gap:15px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 18px 45px rgba(61,29,56,.1); position:relative; }
.listing-wireframe>i { border-radius:12px; background:linear-gradient(145deg,var(--accent-soft),var(--accent)); }
.listing-wireframe>div { display:grid; align-content:center; gap:12px; }
.listing-wireframe>div span { height:14px; border-radius:99px; background:var(--line); }
.listing-wireframe>div span:nth-child(1) { width:72%; height:25px; background:var(--ink-2); }.listing-wireframe>div span:nth-child(3) { width:55%; }
.listing-wireframe>b { position:absolute; right:-12px; top:-12px; width:45px; height:45px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--hot); font-size:13px; }

/* Deliberately varied pricing cards */
.pricing-feedback { margin-top:34px; border-radius:22px 22px 70px 22px; background:var(--surface); }
.pricing-symbol { width:62px; height:62px; display:grid; place-items:center; margin-bottom:24px; border-radius:18px; color:var(--hot); background:color-mix(in srgb,var(--hot) 11%,var(--surface)); }
.pricing-symbol svg { width:38px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.pricing-popular { min-height:620px; border-radius:70px 22px 22px 22px; }
.pricing-popular::after { content:"POPULAR"; position:absolute; right:23px; bottom:23px; color:rgba(255,255,255,.06); font:800 50px var(--display); letter-spacing:-.06em; transform:rotate(-90deg) translateX(35%); transform-origin:right bottom; }
.pricing-popular>* { position:relative; z-index:1; }
.pricing-listing { margin-top:18px; padding-top:85px; background:linear-gradient(150deg,var(--accent-soft),var(--surface) 58%); border-color:color-mix(in srgb,var(--accent) 45%,var(--line)); }
.pricing-corner { position:absolute; left:-1px; right:-1px; top:-1px; padding:13px 30px; color:var(--ink); background:var(--accent); border-radius:22px 22px 0 0; font-size:10px; font-weight:800; letter-spacing:.13em; }
.pricing-feedback .price strong { color:var(--hot); }
.pricing-listing .price strong { color:var(--accent-deep); }
.comparison-table tbody tr:hover { background:color-mix(in srgb,var(--accent-soft) 45%,transparent); }

/* Authentication and form app */
.auth-page { padding:48px 0 110px; background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--accent-soft) 18%,var(--paper))); }
.auth-shell { display:grid; grid-template-columns:.9fr 1.1fr; min-height:720px; border:1px solid var(--line); border-radius:30px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); }
.auth-visual { padding:50px; display:flex; flex-direction:column; justify-content:space-between; color:white; background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--accent) 42%,transparent),transparent 27%),linear-gradient(145deg,var(--ink-2),var(--ink)); position:relative; overflow:hidden; }
.auth-visual::after { content:""; position:absolute; width:330px; height:330px; right:-180px; bottom:-160px; border:1px solid rgba(255,255,255,.14); border-radius:50%; box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.02); }
.auth-visual>* { position:relative; z-index:1; }
.auth-visual .back-link { width:max-content; color:rgba(255,255,255,.72); border-color:rgba(255,255,255,.25); }
.auth-visual h1 { font-size:clamp(46px,5vw,70px); margin-bottom:24px; }
.auth-visual>div>p:not(.eyebrow) { max-width:400px; color:rgba(255,255,255,.68); }
.auth-proof { display:flex; align-items:center; gap:14px; padding:18px; border:1px solid rgba(255,255,255,.13); border-radius:15px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.auth-proof>span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent); }
.auth-proof p,.auth-proof small { display:block; margin:0; }.auth-proof small { color:rgba(255,255,255,.6); }
.auth-panel { padding:70px clamp(35px,6vw,90px); display:flex; flex-direction:column; justify-content:center; }
.auth-heading { margin-bottom:35px; }
.auth-step { display:block; color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.15em; margin-bottom:14px; }
.auth-heading h2 { font-size:clamp(38px,4vw,54px); margin-bottom:12px; }
.auth-heading p { color:var(--muted); margin:0; }
.auth-form .btn { width:100%; margin-top:12px; }
.label-row { display:flex; align-items:center; justify-content:space-between; }
.label-row a { font-size:13px; color:var(--accent-ink); text-transform:none; letter-spacing:0; }
.password-field { position:relative; }
.password-field input { padding-right:62px; }
.password-field button { position:absolute; right:9px; top:50%; transform:translateY(-50%); border:0; background:transparent; color:var(--accent-ink); font-size:13px; font-weight:700; cursor:pointer; }
.choice-check { display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:13px; cursor:pointer; }
.choice-check input { margin-top:4px; accent-color:var(--accent-deep); }
.choice-check a { color:var(--ink); text-decoration:underline; }
.field-hint { color:var(--muted); font-size:12px; }
.auth-divider { margin:25px 0; display:flex; align-items:center; gap:12px; color:var(--muted); font-size:10px; }
.auth-divider::before,.auth-divider::after { content:""; flex:1; border-top:1px solid var(--line); }
.social-signin { width:100%; padding:13px; border:1px solid var(--line); border-radius:99px; background:var(--surface); cursor:pointer; }
.social-signin b { margin-right:10px; color:var(--hot); }
.auth-switch { margin:28px 0 0; text-align:center; color:var(--muted); font-size:13px; }.auth-switch a { color:var(--ink); font-weight:700; border-bottom:1px solid; }
.auth-benefits { list-style:none; padding:0; margin:38px 0 0; }
.auth-benefits li { display:flex; gap:12px; padding:16px 0; border-top:1px solid rgba(255,255,255,.13); }
.auth-benefits span { color:var(--accent); font-size:10px; }
.auth-legal { color:rgba(255,255,255,.5); font-size:13px; }
.verify-shell { max-width:660px; padding:65px; text-align:center; border:1px solid var(--line); border-radius:30px; background:var(--surface); box-shadow:var(--shadow); }
.verify-icon { width:85px; height:85px; display:grid; place-items:center; margin:0 auto 30px; border-radius:25px; color:var(--ink); background:var(--accent); transform:rotate(-4deg); }
.verify-icon svg { width:48px; fill:none; stroke:currentColor; stroke-width:1.5; }
.verify-shell h1 { font-size:clamp(45px,6vw,70px); }
.verify-shell>p { color:var(--muted); }
.otp-form fieldset { margin:38px 0 25px; padding:0; border:0; }
.otp-inputs { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.otp-inputs input { width:100%; aspect-ratio:1; border:1px solid var(--line); border-radius:14px; background:var(--paper); text-align:center; font:700 27px var(--display); outline:none; }
.otp-inputs input:focus { border-color:var(--accent-deep); box-shadow:0 0 0 4px var(--accent-soft); background:var(--surface); }
.otp-form .btn { width:100%; }
.resend-code { margin:20px 0 35px; border:0; background:transparent; color:var(--muted); cursor:pointer; font-size:13px; }
.resend-code b { color:var(--ink); border-bottom:1px solid; }
.form-app { padding:75px 0 120px; background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--warm) 55%,var(--paper))); }
.form-app-head { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; margin-bottom:55px; }
.form-app-head h1 { margin:0; font-size:clamp(55px,7vw,90px); }
.form-app-head>p { color:var(--muted); font-size:18px; }
.multi-step-app { display:grid; grid-template-columns:330px 1fr; min-height:750px; border:1px solid var(--line); border-radius:28px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); }
.form-progress { padding:42px 35px; color:white; background:linear-gradient(155deg,var(--ink-2),var(--ink)); }
.form-progress>p { color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.15em; }
.form-progress ol { list-style:none; padding:0; margin:35px 0; }
.form-progress li { position:relative; display:grid; grid-template-columns:38px 1fr; gap:13px; padding:16px 0; opacity:.46; }
.form-progress li::after { content:""; position:absolute; left:18px; top:50px; bottom:-15px; border-left:1px solid rgba(255,255,255,.18); }
.form-progress li:last-child::after { display:none; }
.form-progress li.active,.form-progress li.complete { opacity:1; }
.form-progress li>span { width:37px; height:37px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; font-size:13px; }
.form-progress li.active>span { color:var(--ink); background:var(--accent); border-color:var(--accent); }
.form-progress li.complete>span { background:var(--hot); border-color:var(--hot); }
.form-progress li b,.form-progress li small { display:block; }.form-progress li b { font-size:13px; }.form-progress li small { color:rgba(255,255,255,.55); font-size:12px; }
.progress-note { margin-top:60px; padding:18px; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(255,255,255,.05); }
.progress-note p { color:rgba(255,255,255,.6); font-size:13px; margin-bottom:0; }
.multi-step-form { padding:55px 65px 35px; display:flex; flex-direction:column; }
.form-step { animation:stepIn .32s ease; }
@keyframes stepIn { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
.form-step h2 { font-size:clamp(38px,4vw,55px); margin-bottom:10px; }
.form-step>p { color:var(--muted); margin:0 0 35px; }
.field label>span { color:var(--muted); font-size:10px; text-transform:none; }
.choice-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.choice-grid label { cursor:pointer; position:relative; min-width:0; }
.choice-grid input { position:absolute; width:1px; height:1px; margin:0; padding:0; border:0; opacity:0; clip-path:inset(50%); }
.choice-grid input:focus-visible+span { outline:2px solid var(--ink); outline-offset:3px; }
.choice-grid label>span { display:grid; place-items:center; min-height:52px; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--paper); font-size:13px; font-weight:700; }
.choice-grid input:checked+span { border-color:var(--accent-deep); background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent-deep); }
.choice-grid.compact { width:min(100%,347px); grid-template-columns:repeat(4,minmax(0,1fr)); }
.option-cards { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.option-cards label { cursor:pointer; }
.option-cards input { position:absolute; opacity:0; }
.option-cards label>span { min-height:180px; display:flex; flex-direction:column; padding:23px; border:1px solid var(--line); border-radius:16px; background:var(--paper); transition:.2s; }
.option-cards i { color:var(--accent-ink); font-style:normal; font-size:10px; font-weight:800; }
.option-cards b { margin:30px 0 8px; font:700 18px var(--display); }
.option-cards small { color:var(--muted); line-height:1.5; }
.option-cards input:checked+span { border-color:var(--accent-deep); background:var(--accent-soft); transform:translateY(-3px); box-shadow:0 12px 30px rgba(64,30,58,.09); }
.form-navigation { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:32px; border-top:1px solid var(--line); }
.form-navigation>span { margin-inline:auto; color:var(--muted); font-size:11px; }
.error-stage { min-height:70vh; display:grid; place-items:center; padding:80px 0; text-align:center; }
.error-stage-inner>p:not(.eyebrow) { max-width:620px; margin:20px auto 30px; color:var(--muted); }
.error-stage h1 { font-size:clamp(52px,7vw,88px); }
.error-code { display:flex; justify-content:center; align-items:center; gap:10px; margin:0 auto 25px; color:var(--ink); font:800 clamp(70px,12vw,150px)/.8 var(--display); letter-spacing:-.1em; }
.error-code i { width:clamp(72px,10vw,125px); aspect-ratio:1; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent); font-style:normal; }
.error-code svg { width:50%; fill:none; stroke:currentColor; stroke-width:2; }

@media (max-width: 1024px) {
  :root { --container:min(100% - 38px, 960px); }
  .desktop-nav { display:none; }
  .menu-toggle { display:flex; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-copy { padding-top:35px; max-width:760px; }
  .hero-image-wrap { width:100%; border-radius:26px; }
  .principles-grid { grid-template-columns:1fr 1fr; }
  .principle { border-top:1px solid var(--line); padding-bottom:35px; }
  .principle:nth-child(odd) { border-left:0; }
  .process-layout { gap:60px; }
  .results-grid { grid-template-columns:1fr; }
  .testimonial-card { min-height:380px; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-links:last-child { grid-column:2/4; }
  .page-hero-grid { gap:55px; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .step-grid { grid-template-columns:1fr 1fr; }
  .step-card:nth-child(odd) { border-left:0; }
  .step-card { border-top:1px solid var(--line); }
  .content-grid,.content-grid.reverse { gap:60px; }
  .pricing-grid { grid-template-columns:1fr 1fr; }
  .pricing-card.featured { transform:none; }
  .case-grid,.resource-grid { grid-template-columns:1fr 1fr; }
  .article-layout { gap:55px; }
  .step-grid:has(>li:nth-child(5)) { grid-template-columns:1fr 1fr; }
  .content-grid:has(>.content-card) { grid-template-columns:1fr 1fr; }
  .case-card-featured { grid-template-columns:1fr 1fr; }
  .resource-feature { grid-template-columns:1fr 1fr; }
  .principles-grid { grid-template-columns:1fr 1fr; grid-auto-rows:auto; }
  .principle:nth-child(n) { grid-column:auto; border:1px solid var(--line); }
  .stat-showcase { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .stat-card-primary { grid-row:auto; grid-column:1/-1; min-height:390px; }
  .stat-card-rating { grid-column:1/-1; }
  .core-service-image { grid-template-columns:1fr 1fr; }
  .multi-step-app { grid-template-columns:270px 1fr; }
  .multi-step-form { padding-inline:40px; }
}
@media (max-width: 720px) {
  :root { --container:calc(100% - 30px); --radius:15px; }
  .site-notice { height:32px; }
  .notice-inner>span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:60%; }
  .nav-shell { height:68px; }
  .mobile-menu { max-height:calc(100dvh - 100px); }
  .desktop-cta,.client-login { display:none; }
  .section { padding:82px 0; }
  .home-hero { padding-top:20px; }
  .hero-grid { gap:40px; }
  .kicker { font-size:10px; }
  .hero-copy h1 { font-size:clamp(49px,15vw,71px); }
  .hero-intro { font-size:17px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:20px; }
  .hero-actions .btn { width:100%; }
  .hero-actions .text-link { width:max-content; }
  .hero-image-wrap,.hero-image-wrap>img { min-height:470px; height:470px; }
  .hero-image-wrap>img { object-position:60% center; }
  .image-badge { width:112px; height:112px; right:14px; top:14px; }
  .image-badge b { font-size:28px; }
  .case-label { padding:16px 18px; min-width:210px; }
  .logo-row { align-items:flex-start; flex-direction:column; gap:12px; margin-top:35px; }
  .logo-row div { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
  .section-head { grid-template-columns:1fr; gap:25px; margin-bottom:45px; }
  .section-head>p { font-size:16px; }
  .principles-grid { grid-template-columns:1fr; }
  .principle,.principle:first-child { min-height:380px; display:flex; padding:26px 22px; border:1px solid var(--line); }
  .principle .number { top:22px; right:22px; }
  .principle .icon-draw { margin:28px 0 20px; }
  .principle h3 { margin-bottom:8px; }
  .principle p { grid-column:auto; }
  .service-row { grid-template-columns:78px 1fr 42px; gap:14px; min-height:145px; }
  .service-index { border-right:0; }
  .service-index i { width:52px; height:52px; border-radius:15px; }
  .service-index svg { width:30px; height:30px; }
  .service-index b { top:10px; }
  .service-tag { display:none; }
  .service-title h3 { font-size:27px; }
  .service-title p { font-size:13px; line-height:1.45; }
  .round-arrow { width:42px; height:42px; }
  .showcase-foot { align-items:flex-start; flex-direction:column; }
  .process-layout { grid-template-columns:1fr; gap:45px; }
  .process-sticky { position:static; }
  .process-list li { grid-template-columns:72px 1fr; gap:18px; }
  .process-marker { width:62px; height:62px; border-radius:18px; }
  .process-marker svg { width:34px; height:34px; }
  .process-list h3 { font-size:27px; }
  .results-top { align-items:flex-start; flex-direction:column; gap:28px; }
  .featured-case { grid-template-columns:1fr; }
  .case-visual { min-height:310px; }
  .case-copy { padding:35px 24px; }
  .case-copy .quote { font-size:23px; }
  .metric-pair { margin:40px 0 32px; }
  .stat-line { grid-template-columns:1fr 1fr; }
  .stat-line div,.stat-line div:first-child { border-left:0; padding:20px 0; }
  .stat-line div:nth-child(even) { border-left:1px solid var(--line); padding-left:20px; }
  .cta-section { padding-bottom:82px; }
  .cta-banner { grid-template-columns:1fr; padding:50px 24px; gap:35px; }
  .cta-banner::after { display:none; }
  .footer-lead { align-items:flex-start; flex-direction:column; gap:45px; }
  .circle-link { width:125px; height:125px; align-self:flex-end; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:45px 25px; }
  .footer-brand { grid-column:1/-1; }
  .footer-links:last-child { grid-column:1/-1; }
  .footer-bottom { gap:18px; flex-direction:column; }
  .js .reveal { transform:translateY(12px); }
  .page-hero { padding:65px 0 70px; }
  .page-hero::after { display:none; }
  .page-hero-grid { grid-template-columns:1fr; gap:20px; }
  .page-hero h1,.narrow-hero h1 { font-size:clamp(49px,14.5vw,70px); }
  .page-hero-copy>p,.hero-aside>p { font-size:17px; }
  .narrow-hero { padding:65px 0 55px; text-align:left; }
  .narrow-hero .eyebrow { justify-content:flex-start; }
  .narrow-hero p { margin-inline:0; }
  .content-section { padding:75px 0; }
  .content-grid,.content-grid.reverse { grid-template-columns:1fr; gap:45px; }
  .content-intro { position:static; }
  .section-title-row { align-items:flex-start; flex-direction:column; gap:20px; }
  .feature-grid,.feature-grid.two { grid-template-columns:1fr; }
  .feature-card { min-height:255px; }
  .step-grid { grid-template-columns:1fr; }
  .step-card,.step-card:first-child { border-left:0; padding:28px 0; min-height:auto; }
  .step-card::before { margin-bottom:25px; }
  .split-panel { grid-template-columns:1fr; }
  .split-panel>div { padding:35px 24px; min-height:auto; }
  .split-panel>div+div { border-left:0; border-top:1px solid var(--line); }
  .metric-band .container { grid-template-columns:1fr 1fr; gap:30px 0; }
  .metric-band div div,.metric-band div div:first-child { padding:0 15px; border-left:0; }
  .metric-band div div:nth-child(even) { border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
  .faq-item button { font-size:17px; }
  .faq-item>div { padding-right:15px; }
  .pricing-grid { grid-template-columns:1fr; }
  .pricing-card { min-height:auto; }
  .comparison-table { display:block; overflow-x:auto; }
  .story-grid { grid-template-columns:1fr; gap:45px; }
  .story-visual { min-height:420px; }
  .case-grid,.resource-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; gap:50px; }
  .contact-details { position:static; }
  .contact-form { padding:30px 20px; }
  .field-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .article-layout { grid-template-columns:1fr; gap:45px; }
  .article-aside { position:static; order:-1; }
  .page-hero-intro { font-size:17px; }
  .hero-note { padding:28px 23px; margin-top:20px; }
  .pricing-note { flex-direction:column; align-items:flex-start; }
  .step-grid:has(>li:nth-child(5)),.content-grid:has(>.content-card) { grid-template-columns:1fr; }
  .step-card>span:first-child,.step-number { margin-bottom:24px; }
  .feature-index { margin-bottom:35px; }
  .split-panel { padding:35px 24px; }
  .container>.metric-band { grid-template-columns:1fr 1fr; gap:25px 0; padding:30px 18px; }
  .container>.metric-band>div { border-left:0; padding:0 10px; }
  .container>.metric-band>div:nth-child(even) { border-left:1px solid color-mix(in srgb,var(--ink) 18%,transparent); }
  .case-card-featured { grid-template-columns:1fr; }
  .case-card-featured .case-card-visual { min-height:330px; }
  .case-study-heading { grid-template-columns:1fr; gap:35px; }
  .resource-feature { grid-template-columns:1fr; }
  .resource-feature-visual { padding:35px 24px; min-height:430px; }
  .resource-feature-copy { padding:32px 24px; gap:25px; }
  .article-meta { justify-content:flex-start; flex-wrap:wrap; }
  .article-end { align-items:flex-start; flex-direction:column; }
  .compliance-principles { grid-template-columns:1fr; }
  .error-page .hero-actions { align-items:stretch; }
  .home-hero::after { inset:0 0 45% 0; }
  .logo-row div span { padding-inline:8px; font-size:10px; }
  .cta-banner::before { width:78px; height:78px; }
  .stat-showcase { grid-template-columns:1fr; }
  .stat-card-primary,.stat-card-rating { grid-column:auto; min-height:350px; }
  .stat-card-rating { display:block; }
  .stat-card-rating>* { grid-column:auto!important; grid-row:auto!important; }
  .stat-card-rating .stars { margin-bottom:24px; }
  .cta-feature,.cta-service,.cta-frame,.cta-editorial,.cta-compact,.cta-minimal { min-height:auto; padding:50px 24px; border-radius:22px; background-position:center; }
  .cta-feature .cta-seal { right:18px; bottom:18px; width:85px; height:85px; opacity:.22; }
  .cta-editorial { background:linear-gradient(150deg,var(--hot) 0 20%,var(--ink-2) 20% 100%); }
  .core-services-grid { grid-template-columns:1fr; }
  .core-service-image,.core-service-wide { grid-column:auto; grid-template-columns:1fr; }
  .core-service-media { min-height:330px; }
  .core-service-copy,.core-service-dark,.core-service-amber,.core-service-wide { padding:30px 23px; }
  .listing-wireframe { min-height:230px; }
  .pricing-feedback,.pricing-listing { margin-top:0; }
  .pricing-popular { min-height:auto; border-radius:45px 18px 18px; }
  .auth-page { padding:25px 0 70px; }
  .auth-shell { grid-template-columns:1fr; }
  .auth-visual { min-height:440px; padding:35px 24px; }
  .auth-panel { padding:45px 23px; }
  .verify-shell { padding:45px 20px; }
  .otp-inputs { gap:6px; }
  .otp-inputs input { border-radius:10px; font-size:21px; }
  .form-app-head { grid-template-columns:1fr; gap:20px; }
  .multi-step-app { grid-template-columns:1fr; }
  .form-progress { padding:25px 20px; }
  .form-progress>p,.progress-note,.form-progress li div { display:none; }
  .form-progress ol { display:flex; justify-content:space-between; margin:0; }
  .form-progress li { display:block; padding:0; }
  .form-progress li::after { left:37px; right:-60px; top:18px; bottom:auto; border-left:0; border-top:1px solid rgba(255,255,255,.18); }
  .multi-step-form { padding:40px 20px 25px; min-height:690px; }
  .choice-grid { grid-template-columns:1fr 1fr; }
  .choice-grid.compact { width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .option-cards { grid-template-columns:1fr; }
  .option-cards label>span { min-height:145px; }
  .form-navigation { flex-wrap:wrap; }
  .form-navigation .btn { flex:1; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}

/* Fix 2.4 integration contracts rendered by the shared footer. */
.admin-chat-drawer-head>div:last-child { flex:0 0 auto; display:flex; align-items:center; gap:7px; }
.admin-chat-drawer-head>div:last-child a { padding-inline:10px; font-size:12px; font-weight:800; white-space:nowrap; }
.admin-chat-settings { position:absolute; z-index:3; inset:76px 0 0; padding:22px; overflow:auto; background:var(--surface); }
.admin-chat-settings>header { margin-bottom:18px; display:flex; align-items:center; justify-content:space-between; }
.admin-chat-settings>header h3 { margin:0; }
.admin-chat-settings>header button { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:transparent; cursor:pointer; }
.admin-chat-settings>label { margin-bottom:14px; display:grid; grid-template-columns:1fr minmax(185px,.9fr); align-items:center; gap:12px; color:var(--muted); font-size:13px; font-weight:700; }
.admin-chat-settings>label>span { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 38px; align-items:center; gap:8px; }
.admin-chat-settings select,.admin-chat-settings input { min-height:40px; padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.admin-chat-settings>div:last-child { margin-top:20px; display:flex; gap:9px; }
.admin-live-draft { margin:0; padding:7px 14px; color:var(--accent-ink); background:var(--accent-soft); font-size:12px; font-style:italic; }
.live-chat-attachment.is-image { display:block; border:0; white-space:normal; }
.live-chat-attachment.is-image img { width:min(260px,100%); max-height:210px; margin-bottom:6px; display:block; object-fit:cover; border-radius:9px; }
.live-chat-upload-preview { grid-template-columns:1fr; }
.upload-preview-item { min-width:0; display:flex; align-items:center; gap:9px; }
.upload-preview-item img { flex:0 0 auto; }
.upload-preview-item b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.monitor-settings-panel { margin-top:18px; }
.monitor-graph-card { margin-bottom:18px; }
.monitor-settings-panel form { padding:18px; }
.monitor-settings-panel form label { display:flex; align-items:center; gap:8px; font-weight:800; }
.monitor-settings-panel form input { width:84px; min-height:38px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; }
.monitor-settings-panel form p { color:var(--muted); font-size:13px; }
.monitor-section-title { margin:0; padding:14px 18px 0; font-size:15px; }
.monitor-session-history { margin:12px 18px; padding:11px 13px; border:1px solid var(--line); border-radius:10px; }
.monitor-session-history summary { font-size:13px; font-weight:800; cursor:pointer; }
.monitor-session-history ol { margin:10px 0 0; padding-left:20px; color:var(--muted); font-size:12px; }
.markdown-toolbar { margin:8px 0 0; display:flex; flex-wrap:wrap; gap:5px; }
.markdown-toolbar button { min-height:30px; padding:5px 8px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); font-size:11px; font-weight:800; cursor:pointer; }
.markdown-preview { max-height:220px; margin:7px 0; padding:10px; overflow:auto; border:1px dashed var(--line); border-radius:8px; color:var(--muted); background:var(--paper); white-space:pre-wrap; }
.admin-chat-detached .admin-chat-drawer-head { display:none; }
@media (max-width:720px) {
  .admin-chat-settings { top:68px; }
  .admin-chat-settings>label { grid-template-columns:1fr; gap:5px; }
}

/* 2026 conversion-led homepage and service page refresh */
.booking-hero { padding:72px 0 0; }
.booking-hero-grid { min-height:690px; display:grid; grid-template-columns:.92fr 1.08fr; grid-template-areas:"form copy"; gap:72px; align-items:center; }
.booking-hero-copy { grid-area:copy; padding:45px 0 45px 20px; }
.booking-hero-copy h1 { font-size:clamp(58px,6.6vw,96px); }
.hero-booking-card { grid-area:form; position:relative; padding:36px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:30px 30px 86px 30px; background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent-soft) 20%,var(--surface))); box-shadow:0 28px 80px rgba(63,30,58,.15); overflow:hidden; }
.hero-booking-card::before { content:""; position:absolute; width:175px; height:175px; right:-95px; top:-100px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 24px color-mix(in srgb,var(--accent) 16%,transparent),0 0 0 48px color-mix(in srgb,var(--accent) 7%,transparent); }
.hero-booking-card>* { position:relative; z-index:1; }
.hero-form-head { margin-bottom:25px; }
.hero-form-index { display:inline-flex; margin-bottom:17px; padding:7px 10px; border-radius:99px; color:var(--ink); background:var(--accent); font-size:10px; font-weight:800; letter-spacing:.11em; }
.hero-form-head h2 { max-width:480px; font-size:clamp(36px,3.3vw,52px); margin-bottom:10px; }
.hero-form-head p { margin:0; color:var(--muted); font-size:14px; }
.hero-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hero-booking-card .field { margin-bottom:13px; }
.hero-booking-card .field input,.hero-booking-card .field select,.hero-booking-card .field textarea { background:var(--surface); }
.hero-booking-card .field textarea { min-height:100px; }
.hero-booking-card .btn { width:100%; margin-top:4px; }
.hero-form-note { display:flex; justify-content:center; flex-wrap:wrap; gap:7px 11px; margin:13px 0 0; color:var(--muted); font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.hero-form-note span { color:var(--accent-ink); font-weight:900; }
.trusted-strip { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:40px; margin-top:65px; padding:27px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; }
.trusted-strip>p { margin:0; color:var(--ink); font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.brand-marquee { min-width:0; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.brand-marquee-track { width:max-content; display:flex; align-items:center; gap:18px; animation:brandMarquee 28s linear infinite; }
.brand-marquee:hover .brand-marquee-track { animation-play-state:paused; }
.brand-logo-slot { width:155px; height:54px; display:grid; place-items:center; border:1px dashed color-mix(in srgb,var(--ink) 19%,var(--line)); border-radius:13px; color:color-mix(in srgb,var(--muted) 72%,transparent); background:color-mix(in srgb,var(--surface) 72%,transparent); font:700 10px var(--display); letter-spacing:.13em; }
@keyframes brandMarquee { to { transform:translateX(calc(-50% - 9px)); } }
.services-showcase .service-index b { display:none; }

/* Rich service-detail modules */
.service-icon { width:64px; height:64px; display:grid; place-items:center; border-radius:18px; color:var(--accent-ink); background:linear-gradient(145deg,var(--accent-soft),color-mix(in srgb,var(--accent) 58%,var(--accent-soft))); box-shadow:0 12px 30px rgba(62,29,57,.1); }
.service-icon svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-detail-page .page-hero { position:relative; }
.service-detail-page .page-hero-grid>div:first-child::after { content:"SERVICE"; display:block; width:max-content; margin-top:35px; padding:8px 12px; border:1px solid color-mix(in srgb,var(--accent-deep) 25%,var(--line)); border-radius:99px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.14em; }
.service-visual-hero .page-hero-grid { align-items:center; }
.service-hero-media { width:100%; height:auto; aspect-ratio:1.5; margin-top:28px; display:block; object-fit:cover; object-position:70% center; border:1px solid rgba(255,255,255,.7); border-radius:20px; box-shadow:0 22px 55px rgba(63,29,57,.14); }
.service-supporting-visual { position:relative; aspect-ratio:2.6; margin:32px 0 0; overflow:hidden; border-radius:20px; background:var(--ink); box-shadow:0 22px 55px rgba(63,29,57,.12); }
.service-supporting-visual img { width:100%; height:100%; object-fit:cover; object-position:62% center; }
.service-supporting-visual figcaption { position:absolute; left:clamp(18px,3vw,36px); bottom:clamp(18px,3vw,36px); display:grid; gap:6px; color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.5); }
.service-supporting-visual figcaption span { color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.14em; }
.service-supporting-visual figcaption strong { font:800 clamp(22px,2.6vw,36px)/1.1 var(--display); }
.service-detail-page .content-grid>.split-panel { position:relative; min-height:390px; transition:transform .25s,box-shadow .25s,border-color .25s; }
.service-detail-page .content-grid>.split-panel:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); box-shadow:0 24px 65px rgba(63,31,58,.11); }
.service-detail-page .content-grid>.split-panel:first-child { background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--warm) 50%,var(--surface))); }
.service-detail-page .content-grid>.split-panel:nth-child(2) { color:white; background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--accent) 34%,transparent),transparent 35%),linear-gradient(145deg,var(--ink-2),var(--ink)); border-color:transparent; }
.service-detail-page .content-grid>.split-panel:nth-child(2) p { color:#c3b9c5; }
.service-detail-page .content-grid>.split-panel:nth-child(2) .eyebrow { color:var(--accent); }
.service-detail-page .content-grid>.split-panel:nth-child(2) .check-list li { border-color:rgba(255,255,255,.13); }
.service-detail-page .content-grid>.split-panel:nth-child(2) .check-list li::before { color:var(--accent); }
.service-detail-page .step-grid { gap:16px; border-top:0; }
.service-detail-page .step-card,.service-detail-page .step-card:first-child { position:relative; min-height:330px; padding:30px; border:1px solid var(--line); border-radius:20px; background:var(--surface); overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
.service-detail-page .step-card::after { content:""; position:absolute; width:100px; height:100px; right:-52px; bottom:-55px; border-radius:50%; border:1px solid color-mix(in srgb,var(--accent) 32%,transparent); box-shadow:0 0 0 20px color-mix(in srgb,var(--accent) 5%,transparent); }
.service-detail-page .step-card:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--accent) 40%,var(--line)); box-shadow:0 22px 55px rgba(62,29,57,.11); }
.service-detail-page .step-card>span:first-child { width:max-content; margin-bottom:52px; padding:8px 10px; border-radius:99px; background:var(--accent-soft); }
.service-detail-page .feature-grid { gap:16px; }
.service-detail-page .feature-card { min-height:330px; padding:31px; isolation:isolate; }
.service-detail-page .feature-card::after { content:""; position:absolute; z-index:-1; width:150px; height:150px; right:-75px; top:-80px; border-radius:50%; background:color-mix(in srgb,var(--accent-soft) 55%,transparent); }
.service-detail-page .feature-card::before { content:"✦"; position:absolute; right:24px; top:24px; width:44px; height:44px; display:grid; place-items:center; border:1px solid color-mix(in srgb,var(--accent-deep) 24%,var(--line)); border-radius:14px; color:var(--accent-ink); background:color-mix(in srgb,var(--surface) 80%,transparent); font:700 17px var(--display); transform:rotate(4deg); }
.service-detail-page .feature-card:nth-child(2n)::before { content:"⌁"; transform:rotate(-4deg); }
.service-detail-page .feature-card:nth-child(3n)::before { content:"◇"; }
.service-detail-page .feature-card .card-number { width:max-content; margin-bottom:72px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--accent-deep) 22%,var(--line)); border-radius:99px; background:var(--paper); }
.service-detail-page .feature-card:nth-child(2n) { background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--accent-soft) 20%,var(--surface))); }
.service-detail-page .feature-card:nth-child(3n) { background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--warm) 38%,var(--surface))); }
.service-detail-page .comparison-table tbody th::before { content:""; width:8px; height:8px; display:inline-block; margin-right:10px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent); }

/* All services catalog */
.services-all-hero .hero-meta { margin-top:25px; }
.service-catalog-section { background:var(--surface); }
.service-catalog-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.service-catalog-card { position:relative; min-height:485px; padding:38px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:26px; background:var(--paper); overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
.service-catalog-card:hover { transform:translateY(-6px); border-color:color-mix(in srgb,var(--accent) 42%,var(--line)); box-shadow:0 25px 65px rgba(63,29,57,.13); }
.catalog-icon { width:76px; height:76px; display:grid; place-items:center; margin-bottom:55px; border-radius:22px; color:var(--accent-ink); background:var(--accent-soft); }
.catalog-icon svg { width:43px; height:43px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-catalog-card .mini-label { color:var(--accent-ink); }
.service-catalog-card h2,.service-catalog-card h3 { font-size:clamp(34px,3.5vw,52px); margin-bottom:14px; }
.service-catalog-card>p,.catalog-copy>p:not(.mini-label) { color:var(--muted); }
.catalog-points { list-style:none; padding:0; margin:22px 0 30px; }
.catalog-points li { padding:10px 0; border-bottom:1px solid color-mix(in srgb,currentColor 13%,transparent); color:var(--muted); font-size:13px; }
.catalog-points li::before { content:"✓"; margin-right:9px; color:var(--accent-ink); font-weight:900; }
.service-catalog-card .text-link { width:max-content; margin-top:auto; }
.service-catalog-card-featured { grid-column:1/-1; min-height:480px; display:grid; grid-template-columns:.68fr 1.32fr; align-items:center; gap:65px; color:white; border-color:transparent; background:radial-gradient(circle at 8% 90%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 30%),linear-gradient(145deg,var(--ink-2),var(--ink)); }
.service-catalog-card-featured .catalog-icon { width:180px; height:180px; margin:auto; border-radius:52px; color:var(--ink); background:linear-gradient(145deg,var(--accent),var(--accent-deep)); transform:rotate(-5deg); }
.service-catalog-card-featured .catalog-icon svg { width:100px; height:100px; }
.service-catalog-card-featured .mini-label { color:var(--accent); }
.service-catalog-card-featured .catalog-copy>p:not(.mini-label),.service-catalog-card-featured .catalog-points li { color:#c3b9c5; }
.service-catalog-card-featured .catalog-points li::before { color:var(--accent); }
.service-catalog-card-featured .btn { margin-top:4px; }
.service-catalog-card-accent { background:linear-gradient(145deg,var(--accent),color-mix(in srgb,var(--accent-soft) 70%,var(--accent))); border-color:transparent; }
.service-catalog-card-accent .catalog-icon { color:white; background:var(--ink); }
.service-catalog-card-accent p,.service-catalog-card-accent .catalog-points li { color:color-mix(in srgb,var(--ink) 72%,transparent); }
.service-catalog-card-wide { grid-column:1/-1; min-height:410px; display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; align-items:center; background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--hot) 8%,var(--surface))); }
.catalog-visual { min-height:290px; position:relative; padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:14px; border:1px solid var(--line); border-radius:22px; background:var(--surface); box-shadow:0 18px 45px rgba(63,29,57,.1); transform:rotate(-2deg); }
.catalog-visual span { border-radius:14px; background:linear-gradient(145deg,var(--accent-soft),var(--accent)); }
.catalog-visual span:first-child { grid-row:1/3; }
.catalog-visual span:nth-child(2) { background:var(--ink-2); }
.catalog-visual span:nth-child(3) { background:var(--warm); }
.catalog-visual i { position:absolute; right:-15px; top:-15px; width:58px; height:58px; border-radius:50%; background:var(--hot); box-shadow:0 0 0 9px var(--surface); }
.service-finder-section { background:linear-gradient(145deg,var(--warm),color-mix(in srgb,var(--surface) 64%,var(--warm))); }
.service-finder-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.service-finder-card { min-height:155px; padding:25px; display:grid; grid-template-columns:62px 1fr 40px; gap:20px; align-items:center; border:1px solid color-mix(in srgb,var(--accent) 10%,var(--line)); border-radius:20px; background:var(--surface); transition:transform .25s,box-shadow .25s; }
.service-finder-card:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(63,29,57,.1); }
.finder-mark { width:62px; height:62px; display:grid; place-items:center; border-radius:18px; color:var(--ink); background:var(--accent); font:800 25px var(--display); }
.service-finder-card p { margin:0 0 4px; font:600 19px var(--display); letter-spacing:-.03em; }
.service-finder-card b { color:var(--accent-ink); font-size:13px; text-transform:uppercase; letter-spacing:.07em; }
.service-finder-card>i { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-style:normal; transition:.2s; }
.service-finder-card:hover>i { color:white; background:var(--ink); transform:rotate(45deg); }
.connected-system-section { background:var(--surface); }
.service-loop { display:grid; gap:11px; align-content:center; }
.service-loop span { padding:15px 17px; display:flex; align-items:center; gap:14px; border:1px solid rgba(255,255,255,.13); border-radius:13px; background:rgba(255,255,255,.05); color:white; font:700 17px var(--display); }
.service-loop span i { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent); font:800 10px var(--body); font-style:normal; }
.project-standard-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.project-standard-card { min-height:310px; padding:29px; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.project-standard-card>span { width:60px; height:60px; display:grid; place-items:center; margin-bottom:60px; border-radius:17px; color:var(--accent-ink); background:var(--accent-soft); }
.project-standard-card svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.project-standard-card h3 { font-size:24px; margin-bottom:12px; }
.project-standard-card p { margin:0; color:var(--muted); font-size:14px; }

/* Product Feedback landing and order experience */
.feedback-hero { padding:72px 0 84px; }
.feedback-hero .page-hero-grid { grid-template-columns:1.12fr .88fr; align-items:center; gap:72px; }
.feedback-hero h1 { max-width:780px; font-size:clamp(46px,5.25vw,74px); line-height:.98; letter-spacing:-.067em; }
.feedback-hero-intro { max-width:720px; margin:28px 0 30px; color:var(--muted); font-size:18px; line-height:1.65; }
.feedback-hero-main .hero-actions { gap:14px; }
.feedback-hero-aside { align-self:center; }
.feedback-rating-visual { position:relative; z-index:1; width:min(100%,500px); margin:0 auto 24px; }
.feedback-rating-visual>img { display:block; width:100%; height:auto; aspect-ratio:1.55; object-fit:cover; object-position:70% center; border-radius:26px 64px 26px 26px; box-shadow:0 22px 55px rgba(63,29,57,.16); }
.feedback-rating-badge { position:absolute; left:16px; bottom:16px; min-width:235px; padding:13px 15px; display:grid; grid-template-columns:42px 1fr 45px; gap:11px; align-items:center; border:1px solid rgba(255,255,255,.62); border-radius:18px; background:linear-gradient(135deg,rgba(255,249,220,.96),rgba(255,228,111,.96)); box-shadow:0 16px 38px rgba(63,29,57,.2); backdrop-filter:blur(7px); }
.rating-badge-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:var(--accent); background:var(--ink); font-size:20px; }
.feedback-rating-badge strong,.feedback-rating-badge small,.rating-badge-stars { display:block; }
.feedback-rating-badge strong { font:800 25px/1 var(--display); letter-spacing:-.05em; }
.rating-badge-stars { margin:3px 0 1px; color:#d7971e; font-size:10px; letter-spacing:.08em; }
.feedback-rating-badge small { color:color-mix(in srgb,var(--ink) 65%,transparent); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.feedback-rating-badge svg { width:45px; fill:none; stroke:var(--accent-deep); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.feedback-hero-side { padding:25px; border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line)); border-radius:22px; background:color-mix(in srgb,var(--surface) 82%,transparent); box-shadow:0 18px 50px rgba(63,29,57,.08); }
.feedback-hero-side>p { margin-top:0; }
.feedback-hero-points { list-style:none; padding:0; margin:0 0 24px; }
.feedback-hero-points li { display:grid; grid-template-columns:38px 1fr; gap:12px; padding:14px 0; border-top:1px solid var(--line); }
.feedback-hero-points li:first-child { padding-top:0; border-top:0; }
.feedback-hero-points li>span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent); font-size:13px; font-weight:800; }
.feedback-hero-points b,.feedback-hero-points small { display:block; }
.feedback-hero-points b { margin-bottom:5px; font:700 17px var(--display); }
.feedback-hero-points small { color:var(--muted); font-size:14px; line-height:1.55; }
.feedback-hero-side>.text-link { margin-left:50px; }
.feedback-hero-side .hero-actions { gap:20px; }
.feedback-problem-section { background:var(--surface); }
.feedback-problem-card,.feedback-solution-card { min-height:570px; }
.feedback-problem-card .service-icon,.feedback-solution-card .service-icon { margin-bottom:42px; }
.feedback-benefits-label { margin:26px 0 4px!important; color:white!important; font-size:13px!important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.feedback-solution-card { color:white; border-color:transparent!important; background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--accent) 35%,transparent),transparent 34%),linear-gradient(145deg,var(--ink-2),var(--ink))!important; }
.feedback-solution-card p { color:#c3b9c5!important; }
.feedback-solution-card .eyebrow { color:var(--accent); }
.feedback-solution-card .check-list li { border-color:rgba(255,255,255,.13); }
.feedback-solution-card .check-list li::before { color:var(--accent); }
.feedback-process-section { background:linear-gradient(145deg,var(--warm),color-mix(in srgb,var(--paper) 60%,var(--warm))); }
.feedback-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.feedback-process-card { min-height:390px; padding:29px; display:flex; flex-direction:column; border:1px solid color-mix(in srgb,var(--accent) 12%,var(--line)); border-radius:22px; background:var(--surface); transition:transform .25s,box-shadow .25s; }
.feedback-process-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(63,29,57,.11); }
.process-card-icon { width:68px; height:68px; display:grid; place-items:center; margin-bottom:52px; border-radius:20px; color:var(--accent-ink); background:var(--accent-soft); }
.process-card-icon svg { width:40px; height:40px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.feedback-process-card>p:first-of-type { margin:0 0 8px; color:var(--accent-ink); font-size:13px; font-weight:800; letter-spacing:.13em; }
.feedback-process-card h3 { font-size:25px; margin-bottom:12px; }
.feedback-process-card h3+p { margin:0; color:var(--muted); font-size:14px; }
.feedback-process-card small { margin-top:auto; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.08em; }
.feedback-included-section { background:var(--surface); }
.feedback-deliverables-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feedback-deliverable { min-height:420px; padding:31px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:24px; background:var(--paper); transition:.25s; }
.feedback-deliverable:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); box-shadow:0 22px 55px rgba(63,29,57,.1); }
.feedback-deliverable:nth-child(2),.feedback-deliverable:nth-child(5) { background:linear-gradient(145deg,var(--accent-soft),color-mix(in srgb,var(--accent) 70%,var(--accent-soft))); }
.feedback-deliverable:nth-child(3),.feedback-deliverable:nth-child(6) { background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--warm) 55%,var(--surface))); }
.feedback-deliverable .service-icon { margin-bottom:42px; }
.feedback-deliverable>span { color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.13em; }
.feedback-deliverable h3 { margin:12px 0; font-size:27px; }
.feedback-deliverable p { margin:0; color:var(--muted); font-size:14px; }
.feedback-deliverable small { margin-top:auto; padding-top:22px; border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent); font-size:12px; font-weight:700; }
.feedback-cta-break { padding:0 0 120px; background:var(--surface); }
.feedback-inline-cta { min-height:230px; padding:38px 45px; display:grid; grid-template-columns:90px 1fr auto; gap:32px; align-items:center; border-radius:24px 70px 24px 24px; color:white; background:linear-gradient(135deg,var(--hot),color-mix(in srgb,var(--hot) 48%,var(--ink-2))); box-shadow:0 24px 60px rgba(63,29,57,.15); }
.feedback-inline-cta .eyebrow { color:var(--accent); }
.feedback-inline-cta h2 { max-width:680px; font-size:clamp(35px,4vw,56px); }
.feedback-cta-icon { width:90px; height:90px; display:grid; place-items:center; border-radius:26px; color:var(--ink); background:var(--accent); transform:rotate(-4deg); }
.feedback-cta-icon svg { width:55px; fill:none; stroke:currentColor; stroke-width:1.7; }
.feedback-cases-section { background:var(--paper); }
.feedback-case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feedback-case-card { min-height:520px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--surface); transition:.25s; }
.feedback-case-card:hover { transform:translateY(-5px); box-shadow:0 22px 55px rgba(63,29,57,.11); }
.feedback-case-visual { min-height:220px; position:relative; display:grid; place-items:center; overflow:hidden; }
.feedback-case-visual::after { content:""; position:absolute; width:170px; height:170px; right:-85px; bottom:-90px; border:1px solid rgba(255,255,255,.28); border-radius:50%; box-shadow:0 0 0 25px rgba(255,255,255,.06); }
.feedback-case-visual>span { position:absolute; left:18px; top:18px; padding:7px 10px; border-radius:99px; background:var(--surface); font-size:10px; font-weight:800; letter-spacing:.12em; }
.feedback-case-visual svg { width:100px; height:100px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.feedback-case-home { color:white; background:linear-gradient(145deg,var(--ink-2),var(--ink)); }
.feedback-case-wellness { color:var(--ink); background:linear-gradient(145deg,var(--accent-soft),var(--accent)); }
.feedback-case-outdoors { color:white; background:linear-gradient(145deg,#5f7564,var(--ink)); }
.feedback-case-copy { padding:27px; display:flex; flex:1; flex-direction:column; }
.feedback-case-copy h3 { font-size:25px; margin-bottom:12px; }
.feedback-case-copy>p:not(.mini-label) { color:var(--muted); font-size:14px; }
.feedback-case-copy>b { margin-top:auto; padding-top:19px; border-top:1px solid var(--line); color:var(--accent-ink); font-size:13px; letter-spacing:.08em; }
.feedback-pricing-section { color:white; background:radial-gradient(circle at 85% 0,color-mix(in srgb,var(--accent) 24%,transparent),transparent 30%),linear-gradient(155deg,var(--ink-2),var(--ink)); }
.feedback-pricing-section .section-head.inverse>p { color:#c3b9c5; }
.feedback-price-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:25px; align-items:stretch; }
.feedback-price-card { padding:45px; border:1px solid rgba(255,255,255,.14); border-radius:26px 26px 80px 26px; background:rgba(255,255,255,.06); backdrop-filter:blur(10px); }
.feedback-price-card>div:first-child { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.feedback-price-card .pricing-label { color:var(--accent); }
.pricing-badge { padding:7px 10px; border-radius:99px; color:var(--ink); background:var(--accent); font-size:10px; font-weight:800; letter-spacing:.1em; }
.feedback-price-card h3 { max-width:650px; margin:30px 0; font-size:clamp(35px,4vw,54px); }
.feedback-price { display:flex; align-items:baseline; gap:10px; margin-bottom:28px; }
.feedback-price small { color:#c3b9c5; font-size:12px; letter-spacing:.12em; }
.feedback-price strong { color:var(--accent); font:800 clamp(58px,6vw,82px)/1 var(--display); letter-spacing:-.07em; }
.feedback-price span { color:#c3b9c5; font-size:12px; }
.feedback-price-card .check-list li { border-color:rgba(255,255,255,.13); }
.feedback-price-card .check-list li::before { color:var(--accent); }
.feedback-price-card .btn { width:100%; margin-top:15px; }
.price-note { margin:16px 0 0; color:#a99dac; text-align:center; font-size:13px; }
.feedback-addons { padding:38px; border-radius:26px; color:var(--ink); background:var(--surface); }
.feedback-addons>.mini-label { color:var(--accent-ink); margin-bottom:20px; }
.feedback-addons article { display:grid; grid-template-columns:52px 1fr; gap:16px; padding:20px 0; border-top:1px solid var(--line); }
.addon-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; color:var(--accent-ink); background:var(--accent-soft); font:700 20px var(--display); }
.feedback-addons h3 { margin:0 0 6px; font-size:19px; }
.feedback-addons p { margin:0; color:var(--muted); font-size:13px; }
.feedback-order-section { background:linear-gradient(145deg,var(--warm),var(--paper)); }
.feedback-order-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; align-items:start; }
.feedback-order-copy { position:sticky; top:120px; }
.feedback-order-copy>p:not(.eyebrow) { color:var(--muted); font-size:17px; }
.order-assurance { display:grid; margin:35px 0; }
.order-assurance span { padding:16px 0; border-top:1px solid color-mix(in srgb,var(--ink) 16%,transparent); font-weight:700; }
.order-assurance b { width:30px; height:30px; display:inline-grid; place-items:center; margin-right:12px; border-radius:50%; color:var(--ink); background:var(--accent); font-size:13px; }
.order-policy-note { padding:20px; display:grid; grid-template-columns:58px 1fr; gap:14px; align-items:center; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.order-policy-note .service-icon { width:58px; height:58px; }
.order-policy-note p { margin:0; color:var(--muted); font-size:13px; }
.feedback-order-form { padding:46px; border:1px solid color-mix(in srgb,var(--accent) 15%,var(--line)); border-radius:28px; background:var(--surface); box-shadow:0 24px 70px rgba(63,29,57,.12); }
.feedback-order-form .form-intro { margin-bottom:32px; }
.feedback-order-form .form-intro h2 { font-size:clamp(37px,4vw,55px); margin-bottom:10px; }
.feedback-order-form .form-intro>p:last-child { color:var(--muted); }
.feedback-order-form .btn { width:100%; }
.upload-field>input[type="file"] { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.upload-drop { min-height:155px; padding:25px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1.5px dashed color-mix(in srgb,var(--accent-deep) 38%,var(--line)); border-radius:16px; background:color-mix(in srgb,var(--accent-soft) 20%,var(--paper)); text-align:center; cursor:pointer; transition:.2s; text-transform:none!important; letter-spacing:0!important; }
.upload-drop:hover { border-color:var(--accent-deep); background:var(--accent-soft); }
.upload-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:9px; border-radius:50%; color:var(--ink); background:var(--accent); font-size:20px; }
.upload-drop b { font-size:13px; }
.upload-drop small { max-width:440px; margin-top:5px; color:var(--muted); font-size:12px; font-weight:500; }
.upload-selection { margin:2px 0 0; color:var(--muted); font-size:13px; }
.feedback-boundary-section { background:var(--surface); }

@media (max-width:1024px) {
  .booking-hero-grid { gap:38px; grid-template-columns:1fr 1fr; }
  .booking-hero-copy { padding-left:0; }
  .hero-booking-card { padding:28px; }
  .service-catalog-card-featured { grid-template-columns:.6fr 1.4fr; gap:35px; }
  .service-catalog-card-featured .catalog-icon { width:145px; height:145px; }
  .project-standard-grid,.feedback-process-grid { grid-template-columns:1fr 1fr; }
  .feedback-hero .page-hero-grid { gap:40px; }
  .feedback-hero h1 { font-size:clamp(44px,5.5vw,62px); }
  .feedback-hero-intro { font-size:16px; }
  .feedback-deliverables-grid { grid-template-columns:1fr 1fr; }
  .feedback-case-grid { grid-template-columns:1fr 1fr; }
  .feedback-case-card:last-child { grid-column:1/-1; }
  .feedback-order-layout { gap:45px; grid-template-columns:.8fr 1.2fr; }
}

@media (max-width:720px) {
  .booking-hero { padding-top:25px; }
  .booking-hero-grid { min-height:auto; grid-template-columns:1fr; grid-template-areas:"copy" "form"; gap:28px; }
  .booking-hero-copy { padding:35px 0 5px; }
  .booking-hero-copy h1 { font-size:clamp(49px,15vw,70px); }
  .hero-booking-card { padding:28px 20px; border-radius:22px 22px 55px 22px; }
  .hero-form-grid { grid-template-columns:1fr; gap:0; }
  .trusted-strip { grid-template-columns:1fr; gap:15px; margin-top:55px; }
  .brand-logo-slot { width:130px; height:50px; }
  .service-detail-page .step-grid { gap:12px; }
  .service-detail-page .step-card,.service-detail-page .step-card:first-child { min-height:auto; padding:28px 23px; }
  .service-detail-page .feature-card { min-height:290px; }
  .service-catalog-grid,.service-finder-grid { grid-template-columns:1fr; }
  .service-catalog-card { min-height:auto; padding:29px 23px; }
  .service-catalog-card-featured,.service-catalog-card-wide { grid-column:auto; grid-template-columns:1fr; gap:28px; }
  .service-catalog-card-featured .catalog-icon { width:105px; height:105px; margin:10px 0; border-radius:32px; }
  .service-catalog-card-featured .catalog-icon svg { width:62px; height:62px; }
  .catalog-icon { margin-bottom:38px; }
  .catalog-visual { min-height:230px; }
  .service-finder-card { min-height:135px; grid-template-columns:52px 1fr 34px; gap:13px; padding:19px; }
  .finder-mark { width:52px; height:52px; }
  .service-finder-card p { font-size:16px; }
  .service-finder-card>i { width:34px; height:34px; }
  .project-standard-grid,.feedback-process-grid,.feedback-deliverables-grid,.feedback-case-grid { grid-template-columns:1fr; }
  .feedback-case-card:last-child { grid-column:auto; }
  .project-standard-card { min-height:270px; }
  .feedback-hero { padding:48px 0 65px; }
  .feedback-hero .page-hero-grid { grid-template-columns:1fr; gap:32px; }
  .feedback-hero h1 { font-size:clamp(42px,12.5vw,59px); }
  .feedback-hero-intro { margin:22px 0 26px; font-size:16px; }
  .feedback-rating-visual { width:min(100%,500px); margin:4px auto 22px; }
  .feedback-rating-visual>img { border-radius:22px 48px 22px 22px; }
  .feedback-rating-badge { left:10px; top:12px; bottom:auto; min-width:210px; grid-template-columns:38px 1fr 38px; padding:11px 12px; }
  .service-supporting-visual { aspect-ratio:1.45; }
  .rating-badge-icon { width:38px; height:38px; }
  .feedback-rating-badge svg { width:38px; }
  .feedback-hero-side { padding:20px; }
  .feedback-hero-side>.text-link { margin-left:0; }
  .feedback-hero-side .hero-actions { align-items:stretch; }
  .feedback-problem-card,.feedback-solution-card { min-height:auto; }
  .feedback-process-card { min-height:340px; }
  .feedback-deliverable { min-height:365px; }
  .feedback-inline-cta { grid-template-columns:1fr; padding:34px 23px; border-radius:22px 52px 22px 22px; }
  .feedback-cta-icon { width:72px; height:72px; border-radius:20px; }
  .feedback-cta-icon svg { width:44px; }
  .feedback-inline-cta .btn { width:100%; }
  .feedback-price-layout,.feedback-order-layout { grid-template-columns:1fr; }
  .feedback-price-card,.feedback-addons,.feedback-order-form { padding:30px 20px; }
  .feedback-price-card { border-radius:22px 22px 58px 22px; }
  .feedback-price-card>div:first-child { align-items:flex-start; flex-direction:column; }
  .feedback-order-copy { position:static; }
  .order-policy-note { grid-template-columns:48px 1fr; }
  .order-policy-note .service-icon { width:48px; height:48px; border-radius:14px; }
}

/* Homepage service slider and journal */
.home-service-hero { position:relative; overflow:hidden; padding:48px 0 62px; background:linear-gradient(135deg,var(--paper),color-mix(in srgb,var(--warm) 26%,var(--paper))); }
.home-service-hero::before { content:""; position:absolute; width:520px; height:520px; right:-260px; top:-300px; border:1px solid color-mix(in srgb,var(--ink) 10%,transparent); border-radius:50%; box-shadow:0 0 0 72px color-mix(in srgb,var(--accent) 6%,transparent),0 0 0 144px color-mix(in srgb,var(--ink) 2%,transparent); }
.service-slider-shell { position:relative; z-index:1; }
.service-slider-mast { min-height:34px; margin-bottom:22px; display:flex; align-items:center; justify-content:space-between; gap:30px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.service-slider-mast>p { margin:0; display:flex; align-items:center; gap:13px; }
.service-slider-mast i { width:4px; height:4px; border-radius:50%; background:var(--accent-deep); }
.service-slider-count { display:flex; align-items:baseline; gap:5px; }
.service-slider-count b { color:var(--ink); font:800 20px var(--display); letter-spacing:-.04em; }
.service-slider-stage { position:relative; display:grid; overflow:visible; }
.service-slider-stage::before { content:""; position:absolute; z-index:0; width:300px; height:300px; right:-70px; top:-52px; border-radius:50%; background:conic-gradient(from 215deg,color-mix(in srgb,var(--accent) 52%,transparent) 0 25%,transparent 25% 100%); transform:rotate(-8deg); }
.service-slide { grid-area:1/1; min-width:0; min-height:650px; display:grid; grid-template-columns:.88fr 1.12fr; gap:72px; align-items:center; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(18px); transition:opacity .45s ease,transform .45s ease,visibility .45s; }
.service-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:none; z-index:1; }
.service-slide-copy { padding:36px 0 30px; align-self:center; }
.service-slide-copy .eyebrow { margin-bottom:18px; }
.service-slide-copy h1 { margin:0 0 24px; font-size:clamp(51px,5.3vw,78px); line-height:.94; letter-spacing:-.07em; }
.service-slide-copy h1 em { color:var(--accent-deep); font-style:normal; }
.service-slide-intro { max-width:650px; margin:0 0 24px; color:var(--muted); font-size:16px; line-height:1.66; }
.service-benefits { margin:0 0 30px; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0 22px; }
.service-benefits li { min-height:48px; padding:10px 0; display:grid; grid-template-columns:29px 1fr; gap:10px; align-items:center; border-top:1px solid var(--line); font-size:13px; font-weight:700; line-height:1.35; }
.service-benefits li>span { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent); font:800 13px var(--display); }
.service-slide-media { width:calc(100% + max(24px,(100vw - var(--container))/2)); min-width:0; min-height:620px; position:relative; overflow:hidden; border-radius:190px 0 0 28px; background:var(--warm); box-shadow:0 24px 65px rgba(63,30,58,.12); }
.service-slide-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,23,42,.08),transparent 24%); pointer-events:none; }
.service-slide-media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.service-media-label { position:absolute; z-index:1; right:22px; bottom:22px; padding:9px 12px; border-radius:99px; color:white; background:color-mix(in srgb,var(--ink) 88%,transparent); font-size:10px; font-weight:800; letter-spacing:.13em; }
.service-slider-nav { width:min(620px,48%); min-height:68px; margin-top:4px; display:flex; align-items:center; gap:13px; }
.slider-arrow,.slider-pause,.slider-tabs button { appearance:none; border:0; cursor:pointer; }
.slider-arrow { width:46px; height:46px; flex:0 0 auto; border:1px solid var(--line); border-radius:50%; background:var(--surface); font-size:18px; transition:.2s; }
.slider-arrow:hover { color:white; border-color:var(--ink); background:var(--ink); }
.slider-tabs { flex:1; display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid var(--line); }
.slider-tabs button { position:relative; padding:15px 16px; color:var(--muted); background:transparent; text-align:left; font-size:13px; font-weight:700; }
.slider-tabs button::after { content:""; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background:var(--accent-deep); transition:.3s; }
.slider-tabs button.is-active { color:var(--ink); }
.slider-tabs button.is-active::after { right:0; }
.slider-tabs button span { margin-right:9px; color:var(--accent-ink); font-size:13px; letter-spacing:.08em; }
.slider-pause { padding:9px 4px; border-bottom:1px solid var(--muted); color:var(--muted); background:transparent; font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.slider-arrow:focus-visible,.slider-pause:focus-visible,.slider-tabs button:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent); outline-offset:3px; }
.home-journal { background:var(--paper); }
.home-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.home-blog-card { min-width:0; border:1px solid color-mix(in srgb,var(--accent) 12%,var(--line)); border-radius:var(--radius); overflow:hidden; background:var(--surface); transition:transform .25s,box-shadow .25s; }
.home-blog-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.home-blog-card>a { min-height:515px; display:flex; flex-direction:column; }
.home-blog-image { height:255px; position:relative; overflow:hidden; background:var(--warm); }
.home-blog-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.home-blog-card:hover img { transform:scale(1.035); }
.home-blog-image>span { position:absolute; left:18px; top:18px; padding:7px 10px; border-radius:99px; background:var(--surface); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.home-blog-copy { flex:1; padding:29px 27px 27px; display:flex; flex-direction:column; }
.home-blog-copy h3 { margin:0 0 15px; font-size:25px; line-height:1.18; }
.home-blog-copy p { margin:0; color:var(--muted); font-size:14px; }
.home-blog-copy>span { margin-top:auto; padding-top:24px; color:var(--accent-ink); font-size:13px; font-weight:800; }

/* Sample journal article */
.blog-hero { padding-bottom:0; }
.blog-hero .narrow-hero { padding-bottom:62px; }
.blog-hero-image { width:min(1120px,calc(100% - 48px)); height:min(58vw,620px); min-height:380px; margin:0 auto -90px; position:relative; z-index:2; overflow:hidden; border-radius:28px; background:var(--warm); box-shadow:var(--shadow); }
.blog-hero-image img { width:100%; height:100%; object-fit:cover; }
.blog-article-layout { display:block; padding-top:175px; }
.blog-article-layout .article-body { max-width:none; padding-bottom:35px; }
.blog-article-layout .article-body>p,.blog-article-layout .article-body>h2,.blog-article-layout .article-body>h3,.blog-article-layout .article-body>blockquote { max-width:920px; }
.blog-inline-image { margin:58px 0; }
.blog-inline-image img { width:100%; max-height:650px; object-fit:cover; border-radius:26px; }
.blog-inline-image figcaption { max-width:760px; margin:13px 0 0; color:var(--muted); font-size:12px; }

@media (max-width:1024px) {
  .service-slide { min-height:720px; grid-template-columns:1fr 1fr; gap:38px; }
  .service-slide-copy { padding:35px 0; }
  .service-benefits { grid-template-columns:1fr; }
  .service-slide-media { min-height:650px; border-radius:150px 0 0 24px; }
  .service-slider-nav { width:52%; }
  .home-blog-grid { grid-template-columns:1fr 1fr; }
  .home-blog-card:last-child { grid-column:1/-1; }
  .home-blog-card:last-child>a { min-height:390px; display:grid; grid-template-columns:1fr 1fr; }
  .home-blog-card:last-child .home-blog-image { height:100%; min-height:390px; }
}

@media (max-width:720px) {
  .home-service-hero { padding:20px 0 42px; background:var(--paper); }
  .service-slider-mast>p span:last-child { display:none; }
  .service-slider-stage::before { width:180px; height:180px; right:-65px; top:55%; }
  .service-slide { min-height:auto; grid-template-columns:1fr; align-content:start; transform:translateX(10px); }
  .service-slide-copy { padding:38px 0 34px; }
  .service-slide-copy h1 { font-size:clamp(43px,13vw,60px); }
  .service-slide-intro { font-size:15px; }
  .service-benefits { margin-bottom:27px; }
  .service-slide-copy .btn { width:100%; gap:15px; }
  .service-slide-media { width:calc(100% + 15px); min-height:390px; border-radius:100px 0 0 18px; box-shadow:0 18px 45px rgba(63,30,58,.11); }
  .service-slide-media::after { box-shadow:inset 0 -20px 45px rgba(38,23,42,.08); }
  .service-media-label { right:14px; bottom:14px; }
  .service-slider-nav { width:100%; padding:0; gap:8px; }
  .slider-arrow { width:41px; height:41px; }
  .slider-tabs button { min-height:52px; padding:12px 5px; text-align:center; font-size:0; }
  .slider-tabs button span { margin:0; font-size:13px; }
  .slider-pause { display:block; font-size:11px; padding-inline:2px; }
  .home-blog-grid { grid-template-columns:1fr; }
  .home-blog-card:last-child { grid-column:auto; }
  .home-blog-card:last-child>a { min-height:515px; display:flex; }
  .home-blog-card:last-child .home-blog-image { height:255px; min-height:0; }
  .blog-hero-image { width:calc(100% - 30px); height:68vw; min-height:280px; margin-bottom:-55px; border-radius:18px; }
  .blog-article-layout { padding-top:115px; }
  .blog-inline-image { margin:42px 0; }
  .blog-inline-image img { min-height:300px; border-radius:18px; }
}

@media (prefers-reduced-motion:reduce) {
  .service-slide { transform:none; }
}

/* Order operations workspace */
.admin-body { --admin-bg:#f5f2ee; background:var(--admin-bg); }
.admin-body main { min-height:calc(100vh - 125px); }
.admin-site-header { top:0; border-bottom:1px solid var(--line); background:rgba(255,253,250,.96); }
.admin-site-header.header-hidden { transform:none!important; }
.admin-nav-shell { width:min(1440px,calc(100% - 48px)); height:76px; margin:auto; display:flex; align-items:center; gap:24px; }
.admin-workspace-label { min-height:27px; padding:5px 10px; display:inline-flex; align-items:center; gap:7px; border-left:1px solid var(--line); color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.admin-workspace-label i { width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px var(--accent-soft); }
.admin-nav { margin-left:38px; display:flex; align-self:stretch; gap:30px; }
.admin-nav a { position:relative; display:flex; align-items:center; gap:7px; color:var(--muted); font-size:13px; font-weight:700; }
.admin-nav a.active { color:var(--ink); }
.admin-nav a.active::after { content:""; position:absolute; height:2px; left:0; right:0; bottom:0; background:var(--accent-deep); }
.admin-user-menu { margin-left:auto; display:flex; align-items:center; gap:11px; }
.admin-avatar,.order-owner>span,.note-avatar { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent-soft); font-size:11px; font-weight:800; }
.admin-user-menu>div { display:flex; flex-direction:column; line-height:1.25; }
.admin-user-menu b { font-size:13px; }
.admin-user-menu small { color:var(--muted); font-size:12px; }
.admin-user-menu form { margin-left:8px; padding-left:15px; border-left:1px solid var(--line); }
.admin-user-menu button { padding:0; border:0; color:var(--muted); background:none; font-size:13px; font-weight:700; cursor:pointer; }
.admin-footer { min-height:49px; padding:0 max(24px,calc((100% - 1440px)/2)); display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); background:var(--surface); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.admin-page { width:min(1440px,calc(100% - 48px)); margin:0 auto; padding:46px 0 72px; }
.admin-page-head { margin-bottom:33px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.admin-overline { margin:0 0 9px; color:var(--accent-ink); font-size:13px; font-weight:800; letter-spacing:.14em; }
.admin-page-head h1 { margin:0 0 5px; font-size:clamp(35px,3.4vw,50px); letter-spacing:-.06em; }
.admin-page-head>div>p:last-child { margin:0; color:var(--muted); font-size:14px; }
.admin-metric-grid { margin-bottom:25px; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.admin-metric-card { min-height:154px; padding:24px 25px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 8px 24px rgba(61,30,57,.025); }
.admin-metric-card>span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.13em; }
.admin-metric-card strong { margin:auto 0 0; font:800 39px/1 var(--display); letter-spacing:-.06em; }
.admin-metric-card p { margin:8px 0 0; color:var(--muted); font-size:13px; }
.admin-metric-card p i { width:6px; height:6px; display:inline-block; margin-right:5px; border-radius:50%; background:var(--hot); }
.admin-metric-card.metric-featured { color:white; border-color:var(--ink); background:linear-gradient(140deg,var(--ink-2),var(--ink)); }
.admin-metric-card.metric-featured>span,.admin-metric-card.metric-featured p { color:#cbbfcb; }
.admin-metric-card.metric-featured strong { color:var(--accent); }
.admin-orders-panel { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--surface); box-shadow:0 12px 36px rgba(61,30,57,.035); }
.admin-panel-head { min-height:88px; padding:17px 23px; display:flex; align-items:center; justify-content:space-between; gap:25px; border-bottom:1px solid var(--line); }
.admin-panel-head>div:first-child { display:flex; align-items:baseline; gap:12px; }
.admin-panel-head h2 { margin:0; font-size:21px; letter-spacing:-.04em; }
.admin-panel-head>div:first-child>span { color:var(--muted); font-size:10px; }
.admin-order-tools { display:flex; gap:8px; }
.admin-order-tools select,.admin-search { min-height:42px; border:1px solid var(--line); border-radius:10px; background:var(--paper); color:var(--ink); font-size:13px; font-weight:600; }
.admin-order-tools select { min-width:145px; padding:8px 30px 8px 11px; }
.admin-search { width:250px; padding:0 11px; display:flex; align-items:center; gap:8px; }
.admin-search span { color:var(--accent-ink); font-size:17px; }
.admin-search input { width:100%; border:0; outline:0; background:transparent; font-size:13px; }
.admin-order-table-wrap { overflow-x:auto; }
.admin-order-table { width:100%; min-width:1080px; border-collapse:collapse; table-layout:auto; }
.admin-order-table th { height:44px; padding:0 16px; color:#988b98; background:#fbf8f3; text-align:left; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.admin-order-table td { height:82px; padding:12px 16px; border-top:1px solid #eee6e9; vertical-align:middle; font-size:13px; }
.admin-order-table tbody tr { transition:.18s; }
.admin-order-table tbody tr:hover { background:#fffaf1; }
.admin-order-table td>b { display:block; font-size:13px; }
.admin-order-table td>small { display:block; max-width:210px; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; font-size:12px; }
.order-primary { display:flex; align-items:center; gap:11px; }
.order-primary>span:last-child { display:flex; flex-direction:column; }
.order-primary b { font-size:13px; }
.order-primary small { max-width:180px; color:var(--muted); font-size:12px; white-space:nowrap; }
.service-glyph { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:var(--ink); background:var(--accent-soft); font:800 16px var(--display); }
.service-keyword { color:#394f44; background:#dfe9df; }
.service-listing { color:#5f405d; background:#eadfeb; }
.order-status { min-height:25px; padding:5px 9px; display:inline-flex; align-items:center; gap:6px; border-radius:99px; color:#5d4f5e; background:#eee7ec; white-space:nowrap; font-size:10px; font-weight:800; letter-spacing:.04em; }
.order-status i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.status-in-progress { color:#866000; background:#fff0c9; }
.status-awaiting-client { color:#9b4c20; background:#fae5d5; }
.status-delivered,.status-complete { color:#306744; background:#deeee3; }
.status-new { color:#575191; background:#e7e5f5; }
.status-on-hold { color:#7c5967; background:#eee5e9; }
.order-progress { min-width:126px; display:flex; align-items:center; gap:9px; }
.order-progress>span { width:82px; height:5px; overflow:hidden; border-radius:99px; background:#eee6e9; }
.order-progress>span i { height:100%; display:block; border-radius:inherit; background:var(--accent-deep); }
.order-progress b { min-width:28px; font-size:13px; }
.order-owner { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.order-owner>span { width:30px; height:30px; }
.order-owner b { font-size:13px; }
.order-open { width:31px; height:31px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; transition:.2s; }
.order-open:hover { color:white; border-color:var(--ink); background:var(--ink); }
.admin-empty { padding:70px 20px; text-align:center; }
.admin-empty>span { width:54px; height:54px; margin:auto; display:grid; place-items:center; border-radius:50%; color:var(--accent-ink); background:var(--accent-soft); font-size:24px; }
.admin-empty h3 { margin:15px 0 4px; font-size:18px; }
.admin-empty p { margin:0; color:var(--muted); font-size:13px; }
.admin-alert { margin:0 0 22px; padding:13px 16px; border:1px solid #b9d9c3; border-radius:10px; color:#285c3d; background:#e7f4eb; font-size:13px; font-weight:700; }
.admin-alert.error { color:#8b3737; border-color:#ebc2c0; background:#fbeceb; }

/* Admin authentication */
.admin-auth-body { background:var(--paper); }
.admin-auth-page { min-height:760px; padding:48px 0 75px; }
.admin-auth-shell { width:min(1040px,calc(100% - 48px)); min-height:660px; margin:auto; display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; border-radius:26px; background:var(--surface); box-shadow:var(--shadow); }
.admin-auth-aside { padding:42px; display:flex; flex-direction:column; color:white; background:radial-gradient(circle at 90% 10%,rgba(242,185,63,.24),transparent 34%),linear-gradient(145deg,var(--ink-2),var(--ink)); }
.admin-auth-aside .back-link { align-self:flex-start; color:#c8bec9; font-size:13px; }
.admin-auth-aside>div { margin:auto 0; }
.admin-auth-aside h1 { margin:0 0 21px; font-size:clamp(43px,5vw,61px); }
.admin-auth-aside>div>p:last-child { max-width:360px; margin:0; color:#c8bec9; font-size:14px; }
.admin-auth-points { margin:0; padding:0; list-style:none; display:grid; }
.admin-auth-points li { padding:11px 0; display:flex; align-items:center; gap:13px; border-top:1px solid rgba(255,255,255,.12); font-size:13px; font-weight:700; }
.admin-auth-points span { color:var(--accent); font-size:10px; }
.admin-auth-card { padding:65px 60px; align-self:center; }
.admin-auth-kicker { color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.14em; }
.admin-auth-card h2 { margin:9px 0 10px; font-size:39px; }
.admin-auth-card>p { margin:0 0 28px; color:var(--muted); font-size:13px; }
.admin-auth-form { display:grid; gap:16px; }
.admin-auth-form .btn { width:100%; margin-top:5px; }
.admin-auth-form .field label,.order-edit-form .field label { font-size:10px; }
.admin-security-note { margin:24px 0 0!important; padding-top:20px; border-top:1px solid var(--line); font-size:13px!important; }
.admin-security-note span { color:#487657; }

/* Editable order detail */
.order-detail-page { padding-top:28px; }
.order-breadcrumb { margin-bottom:20px; display:flex; gap:8px; color:var(--muted); font-size:13px; }
.order-breadcrumb a:hover { color:var(--ink); }
.order-breadcrumb b { color:var(--ink); }
.order-detail-head { margin-bottom:26px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.order-title-block { display:flex; align-items:center; gap:15px; }
.order-title-block>.service-glyph { width:54px; height:54px; border-radius:15px; font-size:20px; }
.order-title-block p { margin:0 0 2px; color:var(--accent-ink); font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.order-title-block h1 { margin:0; font-size:30px; }
.order-title-block div>span { color:var(--muted); font-size:10px; }
.order-head-actions { display:flex; align-items:center; gap:12px; }
.order-detail-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr); gap:18px; align-items:start; }
.order-edit-form,.order-side-column { display:grid; gap:18px; }
.admin-edit-card,.admin-side-card { padding:25px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 7px 22px rgba(61,30,57,.025); }
.admin-edit-card>header,.admin-side-card>header { margin-bottom:22px; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.admin-edit-card>header span,.admin-side-card>header span { color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.13em; }
.admin-edit-card>header h2,.admin-side-card>header h2 { margin:3px 0 0; font-size:19px; letter-spacing:-.04em; }
.admin-edit-card>header>p { margin:3px 0 0; color:var(--muted); font-size:13px; }
.admin-field-grid { display:grid; gap:15px; }
.admin-field-grid.two { grid-template-columns:1fr 1fr; }
.admin-field-grid.four { grid-template-columns:1.1fr .65fr 1fr .8fr; }
.order-edit-form .field { margin-bottom:15px; }
.order-edit-form .field:last-child { margin-bottom:0; }
.order-edit-form input,.order-edit-form select,.order-edit-form textarea,.order-note-form textarea,.order-note-form select { width:100%; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#fcfaf7; outline:none; transition:.2s; }
.order-edit-form input,.order-edit-form select { height:42px; padding:8px 11px; }
.order-edit-form textarea,.order-note-form textarea { padding:11px; resize:vertical; line-height:1.5; }
.order-edit-form input:focus,.order-edit-form select:focus,.order-edit-form textarea:focus,.order-note-form textarea:focus { border-color:var(--accent-deep); box-shadow:0 0 0 3px var(--accent-soft); }
.progress-input,.money-input { position:relative; }
.progress-input input { padding-right:27px; }
.progress-input span { position:absolute; right:10px; top:10px; color:var(--muted); font-size:11px; }
.money-input span { position:absolute; left:11px; top:10px; color:var(--muted); font-size:11px; }
.money-input input { padding-left:24px; }
.order-progress-preview { margin:4px 0 0!important; padding-top:17px; border-top:1px solid var(--line); }
.order-progress-preview>div { display:flex; align-items:center; gap:12px; }
.order-progress-preview>div>span { height:7px; flex:1; overflow:hidden; border-radius:99px; background:#eee7eb; }
.order-progress-preview i { height:100%; display:block; border-radius:inherit; background:linear-gradient(90deg,var(--accent-deep),var(--accent)); transition:.2s; }
.order-progress-preview b { min-width:35px; font-size:13px; }
.deliverable-editor { display:grid; gap:8px; }
.deliverable-row { display:grid; grid-template-columns:34px 1fr 30px; align-items:center; gap:7px; }
.deliverable-row>input { height:40px; }
.deliverable-check input { position:absolute; opacity:0; }
.deliverable-check span { width:31px; height:31px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:transparent; background:#fcfaf7; cursor:pointer; }
.deliverable-check input:checked+span { color:var(--ink); border-color:var(--accent); background:var(--accent); }
.deliverable-row>button { width:30px; height:30px; padding:0; border:0; color:var(--muted); background:transparent; font-size:19px; cursor:pointer; }
.add-deliverable { margin-top:12px; padding:0; border:0; border-bottom:1px solid var(--line); color:var(--accent-ink); background:none; font-size:13px; font-weight:800; cursor:pointer; }
.order-mobile-save { display:none; }
.new-order-form { max-width:940px; }
.new-order-actions { display:flex; justify-content:flex-end; gap:10px; }
.admin-side-card>header>b { min-width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--accent-soft); font-size:13px; }
.admin-side-card>form+form { margin-top:9px; }
.attachment-list { margin:-4px 0 15px; display:grid; }
.attachment-item { padding:11px 0; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.attachment-item>a { min-width:0; flex:1; display:flex; align-items:center; gap:10px; }
.attachment-item>a>span { width:37px; height:37px; flex:0 0 auto; display:grid; place-items:center; border-radius:9px; color:var(--accent-ink); background:var(--accent-soft); font-size:13px; font-weight:800; }
.attachment-item>a>div { min-width:0; display:flex; flex-direction:column; }
.attachment-item b { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.attachment-item small { color:var(--muted); font-size:12px; }
.attachment-item form button { padding:4px 7px; border:0; color:var(--muted); background:none; font-size:17px; cursor:pointer; }
.attachment-empty { padding:20px 0; color:var(--muted); text-align:center; }
.attachment-empty>span { font-size:24px; }
.attachment-empty p { margin:4px 0; font-size:13px; }
.admin-upload-form { display:grid; gap:8px; }
.admin-upload-form>input[type=file] { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.admin-upload-form>label { min-height:91px; padding:13px; display:flex; align-items:center; justify-content:center; flex-direction:column; border:1px dashed #cdbdca; border-radius:10px; background:#fbf8f3; text-align:center; cursor:pointer; }
.admin-upload-form>label>span { color:var(--accent-ink); font-size:22px; line-height:1; }
.admin-upload-form>label b { margin-top:3px; font-size:13px; }
.admin-upload-form>label small { color:var(--muted); font-size:12px; }
.admin-upload-form>p { margin:0; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.admin-upload-form .btn { min-height:40px; width:100%; font-size:13px; }
.order-note-form { padding-bottom:17px; border-bottom:1px solid var(--line); }
.order-note-form textarea { min-height:82px; font-size:13px; }
.order-note-form>div { margin-top:8px; display:flex; justify-content:space-between; gap:8px; }
.order-note-form select { width:auto; min-width:120px; padding:5px 8px; font-size:13px; }
.order-note-form .btn { min-height:35px; }
.order-notes-list { display:grid; }
.order-notes-list article { padding:17px 0; border-bottom:1px solid var(--line); }
.order-notes-list article:last-child { padding-bottom:0; border:0; }
.order-notes-list article>header { display:flex; align-items:center; gap:8px; }
.note-avatar { width:29px; height:29px; }
.order-notes-list header>div { min-width:0; display:flex; flex:1; flex-direction:column; }
.order-notes-list header b { font-size:13px; }
.order-notes-list header small { color:var(--muted); font-size:12px; }
.order-notes-list header em { padding:4px 6px; border-radius:99px; color:var(--muted); background:#eee8ec; font-size:10px; font-style:normal; font-weight:800; }
.order-notes-list article>p { margin:9px 0 0 37px; color:#5f5261; font-size:13px; }
.order-side-empty { color:var(--muted); font-size:13px; text-align:center; }
.activity-card ol { margin:0; padding:0; list-style:none; }
.activity-card li { position:relative; padding:0 0 18px 18px; display:flex; gap:9px; border-left:1px solid var(--line); }
.activity-card li:last-child { padding-bottom:0; border-left-color:transparent; }
.activity-card li>i { position:absolute; width:7px; height:7px; left:-4px; top:5px; border:2px solid var(--surface); border-radius:50%; background:var(--accent-deep); box-shadow:0 0 0 1px var(--accent-deep); }
.activity-card p { margin:0; font-size:13px; }
.activity-card small { color:var(--muted); font-size:12px; }

@media (max-width:1100px) {
  .admin-nav { margin-left:10px; }
  .admin-metric-grid { grid-template-columns:1fr 1fr; }
  .admin-order-tools { max-width:520px; flex-wrap:wrap; justify-content:flex-end; }
  .admin-search { width:100%; }
  .order-detail-grid { grid-template-columns:1fr; }
  .order-side-column { grid-template-columns:1fr 1fr; align-items:start; }
  .order-side-column .activity-card { grid-column:1/-1; }
}

@media (max-width:720px) {
  .admin-nav-shell,.admin-page { width:calc(100% - 30px); }
  .admin-nav-shell { height:68px; gap:9px; }
  .admin-nav-shell .brand>span,.admin-workspace-label,.admin-user-menu>div { display:none; }
  .admin-nav { margin-left:auto; gap:11px; }
  .admin-nav a { font-size:13px; }
  .admin-nav a:last-child { display:none; }
  .admin-user-menu { margin-left:0; }
  .admin-user-menu form { margin-left:0; }
  .admin-footer { padding:0 15px; }
  .admin-footer span:last-child { display:none; }
  .admin-page { padding:30px 0 55px; }
  .admin-page-head { align-items:flex-start; flex-direction:column; }
  .admin-page-head .btn { width:100%; }
  .admin-metric-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .admin-metric-card { min-height:132px; padding:18px; }
  .admin-panel-head { align-items:flex-start; flex-direction:column; }
  .admin-order-tools { width:100%; justify-content:stretch; }
  .admin-order-tools select { min-width:0; flex:1; }
  .admin-search { width:100%; }
  .admin-auth-page { padding:24px 0 50px; }
  .admin-auth-shell { width:calc(100% - 30px); grid-template-columns:1fr; }
  .admin-auth-aside { min-height:400px; padding:29px 24px; }
  .admin-auth-card { padding:42px 24px; }
  .order-detail-head { align-items:flex-start; flex-direction:column; }
  .order-head-actions { width:100%; justify-content:space-between; }
  .order-head-actions .btn { display:none; }
  .admin-field-grid.two,.admin-field-grid.four { grid-template-columns:1fr; }
  .admin-edit-card,.admin-side-card { padding:21px 17px; }
  .order-side-column { grid-template-columns:1fr; }
  .order-side-column .activity-card { grid-column:auto; }
  .order-mobile-save { display:block; }
  .order-mobile-save .btn { width:100%; }
}

/* Content CMS */
.content-head-actions { display:flex; gap:9px; }
.content-metrics { grid-template-columns:repeat(4,1fr); }
.content-filter-tabs { display:flex; gap:5px; }
.content-filter-tabs button { padding:7px 12px; border:1px solid transparent; border-radius:99px; color:var(--muted); background:transparent; font-size:13px; font-weight:800; cursor:pointer; }
.content-filter-tabs button.active { color:var(--ink); border-color:var(--line); background:var(--paper); }
.content-admin-list { display:grid; }
.content-admin-list>article { min-height:83px; padding:14px 22px; display:grid; grid-template-columns:46px minmax(0,1fr) 110px 105px 34px; gap:14px; align-items:center; border-top:1px solid #eee6e9; }
.content-admin-list>article:first-child { border-top:0; }
.content-admin-list>article[hidden] { display:none; }
.content-type-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--accent-ink); background:var(--accent-soft); font:800 13px var(--display); }
.content-admin-list article>div { min-width:0; }
.content-admin-list article>div>span { color:var(--accent-ink); font-size:10px; font-weight:800; letter-spacing:.12em; }
.content-admin-list h3 { margin:2px 0; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.content-admin-list p { margin:0; overflow:hidden; color:var(--muted); font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.content-status { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:800; }
.content-status i { width:6px; height:6px; border-radius:50%; background:#a69ba6; }
.content-status.published i { background:#3f8056; }
.content-status.draft { color:var(--muted); }
.content-admin-list time { display:flex; flex-direction:column; color:var(--ink); font-size:10px; font-weight:700; }
.content-admin-list time small { color:var(--muted); font-size:12px; font-weight:500; }
.client-admin-list>article { grid-template-columns:46px minmax(0,1fr) 110px 80px; }
.content-editor-form { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr); gap:18px; align-items:start; }
.content-editor-main,.content-editor-side { display:grid; gap:18px; }
.content-editor-form .field { margin-bottom:17px; }
.content-editor-form .field:last-child { margin-bottom:0; }
.content-editor-form input,.content-editor-form select,.content-editor-form textarea { width:100%; border:1px solid var(--line); border-radius:9px; padding:10px 11px; color:var(--ink); background:#fcfaf7; outline:none; }
.content-editor-form input,.content-editor-form select { height:42px; }
.content-editor-form textarea { resize:vertical; line-height:1.55; }
.content-editor-form label { display:block; margin-bottom:5px; font-size:10px; font-weight:800; }
.content-body-input { min-height:510px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important; font-size:13px; }
.slug-input { display:flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#f2ece7; }
.slug-input>span { padding-left:10px; color:var(--muted); white-space:nowrap; font-size:10px; }
.slug-input input { border:0; background:transparent; }
.metric-editor-row { margin-top:7px; display:grid; grid-template-columns:.45fr 1fr; gap:6px; }
.dynamic-resource-grid .resource-art { background-position:center; background-size:cover; }
.resource-feature-visual { background-position:center!important; background-size:cover!important; }

/* Client workspace */
.client-body { --admin-bg:#f4f1ec; }
.client-site-header { border-bottom:1px solid var(--line); background:rgba(255,253,250,.96); }
.client-site-header.header-hidden { transform:none!important; }
.client-nav-shell { width:min(1280px,calc(100% - 48px)); height:76px; margin:auto; display:flex; align-items:center; gap:24px; }
.client-dashboard,.client-order-page { width:min(1280px,calc(100% - 48px)); }
.client-summary-strip { margin-bottom:38px; display:grid; grid-template-columns:.55fr .65fr .6fr 1.6fr; overflow:hidden; border-radius:17px; color:white; background:linear-gradient(145deg,var(--ink-2),var(--ink)); }
.client-summary-strip>div { min-height:130px; padding:24px; display:flex; justify-content:center; flex-direction:column; border-left:1px solid rgba(255,255,255,.11); }
.client-summary-strip>div:first-child { border-left:0; }
.client-summary-strip span { color:#bfb3bf; font-size:10px; font-weight:800; letter-spacing:.12em; }
.client-summary-strip b { color:var(--accent); font:800 36px var(--display); }
.client-summary-strip p { margin:8px 0 0; color:#f3ecf3; font-size:13px; }
.client-projects-section>header { margin-bottom:18px; display:flex; justify-content:space-between; align-items:end; }
.client-projects-section h2 { font-size:28px; }
.client-projects-section>header>span { color:var(--muted); font-size:10px; }
.client-project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.client-project-card { min-height:345px; padding:27px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:18px; background:var(--surface); transition:.2s; }
.client-project-card:hover { transform:translateY(-3px); box-shadow:0 18px 45px rgba(61,30,57,.09); }
.client-project-card>header { display:flex; align-items:center; justify-content:space-between; }
.client-project-card>p { margin:28px 0 3px; color:var(--accent-ink); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.client-project-card h3 { margin:0; font-size:27px; }
.client-card-progress { margin:25px 0; display:flex; align-items:center; gap:12px; }
.client-card-progress>span { height:7px; flex:1; overflow:hidden; border-radius:99px; background:#ece4e7; }
.client-card-progress i { height:100%; display:block; background:linear-gradient(90deg,var(--accent-deep),var(--accent)); }
.client-card-progress b { font-size:13px; }
.client-card-next { padding:16px; border-radius:11px; background:#f8f3ec; }
.client-card-next span { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.1em; }
.client-card-next p { margin:4px 0 0; font-size:13px; }
.client-project-card>footer { margin-top:auto; padding-top:20px; display:flex; justify-content:space-between; color:var(--muted); font-size:13px; }
.client-project-card>footer b { color:var(--ink); }
.client-no-projects { padding:75px 20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); text-align:center; }
.client-no-projects>span { font-size:32px; }
.client-no-projects h3 { margin:8px 0; }
.client-no-projects p { color:var(--muted); }
.client-project-hero { margin-bottom:18px; display:grid; grid-template-columns:1fr 1.6fr .8fr .8fr; overflow:hidden; border-radius:17px; color:white; background:linear-gradient(145deg,var(--ink-2),var(--ink)); }
.client-project-hero>div { min-height:126px; padding:22px; display:flex; justify-content:center; flex-direction:column; border-left:1px solid rgba(255,255,255,.11); }
.client-project-hero>div:first-child { border-left:0; }
.client-project-hero span { color:#bfb3bf; font-size:10px; font-weight:800; letter-spacing:.12em; }
.client-project-hero strong { color:var(--accent); font:800 30px var(--display); }
.client-project-hero p { margin:6px 0 0; color:white; font-size:13px; }
.client-project-hero p b,.client-project-hero p small { display:block; }
.client-project-hero p small { color:#bfb3bf; font-size:12px; }
.client-hero-progress { height:5px; margin-top:8px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.14); }
.client-hero-progress i { height:100%; display:block; background:var(--accent); }
.client-order-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.6fr); gap:18px; align-items:start; }
.client-order-grid>main { display:grid; gap:18px; }
.client-read-card>p { margin:0; color:#625564; font-size:13px; }
.client-deliverable-list { display:grid; }
.client-deliverable-list>div { min-height:49px; display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:10px; border-top:1px solid var(--line); }
.client-deliverable-list>div:first-child { border-top:0; }
.client-deliverable-list span { width:25px; height:25px; display:grid; place-items:center; border-radius:7px; color:var(--muted); background:#eee7eb; }
.client-deliverable-list .complete span { color:var(--ink); background:var(--accent); }
.client-deliverable-list p { margin:0; font-size:13px; }
.client-deliverable-list b { color:var(--muted); font-size:13px; }
.client-message-form { padding-bottom:20px; border-bottom:1px solid var(--line); }
.client-message-form textarea { width:100%; padding:12px; border:1px solid var(--line); border-radius:10px; resize:vertical; }
.client-message-form .btn { margin-top:8px; }

/* Account-aware order placement */
.place-order-page { padding:72px 0 105px; }
.place-order-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:75px; align-items:start; }
.place-order-aside { position:sticky; top:125px; }
.place-order-aside h1 { margin:0 0 25px; font-size:clamp(48px,5vw,72px); }
.place-order-aside h1 em { color:var(--accent-deep); font-style:normal; }
.place-order-aside>p:not(.eyebrow) { color:var(--muted); font-size:16px; }
.place-order-form { padding:42px; border:1px solid var(--line); border-radius:24px; background:var(--surface); box-shadow:0 22px 65px rgba(61,30,57,.1); }
.place-order-form>.form-intro h2 { margin:7px 0 9px; font-size:38px; }
.place-order-form>.form-intro p { margin:0; color:var(--muted); }
.place-order-section { margin-top:28px; padding-top:25px; border-top:1px solid var(--line); }
.place-order-section>h3 { margin:0 0 18px; color:var(--accent-ink); font:800 10px var(--body); letter-spacing:.12em; }
.account-order-section>p { color:var(--muted); font-size:13px; }
.account-order-section>small { display:block; color:var(--muted); font-size:12px; }
.account-mode { margin-bottom:15px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.account-mode label input { position:absolute; opacity:0; }
.account-mode label span { min-height:45px; padding:10px; display:grid; place-items:center; border:1px solid var(--line); border-radius:9px; background:#fcfaf7; font-size:10px; font-weight:800; cursor:pointer; }
.account-mode label input:checked+span { border-color:var(--accent-deep); background:var(--accent-soft); }
.signed-in-order>div { display:flex; align-items:center; gap:10px; }
.signed-in-order p { margin:0; display:flex; flex-direction:column; font-size:13px; }
.signed-in-order small { color:var(--muted); font-size:12px; }
.place-order-form>.btn { width:100%; margin-top:22px; }
.order-gateway-flow { margin:25px 0; display:grid; }
.order-gateway-flow>div { padding:15px 0; display:flex; align-items:center; gap:13px; border-top:1px solid var(--line); }
.order-gateway-flow>div>span { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:var(--ink); background:var(--accent-soft); font-size:10px; font-weight:800; }
.order-gateway-flow p { margin:0; display:flex; flex-direction:column; }
.order-gateway-flow b { font-size:13px; }
.order-gateway-flow small { color:var(--muted); font-size:12px; }

@media (max-width:1024px) {
  .content-editor-form { grid-template-columns:1fr; }
  .content-editor-side { grid-template-columns:1fr 1fr; }
  .client-summary-strip { grid-template-columns:repeat(3,1fr); }
  .client-summary-note { grid-column:1/-1; }
  .client-project-hero { grid-template-columns:1fr 1fr; }
  .client-project-hero>div:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.11); }
  .client-project-hero>div:nth-child(4) { border-top:1px solid rgba(255,255,255,.11); }
  .place-order-layout { grid-template-columns:1fr; gap:35px; }
  .place-order-aside { position:static; }
}

@media (max-width:720px) {
  .content-head-actions { width:100%; }
  .content-head-actions .btn { flex:1; padding-inline:12px; }
  .content-metrics { grid-template-columns:1fr 1fr; }
  .content-filter-tabs { flex-wrap:wrap; }
  .content-admin-list>article { grid-template-columns:42px minmax(0,1fr) 30px; padding:13px; }
  .content-admin-list .content-status,.content-admin-list time { display:none; }
  .content-editor-side { grid-template-columns:1fr; }
  .content-editor-page .admin-page-head button { width:100%; }
  .client-nav-shell,.client-dashboard,.client-order-page { width:calc(100% - 30px); }
  .client-nav-shell { height:68px; }
  .client-nav-shell .brand>span,.client-nav-shell .admin-workspace-label,.client-nav-shell .admin-user-menu>div { display:none; }
  .client-nav-shell .admin-nav { margin-left:auto; display:flex; gap:11px; }
  .client-nav-shell .admin-nav a { font-size:13px; }
  .client-nav-shell .admin-nav a:last-child { display:none; }
  .client-nav-shell .admin-user-menu { margin-left:0; }
  .client-summary-strip { grid-template-columns:1fr 1fr; }
  .client-summary-strip>div:nth-child(3) { border-left:0; border-top:1px solid rgba(255,255,255,.11); }
  .client-summary-note { grid-column:auto; border-top:1px solid rgba(255,255,255,.11); }
  .client-project-grid { grid-template-columns:1fr; }
  .client-project-hero { grid-template-columns:1fr; }
  .client-project-hero>div { min-height:105px; border-left:0!important; border-top:1px solid rgba(255,255,255,.11); }
  .client-project-hero>div:first-child { border-top:0; }
  .client-order-grid { grid-template-columns:1fr; }
  .place-order-page { padding:45px 0 70px; }
  .place-order-form { padding:28px 20px; }
  .account-mode { grid-template-columns:1fr; }
}

/* Live chat */
.live-chat-launcher { position:fixed; right:24px; bottom:22px; z-index:80; min-width:218px; min-height:66px; display:grid; grid-template-columns:46px 1fr 28px; align-items:center; gap:11px; padding:9px 11px 9px 10px; overflow:hidden; border:1px solid rgba(255,255,255,.15); border-radius:18px; color:#fff; background:linear-gradient(135deg,#4b294a 0%,var(--ink) 68%); box-shadow:0 18px 45px rgba(38,23,42,.28),inset 0 1px rgba(255,255,255,.08); text-align:left; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.live-chat-launcher::before { content:""; position:absolute; width:85px; height:85px; right:-35px; top:-45px; border-radius:50%; background:rgba(242,185,63,.12); }
.live-chat-launcher:hover { transform:translateY(-3px); box-shadow:0 22px 52px rgba(38,23,42,.34),inset 0 1px rgba(255,255,255,.08); }
.live-chat-launcher:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 60%,white); outline-offset:3px; }
.live-chat-launcher-icon { position:relative; width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:var(--ink); background:var(--accent); box-shadow:inset 0 1px rgba(255,255,255,.5); }
.live-chat-launcher-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.live-chat-launcher-icon i { position:absolute; right:-2px; bottom:-2px; width:11px; height:11px; border:2px solid var(--ink); border-radius:50%; background:#75cb8b; }
.live-chat-launcher-copy { min-width:0; display:flex; flex-direction:column; line-height:1.15; }
.live-chat-launcher-copy strong { font:800 14px var(--display); letter-spacing:-.025em; }
.live-chat-launcher-copy small { margin-top:4px; color:#d8cdda; font-size:12px; font-weight:500; }
.live-chat-launcher-arrow { position:relative; width:27px; height:27px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--accent); font-size:13px; }
.live-chat-status i { width:8px; height:8px; border-radius:50%; background:#75cb8b; box-shadow:0 0 0 4px rgba(117,203,139,.16); }
.live-chat-status[data-presence="away"] i { background:#d79b2f; box-shadow:0 0 0 4px rgba(215,155,47,.16); }
.live-chat-status[data-presence="offline"] i { background:#929095; box-shadow:0 0 0 4px rgba(146,144,149,.14); }
.live-chat-modal { position:fixed; z-index:200; right:24px; bottom:100px; width:min(450px,calc(100vw - 48px)); pointer-events:none; animation:liveChatIn .22s ease-out; }
.live-chat-modal[hidden] { display:none; }
.live-chat-window { width:100%; max-height:min(650px,calc(100vh - 124px)); display:flex; flex-direction:column; overflow:hidden; pointer-events:auto; border:1px solid rgba(65,37,65,.16); border-radius:20px; background:var(--surface); box-shadow:0 24px 70px rgba(18,7,19,.28); }
@keyframes liveChatIn { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
.live-chat-head { min-height:121px; padding:21px 21px 17px; display:flex; justify-content:space-between; gap:18px; color:white; background:linear-gradient(135deg,var(--ink-2),var(--ink)); }
.live-chat-status { display:flex; align-items:center; gap:8px; color:#ddd0db; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.live-chat-head h2 { margin:4px 0 2px; font-size:24px; letter-spacing:-.045em; }
.live-chat-head p { margin:0; color:#d8cdda; font-size:13px; }
.live-chat-head>button { width:29px; height:29px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:white; background:transparent; font-size:21px; line-height:1; cursor:pointer; }
.live-chat-thread { min-height:170px; max-height:325px; padding:19px; display:flex; flex-direction:column; gap:12px; overflow:auto; background:#fcf9f5; }
.live-chat-typing { margin:9px 18px; }
.live-chat-message { max-width:85%; align-self:flex-start; padding:10px 12px; border-radius:4px 13px 13px 13px; background:#eee6ea; color:var(--ink); }
.live-chat-message.mine { align-self:flex-end; border-radius:13px 4px 13px 13px; background:var(--accent); }
.live-chat-message small { display:block; margin-bottom:3px; opacity:.62; font-size:12px; font-weight:700; }
.live-chat-message p { margin:0; white-space:pre-wrap; font-size:13px; line-height:1.45; }
.live-chat-attachment { display:inline-block; max-width:100%; margin-top:6px; overflow:hidden; color:inherit; border-bottom:1px solid currentColor; font-size:13px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.live-chat-empty { margin:auto 0; color:var(--muted); font-size:13px; text-align:center; }
.live-chat-details { width:100%; margin:0 0 12px; padding:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; background:transparent; }
.live-chat-details label { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.live-chat-details input,.live-chat-form textarea,.admin-chat-reply textarea { width:100%; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fffdfa; outline:none; }
.live-chat-details input { height:39px; margin:4px 0 0; padding:8px 10px; font-size:13px; }
.live-chat-form { width:100%; margin:0; padding:16px 18px 12px; background:var(--surface); border-top:1px solid var(--line); }
.live-chat-form>label,.live-chat-form>textarea,.live-chat-form>.live-chat-actions { width:100%; }
.live-chat-form textarea { display:block; min-height:72px; margin:0; padding:10px 11px; resize:vertical; font-size:13px; line-height:1.45; }
.live-chat-actions { width:100%; margin:10px 0 0; padding:0; display:flex; align-items:center; gap:10px; }
.live-chat-file { position:relative; min-height:35px; padding:7px 11px; display:inline-flex; align-items:center; gap:6px; overflow:hidden; flex:0 0 auto; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; box-shadow:0 1px 2px rgba(38,23,42,.04); font-size:13px; font-weight:800; cursor:pointer; transition:border-color .2s,background .2s; }
.live-chat-file:hover { border-color:#cbbbc3; background:#fffaf2; }
.live-chat-file:focus-within { outline:2px solid color-mix(in srgb,var(--accent) 65%,white); outline-offset:2px; }
.live-chat-file svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.live-chat-file input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); border:0; opacity:0; white-space:nowrap; }
.live-chat-actions small { flex:1; overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.live-chat-actions .btn { min-height:35px; padding:8px 12px; font-size:13px; }
.live-chat-closed { margin:0; padding:15px 18px; color:#6e503f; background:#fff3dc; font-size:13px; }
.live-chat-window>footer { min-height:34px; padding:7px 18px; display:flex; justify-content:space-between; gap:8px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.live-chat-window>footer button { padding:0; border:0; color:var(--accent-ink); background:transparent; font-size:13px; font-weight:800; cursor:pointer; }

.admin-chat-panel { margin-top:24px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:0 12px 36px rgba(61,30,57,.035); }
.admin-chat-head-note { margin:0; color:var(--muted); font-size:13px; }
.admin-chat-layout { min-height:480px; display:grid; grid-template-columns:minmax(270px,.6fr) minmax(0,1.4fr); }
.admin-chat-list { overflow:auto; border-right:1px solid var(--line); background:#faf6f1; }
.admin-chat-thread { width:100%; min-height:88px; padding:13px 14px; display:grid; grid-template-columns:35px minmax(0,1fr) auto; gap:9px; align-items:start; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.admin-chat-thread:hover,.admin-chat-thread.is-selected { background:var(--accent-soft); }
.admin-chat-thread .admin-avatar { width:33px; height:33px; font-size:11px; }
.admin-chat-thread>span:nth-child(2) { min-width:0; display:grid; line-height:1.25; }
.admin-chat-thread b { font-size:13px; }
.admin-chat-thread small,.admin-chat-thread em { overflow:hidden; color:var(--muted); font-size:12px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }
.admin-chat-thread em { margin-top:4px; color:#655668; }
.admin-chat-state { padding:3px 5px; border-radius:99px; color:#377047; background:#e0f0e0; font-size:10px; font-style:normal; font-weight:800; }
.admin-chat-state.closed { color:#796979; background:#eae3e8; }
.admin-chat-conversation { min-width:0; display:flex; flex-direction:column; }
.admin-chat-placeholder { margin:auto; color:var(--muted); font-size:13px; text-align:center; }
.admin-chat-conversation-head { min-height:73px; padding:15px 20px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); }
.admin-chat-conversation-head h3 { margin:0; font-size:17px; }
.admin-chat-conversation-head p { margin:1px 0 0; color:var(--muted); font-size:13px; }
.admin-chat-conversation-head .btn { min-height:32px; padding:7px 11px; font-size:13px; }
.admin-chat-stream { min-height:280px; max-height:410px; padding:20px; display:flex; flex:1; flex-direction:column; gap:12px; overflow:auto; background:#fffdfa; }
.admin-chat-stream .live-chat-message { max-width:78%; }
.admin-chat-reply { padding:13px 17px; border-top:1px solid var(--line); background:#faf6f1; }
.admin-chat-reply textarea { min-height:62px; padding:8px; resize:vertical; font-size:13px; }
.admin-chat-reply>div { margin-top:8px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-chat-reply input[type="file"] { max-width:65%; color:var(--muted); font-size:13px; }
.admin-chat-reply input[type="file"]::file-selector-button { min-height:32px; margin-right:8px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font-size:13px; font-weight:800; cursor:pointer; }
.admin-chat-reply .btn { min-height:34px; padding:8px 12px; font-size:13px; }
.admin-chat-empty { padding:18px; color:var(--muted); font-size:13px; }

@media (max-width:720px) {
  .live-chat-launcher { right:14px; bottom:14px; min-width:0; grid-template-columns:42px 1fr; min-height:58px; border-radius:17px; }
  .live-chat-launcher-icon { width:42px; height:42px; border-radius:12px; }
  .live-chat-launcher-arrow { display:none; }
  .live-chat-modal { right:12px; bottom:84px; width:calc(100vw - 24px); }
  .live-chat-window { max-height:calc(100vh - 105px); }
  .live-chat-form { padding:14px 14px 11px; }
  .live-chat-details { gap:8px; }
  .live-chat-thread { max-height:none; flex:1; }
  .live-chat-window>footer span { display:none; }
  .admin-chat-layout { grid-template-columns:1fr; }
  .admin-chat-list { max-height:230px; border-right:0; border-bottom:1px solid var(--line); }
  .admin-chat-head-note { display:none; }
}

/* Fix 2.4: responsive navigation, realtime workspace, monitoring and rich updates */
.public-account-link { min-height:38px; padding:8px 13px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:99px; background:color-mix(in srgb,var(--surface) 80%,transparent); line-height:1; white-space:nowrap; }
.public-account-link:hover { border-color:var(--accent-deep); background:var(--surface); }
.public-account-link:focus-visible,.admin-chat-trigger:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent); outline-offset:3px; }
.menu-toggle { border-color:color-mix(in srgb,var(--ink) 85%,white); border-radius:12px; background:linear-gradient(145deg,var(--ink-2),var(--ink)); box-shadow:0 7px 18px rgba(38,23,42,.18),inset 0 1px rgba(255,255,255,.12); }
.menu-toggle span { height:2px; border-radius:99px; background:#fff; }
.menu-toggle span:last-child { width:13px; transform:translateX(2.5px); background:var(--accent); }
.menu-toggle[aria-expanded="true"] { background:var(--accent-deep); }
.menu-toggle[aria-expanded="true"] span:last-child { width:18px; background:#fff; transform:translateY(-4px) rotate(-45deg); }
.mobile-menu { border-top:1px solid var(--line); background:rgba(250,247,242,.99); box-shadow:0 24px 55px rgba(38,23,42,.18); }

.admin-chat-trigger { position:relative; min-height:40px; margin-left:auto; padding:8px 11px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); font-size:13px; font-weight:800; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.admin-nav+.admin-chat-trigger { margin-left:auto; }
.admin-chat-trigger+.admin-user-menu { margin-left:0; }
.admin-chat-trigger:hover,.admin-chat-trigger.active,.admin-chat-trigger[aria-expanded="true"] { border-color:color-mix(in srgb,var(--accent-deep) 35%,var(--line)); background:var(--accent-soft); }
.admin-chat-trigger svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.admin-chat-badge,.notification-badge,[data-unread-badge] { min-width:19px; height:19px; padding:0 5px; display:inline-grid; place-items:center; border:2px solid var(--surface); border-radius:99px; color:#fff; background:var(--hot); font-size:10px; font-weight:800; line-height:1; }
.admin-chat-badge { position:absolute; right:-8px; top:-8px; }
.admin-chat-badge[hidden],.notification-badge[hidden],[data-unread-badge][hidden] { display:none; }

.admin-chat-open { overflow:hidden; }
.admin-chat-drawer,[data-admin-chat-drawer] { position:fixed; z-index:240; inset:0 0 0 auto; width:min(560px,100vw); height:100vh; height:100dvh; display:flex; flex-direction:column; border-left:1px solid var(--line); background:var(--surface); box-shadow:-22px 0 65px rgba(28,13,29,.22); transform:translateX(102%); visibility:hidden; transition:transform .25s ease,visibility .25s; }
.admin-chat-drawer.is-open,[data-admin-chat-drawer].is-open,.admin-chat-drawer:not([hidden])[aria-hidden="false"],[data-admin-chat-drawer]:not([hidden])[aria-hidden="false"] { transform:none; visibility:visible; }
.admin-chat-drawer[hidden],[data-admin-chat-drawer][hidden] { display:none; }
.admin-chat-backdrop,[data-admin-chat-backdrop] { position:fixed; z-index:230; inset:0; border:0; background:rgba(24,11,25,.42); backdrop-filter:blur(2px); }
.admin-chat-backdrop[hidden],[data-admin-chat-backdrop][hidden] { display:none; }
.admin-chat-drawer-head { min-height:76px; padding:15px 18px; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,var(--ink-2),var(--ink)); color:#fff; }
.admin-chat-drawer-head>div { min-width:0; flex:1; }
.admin-chat-drawer-head h2 { margin:0; font-size:20px; color:#fff; }
.admin-chat-drawer-head p { margin:3px 0 0; overflow:hidden; color:#d4c8d5; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.admin-chat-drawer-head a,.admin-chat-drawer-head button { min-width:36px; min-height:36px; padding:7px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:9px; color:#fff; background:transparent; cursor:pointer; }
.admin-chat-drawer-body { min-height:0; flex:1; display:flex; overflow:hidden; }
.admin-chat-drawer .admin-chat-layout { width:100%; min-height:0; height:100%; grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr); }
.admin-chat-drawer .admin-chat-stream { max-height:none; }
.admin-chat-drawer .admin-chat-list { min-height:0; }
.admin-chat-detached-body main { min-height:0; }
.admin-chat-detached-body .admin-page { padding-bottom:24px; }
.admin-chat-detached-body .admin-footer { display:none; }
.admin-chat-drawer.admin-chat-detached { position:relative; inset:auto; width:min(1440px,calc(100% - 48px)); height:max(520px,calc(100dvh - 270px)); margin:0 auto 28px; transform:none; visibility:visible; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
.admin-chat-drawer.admin-chat-detached .admin-chat-layout { height:100%; min-height:0; }

.presence-indicator,.chat-presence { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
.presence-dot,.chat-presence::before { content:""; width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#929095; box-shadow:0 0 0 4px rgba(146,144,149,.12); }
.is-online .presence-dot,.presence-online .presence-dot,.chat-presence[data-presence="online"]::before { background:#55a86a; box-shadow:0 0 0 4px rgba(85,168,106,.14); }
.is-away .presence-dot,.presence-away .presence-dot,.chat-presence[data-presence="away"]::before { background:#d79b2f; box-shadow:0 0 0 4px rgba(215,155,47,.15); }
.is-offline .presence-dot,.presence-offline .presence-dot,.chat-presence[data-presence="offline"]::before { background:#929095; }
.chat-typing,.typing-indicator,[data-typing-indicator] { min-height:24px; padding:4px 9px; display:inline-flex; align-items:center; gap:4px; align-self:flex-start; border-radius:99px; color:var(--muted); background:#eee7eb; font-size:12px; font-style:italic; }
.typing-dots { display:inline-flex; gap:3px; }
.typing-dots i { width:4px; height:4px; border-radius:50%; background:currentColor; animation:typingDot 1s infinite ease-in-out; }
.typing-dots i:nth-child(2) { animation-delay:.14s; }
.typing-dots i:nth-child(3) { animation-delay:.28s; }
@keyframes typingDot { 0%,60%,100% { opacity:.35; transform:translateY(0); } 30% { opacity:1; transform:translateY(-2px); } }

.chat-timeline-event,.monitor-timeline-event { position:relative; margin:3px auto; padding:5px 10px; max-width:90%; border-radius:99px; color:var(--muted); background:var(--paper); font-size:11px; line-height:1.35; text-align:center; }
.chat-message-meta { margin-top:5px; display:flex; align-items:center; justify-content:flex-end; gap:6px; color:color-mix(in srgb,currentColor 58%,transparent); font-size:10px; }
.chat-file-preview,.upload-preview,[data-file-preview] { min-width:0; margin-top:9px; padding:9px; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.chat-file-preview img,.upload-preview img,[data-file-preview] img { width:48px; height:48px; object-fit:cover; border-radius:8px; background:var(--warm); }
.chat-file-preview>div,.upload-preview>div,[data-file-preview]>div { min-width:0; }
.chat-file-preview b,.upload-preview b,[data-file-preview] b { display:block; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.chat-file-preview small,.upload-preview small,[data-file-preview] small { display:block; color:var(--muted); font-size:11px; }
.chat-image-attachment { display:block; max-width:260px; margin-top:7px; overflow:hidden; border:0; border-radius:10px; }
.chat-image-attachment img { width:100%; max-height:200px; object-fit:cover; }
.upload-processing,[aria-busy="true"] .upload-ready-label { opacity:.64; }
.upload-progress { height:4px; overflow:hidden; border-radius:99px; background:#ebe3e7; }
.upload-progress>i { height:100%; display:block; background:linear-gradient(90deg,var(--accent-deep),var(--accent)); transition:width .2s; }

.admin-monitor-layout { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:16px; align-items:start; }
.monitor-card,.profile-card,.update-editor-card,.notification-settings { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 8px 25px rgba(61,30,57,.035); }
.monitor-card>header,.profile-card>header,.update-editor-card>header,.notification-settings>header { min-height:67px; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); }
.monitor-card>header h2,.profile-card>header h2,.update-editor-card>header h2,.notification-settings>header h2 { margin:0; font-size:19px; }
.monitor-card>header p,.profile-card>header p,.update-editor-card>header p,.notification-settings>header p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.monitor-visitor-list { max-height:690px; overflow:auto; }
.monitor-visitor { width:100%; min-height:76px; padding:12px 14px; display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:11px; align-items:center; border:0; border-bottom:1px solid var(--line); background:transparent; text-align:left; cursor:pointer; }
.monitor-visitor:hover,.monitor-visitor.is-selected { background:var(--accent-soft); }
.monitor-visitor>i { width:8px; height:8px; border-radius:50%; background:#929095; }
.monitor-visitor.is-online>i { background:#55a86a; box-shadow:0 0 0 4px rgba(85,168,106,.14); }
.monitor-visitor.is-away>i { background:#d79b2f; box-shadow:0 0 0 4px rgba(215,155,47,.15); }
.monitor-visitor b,.monitor-visitor small { display:block; }
.monitor-visitor b { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.monitor-visitor small { color:var(--muted); font-size:11px; }
.monitor-detail { min-width:0; }
.monitor-detail-summary { padding:18px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.monitor-detail-summary>div,.monitor-stat { min-width:0; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--paper); }
.monitor-detail-summary span,.monitor-stat span { display:block; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.monitor-detail-summary b,.monitor-stat strong { display:block; margin-top:5px; overflow:hidden; font:800 18px var(--display); text-overflow:ellipsis; }
.monitor-timeline { max-height:510px; margin:0; padding:18px; overflow:auto; list-style:none; }
.monitor-timeline>li { position:relative; margin-left:7px; padding:0 0 20px 22px; border-left:1px solid var(--line); }
.monitor-timeline>li:last-child { padding-bottom:0; border-left-color:transparent; }
.monitor-timeline>li::before { content:""; position:absolute; left:-5px; top:5px; width:8px; height:8px; border:2px solid var(--surface); border-radius:50%; background:var(--accent-deep); box-shadow:0 0 0 1px var(--accent-deep); }
.monitor-timeline b,.monitor-timeline small { display:block; }
.monitor-timeline b { font-size:13px; }
.monitor-timeline p { margin:3px 0; overflow-wrap:anywhere; color:var(--muted); font-size:12px; }
.monitor-timeline small { color:#9a8d9a; font-size:11px; }
.monitor-chart { min-height:190px; padding:18px; display:flex; align-items:flex-end; gap:7px; border-top:1px solid var(--line); }
.monitor-chart>i { min-width:5px; flex:1; border-radius:5px 5px 0 0; background:linear-gradient(180deg,var(--accent),var(--accent-deep)); }

.client-profile-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(290px,.55fr); gap:18px; align-items:start; }
.profile-card { padding:24px; }
.profile-card>header { margin:-24px -24px 22px; }
.profile-form,.notification-setting-list { display:grid; gap:15px; }
.profile-form .field { margin:0; }
.profile-form input,.profile-form select,.notification-settings select { width:100%; min-height:43px; padding:8px 11px; border:1px solid var(--line); border-radius:9px; background:#fcfaf7; outline:0; }
.profile-form input:focus,.profile-form select:focus,.notification-settings select:focus { border-color:var(--accent-deep); box-shadow:0 0 0 3px var(--accent-soft); }
.profile-session { padding:13px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); font-size:13px; }
.profile-session small { display:block; color:var(--muted); }
.profile-danger { border-color:#e7c6c4; background:#fff8f7; }
.profile-danger .btn { color:#8b3737; border-color:#d9a8a5; }

.notification-setting-list { padding:18px; }
.notification-setting { padding:13px 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(150px,.6fr) auto; gap:12px; align-items:center; border-bottom:1px solid var(--line); }
.notification-setting:last-child { border-bottom:0; }
.notification-setting b,.notification-setting small { display:block; }
.notification-setting small { color:var(--muted); }
.sound-preview-button { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--surface); cursor:pointer; }

.markdown-content,.markdown-body { color:#544855; overflow-wrap:anywhere; }
.markdown-content>*:first-child,.markdown-body>*:first-child { margin-top:0; }
.markdown-content>*:last-child,.markdown-body>*:last-child { margin-bottom:0; }
.markdown-content h2,.markdown-content h3 { margin:1.25em 0 .5em; font-size:clamp(20px,2vw,27px); }
.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote { margin:.8em 0; }
.markdown-content a { color:var(--accent-ink); text-decoration:underline; text-underline-offset:3px; }
.markdown-content blockquote { padding:4px 0 4px 17px; border-left:3px solid var(--accent); color:var(--muted); }
.markdown-content code { padding:2px 5px; border-radius:5px; background:var(--paper); font-size:.9em; }
.project-brief-content .btn,.markdown-content .btn,.update-content .btn { margin:4px 6px 4px 0; text-decoration:none; }
.project-brief-content .pill,.markdown-content .badge,.update-content .badge { margin:3px; }
.update-block,[data-order-update] { margin-top:15px; padding:14px; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.update-block>header,[data-order-update]>header { min-height:51px; margin:-14px -14px 14px; padding:11px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); }
.update-block>header h3,[data-order-update]>header h3 { margin:0; font-size:16px; }
.update-document { padding:14px; display:flex; align-items:center; gap:11px; }
.update-document>span { width:38px; height:38px; display:grid; place-items:center; border-radius:9px; color:var(--accent-ink); background:var(--accent-soft); font-size:11px; font-weight:800; }
.update-table-wrap,.table-editor-wrap,.table-responsive { max-width:100%; overflow:auto; }
.update-table,.table-editor,.update-table-wrap table,[data-table-editor] table { width:100%; min-width:620px; border-collapse:collapse; }
.update-table th,.update-table td,.table-editor th,.table-editor td,.update-table-wrap th,.update-table-wrap td,[data-table-editor] th,[data-table-editor] td { min-width:110px; padding:10px 12px; border:1px solid var(--line); font-size:13px; text-align:left; vertical-align:top; }
.update-table th,.table-editor th,.update-table-wrap th,[data-table-editor] th { background:var(--paper); font-size:11px; letter-spacing:.05em; }
[data-table-editor] input:not([type="radio"]) { width:100%; min-height:34px; padding:5px 7px; border:1px solid transparent; background:transparent; }
[data-table-editor] input:not([type="radio"]):focus { border-color:var(--accent-deep); background:#fff; outline:0; }
.table-editor td[contenteditable="true"] { background:#fff; outline:0; }
.table-editor td[contenteditable="true"]:focus { box-shadow:inset 0 0 0 2px var(--accent-deep); }
.table-editor-toolbar,.table-editor-actions { padding:10px; display:flex; flex-wrap:wrap; gap:7px; border-bottom:1px solid var(--line); }
.table-editor-toolbar button,.table-editor-actions button { min-height:34px; padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); font-size:12px; font-weight:700; cursor:pointer; }
.table-editor-toolbar button:disabled { opacity:.45; cursor:not-allowed; }
.client-project-card:only-child { grid-column:1/-1; }

.has-unread.admin-chat-trigger,.admin-chat-trigger.is-bouncing { animation:chatAttention 1.8s cubic-bezier(.36,.07,.19,.97) infinite; }
@keyframes chatAttention { 0%,100% { transform:none; } 20% { transform:translateY(-3px) rotate(-2deg); } 40% { transform:translateY(1px) rotate(2deg); } 60% { transform:translateY(-2px) rotate(-1deg); } 80% { transform:translateY(1px); } }

@media (max-width:1200px) {
  .admin-nav-shell { gap:14px; }
  .admin-nav { margin-left:12px; gap:18px; }
  .admin-nav a:last-child { display:none; }
  .admin-chat-trigger { margin-left:auto; }
}

@media (max-width:1024px) {
  h2 { font-size:clamp(38px,6vw,58px); }
  h3 { font-size:clamp(20px,2.8vw,28px); }
  h4 { font-size:clamp(17px,2.2vw,23px); }
  .section { padding:96px 0; }
  .hero-grid { min-height:auto; }
  .hero-copy h1 { max-width:850px; font-size:clamp(55px,9vw,82px); }
  .page-hero { padding:78px 0 84px; }
  .page-hero h1,.narrow-hero h1 { font-size:clamp(52px,8.8vw,79px); }
  .service-slide { min-height:auto; align-items:stretch; }
  .service-slide-media { min-height:560px; }
  .service-detail-page .page-hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(280px,.75fr); gap:38px; }
  .admin-workspace-label { display:none; }
  .admin-nav { margin-left:auto; }
  .admin-monitor-layout,.client-profile-grid { grid-template-columns:1fr; }
  .monitor-visitor-list { max-height:360px; }
}

@media (max-width:900px) {
  .service-detail-page .page-hero-grid { grid-template-columns:1fr; gap:30px; }
  .service-detail-page .hero-aside { padding-top:0; }
}

@media (max-width:720px) {
  body { font-size:15px; }
  .site-header { background:var(--paper); backdrop-filter:none; }
  .mobile-menu { overflow:auto; background:var(--paper); }
  .mobile-menu nav { padding-top:18px; padding-bottom:30px; }
  .mobile-menu nav>a:not(.btn),.mobile-menu summary { padding:10px 0; font-size:clamp(18px,5.8vw,25px); }
  .nav-actions { gap:8px; }
  .public-account-link { display:inline-flex; min-height:37px; padding:7px 11px; font-size:12px; }
  .menu-toggle { width:39px; height:39px; }
  h2 { font-size:clamp(35px,10.5vw,50px); }
  h3 { font-size:clamp(19px,6vw,25px); }
  h4 { font-size:clamp(16px,4.8vw,21px); }
  .section { padding:76px 0; }
  .hero-copy { padding-top:23px; }
  .hero-copy h1 { font-size:clamp(45px,13.5vw,66px); line-height:.96; }
  .page-hero { padding:54px 0 59px; }
  .page-hero h1,.narrow-hero h1 { font-size:clamp(44px,13vw,62px); line-height:.98; }
  .page-hero-grid,.service-detail-page .page-hero-grid { grid-template-columns:1fr; gap:25px; }
  .hero-aside { padding-top:0; }
  .hero-image-wrap,.hero-image-wrap>img { height:min(118vw,470px); min-height:350px; }
  .service-slide { gap:0; overflow:hidden; }
  .service-slide-copy { min-width:0; }
  .service-slide-media { width:100%; min-height:min(104vw,410px); border-radius:72px 18px 18px; }
  .service-detail-page .content-grid>.split-panel { min-height:auto; }
  .service-detail-page .feature-card { min-height:auto; }
  .hero-actions { gap:14px; }
  .hero-actions .btn { max-width:100%; }
  .admin-chat-trigger { min-width:40px; padding:8px; }
  .admin-chat-trigger>span:not(.admin-chat-badge) { display:none; }
  .admin-chat-drawer,[data-admin-chat-drawer] { width:100vw; }
  .admin-chat-drawer .admin-chat-layout { grid-template-columns:1fr; }
  .admin-chat-drawer .admin-chat-list { max-height:32vh; }
  .admin-chat-drawer .admin-chat-layout { grid-template-rows:minmax(100px,32vh) minmax(0,1fr); }
  .admin-chat-drawer .admin-chat-stream { min-height:0; }
  .admin-chat-drawer.admin-chat-detached { width:calc(100% - 30px); height:max(620px,calc(100dvh - 260px)); }
  .admin-chat-drawer-head { min-height:68px; }
  .admin-monitor-layout { gap:12px; }
  .monitor-detail-summary { grid-template-columns:1fr 1fr; }
  .monitor-detail-summary>div:last-child { grid-column:1/-1; }
  .notification-setting { grid-template-columns:1fr auto; }
  .notification-setting select { grid-column:1/-1; grid-row:2; }
  .client-profile-grid { gap:12px; }
  .profile-card { padding:19px; }
  .profile-card>header { margin:-19px -19px 19px; }
  .chat-file-preview,.upload-preview,[data-file-preview] { grid-template-columns:42px minmax(0,1fr) auto; }
  .chat-file-preview img,.upload-preview img,[data-file-preview] img { width:42px; height:42px; }
  .client-project-card:only-child { grid-column:1/-1; }
}

@media (max-width:520px) {
  .admin-nav-shell { width:calc(100% - 22px); gap:7px; }
  .admin-site-header .brand-mark,.client-site-header .brand-mark { width:32px; height:32px; }
  .admin-site-header .admin-nav a,.client-site-header .admin-nav a { display:none; }
  .admin-site-header .admin-nav a.active,.client-site-header .admin-nav a.active { display:flex; }
  .admin-site-header .admin-nav,.client-site-header .admin-nav { min-width:0; margin-left:auto; }
  .admin-site-header .admin-nav a.active,.client-site-header .admin-nav a.active { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
  .admin-user-menu form { padding-left:8px; border-left:0; }
  .admin-user-menu form button { font-size:12px; }
}

@media (max-width:390px) {
  :root { --container:calc(100% - 24px); }
  .site-notice { font-size:9px; }
  .notice-inner>a { display:none; }
  .notice-inner>span { max-width:100%; }
  .brand { gap:6px; font-size:17px; }
  .brand-mark { width:33px; height:33px; }
  .nav-shell { gap:8px; }
  .public-account-link { max-width:86px; padding-inline:10px; overflow:hidden; text-overflow:ellipsis; }
  .hero-copy h1 { font-size:clamp(40px,13.2vw,51px); letter-spacing:-.065em; }
  .page-hero h1,.narrow-hero h1 { font-size:clamp(39px,12.5vw,49px); letter-spacing:-.065em; }
  h2 { font-size:clamp(31px,10vw,40px); }
  h3 { font-size:clamp(18px,5.9vw,22px); }
  h4 { font-size:clamp(15px,4.8vw,19px); }
  .hero-intro,.page-hero-copy>p,.hero-aside>p { font-size:15px; }
  .section { padding:64px 0; }
  .hero-actions .btn { min-height:50px; padding-inline:16px; }
  .hero-image-wrap,.hero-image-wrap>img { height:390px; min-height:330px; }
  .image-badge { width:92px; height:92px; }
  .image-badge b { font-size:23px; }
  .service-slide-copy h1 { font-size:clamp(39px,12vw,47px); }
  .service-slide-media { min-height:330px; border-radius:54px 14px 14px; }
  .service-benefits li { font-size:12px; }
  .admin-user-menu .admin-avatar { width:31px; height:31px; }
  .admin-user-menu form { display:none; }
  .admin-page { width:calc(100% - 24px); }
  .admin-page-head h1 { font-size:34px; }
  .admin-metric-grid { grid-template-columns:1fr; }
  .admin-chat-drawer-head { padding-inline:12px; }
  .admin-chat-conversation-head { padding-inline:13px; }
  .admin-chat-stream { padding:13px; }
  .monitor-detail-summary { grid-template-columns:1fr; }
  .monitor-detail-summary>div:last-child { grid-column:auto; }
  .table-editor-toolbar button { flex:1; }
}

@media (prefers-reduced-motion:reduce) {
  .admin-chat-drawer,[data-admin-chat-drawer],.admin-chat-trigger,.typing-dots i { transition:none; animation:none!important; }
  .live-chat-launcher,.client-project-card,.service-detail-page .feature-card,.service-detail-page .step-card { transition:none; }
}

/* Homepage hero: images stay within the standard container. */
.home-service-hero-contained .service-slider-stage::before { display:none; }
.home-service-hero-contained .service-slide { gap:48px; }
.home-service-hero-contained .service-slide-media { width:100%; min-height:0; border:0; border-radius:12px; align-self:center; box-shadow:0 12px 32px rgba(63,30,58,.12); }
.home-service-hero-contained .service-slide-media img { position:static; display:block; width:100%; height:auto; }
.home-service-hero-contained .service-slide-heading { margin:0 0 24px; font-size:clamp(42px,4.3vw,64px); font-weight:800; line-height:1.06; letter-spacing:-.055em; }
@media (max-width:1024px) {
  .home-service-hero-contained .service-slide { gap:32px; }
  .home-service-hero-contained .service-slide-heading { font-size:clamp(38px,5.1vw,52px); }
}
@media (max-width:720px) {
  .home-service-hero-contained .service-slide { gap:24px; }
  .home-service-hero-contained .service-slide-heading { font-size:clamp(36px,10.5vw,52px); }
}
@media (max-width:390px) {
  .home-service-hero-contained .service-slide-heading { font-size:clamp(34px,10.8vw,42px); }
}

.home-service-hero-contained .service-slider-mast { font-size:9px; letter-spacing:.1em; }
.home-service-hero-contained .service-slide-copy .eyebrow { font-size:10px; }
.home-service-hero-contained .slider-tabs button { padding:12px 10px; font-size:11px; }
.home-service-hero-contained .slider-tabs button span { font-size:10px; margin-right:6px; }
.home-service-hero-contained .service-media-label { max-width:calc(100% - 28px); right:14px; bottom:14px; padding:7px 9px; font-size:8px; letter-spacing:.08em; }

/* SellerZennith wordmark sizing. */
.brand { flex-shrink:0; white-space:nowrap; }
.brand-mark { flex-shrink:0; }
@media (min-width:1025px) {
  .nav-shell { gap:22px; }
  .desktop-nav { gap:20px; }
}

/* Tablet forms and workspace navigation adapt before space becomes tight. */
@media (max-width:1100px) {
  .admin-nav-shell,.client-nav-shell { gap:12px; }
  .admin-site-header .brand>span,.client-site-header .brand>span,.admin-user-menu>div { display:none; }
  .admin-user-menu button,.admin-nav a { white-space:nowrap; }
}
@media (max-width:1024px) {
  .contact-grid { grid-template-columns:minmax(0,1fr); gap:45px; }
  .contact-details { position:static; }
}
@media (max-width:720px) {
  .admin-nav-shell,.client-nav-shell { height:auto; min-height:104px; padding:10px 0 0; display:grid; grid-template-columns:auto 1fr auto; gap:6px 12px; }
  .client-nav-shell { grid-template-columns:auto 1fr; }
  .admin-nav-shell .brand,.client-nav-shell .brand { grid-column:1; grid-row:1; }
  .admin-nav-shell .admin-chat-trigger { grid-column:2; grid-row:1; margin:0; justify-self:end; }
  .admin-nav-shell .admin-user-menu { grid-column:3; grid-row:1; justify-self:end; }
  .client-nav-shell .admin-user-menu { grid-column:2; grid-row:1; justify-self:end; }
  .admin-site-header .admin-nav,.client-site-header .admin-nav { grid-column:1/-1; grid-row:2; min-width:0; max-width:100%; min-height:44px; margin:0; align-self:stretch; display:flex; gap:22px; overflow-x:auto; }
  .admin-site-header .admin-nav a,.client-site-header .admin-nav a { display:flex; flex:0 0 auto; white-space:nowrap; font-size:13px; }
  .admin-site-header .admin-user-menu form,.client-site-header .admin-user-menu form { display:block; margin:0; padding-left:10px; }
  .admin-body main,.client-body main { min-height:calc(100dvh - 153px); }
}
@media (max-width:1024px) {
  .live-chat-launcher { width:58px; min-height:58px; padding:7px; grid-template-columns:42px; gap:0; border-radius:50%; }
  .live-chat-launcher-icon { width:42px; height:42px; border-radius:12px; }
  .live-chat-launcher-copy { display:none; }
}

/* Light type remains legible over the resource library's dark photo overlays. */
.resource-feature-visual.has-image,.resource-card .resource-art.has-image { color:var(--surface); }

/* Short viewports allow the full chat composer to remain reachable. */
.live-chat-window { max-height:min(650px,calc(100dvh - 124px)); }
@media (max-width:720px) {
  .live-chat-window { max-height:calc(100dvh - 105px); }
  .live-chat-thread { min-height:0; height:170px; flex:1 1 170px; }
  .admin-site-header .admin-nav a.active,.client-site-header .admin-nav a.active { font-size:13px; }
  .admin-site-header .admin-nav a:last-child,.client-site-header .admin-nav a:last-child { display:flex; }
}
@media (max-height:600px) {
  .live-chat-window { overflow-y:auto; overscroll-behavior:contain; }
  .live-chat-head,.live-chat-form,.live-chat-window>footer { flex-shrink:0; }
  .live-chat-thread { height:auto; flex:0 0 auto; min-height:80px; max-height:150px; }
}

/* Service page refinements */
.service-detail-page .page-hero h1,
.feedback-hero h1 { font-size:clamp(42px,4.6vw,64px); line-height:1.05; }
.feedback-rating-visual { margin-bottom:38px; }
.feedback-rating-badge { left:-18px; bottom:-18px; min-width:0; padding:13px 18px; grid-template-columns:auto 1fr; gap:13px; color:var(--ink); }
.feedback-rating-badge strong { font-size:31px; }
.feedback-rating-badge .rating-badge-stars { margin:0; font-size:18px; line-height:1; letter-spacing:.03em; white-space:nowrap; }
.feedback-rating-badge small { margin-top:5px; font-size:10px; }
.feedback-problem-card .service-icon,
.feedback-solution-card .service-icon { width:56px; height:56px; margin-bottom:34px; flex:none; border-radius:16px; }
.feedback-problem-card .service-icon svg,
.feedback-solution-card .service-icon svg { width:29px; height:29px; }
.cta-banner .btn { width:auto; min-height:0; padding:0 0 4px; justify-content:flex-start; border:0; border-bottom:2px solid currentColor; border-radius:0; color:var(--accent); background:transparent; box-shadow:none; }
.cta-banner .btn::before { display:none; }
.cta-banner .btn:hover { color:#fff; background:transparent; box-shadow:none; }
.cta-banner .btn:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.cta-side small { text-align:left; }
@media (max-width:720px) {
  .service-detail-page .page-hero h1,
  .feedback-hero h1 { font-size:clamp(36px,9.5vw,49px); }
  .feedback-rating-badge { left:10px; top:auto; bottom:-14px; padding:10px 12px; }
  .feedback-rating-badge strong { font-size:26px; }
  .feedback-rating-badge .rating-badge-stars { font-size:15px; }
}

/* 2.7 navigation, service covers, and footer */
.site-header:not(.admin-site-header):not(.client-site-header) { background:#fffdfa; border-bottom:1px solid var(--line); box-shadow:0 8px 24px rgba(38,23,42,.07); backdrop-filter:none; }
.site-header:not(.admin-site-header):not(.client-site-header).scrolled { background:#fffdfa; box-shadow:0 12px 30px rgba(38,23,42,.13); }
.desktop-nav>a,.desktop-nav summary { color:var(--ink); font-weight:800; }
.desktop-nav>a:hover,.desktop-nav summary:hover { color:var(--accent-ink); }
.desktop-cta { white-space:nowrap; }
.public-account-link { min-height:42px; padding:10px 17px; border:1px solid var(--ink); border-radius:99px; color:var(--ink); background:transparent; font-size:13px; font-weight:800; box-shadow:none; }
.public-account-link:hover { color:var(--ink); border-color:var(--accent-deep); background:var(--accent-soft); }
.brand-inverse .brand-mark { filter:brightness(0) invert(1); }
.services-showcase .section-head h2 em { color:var(--accent); font-style:normal; }
.home-service-hero-contained .slider-tabs button { font-size:12px; text-align:center; }
.service-hero-visual { position:relative; margin-top:28px; padding-bottom:20px; }
.service-hero-visual .service-hero-media { margin-top:0; }
.service-cover-badge { position:absolute; left:-18px; bottom:0; max-width:calc(100% + 18px); padding:11px 17px 11px 11px; display:flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.7); border-radius:17px; color:var(--ink); background:linear-gradient(135deg,#fffdfa,#fae6b6); box-shadow:0 16px 38px rgba(63,29,57,.18); }
.service-cover-icon { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; color:var(--accent); background:var(--ink); }
.service-cover-icon svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.service-cover-badge strong,.service-cover-badge small { display:block; }
.service-cover-badge strong { font:800 15px/1.2 var(--display); }
.service-cover-badge small { margin-top:3px; color:var(--muted); font-size:11px; font-weight:700; }
.campaign-included-section { background:var(--surface); }
.campaign-deliverables .feature-card { min-height:315px; }
.service-catalog-inquiry { background:linear-gradient(145deg,var(--accent-soft),color-mix(in srgb,var(--accent) 45%,var(--surface))); }
.service-catalog-inquiry .catalog-icon { color:var(--accent); background:var(--ink); }
.about-values-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.about-values-grid .feature-card { min-height:310px; }
.about-mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.about-support-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.site-footer { padding-top:75px; }
.footer-lead { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; padding-bottom:55px; }
.footer-lead h2 { margin-bottom:0; font-size:clamp(42px,5.2vw,69px); line-height:1.1; }
.circle-link { width:158px; height:158px; gap:4px; text-align:center; }
.circle-link .footer-support-icon { width:65px; height:65px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.circle-link span { font:800 15px var(--display); }
.circle-link span b { margin-left:5px; }
.footer-grid { grid-template-columns:minmax(230px,1.6fr) repeat(3,minmax(0,1fr)); gap:40px; }
.footer-links { gap:12px; font-size:14px; }
.footer-links p { margin:0 0 8px; color:#fff; font:800 20px/1.2 var(--display); letter-spacing:-.03em; text-transform:none; }
.footer-links a { display:flex; align-items:baseline; gap:10px; line-height:1.35; }
.footer-links a::before { content:"↗"; color:var(--accent); font-size:14px; font-weight:800; }
.footer-links a:hover { transform:translateX(3px); }
.footer-links span { padding-left:23px; }
.footer-company { display:block; margin:-10px 0 22px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.13em; }
.footer-links a { overflow-wrap:anywhere; }
.auth-shell { border:0; }
.js .auth-shell > .reveal,.js .admin-auth-shell > .reveal { transform:none; }
.auth-visual { align-self:stretch; background-color:var(--ink); }
@media (max-width:1024px) {
  .about-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:35px 24px; }
  .footer-brand { grid-column:1/-1; }
}
@media (max-width:720px) {
  .site-header:not(.admin-site-header):not(.client-site-header) { background:#fffdfa; }
  .public-account-link { min-height:43px; max-width:none; padding:10px 14px; }
  .home-service-hero-contained .slider-tabs button { min-height:50px; padding:8px 4px; font-size:11px; line-height:1.2; }
  .service-cover-badge { left:9px; bottom:6px; padding:8px 11px 8px 8px; }
  .service-cover-icon { width:39px; height:39px; }
  .service-cover-icon svg { width:24px; height:24px; }
  .service-cover-badge strong { font-size:13px; }
  .about-mission-grid,.about-support-grid { grid-template-columns:1fr; gap:22px; }
  .footer-lead { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:13px; }
  .footer-lead h2 { font-size:clamp(27px,7.5vw,40px); }
  .circle-link { width:106px; height:106px; align-self:center; }
  .circle-link .footer-support-icon { width:44px; height:44px; }
  .circle-link span { font-size:11px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-links:last-child { grid-column:1/-1; }
}
@media (max-width:390px) {
  .nav-shell { gap:6px; }
  .nav-shell .brand { font-size:15px; }
  .nav-shell .brand-mark { width:31px; height:31px; }
  .public-account-link { min-width:61px; padding:9px 10px; font-size:12px; }
  .footer-lead h2 { font-size:26px; }
  .circle-link { width:94px; height:94px; }
  .circle-link .footer-support-icon { width:37px; height:37px; }
  .about-values-grid { grid-template-columns:1fr; }
}
@media (max-width:350px) {
  .nav-shell .brand>span { display:none; }
}

/* Product Feedback package pricing */
.feedback-packages-section { color:#fff; background:radial-gradient(circle at 86% 0,rgba(242,185,63,.16),transparent 35%),linear-gradient(150deg,var(--ink-2),var(--ink)); }
.feedback-packages-section .section-head > p { color:#d7cbd7; }
.feedback-packages-section .eyebrow { color:var(--accent); }
.feedback-packages-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.feedback-package { display:flex; flex-direction:column; min-width:0; padding:30px 26px; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:rgba(255,255,255,.055); }
.feedback-package-featured { border-color:var(--accent); background:linear-gradient(160deg,rgba(242,185,63,.16),rgba(255,255,255,.055) 65%); box-shadow:0 22px 55px rgba(0,0,0,.16); }
.feedback-package-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.feedback-package-label { color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.feedback-package-count { padding:6px 10px; border:1px solid rgba(255,255,255,.22); border-radius:99px; color:#f5e9f1; font-size:11px; font-weight:700; white-space:nowrap; }
.feedback-package h3 { min-height:2.4em; margin:25px 0 9px; font-size:clamp(23px,2.4vw,31px); line-height:1.2; }
.feedback-package-price { display:flex; align-items:baseline; gap:10px; margin:0 0 25px; padding-bottom:25px; border-bottom:1px solid rgba(255,255,255,.16); }
.feedback-package-price strong { color:var(--accent); font:800 clamp(49px,5vw,65px)/1 var(--display); letter-spacing:-.07em; }
.feedback-package-price span { color:#cfc1ce; font-size:12px; }
.feedback-package-features { display:grid; gap:12px; margin:0 0 28px; padding:0; list-style:none; }
.feedback-package-features li { display:grid; grid-template-columns:20px 1fr; gap:9px; align-items:start; font-size:13px; line-height:1.4; }
.feedback-package-features li::before { content:"✓"; color:var(--accent); font-weight:800; }
.feedback-package-features li.not-included { color:#b8a9b8; }
.feedback-package-features li.not-included::before { content:"–"; color:#b8a9b8; }
.feedback-package .btn { width:100%; margin-top:auto; }
.feedback-packages-note { max-width:900px; margin:24px auto 0; color:#cfc1ce; font-size:13px; text-align:center; }
@media (max-width:1024px) {
  .feedback-packages-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feedback-package:last-child { grid-column:1/-1; }
}
@media (max-width:720px) {
  .feedback-packages-grid { grid-template-columns:1fr; }
  .feedback-package:last-child { grid-column:auto; }
  .feedback-package { padding:27px 22px; }
  .feedback-package h3 { min-height:0; }
}

/* Service-level quote sections and aligned header controls */
.service-pricing-section,.feedback-packages-section { scroll-margin-top:90px; }
.service-pricing-section { background:linear-gradient(145deg,var(--warm),var(--paper)); }
.service-price-layout { display:grid; grid-template-columns:1.1fr .9fr; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:var(--surface); box-shadow:0 20px 55px rgba(63,29,57,.08); }
.service-price-summary,.service-price-factors { padding:45px; }
.service-price-summary { display:flex; flex-direction:column; align-items:flex-start; background:var(--ink); color:#fff; }
.service-price-label { padding:7px 11px; border:1px solid rgba(242,185,63,.5); border-radius:99px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.12em; }
.service-price-summary h3 { max-width:560px; margin:26px 0 14px; font-size:clamp(30px,3.3vw,42px); line-height:1.15; }
.service-price-summary p { max-width:590px; margin:0 0 26px; color:#d7cad5; }
.service-price-summary .btn { margin-top:auto; }
.service-price-factors { align-self:center; }
.service-price-factors .check-list { margin:0; }
.service-price-factors .check-list li { padding:15px 0; }
.public-account-link { border-radius:12px; }
.nav-actions { gap:0; }
.nav-actions > * + * { margin-left:12px; }
.desktop-nav { gap:0; }
.desktop-nav > * + * { margin-left:20px; }
.desktop-nav summary { gap:0; }
.desktop-nav .services-chevron { margin-left:9px; }
.mobile-menu { left:0; right:0; top:100%; }
@media (min-width:1025px) {
  .nav-shell { gap:0; }
  .nav-actions { margin-left:22px; }
  .public-account-link { border-radius:99px; }
}
@media (max-width:1180px) and (min-width:1025px) {
  .desktop-nav > * + * { margin-left:14px; }
  .desktop-nav>a,.desktop-nav summary { font-size:13px; }
  .nav-actions { margin-left:14px; }
}
@media (max-width:720px) {
  .service-price-layout { grid-template-columns:1fr; }
  .service-price-summary,.service-price-factors { padding:30px 24px; }
  .service-price-summary .btn { width:100%; }
  .menu-toggle { width:43px; height:43px; border-radius:12px; }
  .public-account-link { min-height:43px; border-radius:12px; }
  .nav-actions > * + * { margin-left:8px; }
}
