/* ============================================================
   INTERNAL PAGES — SAME VISUAL LANGUAGE AS REFERENCE HOMEPAGE
   ============================================================ */
.internal-page { background: var(--paper); color: var(--ink-950); }
.internal-page .shell { width: 100%; max-width: var(--container); margin: 0 auto; padding-left: max(var(--pad), env(safe-area-inset-left)); padding-right: max(var(--pad), env(safe-area-inset-right)); }
.internal-page .page { min-height: 65vh; padding: 24px 0 56px; }
.internal-page .main.internal-main { padding-top: 24px; }
.internal-page .accent { color: var(--accent); }
.internal-page .mono { font-family: 'Geist Mono', monospace; }
.internal-page .eyebrow { display:inline-flex;align-items:center;gap:8px;font-family:'Geist Mono',monospace;font-size:10.5px;font-weight:500;color:var(--ink-500);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px; }
.internal-page .eyebrow::before { content:''; width:24px; height:1px; background:var(--accent); }
.internal-page .eyebrow--light { color:rgba(255,255,255,.7); }
.internal-page .eyebrow--light::before { background:var(--accent-400); }
.internal-page .lead { font-size:15px;line-height:1.65;color:var(--ink-500); }
.internal-page .crumb { font-family:'Geist Mono',monospace;font-size:10px;color:var(--ink-400);margin-bottom:20px; }
.internal-page .crumb a:hover { color:var(--accent); }

