/*
Theme Name: Dongru Theme
Theme URI: https://dongru-tech.com/
Author: Dongru-Tech
Description: Dongru-Tech approved production site shell.
Version: 0.6.6
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: dongru-theme
*/

:root {
  --dr-ink:#172033; --dr-muted:#5d6878; --dr-surface:#f3f4f5; --dr-white:#fff;
  --dr-primary:#323b45; --dr-primary-dark:#1d242b; --dr-accent:#d03a3f;
  --dr-accent-dark:#ad2930; --dr-border:#d4d8dc; --dr-product-red:#c92a32;
  --dr-content:1200px; --dr-shadow:0 2px 6px rgba(7,41,68,.08),0 18px 48px rgba(7,41,68,.14);
}
:root[data-dr-palette="dongru-blue"] { --dr-surface:#f4f6f8; --dr-primary:#0b3a67; --dr-primary-dark:#072944; --dr-accent:#1f6fb2; --dr-accent-dark:#16588e; --dr-border:#cfdae5; }
:root[data-dr-palette="blue-red"] { --dr-surface:#f5f7f9; --dr-primary:#183b61; --dr-primary-dark:#0d2842; --dr-accent:#c92a32; --dr-accent-dark:#a91f27; --dr-border:#d5dde5; }
:root[data-dr-palette="navy-orange"] { --dr-surface:#f4f6f8; --dr-primary:#123a63; --dr-primary-dark:#0b2947; --dr-accent:#b85b16; --dr-accent-dark:#95430d; --dr-border:#d6dde5; }
:root[data-dr-palette="graphite-red"] { --dr-surface:#f3f4f5; --dr-primary:#323b45; --dr-primary-dark:#1d242b; --dr-accent:#d03a3f; --dr-accent-dark:#ad2930; --dr-border:#d4d8dc; }
:root[data-dr-palette="cobalt-cyan"] { --dr-surface:#f2f7fa; --dr-primary:#174a7c; --dr-primary-dark:#0b2d50; --dr-accent:#007f91; --dr-accent-dark:#006572; --dr-border:#cddce5; }
:root[data-dr-palette="steel-amber"] { --dr-surface:#f5f5f3; --dr-primary:#344757; --dr-primary-dark:#1d2b36; --dr-accent:#996600; --dr-accent-dark:#745000; --dr-border:#d6d9d7; }

* { box-sizing:border-box; }
html { color-scheme:light; scroll-behavior:smooth; }
body { margin:0; padding:0 !important; color:var(--dr-ink); background:var(--dr-white); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; }
body > .wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
.dr-home a,.dr-site-header a,.dr-utility-bar a,.dr-site-footer a { color:inherit; text-decoration:none; }
.dr-home button,.dr-site-header select,.dr-utility-bar select { font:inherit; }
.dr-home a:focus-visible,.dr-site-header a:focus-visible,.dr-site-footer a:focus-visible,.dr-home button:focus-visible,.dr-language-control:focus-visible,.dr-mobile-nav summary:focus-visible { outline:3px solid var(--dr-accent); outline-offset:3px; border-radius:4px; }
.dr-container { width:min(calc(100% - 40px),var(--dr-content)); margin-inline:auto; }
.dr-skip-link { position:fixed; z-index:100000; top:12px; left:12px; padding:10px 16px; color:#fff; background:var(--dr-primary-dark); transform:translateY(-160%); }
.dr-skip-link:focus { transform:translateY(0); }

.dr-utility-bar { color:#dbe6f0; background:var(--dr-primary-dark); font-size:14px; }
.dr-utility-inner { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dr-utility-links { display:flex; align-items:center; gap:18px; }
.dr-utility-links a:hover { color:#fff; }
.dr-site-header { position:sticky; z-index:1000; top:0; border-bottom:1px solid var(--dr-border); background:rgba(255,255,255,.97); backdrop-filter:blur(10px); }
.admin-bar .dr-site-header { top:32px; }
.dr-header-inner { min-height:82px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.dr-brand { min-width:max-content; display:inline-flex; align-items:center; gap:12px; justify-self:start; }
.dr-brand-mark { width:48px; height:48px; display:block; object-fit:contain; }
.dr-brand-name { font-size:21px; font-weight:760; letter-spacing:-.025em; }
.dr-brand-name span { color:#1f6fb2; }
.dr-desktop-nav { justify-self:center; }
.dr-desktop-nav ul { display:flex; align-items:center; gap:25px; margin:0; padding:0; list-style:none; }
.dr-desktop-nav a { position:relative; color:#334055; font-size:15px; font-weight:650; white-space:nowrap; }
.dr-desktop-nav a::after { position:absolute; right:0; bottom:-10px; left:0; height:2px; content:""; background:var(--dr-accent); transform:scaleX(0); transition:transform 160ms ease; }
.dr-desktop-nav a:hover { color:var(--dr-primary); }
.dr-desktop-nav a:hover::after { transform:scaleX(1); }
.dr-header-actions { display:flex; justify-self:end; }
.dr-language-control { min-height:46px; max-width:124px; padding:9px 10px; border:1px solid var(--dr-border); border-radius:7px; color:var(--dr-primary); background:#fff; font-size:13px; font-weight:720; cursor:pointer; }
.dr-utility-links .dr-language-control { min-height:30px; max-width:130px; padding:3px 7px; border-color:rgba(255,255,255,.28); color:#fff; background:var(--dr-primary-dark); font-size:12px; }
.dr-language-control option { color:var(--dr-ink); background:#fff; }
.dr-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:10px 20px; border:1px solid var(--dr-accent); border-radius:7px; color:#fff !important; background:var(--dr-accent); font-size:15px; font-weight:750; box-shadow:0 8px 20px color-mix(in srgb,var(--dr-accent) 24%,transparent); transition:background 160ms ease,border-color 160ms ease,transform 160ms ease,box-shadow 160ms ease; }
.dr-button:hover { border-color:var(--dr-accent-dark); background:var(--dr-accent-dark); box-shadow:0 12px 28px color-mix(in srgb,var(--dr-accent) 30%,transparent); transform:translateY(-2px); }
.dr-mobile-nav { display:none; }

.dr-palette-lab { padding:24px 0; border-bottom:1px solid var(--dr-border); background:#fff; }
.dr-palette-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:14px; }
.dr-palette-heading h2 { margin:0; font-size:18px; letter-spacing:-.015em; }
.dr-palette-heading p { margin:0; color:var(--dr-muted); font-size:13px; }
.dr-palette-options { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.dr-palette-option { min-width:0; padding:11px; border:1px solid var(--dr-border); border-radius:9px; color:var(--dr-ink); background:#fff; text-align:left; cursor:pointer; transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease; }
.dr-palette-option:hover { transform:translateY(-1px); box-shadow:0 7px 18px rgba(23,32,51,.08); }
.dr-palette-option[aria-pressed="true"] { border-color:var(--dr-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--dr-accent) 22%,transparent); }
.dr-palette-swatches { display:flex; gap:5px; margin-bottom:8px; }
.dr-palette-swatches span { width:20px; height:20px; border:1px solid rgba(23,32,51,.12); border-radius:50%; }
.dr-palette-name { display:block; overflow:hidden; font-size:13px; font-weight:760; text-overflow:ellipsis; white-space:nowrap; }
.dr-palette-note { display:block; margin-top:2px; color:var(--dr-muted); font-size:11px; }

.dr-eyebrow,.dr-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--dr-accent-dark); font-size:12px; font-weight:820; letter-spacing:.12em; text-transform:uppercase; }
.dr-eyebrow::before,.dr-kicker::before { width:28px; height:2px; content:""; background:currentColor; }
.dr-home-hero { position:relative; overflow:hidden; color:#fff; background:linear-gradient(128deg,var(--dr-primary-dark) 0%,var(--dr-primary) 72%,color-mix(in srgb,var(--dr-primary) 70%,var(--dr-accent))); }
.dr-home-hero::after { position:absolute; right:0; bottom:0; left:0; height:7px; content:""; background:var(--dr-accent); }
.dr-home-hero-grid { position:relative; z-index:2; min-height:650px; display:grid; grid-template-columns:1.06fr .94fr; align-items:center; gap:30px; padding-block:70px; }
.dr-home-hero-copy { position:relative; z-index:4; }
.dr-home-hero .dr-eyebrow { color:#fff; }
.dr-home-hero-copy h1 { max-width:760px; margin:20px 0 20px; color:#fff; font-size:clamp(44px,5.35vw,74px); line-height:.98; letter-spacing:-.055em; }
.dr-home-hero-copy h1 span { color:#fff; -webkit-text-stroke:1px rgba(255,255,255,.34); text-shadow:0 12px 35px rgba(0,0,0,.16); }
.dr-home-hero-copy > p { max-width:650px; margin:0; color:rgba(255,255,255,.78); font-size:18px; }
.dr-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.dr-button.dr-secondary { border-color:rgba(255,255,255,.55); background:transparent; box-shadow:none; }
.dr-button.dr-secondary:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.dr-hero-proof { display:flex; flex-wrap:wrap; gap:18px 28px; margin-top:34px; color:rgba(255,255,255,.76); font-size:13px; font-weight:700; }
.dr-hero-proof span { display:inline-flex; align-items:center; gap:8px; }
.dr-hero-proof span::before { width:7px; height:7px; content:""; border-radius:50%; background:var(--dr-accent); }
.dr-home-hero-media { position:relative; min-height:510px; display:grid; place-items:center; }
.dr-home-hero-media img { position:relative; z-index:3; width:min(100%,520px); height:500px; object-fit:contain; filter:drop-shadow(0 30px 35px rgba(0,0,0,.32)); transform:translate(18px,8px) rotate(1.5deg); }
.dr-product-halo { position:absolute; z-index:1; width:410px; height:410px; border-radius:48% 52% 63% 37% / 46% 38% 62% 54%; background:linear-gradient(145deg,color-mix(in srgb,var(--dr-accent) 78%,white),color-mix(in srgb,var(--dr-accent) 34%,transparent)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 30px 80px rgba(0,0,0,.2); transform:rotate(-8deg); }
.dr-hero-outline-word { position:absolute; z-index:0; right:-35px; bottom:55px; color:transparent; font-size:84px; font-weight:900; letter-spacing:.03em; -webkit-text-stroke:1px rgba(255,255,255,.14); transform:rotate(90deg); }
.dr-hero-spec-card { position:absolute; z-index:5; right:-8px; bottom:16px; width:245px; padding:17px 18px; border:1px solid rgba(255,255,255,.22); border-radius:14px; background:rgba(4,24,42,.74); box-shadow:0 2px 6px rgba(0,0,0,.18),0 20px 45px rgba(0,0,0,.22); backdrop-filter:blur(14px); }
.dr-hero-spec-card > span { color:#8dc7f4; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dr-hero-spec-card > strong { display:block; margin-top:2px; color:#fff; font-size:25px; }
.dr-hero-spec-card > small { display:block; color:rgba(255,255,255,.7); line-height:1.35; }
.dr-hero-spec-card dl { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0 0; padding-top:12px; border-top:1px solid rgba(255,255,255,.16); }
.dr-hero-spec-card dt { color:rgba(255,255,255,.55); font-size:9px; text-transform:uppercase; }
.dr-hero-spec-card dd { margin:2px 0 0; color:#fff; font-size:12px; font-weight:750; }
.dr-hero-orbit { position:absolute; z-index:1; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.dr-orbit-one { width:620px; height:620px; right:-160px; top:-170px; }
.dr-orbit-two { width:390px; height:390px; right:230px; bottom:-240px; }

.dr-trust-strip { border-bottom:1px solid var(--dr-border); background:var(--dr-surface); }
.dr-trust-grid { min-height:138px; display:grid; grid-template-columns:1.2fr repeat(3,1fr); align-items:center; }
.dr-trust-intro { padding-right:36px; color:var(--dr-primary); font-weight:780; }
.dr-trust-stat { padding:6px 28px; border-left:1px solid var(--dr-border); }
.dr-trust-stat::before { display:block; width:26px; height:3px; margin-bottom:11px; border-radius:2px; content:""; background:var(--dr-accent); }
.dr-trust-stat strong { display:block; color:var(--dr-primary-dark); font-size:clamp(31px,3.2vw,42px); font-weight:800; line-height:1; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.dr-trust-stat span { display:block; margin-top:9px; color:var(--dr-muted); font-size:11px; font-weight:700; letter-spacing:.095em; text-transform:uppercase; }

.dr-home-section { padding:96px 0; }
.dr-section-intro { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:50px; margin-bottom:42px; }
.dr-section-intro h2 { max-width:700px; margin:10px 0 0; font-size:clamp(34px,4vw,52px); line-height:1.04; letter-spacing:-.045em; }
.dr-section-intro > p,.dr-section-intro-split > p { max-width:470px; margin:0; color:var(--dr-muted); }
.dr-section-intro-split { grid-template-columns:1.15fr .85fr; }

.dr-category-section { overflow:hidden; background:#fff; }
.dr-category-mosaic { display:grid; grid-template-columns:1.3fr .85fr .85fr; grid-template-rows:1fr 1fr; gap:16px; }
.dr-category-tile { position:relative; min-height:220px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:26px; border:1px solid var(--dr-border); border-radius:16px; background-color:var(--dr-surface); background-image:linear-gradient(135deg,rgba(255,255,255,.97) 24%,rgba(255,255,255,.82) 52%,rgba(255,255,255,.3) 80%); background-size:cover; background-position:right top; background-repeat:no-repeat; box-shadow:0 2px 5px rgba(7,41,68,.04),0 14px 32px rgba(7,41,68,.06); transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease; }
.dr-category-tile:hover { z-index:2; border-color:color-mix(in srgb,var(--dr-accent) 52%,var(--dr-border)); box-shadow:var(--dr-shadow); transform:translateY(-5px); }
/* 品类背景图（浅色卡：UT/LT/GM/HZ），左侧白色渐变遮罩保证文字可读，右侧露出装饰图 */
.dr-category-mosaic > a:nth-child(2) { background-image:linear-gradient(135deg,rgba(255,255,255,.97) 24%,rgba(255,255,255,.82) 52%,rgba(255,255,255,.3) 80%),url("assets/images/homepage/category-bg-ut.webp"); }
.dr-category-mosaic > a:nth-child(3) { background-image:linear-gradient(135deg,rgba(255,255,255,.97) 24%,rgba(255,255,255,.82) 52%,rgba(255,255,255,.3) 80%),url("assets/images/homepage/category-bg-lt.webp"); }
.dr-category-mosaic > a:nth-child(4) { background-image:linear-gradient(135deg,rgba(255,255,255,.97) 24%,rgba(255,255,255,.82) 52%,rgba(255,255,255,.3) 80%),url("assets/images/homepage/category-bg-gm.webp"); }
.dr-category-mosaic > a:nth-child(5) { background-image:linear-gradient(135deg,rgba(255,255,255,.97) 24%,rgba(255,255,255,.82) 52%,rgba(255,255,255,.3) 80%),url("assets/images/homepage/category-bg-hz.webp"); }
.dr-category-primary { grid-row:1 / 3; min-height:456px; color:#fff !important; border-color:transparent; background-image:linear-gradient(150deg,color-mix(in srgb,var(--dr-primary-dark) 94%,transparent) 28%,color-mix(in srgb,var(--dr-primary-dark) 76%,transparent) 56%,color-mix(in srgb,var(--dr-primary-dark) 28%,transparent) 84%),url("assets/images/homepage/category-bg-ct.webp"); background-size:cover; background-position:right top; background-repeat:no-repeat; transform:translateY(12px); }
.dr-category-primary:hover { transform:translateY(6px); }
.dr-category-wide { min-height:220px; }
.dr-category-code { position:absolute; top:24px; left:26px; width:54px; height:54px; display:grid; place-items:center; border-radius:14px; color:var(--dr-accent-dark); background:color-mix(in srgb,var(--dr-accent) 12%,white); font-size:19px; font-weight:850; }
.dr-category-primary .dr-category-code { color:#fff; background:rgba(255,255,255,.12); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
.dr-category-tile strong { position:relative; z-index:1; color:var(--dr-primary); font-size:21px; }
.dr-category-tile p { position:relative; z-index:1; max-width:430px; margin:8px 0 18px; color:var(--dr-muted); font-size:14px; }
.dr-category-tile small { position:relative; z-index:1; color:var(--dr-accent-dark); font-weight:750; }
.dr-category-primary strong { color:#fff; font-size:31px; }
.dr-category-primary p { color:rgba(255,255,255,.7); font-size:16px; }
.dr-category-primary small { color:#fff; }
.dr-category-tile small b { display:inline-block; margin-left:5px; transition:transform 160ms ease; }
.dr-category-tile:hover small b { transform:translateX(4px); }

.dr-product-spotlight { position:relative; overflow:hidden; padding:110px 0; color:#fff; background:radial-gradient(circle at 20% 35%,color-mix(in srgb,var(--dr-accent) 24%,transparent),transparent 30%),linear-gradient(135deg,var(--dr-primary-dark),color-mix(in srgb,var(--dr-primary-dark) 82%,#000)); }
.dr-product-spotlight::before { position:absolute; inset:0; content:""; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(90deg,#000,transparent 64%); }
.dr-spotlight-grid { position:relative; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:80px; }
.dr-spotlight-media { position:relative; min-height:560px; display:grid; place-items:center; }
.dr-spotlight-media img { position:relative; z-index:3; width:min(100%,520px); height:530px; object-fit:contain; filter:drop-shadow(0 32px 36px rgba(0,0,0,.4)); transform:translateX(-8px) rotate(-2deg); }
.dr-spotlight-shape { position:absolute; z-index:1; width:400px; height:480px; border-radius:44% 56% 35% 65% / 45% 35% 65% 55%; background:linear-gradient(145deg,color-mix(in srgb,var(--dr-accent) 78%,white),color-mix(in srgb,var(--dr-accent) 26%,transparent)); transform:rotate(8deg); }
.dr-spotlight-model { position:absolute; z-index:0; bottom:20px; left:-55px; color:transparent; font-size:92px; font-weight:900; letter-spacing:-.05em; -webkit-text-stroke:1px rgba(255,255,255,.17); transform:rotate(-90deg); transform-origin:left bottom; }
.dr-spotlight-copy { position:relative; z-index:2; }
.dr-spotlight-copy .dr-eyebrow { color:#8dc7f4; }
.dr-spotlight-copy h2 { max-width:660px; margin:18px 0; color:#fff; font-size:clamp(35px,4.2vw,54px); line-height:1.04; letter-spacing:-.045em; }
.dr-spotlight-copy > p { max-width:650px; color:rgba(255,255,255,.7); font-size:17px; }
.dr-overlay-specs { display:grid; grid-template-columns:1fr 1fr; margin-top:32px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(255,255,255,.075); box-shadow:0 2px 6px rgba(0,0,0,.16),0 22px 44px rgba(0,0,0,.2); backdrop-filter:blur(16px); }
.dr-overlay-specs > div { padding:17px 20px; }
.dr-overlay-specs > div:nth-child(odd) { border-right:1px solid rgba(255,255,255,.14); }
.dr-overlay-specs > div:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.14); }
.dr-overlay-specs span { display:block; color:rgba(255,255,255,.55); font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.dr-overlay-specs strong { display:block; margin-top:4px; color:#fff; font-size:17px; }
.dr-spotlight-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:28px; }
.dr-inline-link { display:inline-flex; align-items:center; gap:9px; color:var(--dr-accent-dark) !important; font-weight:780; }
.dr-product-spotlight .dr-inline-link { color:#fff !important; }
.dr-inline-link span { transition:transform 160ms ease; }
.dr-inline-link:hover span { transform:translateX(4px); }

/* Product feature band — DR-A5 (automotive). Skeleton deliberately differs from
   .dr-product-spotlight: wide stage on top, lead copy below, then a horizontal
   spec strip. Keep it that way — see design/visual-language-direction.md §10. */
.dr-product-feature { position:relative; overflow:hidden; padding:104px 0 96px; color:#fff; background:linear-gradient(160deg,color-mix(in srgb,var(--dr-primary-dark) 96%,#000),color-mix(in srgb,var(--dr-primary) 52%,var(--dr-primary-dark))); }
.dr-product-feature::before { position:absolute; inset:0; content:""; opacity:.1; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(180deg,#000,transparent 74%); }
.dr-feature-stage { position:relative; }
.dr-feature-stage img { position:relative; z-index:1; display:block; width:100%; height:clamp(280px,33vw,520px); object-fit:cover; border-radius:20px; box-shadow:0 3px 8px rgba(0,0,0,.3),0 40px 80px rgba(0,0,0,.44); }
.dr-feature-model { position:absolute; z-index:2; left:34px; bottom:26px; color:transparent; font-size:clamp(48px,7vw,96px); font-weight:900; letter-spacing:-.05em; -webkit-text-stroke:1px rgba(255,255,255,.38); pointer-events:none; }
.dr-feature-lead { position:relative; z-index:2; max-width:780px; margin-top:54px; }
.dr-feature-lead .dr-eyebrow { color:#8dc7f4; }
.dr-feature-lead h2 { max-width:760px; margin:16px 0 14px; color:#fff; font-size:clamp(30px,3.6vw,46px); line-height:1.06; letter-spacing:-.04em; }
.dr-feature-lead > p { max-width:730px; color:rgba(255,255,255,.72); font-size:17px; }
.dr-feature-specs { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin-top:44px; border-top:1px solid rgba(255,255,255,.16); }
.dr-feature-specs > div { padding:22px 26px 0 0; }
.dr-feature-specs > div + div { padding-left:26px; border-left:1px solid rgba(255,255,255,.14); }
.dr-feature-specs span { display:block; color:rgba(255,255,255,.52); font-size:11px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.dr-feature-specs strong { display:block; margin-top:7px; color:#fff; font-size:19px; }
.dr-feature-actions { position:relative; z-index:2; display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:38px; }
.dr-product-feature .dr-inline-link { color:#fff !important; border-bottom:1px solid rgba(255,255,255,.4); }

@media (max-width:1120px) {
  .dr-feature-lead { margin-top:44px; }
  .dr-feature-specs { grid-template-columns:1fr 1fr; }
  .dr-feature-specs > div { padding:20px 22px 0 0; }
  .dr-feature-specs > div + div { padding-left:0; border-left:0; }
  .dr-feature-specs > div:nth-child(even) { padding-left:22px; border-left:1px solid rgba(255,255,255,.14); }
  .dr-feature-specs > div:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.14); margin-top:20px; }
}

@media (max-width:700px) {
  .dr-product-feature { padding:70px 0; }
  .dr-feature-stage img { height:clamp(210px,52vw,300px); border-radius:14px; }
  .dr-feature-model { display:none; }
  .dr-feature-lead { margin-top:34px; }
  .dr-feature-specs { grid-template-columns:1fr; margin-top:32px; }
  .dr-feature-specs > div { padding:18px 0 0; }
  .dr-feature-specs > div + div { padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.14); margin-top:18px; }
  .dr-feature-specs > div:nth-child(even) { padding-left:0; border-left:0; }
  .dr-feature-actions { margin-top:30px; gap:18px; }
}

.dr-applications-section { background:var(--dr-surface); }
.dr-application-mosaic { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:280px 280px; gap:16px; }
.dr-application-card { position:relative; min-height:0; overflow:hidden; border-radius:18px; background:var(--dr-primary-dark); box-shadow:var(--dr-shadow); }
.dr-application-main { grid-row:1 / 3; }
.dr-application-card::after { position:absolute; inset:0; z-index:1; content:""; background:linear-gradient(180deg,transparent 28%,rgba(4,21,35,.88) 100%); }
.dr-application-main::after { background:linear-gradient(90deg,rgba(4,21,35,.86) 0%,rgba(4,21,35,.26) 58%,rgba(4,21,35,.14)); }
.dr-application-card img { width:100%; height:112%; display:block; object-fit:cover; object-position:center top; transition:transform 500ms ease; }
.dr-application-main img { object-position:61% center; }
.dr-application-card:hover img { transform:scale(1.035); }
.dr-application-card > div { position:absolute; z-index:2; right:26px; bottom:23px; left:26px; color:#fff; }
.dr-application-main > div { right:auto; bottom:42px; left:42px; max-width:390px; }
.dr-application-card span { color:#91c9f5; font-size:11px; font-weight:820; letter-spacing:.11em; text-transform:uppercase; }
.dr-application-card h3 { margin:7px 0 0; color:#fff; font-size:23px; line-height:1.12; }
.dr-application-main h3 { font-size:36px; letter-spacing:-.025em; }
.dr-application-card p { margin:10px 0 0; color:rgba(255,255,255,.72); }

.dr-knowledge-section { background:#fff; }
.dr-knowledge-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:76px; align-items:start; }
.dr-knowledge-lead { position:relative; padding:48px; border-radius:18px; color:#fff; background:linear-gradient(145deg,var(--dr-primary),var(--dr-primary-dark)); box-shadow:var(--dr-shadow); transform:translateY(22px); }
.dr-knowledge-lead::after { position:absolute; right:-18px; top:-18px; width:92px; height:92px; content:""; border:18px solid color-mix(in srgb,var(--dr-accent) 80%,white); border-radius:50%; opacity:.72; }
.dr-knowledge-lead .dr-kicker { color:#9ed1f7; }
.dr-knowledge-lead h2 { max-width:600px; margin:14px 0 16px; color:#fff; font-size:clamp(34px,4vw,50px); line-height:1.04; letter-spacing:-.045em; }
.dr-knowledge-lead > p { color:rgba(255,255,255,.72); }
.dr-knowledge-lead ol { margin:28px 0; padding:0; counter-reset:selection; list-style:none; }
.dr-knowledge-lead li { display:grid; grid-template-columns:34px 1fr; align-items:center; gap:10px; padding:10px 0; border-top:1px solid rgba(255,255,255,.13); counter-increment:selection; }
.dr-knowledge-lead li::before { content:"0" counter(selection); color:#8fc8f5; font-size:12px; font-weight:820; }
.dr-knowledge-lead .dr-inline-link { color:#fff !important; }
.dr-knowledge-secondary { padding-top:4px; }
.dr-knowledge-secondary article { position:relative; padding:38px 10px 40px 76px; border-bottom:1px solid var(--dr-border); }
.dr-knowledge-secondary article::before { position:absolute; top:42px; left:10px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--dr-accent); box-shadow:0 9px 22px color-mix(in srgb,var(--dr-accent) 28%,transparent); content:"01"; font-size:11px; font-weight:850; }
.dr-knowledge-secondary article + article::before { content:"02"; }
.dr-knowledge-secondary span { color:var(--dr-accent-dark); font-size:11px; font-weight:820; letter-spacing:.1em; text-transform:uppercase; }
.dr-knowledge-secondary h3 { margin:10px 0 9px; color:var(--dr-primary); font-size:25px; line-height:1.16; letter-spacing:-.02em; }
.dr-knowledge-secondary p { margin:0; color:var(--dr-muted); }

.dr-inquiry-wrap { padding:24px 0 96px; background:#fff; }
.dr-inquiry-band { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr auto; align-items:center; gap:32px; padding:46px 50px; border-radius:18px; color:#fff; background:linear-gradient(110deg,var(--dr-accent),var(--dr-accent-dark)); box-shadow:var(--dr-shadow); }
.dr-inquiry-band::after { position:absolute; right:-65px; bottom:-100px; width:260px; height:260px; content:""; border:38px solid rgba(255,255,255,.1); border-radius:50%; }
.dr-inquiry-band > * { position:relative; z-index:1; }
.dr-inquiry-band span { color:rgba(255,255,255,.72); font-size:11px; font-weight:820; letter-spacing:.11em; text-transform:uppercase; }
.dr-inquiry-band h2 { margin:5px 0 6px; color:#fff; font-size:31px; }
.dr-inquiry-band p { margin:0; color:rgba(255,255,255,.82); }
.dr-inquiry-band .dr-button { border-color:#fff; color:var(--dr-primary-dark) !important; background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.14); }

.dr-product-inquiry { margin-block:48px; padding:40px; border-radius:14px; background:var(--dr-surface); }
.dr-site-footer { color:#d9e4ee; background:var(--dr-primary-dark); }
.dr-footer-main { display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:42px; padding:66px 0 54px; }
.dr-footer-brand .dr-brand { color:#fff; }
.dr-footer-brand .dr-brand-mark { filter:brightness(2.35) saturate(.82); }
.dr-footer-brand .dr-brand-name span { color:#78b7eb; }
.dr-footer-brand p { max-width:310px; margin:20px 0 0; color:#afbdca; font-size:15px; }
.dr-footer-column h2 { margin:2px 0 18px; color:#fff; font-size:15px; }
.dr-footer-column ul { margin:0; padding:0; list-style:none; }
.dr-footer-column li + li { margin-top:10px; }
.dr-footer-column a { color:#afbdca; font-size:14px; }
.dr-footer-column a:hover { color:#fff; }
.dr-footer-bottom { border-top:1px solid rgba(255,255,255,.12); }
.dr-footer-bottom-inner { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#93a4b4; font-size:13px; }
.dr-wa-float { position:fixed; z-index:950; right:24px; bottom:calc(24px + env(safe-area-inset-bottom,0px)); width:60px; height:60px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; text-decoration:none; background:#25d366; box-shadow:0 6px 18px rgba(37,211,102,.45); animation:dr-wa-breathe 2.6s ease-in-out infinite; transition:transform .2s ease,box-shadow .2s ease; }
.dr-wa-float:hover { color:#fff; text-decoration:none; box-shadow:0 12px 30px rgba(37,211,102,.65); transform:scale(1.08); }
.dr-wa-float:focus-visible { outline:3px solid var(--dr-accent); outline-offset:4px; }
.dr-wa-float svg { width:34px; height:34px; display:block; }
.dr-wa-float::before { position:absolute; inset:0; content:""; border:2px solid #25d366; border-radius:50%; animation:dr-wa-ring 2.6s ease-out infinite; opacity:0; pointer-events:none; }
.dr-wa-label { position:absolute; right:72px; padding:7px 12px; border-radius:8px; color:#fff; background:var(--dr-primary-dark); box-shadow:0 8px 24px rgba(0,0,0,.2); font-size:13px; font-weight:650; white-space:nowrap; opacity:0; pointer-events:none; transform:translateX(8px); transition:opacity .2s ease,transform .2s ease; }
.dr-wa-float:hover .dr-wa-label,.dr-wa-float:focus-visible .dr-wa-label { opacity:1; transform:translateX(0); }
@keyframes dr-wa-breathe { 0%,100% { box-shadow:0 6px 18px rgba(37,211,102,.42); } 50% { box-shadow:0 10px 28px rgba(37,211,102,.68); } }
@keyframes dr-wa-ring { 0% { opacity:.55; transform:scale(1); } 100% { opacity:0; transform:scale(1.9); } }
.dr-legal-links { display:flex; gap:20px; }

@media (max-width:1120px) {
  .dr-utility-bar,.dr-desktop-nav,.dr-header-actions { display:none; }
  .dr-header-inner { min-height:72px; grid-template-columns:1fr auto; }
  .dr-mobile-nav { position:relative; display:block; justify-self:end; }
  .dr-mobile-nav summary { width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--dr-border); border-radius:7px; color:var(--dr-primary); cursor:pointer; list-style:none; font-size:22px; }
  .dr-mobile-nav summary::-webkit-details-marker { display:none; }
  .dr-mobile-nav nav { position:absolute; top:52px; right:0; width:min(310px,calc(100vw - 40px)); padding:15px; border:1px solid var(--dr-border); border-radius:10px; background:#fff; box-shadow:var(--dr-shadow); }
  .dr-mobile-nav ul { margin:0; padding:0; list-style:none; }
  .dr-mobile-nav a:not(.dr-button) { display:block; padding:10px 12px; border-radius:6px; font-weight:650; }
  .dr-mobile-nav a:hover { background:var(--dr-surface); }
  .dr-mobile-nav .dr-button { margin-top:10px; }
  .dr-mobile-language { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--dr-border); color:var(--dr-muted); font-size:13px; }
  .dr-mobile-language .dr-language-control { width:100%; max-width:none; min-height:42px; }
  .dr-palette-options { grid-template-columns:repeat(3,1fr); }
  .dr-home-hero-grid { min-height:620px; grid-template-columns:1fr .78fr; }
  .dr-home-hero-media img { width:440px; height:450px; }
  .dr-product-halo { width:330px; height:360px; }
  .dr-hero-spec-card { right:-2px; }
  .dr-trust-grid { grid-template-columns:repeat(3,1fr); }
  .dr-trust-intro { grid-column:1/-1; padding:24px 0 14px; }
  .dr-trust-stat { padding:14px 22px 6px 0; border-left:0; }
  .dr-trust-stat + .dr-trust-stat { padding-left:22px; border-left:1px solid var(--dr-border); }
  .dr-category-mosaic { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .dr-category-primary { grid-row:auto; min-height:300px; transform:none; }
  .dr-category-wide { grid-column:1 / 3; }
  .dr-spotlight-grid { gap:35px; }
  .dr-spotlight-media img { width:430px; }
  .dr-application-mosaic { grid-template-rows:240px 240px; }
  .dr-knowledge-layout { gap:38px; }
  .dr-footer-main { grid-template-columns:1.5fr repeat(2,1fr); }
}

@media (max-width:700px) {
  .admin-bar .dr-site-header { top:46px; }
  .dr-container { width:min(calc(100% - 28px),var(--dr-content)); }
  .dr-brand-mark { width:42px; height:42px; }
  .dr-brand-name { font-size:19px; }
  .dr-palette-heading,.dr-section-intro,.dr-section-intro-split { grid-template-columns:1fr; align-items:start; gap:9px; }
  .dr-palette-heading { display:flex; flex-direction:column; }
  .dr-palette-options { grid-template-columns:repeat(2,1fr); }
  .dr-home-hero-grid { min-height:0; grid-template-columns:1fr; gap:5px; padding-block:55px 45px; }
  .dr-home-hero-copy h1 { font-size:clamp(42px,13vw,61px); }
  .dr-home-hero-copy > p { font-size:16px; }
  .dr-home-hero-media { min-height:450px; }
  .dr-home-hero-media img { width:390px; max-width:105%; height:410px; transform:translate(5px,5px); }
  .dr-product-halo { width:285px; height:315px; }
  .dr-trust-grid { grid-template-columns:1fr; }
  .dr-trust-intro { padding:20px 0 2px; }
  .dr-trust-stat { display:flex; align-items:baseline; gap:14px; padding:14px 0; border-left:0; border-top:1px solid var(--dr-border); }
  .dr-trust-stat + .dr-trust-stat { padding-left:0; border-left:0; }
  .dr-trust-stat::before { display:none; }
  .dr-trust-stat strong { font-size:30px; }
  .dr-trust-stat span { margin-top:0; }
  .dr-hero-spec-card { right:0; bottom:2px; width:220px; }
  .dr-hero-outline-word { right:-95px; bottom:80px; font-size:62px; }
  .dr-home-section,.dr-product-spotlight { padding:70px 0; }
  .dr-section-intro h2 { font-size:39px; }
  .dr-category-mosaic { grid-template-columns:1fr; }
  .dr-category-primary,.dr-category-tile,.dr-category-wide { grid-column:auto; min-height:230px; }
  .dr-category-primary { min-height:310px; }
  .dr-spotlight-grid { grid-template-columns:1fr; gap:24px; }
  .dr-spotlight-media { min-height:430px; }
  .dr-spotlight-media img { width:390px; max-width:110%; height:420px; }
  .dr-spotlight-shape { width:300px; height:360px; }
  .dr-spotlight-model { display:none; }
  .dr-overlay-specs { grid-template-columns:1fr; }
  .dr-overlay-specs > div:nth-child(odd) { border-right:0; }
  .dr-overlay-specs > div + div { border-top:1px solid rgba(255,255,255,.14); }
  .dr-application-mosaic { grid-template-columns:1fr; grid-template-rows:360px 260px 260px; }
  .dr-application-main { grid-row:auto; }
  .dr-application-main > div { right:24px; bottom:28px; left:24px; }
  .dr-application-main h3 { font-size:29px; }
  .dr-knowledge-layout { grid-template-columns:1fr; gap:45px; }
  .dr-knowledge-lead { padding:34px 27px; transform:none; }
  .dr-knowledge-secondary article { padding-left:65px; }
  .dr-inquiry-wrap { padding:0 0 68px; }
  .dr-inquiry-band { grid-template-columns:1fr; padding:35px 28px; }
  .dr-footer-main { grid-template-columns:1fr 1fr; gap:34px 24px; padding-top:50px; }
  .dr-footer-brand { grid-column:1/-1; }
  .dr-footer-bottom-inner { align-items:flex-start; flex-direction:column; justify-content:center; padding:18px 0; }
  .dr-wa-float { right:16px; bottom:calc(16px + env(safe-area-inset-bottom,0px)); width:54px; height:54px; }
  .dr-wa-float svg { width:30px; height:30px; }
  .dr-wa-label { display:none; }
}

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

/* ===== Homepage hero: full-bleed background carousel ===== */
.dr-home-hero.dr-hero-full { position:relative; min-height:clamp(540px,80vh,780px); overflow:hidden; color:#fff; }
.dr-hero-track { position:relative; min-height:inherit; overflow:hidden; }
.dr-hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transform:translateX(100%); z-index:1; will-change:transform,opacity; transition:opacity .6s ease, transform .9s cubic-bezier(.22,.61,.36,1), visibility 0s .6s; }
.dr-hero-slide.is-left { transform:translateX(-100%); }
.dr-hero-slide.is-active { opacity:1; visibility:visible; transform:translateX(0); z-index:2; transition:opacity .6s ease, transform .9s cubic-bezier(.22,.61,.36,1), visibility 0s 0s; }
.dr-hero-slide.no-anim { transition:none !important; }
.dr-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; background-color:#0a1626; }
.dr-hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,17,30,.86) 0%, rgba(7,17,30,.66) 40%, rgba(7,17,30,.22) 78%, rgba(7,17,30,.1) 100%), linear-gradient(0deg, rgba(7,17,30,.6) 0%, rgba(7,17,30,0) 40%); }
.dr-hero-content { position:relative; z-index:2; min-height:inherit; display:flex; flex-direction:column; justify-content:center; padding:132px 0 104px; }
.dr-hero-copy { max-width:680px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.dr-hero-content .dr-eyebrow { color:rgba(255,255,255,.82); }
.dr-hero-title { margin:0; font-size:clamp(34px,5vw,62px); line-height:1.04; font-weight:800; letter-spacing:-.01em; }
.dr-hero-title em { color:var(--dr-accent); font-style:normal; }
.dr-hero-body { margin:0; max-width:560px; font-size:clamp(15px,1.35vw,19px); line-height:1.62; color:rgba(255,255,255,.9); }
.dr-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:4px; }
.dr-hero-proof { list-style:none; display:flex; gap:10px; flex-wrap:wrap; margin:10px 0 0; padding:0; }
.dr-hero-proof li { font-size:12.5px; padding:6px 13px; border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(255,255,255,.07); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.dr-hero-nav { position:absolute; z-index:3; left:50%; bottom:26px; transform:translateX(-50%); display:flex; gap:13px; }
.dr-hero-dot { width:11px; height:11px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.4); cursor:pointer; transition:background .2s ease, transform .2s ease; }
.dr-hero-dot.is-active { background:#fff; transform:scale(1.3); }
.dr-hero-dot:focus-visible { outline:3px solid var(--dr-accent); outline-offset:3px; }
.dr-hero-arrow { position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:48px; height:48px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:rgba(255,255,255,.82); color:var(--dr-accent); font-size:30px; line-height:1; cursor:pointer; box-shadow:0 10px 26px rgba(0,0,0,.28); transition:background .2s ease, transform .2s ease; }
.dr-hero-arrow:hover { background:#fff; transform:translateY(-50%) scale(1.07); }
.dr-hero-prev { left:18px; }
.dr-hero-next { right:18px; }
.dr-hero-arrow:focus-visible { outline:3px solid var(--dr-accent); outline-offset:3px; }
@media (max-width:700px) {
  .dr-home-hero.dr-hero-full { min-height:clamp(480px,72vh,640px); }
  .dr-hero-content { padding:104px 0 92px; }
  .dr-hero-copy { max-width:100%; }
  .dr-hero-title { font-size:clamp(30px,9vw,44px); }
  .dr-hero-body { font-size:15px; }
  .dr-hero-nav { bottom:18px; }
  .dr-hero-arrow { width:40px; height:40px; font-size:24px; }
  .dr-hero-prev { left:10px; }
  .dr-hero-next { right:10px; }
}

.dr-articles { background:var(--dr-white); }
.dr-articles-hero { padding:88px 0 76px; color:#fff; background:linear-gradient(120deg,var(--dr-primary-dark),var(--dr-primary)); }
.dr-articles-hero h1 { max-width:760px; margin:12px 0 16px; color:#fff; font-size:clamp(46px,7vw,78px); line-height:1.02; letter-spacing:-.045em; }
.dr-articles-hero p { max-width:680px; margin:0; color:rgba(255,255,255,.76); font-size:18px; }
.dr-articles-body { padding:72px 20px 90px; }
.dr-article-grid { gap:26px; }
.dr-article-card { overflow:hidden; padding:0 0 24px; border:1px solid var(--dr-border); border-radius:10px; background:#fff; box-shadow:0 13px 34px rgba(29,36,43,.07); }
.dr-article-card > *:not(.wp-block-post-featured-image) { margin-right:24px; margin-left:24px; }
.dr-article-card .wp-block-post-featured-image { margin:0 0 22px; background:var(--dr-surface); }
.dr-article-card > .dr-article-category:first-child { padding-top:24px; }
.dr-article-card h2 { margin-top:9px; font-size:25px; line-height:1.18; }
.dr-article-card h2 a { color:var(--dr-ink); }
.dr-article-card .wp-block-post-excerpt { color:var(--dr-muted); }
.dr-article-category { color:var(--dr-accent); font-size:12px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.dr-articles-empty { padding:42px; border:1px dashed var(--dr-border); color:var(--dr-muted); text-align:center; background:var(--dr-surface); }
.dr-article-single { padding:78px 20px 96px; }
.dr-article-single > .wp-block-post-title { margin:15px 0 20px; font-size:clamp(42px,6vw,68px); line-height:1.05; letter-spacing:-.035em; }
.dr-article-meta { margin-bottom:36px; color:var(--dr-muted); font-size:14px; }
.dr-article-single > .wp-block-post-featured-image { margin-bottom:48px; }
.dr-article-single .wp-block-post-content { color:#313a45; font-size:18px; line-height:1.78; }
.dr-article-single .wp-block-post-content h2 { margin-top:2.2em; }
.dr-article-single .wp-block-post-content h3 { margin-top:1.8em; }
.dr-article-figure { margin:0 0 42px; padding:16px; border:1px solid var(--dr-border); border-radius:10px; background:#fff; box-shadow:0 13px 34px rgba(29,36,43,.07); }
.dr-article-figure img { display:block; width:100%; height:auto; }
.dr-article-note { margin:28px 0; padding:22px 24px; border-left:5px solid var(--dr-accent); background:var(--dr-surface); }
.dr-article-note p { margin:7px 0 0; }
.dr-article-table { max-width:100%; margin:28px 0; overflow-x:auto; border:1px solid var(--dr-border); border-radius:8px; }
.dr-article-table table { width:100%; border-collapse:collapse; font-size:15px; }
.dr-article-table th,.dr-article-table td { padding:12px 14px; border-bottom:1px solid var(--dr-border); text-align:left; vertical-align:top; }
.dr-article-table th { color:#fff; background:var(--dr-primary); }
.dr-article-table tbody tr:last-child td { border-bottom:0; }
.dr-article-table tbody tr:nth-child(even) { background:var(--dr-surface); }
.dr-article-nav { margin-top:34px; }

@media (max-width:700px) {
  .dr-articles-hero { padding:60px 0 52px; }
  .dr-articles-body { padding:48px 14px 68px; }
  .dr-article-grid { grid-template-columns:1fr !important; }
  .dr-article-single { padding:54px 14px 72px; }
}

/* ===== Single-function page templates (About / Contact / Legal) ===== */
.dr-page-hero { position:relative; overflow:hidden; padding:88px 0 56px; color:#fff; background:linear-gradient(120deg,var(--dr-primary-dark),var(--dr-primary)); }
.dr-page-hero > .dr-container { position:relative; z-index:1; }
.dr-page-hero h1 { max-width:760px; margin:0; color:#fff; font-size:clamp(46px,7vw,78px); line-height:1.02; letter-spacing:-.045em; }
.dr-page-hero h1::before { display:block; width:38px; height:3px; margin:0 0 20px; border-radius:2px; content:""; background:var(--dr-accent); }
.dr-page-hero .wp-block-post-content { margin-top:18px; color:rgba(255,255,255,.78); font-size:18px; line-height:1.65; }
/* Oversized outline wordmark bleeding out of the hero: depth without copy. */
.dr-page-hero-ghost { position:absolute; z-index:0; right:-1%; bottom:-.14em; color:rgba(255,255,255,.055); font-size:clamp(150px,24vw,330px); font-weight:900; line-height:.78; letter-spacing:-.055em; white-space:nowrap; pointer-events:none; user-select:none; -webkit-text-stroke:1px rgba(255,255,255,.075); }

.dr-page-body { padding:72px 20px 90px; }
.dr-page-body-inner { max-width:760px; }
.dr-page-body .wp-block-post-content { color:#313a45; font-size:18px; line-height:1.78; }
.dr-page-body .wp-block-post-content h2 { margin-top:2em; font-size:28px; }
.dr-page-body .wp-block-post-content h3 { margin-top:1.6em; font-size:22px; }
.dr-page-body .wp-block-post-content ul,.dr-page-body .wp-block-post-content ol { padding-left:1.5em; }
.dr-page-body .wp-block-post-content li { margin-bottom:.5em; }

/* Closing call-to-action that ships inside the imported page content. It sits
   within the text column, so it is styled as a rounded dark card rather than a
   full-bleed band. */
.dr-page-body .dr-page-cta { margin:44px 0 0; padding:40px 32px; border-radius:16px; background:linear-gradient(120deg,var(--dr-primary-dark),var(--dr-primary)); box-shadow:0 20px 44px rgba(23,32,51,.16); text-align:center; }
.dr-page-body .dr-page-cta-inner { width:100%; max-width:none; }
.dr-page-body .dr-page-cta h2 { margin:0 0 10px; color:#fff; font-size:32px; }
.dr-page-body .dr-page-cta p { margin:0; color:rgba(255,255,255,.74); font-size:17px; }
.dr-page-body .dr-page-cta a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 30px; border:1px solid var(--dr-accent); border-radius:7px; color:#fff; background:var(--dr-accent); font-size:15px; font-weight:750; text-decoration:none; box-shadow:0 10px 24px rgba(0,0,0,.22); transition:background .16s ease,border-color .16s ease,transform .16s ease; }
.dr-page-body .dr-page-cta a:hover { border-color:var(--dr-accent-dark); background:var(--dr-accent-dark); transform:translateY(-2px); }

/* About page: reading column plus a layered application-photo stack. */
.dr-page-about .dr-page-body .wp-block-post-content strong { color:var(--dr-ink); }
.dr-about-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,384px); gap:64px; align-items:start; }
.dr-page-about .dr-page-body-inner { max-width:none; }
.dr-about-visual { position:sticky; top:110px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dr-about-visual img { display:block; width:100%; height:auto; align-self:start; border-radius:14px; background:var(--dr-surface); object-fit:cover; box-shadow:0 18px 40px rgba(23,32,51,.18); }
.dr-about-visual .dr-about-visual-lead { grid-column:1/-1; aspect-ratio:3/2; }
.dr-about-visual img:not(.dr-about-visual-lead) { aspect-ratio:1/1; }
.dr-about-visual img:nth-of-type(2) { transform:translateY(-9px); }
.dr-about-visual img:nth-of-type(3) { transform:translateY(9px); }

/* Contact page: detail panel on the left, inquiry form on the right. */
.dr-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:52px; align-items:start; }
.dr-contact-info { position:relative; overflow:hidden; padding:30px 34px 34px; border:1px solid var(--dr-border); border-radius:16px; background:linear-gradient(158deg,#fff,var(--dr-surface)); box-shadow:0 20px 44px rgba(23,32,51,.06); }
.dr-contact-info::before { position:absolute; top:0; bottom:0; left:0; width:4px; content:""; background:linear-gradient(180deg,var(--dr-accent),var(--dr-accent-dark)); }
.dr-contact-info .wp-block-post-content { font-size:16.5px; line-height:1.7; color:#313a45; }
.dr-contact-info .wp-block-post-content h2 { margin-top:1.8em; }
.dr-contact-info .wp-block-post-content > p:first-child { margin-top:0; color:var(--dr-ink); font-size:17px; }
.dr-contact-info .wp-block-list { display:grid; margin:22px 0 0; padding:0; list-style:none; }
.dr-contact-info .wp-block-list li { padding:14px 0; border-top:1px solid var(--dr-border); font-size:15.5px; line-height:1.5; }
.dr-contact-info .wp-block-list li:first-child { padding-top:8px; border-top:0; }
.dr-contact-info .wp-block-list strong { display:block; margin-bottom:3px; color:var(--dr-muted); font-size:10.5px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.dr-contact-info .wp-block-list a { color:var(--dr-primary-dark); font-weight:700; text-decoration:none; border-bottom:1px solid color-mix(in srgb,var(--dr-accent) 45%,transparent); }
.dr-contact-info .wp-block-list a:hover { color:var(--dr-accent); border-bottom-color:var(--dr-accent); }
.dr-contact-form-wrap { padding:32px; border:1px solid var(--dr-border); border-radius:16px; background:#fff; box-shadow:0 20px 44px rgba(23,32,51,.07); }
.dr-contact-form-wrap h2 { margin:0 0 20px; font-size:24px; }

/* Legal page */
.dr-page-legal-hero { padding-bottom:40px; }
.dr-page-legal-body { max-width:720px; }
.dr-page-legal-body .wp-block-post-content { color:#313a45; font-size:17px; line-height:1.78; }
.dr-page-legal-body .wp-block-post-content h2 { margin-top:2em; font-size:22px; border-bottom:1px solid var(--dr-border); padding-bottom:8px; }
.dr-page-legal-body .wp-block-post-content h3 { margin-top:1.6em; font-size:18px; }
.dr-page-legal-body .wp-block-post-content ul,.dr-page-legal-body .wp-block-post-content ol { padding-left:1.5em; }
.dr-page-legal-body .wp-block-post-content li { margin-bottom:.4em; }

@media (max-width:1120px) {
  .dr-about-layout { grid-template-columns:1fr; gap:40px; }
  .dr-about-visual { position:static; top:auto; grid-template-columns:1fr 1fr 1fr; }
  .dr-about-visual .dr-about-visual-lead { grid-column:1/-1; aspect-ratio:2/1; }
  .dr-about-visual img:nth-of-type(2),.dr-about-visual img:nth-of-type(3) { transform:none; }
  .dr-contact-layout { grid-template-columns:1fr; gap:36px; }
}

@media (max-width:700px) {
  .dr-page-hero { padding:60px 0 42px; }
  .dr-page-hero h1 { font-size:clamp(30px,9vw,44px); }
  .dr-page-hero h1::before { width:30px; margin-bottom:16px; }
  .dr-page-hero-ghost { font-size:clamp(96px,30vw,190px); }
  .dr-page-body { padding:48px 14px 68px; }
  .dr-page-body .dr-page-cta { margin-top:34px; padding:30px 22px; }
  .dr-about-visual { gap:10px; }
  .dr-about-visual .dr-about-visual-lead { aspect-ratio:16/10; }
  .dr-about-visual img:not(.dr-about-visual-lead) { display:none; }
  .dr-contact-info { padding:24px 22px 26px; }
  .dr-contact-form-wrap { padding:20px; }
}