/* header additions */
.ref-search-pop { display:none;position:absolute;top:54px;left:0;right:0;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-lg);border-radius:18px;overflow:hidden;z-index:120; }
.ref-search-pop.on { display:block; }
.ref-search-pop a { display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:12px; }
.ref-search-pop a:last-child { border-bottom:0; }
.ref-search-pop a:hover { background:var(--accent-25); }
.ref-search-pop small { color:var(--ink-500); }
.ref-search-pop b { color:var(--accent);white-space:nowrap; }
.ref-cart-empty { min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--ink-500); }
.ref-cart-empty i { width:64px;height:64px;border-radius:18px;background:var(--accent-50);color:var(--accent);display:grid;place-items:center;font-size:24px;margin-bottom:16px; }
.ref-cart-empty h4 { color:var(--ink-950);font-size:17px;margin-bottom:6px; }
.ref-cart-empty p { max-width:300px;font-size:12px; }
.search-content form { display:flex;align-items:center;gap:12px; }
.search-content form input { flex:1; }
.ref-overlay-submit { flex-shrink:0;background:var(--accent);color:#fff;border-radius:var(--r-full);padding:13px 20px;font-weight:700;display:inline-flex;align-items:center;gap:8px; }
.footer-note { display:flex;align-items:center;gap:8px;color:var(--ink-400); }
.internal-flash { position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:300; }

/* generic page hero */
.page-head,
.internal-page-hero { background:linear-gradient(145deg,#0f0f12 0%,#1a1a1e 58%,#111 100%);color:#fff;border-radius:var(--r-xl);padding:34px 28px;margin:0 auto 18px;position:relative;overflow:hidden;box-shadow:var(--sh-lg); }
.page-head::before,
.internal-page-hero::before { content:'';position:absolute;right:-12%;top:-60%;width:46%;height:220%;background:radial-gradient(circle,rgba(255,92,0,.28),transparent 64%);pointer-events:none; }
.page-head > *, .internal-page-hero > * { position:relative;z-index:1; }
.page-head h1,.internal-page-hero h1 { font-size:clamp(30px,5vw,52px);line-height:1.02;letter-spacing:-.04em;margin:0 0 12px;font-weight:800; }
.page-head p,.internal-page-hero p { max-width:690px;font-size:14px;color:rgba(255,255,255,.66);line-height:1.65; }
.page-head .eyebrow,.internal-page-hero .section-label { color:var(--accent-400); }
.internal-page-hero { display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:end;gap:28px;margin-bottom:18px; }
.internal-filter-search { height:50px;display:flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-full);overflow:hidden;padding-left:16px;backdrop-filter:blur(12px); }
.internal-filter-search i { color:var(--accent-400); }
.internal-filter-search input { flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:0 12px; }
.internal-filter-search input::placeholder { color:rgba(255,255,255,.45); }
.internal-filter-search button { height:100%;padding:0 22px;background:var(--accent);color:#fff;font-weight:700; }
.internal-products-section { margin-bottom:24px; }
.internal-sidebar { top:calc(var(--header-h-lg) + 24px); }

/* buttons compatible with old views */
.internal-page .btn { min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:var(--r-full);font-weight:600;font-size:12.5px;border:1px solid transparent;transition:all var(--dur) var(--ease); }
.internal-page .btn:hover { transform:translateY(-1px); }
.internal-page .btn--primary { background:var(--accent);color:#fff;box-shadow:var(--sh-glow-sm); }
.internal-page .btn--primary:hover { background:var(--accent-600);box-shadow:var(--sh-glow); }
.internal-page .btn--ghost { background:#fff;color:var(--ink-900);border-color:var(--btn-border);box-shadow:var(--btn-shadow); }
.internal-page .btn--ghost:hover { border-color:var(--accent-200);color:var(--accent); }
.internal-page .btn--light { background:#fff;color:var(--ink-950); }
.internal-page .btn--wide { width:100%; }
.internal-page .hero-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px; }

/* product placeholder and list */
.ref-product-placeholder { width:82%;height:82%;border-radius:22px;background:linear-gradient(145deg,#fff,#ece9e5);box-shadow:0 18px 40px rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--ink-700); }
.ref-product-placeholder b { font-family:'Geist Mono',monospace;font-size:20px;letter-spacing:.08em; }
.ref-product-placeholder i { font-size:50px;color:var(--accent);opacity:.82; }
.prod form { margin-top:auto; }
.empty-state { border:1px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--paper-2);padding:56px 24px;text-align:center; }
.empty-state > i { width:58px;height:58px;border-radius:16px;background:#fff;color:var(--accent);display:grid;place-items:center;margin:0 auto 16px;font-size:20px;box-shadow:var(--sh-sm); }
.empty-state h2 { font-size:22px;margin-bottom:6px; }
.empty-state p { color:var(--ink-500);margin-bottom:20px; }

/* product detail */
.product-detail { margin-top:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:42px;box-shadow:var(--sh-sm); }
.product-detail__visual { min-height:520px;background:var(--paper-2);border-radius:22px;display:grid;place-items:center;overflow:hidden; }
.product-detail__mock { width:72%;aspect-ratio:1;border-radius:28px;background:linear-gradient(145deg,#fff,#ece9e5);box-shadow:0 24px 60px rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--accent); }
.product-detail__mock span { font-family:'Geist Mono',monospace;font-size:28px;color:var(--ink-700);letter-spacing:.08em; }
.product-detail__info { padding:18px 10px;align-self:center; }
.product-detail__info h1 { font-size:clamp(30px,4vw,50px);line-height:1.04;letter-spacing:-.04em;margin:8px 0 14px; }
.price-line { display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0; }
.price-line > strong { font-size:30px;letter-spacing:-.03em; }
.availability { display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:var(--success-50);color:var(--success);font-size:11px;font-weight:700;border:1px solid rgba(5,150,105,.18); }
.availability--muted { background:var(--paper-2);color:var(--ink-500);border-color:var(--line); }
.product-meta { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px; }
.product-meta span { background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;color:var(--ink-500);font-size:10px; }
.product-meta b { color:var(--ink-900);font-family:'Geist Mono',monospace; }
.product-buy { display:flex;gap:12px;align-items:end;margin:20px 0; }
.product-buy label { display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:var(--ink-500); }
.product-buy input { width:86px;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 12px;outline:0;background:var(--paper-2); }
.product-buy input:focus { border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50); }
.notice-box { margin-top:20px;border:1px solid var(--accent-100);background:var(--accent-25);border-radius:14px;padding:16px 18px; }
.notice-box strong { display:flex;align-items:center;gap:8px;color:var(--ink-900);margin-bottom:4px; }
.notice-box strong svg { color:var(--accent); }
.notice-box p { color:var(--ink-500);font-size:12px;line-height:1.6; }
.notice-box--orange { background:var(--accent-25); }

/* cart */
.cart-layout { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start; }
.cart-list,.cart-summary,.form-card,.order-side,.lead-card { background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm); }
.cart-list { overflow:hidden; }
.cart-row { display:grid;grid-template-columns:54px minmax(0,1fr) auto 96px;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line); }
.cart-row:last-of-type { border-bottom:0; }
.cart-row__icon { width:48px;height:48px;border-radius:12px;background:var(--paper-2);color:var(--accent);display:grid;place-items:center; }
.cart-row__info { display:flex;flex-direction:column;min-width:0; }
.cart-row__info strong { font-size:13px; }
.cart-row__info small { font-family:'Geist Mono',monospace;font-size:9px;color:var(--ink-400);margin-top:4px; }
.cart-row__price { font-weight:700;font-size:14px;white-space:nowrap; }
.qty { display:flex;align-items:center;gap:6px;font-size:10px;color:var(--ink-500); }
.qty input { width:58px;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 8px; }
.cart-actions { padding:14px 18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end; }
.cart-summary { position:sticky;top:calc(var(--header-h-lg) + 24px);padding:22px; }
.cart-summary h2 { font-size:20px;margin-bottom:16px; }
.cart-summary > div { display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.cart-summary > div strong { font-size:19px; }
.cart-summary p { color:var(--ink-500);font-size:11px;line-height:1.6;margin:16px 0; }

/* forms / order */
.order-layout { display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start; }
.form-card { padding:24px; }
.field-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.field-grid label,.lead-card label { display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:var(--ink-700); }
.field-grid input,.field-grid textarea,.field-grid select,.lead-card input,.lead-card textarea,.lead-card select { width:100%;border:1px solid var(--line);background:var(--paper-2);border-radius:11px;padding:12px 13px;outline:none;color:var(--ink-950);transition:.2s; }
.field-grid input,.field-grid select,.lead-card input,.lead-card select { min-height:44px; }
.field-grid input:focus,.field-grid textarea:focus,.field-grid select:focus,.lead-card input:focus,.lead-card textarea:focus,.lead-card select:focus { border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px var(--accent-50); }
.field-span { grid-column:1/-1; }
.form-card > .btn { margin-top:16px; }
.form-errors { margin-bottom:16px;background:var(--danger-50);border:1px solid rgba(220,38,38,.15);color:var(--danger);border-radius:14px;padding:16px; }
.form-errors ul { padding-left:18px;margin-top:8px; }
.order-side { padding:20px;position:sticky;top:calc(var(--header-h-lg) + 24px); }
.order-side h2 { font-size:18px;margin-bottom:14px; }
.mini-item { display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--line); }
.mini-item > span { font-family:'Geist Mono',monospace;color:var(--accent);font-size:10px; }
.mini-item div { display:flex;flex-direction:column;gap:3px; }
.mini-item strong { font-size:11px; }
.mini-item small { color:var(--ink-500); }
.success-panel { max-width:850px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:70px 40px;text-align:center;box-shadow:var(--sh-md); }
.success-icon { width:78px;height:78px;border-radius:24px;background:var(--success-50);color:var(--success);display:grid;place-items:center;margin:0 auto 20px; }
.success-panel h1 { font-family:'Geist Mono',monospace;font-size:34px;margin:8px 0 14px; }
.success-panel p { max-width:650px;margin:0 auto;color:var(--ink-500);line-height:1.7; }
.success-panel .hero-actions { justify-content:center; }

/* service landing */
.service-hero,.solution-hero { margin-top:24px;border-radius:var(--r-xl);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);align-items:center;min-height:420px;background:linear-gradient(145deg,#0f0f12,#1a1a1e);color:#fff;box-shadow:var(--sh-lg);position:relative; }
.service-hero > div:first-child,.solution-hero > div:first-child { padding:54px;position:relative;z-index:2; }
.service-hero h1,.solution-hero h1 { font-size:clamp(34px,5vw,58px);line-height:1.01;letter-spacing:-.045em;margin:8px 0 16px; }
.service-hero p,.solution-hero p { max-width:660px;color:rgba(255,255,255,.65);font-size:14px;line-height:1.7;margin-bottom:24px; }
.service-hero__mark,.hero-security-icon { min-height:100%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,92,0,.28),transparent 62%);padding:45px; }
.service-hero__mark img { max-width:260px;max-height:180px;object-fit:contain;filter:drop-shadow(0 22px 45px rgba(0,0,0,.3)); }
.hero-security-icon { color:var(--accent-400); }
.solution-hero:not(.solution-hero--dark) { background:linear-gradient(145deg,#fff,#f2efeb);color:var(--ink-950);border:1px solid var(--line);box-shadow:var(--sh-sm); }
.solution-hero:not(.solution-hero--dark) p { color:var(--ink-500); }
.hero-security-icon--light { background:radial-gradient(circle,var(--accent-100),transparent 64%);color:var(--accent); }
.service-list-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.service-list-card { display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:16px;transition:.2s; }
.service-list-card:hover { transform:translateY(-2px);border-color:var(--accent-200);box-shadow:var(--sh-md);background:#fff; }
.service-list-card > span { width:48px;height:48px;border-radius:13px;background:var(--accent-50);color:var(--accent);display:grid;place-items:center; }
.service-list-card h2 { font-size:14px;margin-bottom:3px; }
.service-list-card p { font-size:11px;color:var(--ink-500); }
.service-list-card b { color:var(--accent); }
.cta-strip { background:linear-gradient(135deg,var(--accent),var(--accent-600));color:#fff;border-radius:18px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.cta-strip h2 { font-size:28px;margin:4px 0 6px; }
.cta-strip p { color:rgba(255,255,255,.78); }
.service-detail { margin-top:24px; }
.service-detail__grid { display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start; }
.service-detail__grid > div:first-child { background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:34px; }
.service-detail h1 { font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.04em;margin:8px 0 14px; }
.problem-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:26px 0; }
.problem-grid > div { display:flex;gap:9px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:12px; }
.problem-grid svg { color:var(--accent); }
.process { border-top:1px solid var(--line);padding-top:24px; }
.process h2 { font-size:22px;margin-bottom:14px; }
.process ol { display:grid;gap:8px; }
.process li { display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper); }
.process li b { font-family:'Geist Mono',monospace;color:var(--accent);font-size:10px; }
.lead-card { padding:22px; }
.lead-card h2 { font-size:20px;margin-bottom:5px; }
.lead-card > p { font-size:12px;color:var(--ink-500); }
.lead-card form { display:grid;gap:12px;margin-top:18px; }
.lead-card > small { display:block;color:var(--ink-400);font-size:9px;margin-top:10px; }
.lead-card--wide { max-width:900px;margin:auto; }
.feature-columns { display:grid;grid-template-columns:1fr 1fr;gap:34px; }
.feature-columns h2 { font-size:28px;margin-bottom:10px; }
.feature-columns p { color:var(--ink-500);line-height:1.7; }
.pill-list { display:flex;align-content:flex-start;gap:8px;flex-wrap:wrap; }
.pill-list span { background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-full);padding:9px 13px;font-size:11px;font-weight:600; }
.corp-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.corp-card { border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--paper); }
.corp-card svg { color:var(--accent); }
.corp-card h2 { font-size:15px;margin:10px 0 5px; }
.corp-card p { font-size:11px;color:var(--ink-500); }

/* PC builder */
.builder-page { padding-top:24px;padding-bottom:40px; }
.builder-page__intro { background:linear-gradient(145deg,#0f0f12,#1b1b1f);border-radius:var(--r-xl);color:#fff;padding:48px;box-shadow:var(--sh-lg);position:relative;overflow:hidden; }
.builder-page__intro::after { content:'';position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(255,92,0,.32),transparent 62%);right:-170px;top:-170px; }
.builder-page__intro > * { position:relative;z-index:1; }
.builder-page__intro h1 { font-size:clamp(36px,5vw,60px);line-height:1;letter-spacing:-.045em;margin:5px 0 15px;max-width:760px; }
.builder-page__intro p { max-width:720px;color:rgba(255,255,255,.65);font-size:14px;line-height:1.7; }
.builder-app { margin-top:18px;display:grid;grid-template-columns:340px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;min-height:500px;background:#fff;box-shadow:var(--sh-sm); }
.builder-form { background:var(--ink-950);color:#fff;padding:26px;display:flex;flex-direction:column;gap:16px; }
.builder-form label { font-size:10px;font-weight:600;display:flex;flex-direction:column;gap:7px;color:rgba(255,255,255,.7); }
.builder-form select,.builder-form input { height:46px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;border-radius:10px;padding:0 11px;outline:none; }
.builder-form select option { color:#111; }
.builder-result { padding:32px;background:var(--paper-2); }
.builder-placeholder { text-align:center;max-width:420px;margin:100px auto;color:var(--ink-500); }
.builder-placeholder svg { margin:auto;color:var(--accent); }
.build-summary h2 { font-size:28px; }
.build-summary > p { color:var(--ink-500); }
.build-parts { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px; }
.build-part { background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px; }
.build-part small { color:var(--ink-500); }
.build-part strong { display:block;margin-top:4px; }
.build-total { margin-top:16px;background:var(--ink-950);color:#fff;border-radius:14px;padding:16px;display:flex;justify-content:space-between;align-items:center; }
.build-total strong { font-size:22px;color:var(--accent-400); }

/* blog */
.blog-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.blog-card { background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.22s; }
.blog-card:hover { transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--accent-100); }
.blog-card__visual { min-height:150px;background:linear-gradient(145deg,var(--ink-950),var(--ink-800));color:var(--accent-400);display:grid;place-items:center;font-size:30px;position:relative;overflow:hidden; }
.blog-card__visual::after { content:'';position:absolute;width:180px;height:180px;background:radial-gradient(circle,rgba(255,92,0,.35),transparent 65%);right:-40px;top:-50px; }
.blog-card__body { padding:18px; }
.blog-card__body small { font-family:'Geist Mono',monospace;font-size:9px;color:var(--ink-400); }
.blog-card__body h2 { font-size:17px;line-height:1.25;margin:8px 0; }
.blog-card__body p { font-size:11px;color:var(--ink-500);line-height:1.6;margin-bottom:14px; }
.text-link { display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:600;font-size:11px; }
.article { max-width:920px;margin:24px auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:42px;box-shadow:var(--sh-sm); }
.article h1 { font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.04em;margin:8px 0 14px; }
.article-meta { font-family:'Geist Mono',monospace;font-size:10px;color:var(--ink-400);border-bottom:1px solid var(--line);padding-bottom:18px; }
.article-body { font-size:14px;color:var(--ink-700);padding:24px 0;line-height:1.8; }
.article-body h2 { color:var(--ink-950);font-size:25px;margin:28px 0 10px; }
.article-body p { margin-bottom:14px; }

/* contact */
.contact-grid { padding-top:24px;padding-bottom:40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);gap:18px; }
.contact-grid > div:first-child { background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:36px; }
.contact-grid h1 { font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.04em;margin:8px 0 14px; }
.contact-list { margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.contact-list > div { border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:11px;align-items:center;background:var(--paper); }
.contact-list svg { color:var(--accent); }
.contact-list span { display:flex;flex-direction:column;min-width:0; }
.contact-list small { color:var(--ink-400);font-size:9px; }
.contact-list strong { font-size:11px;overflow-wrap:anywhere; }
.map-placeholder { min-height:440px;border-radius:var(--r-xl);background:linear-gradient(145deg,var(--ink-950),var(--ink-800));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:38px;text-align:center;box-shadow:var(--sh-lg); }
.map-placeholder span { width:70px;height:70px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;display:grid;place-items:center;color:var(--accent-400); }
.map-placeholder h2 { margin:16px 0 6px; }
.map-placeholder p { color:rgba(255,255,255,.62);max-width:430px;font-size:12px;line-height:1.7; }

/* 404 */
.error-panel { max-width:800px;margin:40px auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:60px 30px;text-align:center; }

@media (max-width: 1023px) {
  .internal-page-hero { grid-template-columns:1fr; }
  .product-detail { grid-template-columns:1fr; }
  .product-detail__visual { min-height:390px; }
  .cart-layout,.order-layout { grid-template-columns:1fr; }
  .cart-summary,.order-side { position:static; }
  .service-hero,.solution-hero { grid-template-columns:1fr; }
  .service-hero__mark,.hero-security-icon { min-height:220px; }
  .service-detail__grid { grid-template-columns:1fr; }
  .feature-columns { grid-template-columns:1fr; }
  .corp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .builder-app { grid-template-columns:1fr; }
  .builder-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .builder-form .btn { grid-column:1/-1; }
  .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .contact-grid { grid-template-columns:1fr; }
  .map-placeholder { min-height:300px; }
}

@media (max-width: 767px) {
  .internal-page .page { padding-top:10px; }
  .page-head,.internal-page-hero { border-radius:20px;padding:28px 20px; }
  .page-head h1,.internal-page-hero h1 { font-size:34px; }
  .internal-filter-search { border-radius:12px; }
  .internal-shop-layout { display:block; }
  .internal-sidebar { display:none; }
  .product-detail { margin-top:10px;border-radius:20px;padding:16px;gap:22px; }
  .product-detail__visual { min-height:310px;border-radius:16px; }
  .product-detail__info { padding:4px; }
  .product-detail__info h1 { font-size:32px; }
  .price-line { align-items:flex-start;flex-direction:column; }
  .product-buy { flex-direction:column;align-items:stretch; }
  .product-buy input { width:100%; }
  .cart-row { grid-template-columns:44px minmax(0,1fr) 74px;gap:9px; }
  .cart-row__price { grid-column:2/3; }
  .qty { grid-column:3/4;grid-row:1/3;flex-direction:column;align-items:stretch; }
  .field-grid { grid-template-columns:1fr; }
  .field-span { grid-column:auto; }
  .service-hero,.solution-hero { margin-top:10px;border-radius:20px;min-height:0; }
  .service-hero > div:first-child,.solution-hero > div:first-child { padding:32px 22px; }
  .service-hero h1,.solution-hero h1 { font-size:36px; }
  .service-list-grid { grid-template-columns:1fr; }
  .cta-strip { flex-direction:column;align-items:flex-start;padding:24px; }
  .service-detail { margin-top:10px; }
  .service-detail__grid > div:first-child { padding:22px;border-radius:20px; }
  .service-detail h1 { font-size:34px; }
  .problem-grid { grid-template-columns:1fr; }
  .corp-grid { grid-template-columns:1fr; }
  .builder-page { padding-top:10px; }
  .builder-page__intro { padding:32px 22px;border-radius:20px; }
  .builder-app { border-radius:20px; }
  .builder-form { grid-template-columns:1fr; }
  .builder-form .btn { grid-column:auto; }
  .builder-result { padding:20px; }
  .build-parts { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .article { margin-top:10px;border-radius:20px;padding:24px 20px; }
  .article h1 { font-size:34px; }
  .contact-grid { padding-top:10px; }
  .contact-grid > div:first-child { border-radius:20px;padding:26px 20px; }
  .contact-grid h1 { font-size:34px; }
  .contact-list { grid-template-columns:1fr; }
  .map-placeholder { border-radius:20px; }
  .search-content form { flex-direction:column;align-items:stretch; }
  .ref-overlay-submit { justify-content:center; }
}
