/* Revision 35 — preserve original copy and compact exhibits; keep photographic surfaces. */
:root {
  color-scheme:light;
  --paper:#f4f3ef; --surface:#eeede8; --stage:#1a201d;
  --ink:#202622; --muted:#677069; --line:#d5d8d1;
  --dark:#171d19; --light:#f3f3ec; --accent:#b75b46;
  --gutter:clamp(24px,6.3vw,100px); --max:1280px;
}
body { background:var(--paper); color:var(--ink); }
html { scroll-padding-top:77px; }
::selection { background:#b75b46; color:#fff; }
.site-header { background:#fffffff5; color:var(--ink); border-color:#eceee8; }
.nav-shell { min-height:76px; }
.brand-mark { width:46px; height:auto; aspect-ratio:193.51001/93.48286; }
.brand-wordmark { font-size:14px; letter-spacing:.04em; }
.brand-wordmark small { color:#767d76; font-size:8px; letter-spacing:.09em; }
.site-header nav a { color:#68716b; font-size:12px; }
.site-header nav a:hover,.site-header nav a[aria-current] { color:#202622; }
.header-actions .button { color:#303b33; border:1px solid #cfd4cd; border-radius:0; }
.header-actions .button:hover { background:#f2f3ee; border-color:#8e998d; }
#menu-toggle { border:0; } #menu-toggle span { background:#27342c; }
.reading-progress { background:var(--accent); }
main .chapter-label { color:#6e776e; }
main .chapter-label>.signal-ring { border-color:var(--accent); }
.section h2 { letter-spacing:-.035em; }

/* White is the actual photographic backdrop, preserving its natural ground shadow. */
.product-hero { background:#fff; overflow:hidden; }
.hero-layout { width:min(1440px,100%); min-height:620px; height:calc(100svh - 132px); max-height:820px; margin:auto; padding:40px var(--gutter) 28px; display:grid; grid-template-columns:.85fr 1.35fr; align-items:center; gap:0; }
.hero-copy { position:relative; z-index:1; padding-bottom:24px; }
.hero-eyebrow { display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:.12em; color:#687169; }
.hero-copy h1 { font-size:clamp(44px,5.4vw,78px); line-height:1.3; letter-spacing:-.06em; font-weight:400; margin:27px 0 24px; white-space:nowrap; }
.hero-description { margin-top:25px; font-size:14px; line-height:1.9; color:#858b83; }
.hero-product { width:124%; margin-left:-5%; }
.hero-product img { width:100%; height:auto; }

/* Source-rendered UI on the original measured photographic plane. */
.rear-camera-stage { position:relative; width:100%; aspect-ratio:4060/3200; overflow:hidden; background:transparent; }
.rear-camera-stage .handheld-composition { position:absolute; inset:0 auto auto 0; width:5184px; height:3456px; aspect-ratio:auto; transform-origin:0 0; }
.rear-product-photo { position:absolute; inset:0; width:5184px; height:3456px; filter:none; }
.camera-screen-plane { position:absolute; left:0; top:0; width:1024px; height:600px; transform-origin:0 0; background:#0c1014; overflow:hidden; box-shadow:0 0 0 4px #0b1013; }
.shader-interface { position:absolute; inset:0; width:1024px; height:600px; }
.rear-camera-stage .handheld-screen-window { position:absolute; left:24px; top:108px; width:656px; height:369px; transform:none; clip-path:none; background:#030403; }
/* Light photographic surfaces retain the original matte and edge reflections. */
.passage-story { background:#f5f5f3; }
.passage-origin { padding:110px 0 90px; gap:11%; align-items:center; }
.passage-origin h2 { font-size:clamp(30px,3.2vw,46px); line-height:1.5; margin:24px 0 29px; }
.passage-origin p { font-size:15px; color:#6b7568; line-height:2; max-width:31em; }
.passage-origin p+p { margin-top:16px; }
.passage-profile .slope-photo { height:auto; aspect-ratio:2.05; filter:none; }
.passage-profile figcaption { border:0; margin:0; padding-top:30px; color:#677363; font-size:12px; }
.passage-profile figcaption span { color:#85907e; font-size:9px; letter-spacing:.08em; }
.material-story { background:#f5f5f3; color:var(--ink); }
.material-story .material-layout { border-top:1px solid #dfe2da; grid-template-columns:.85fr 1.15fr; padding:90px 0 115px; gap:10%; }
.material-heading .eyebrow { color:#697463; }
.material-heading h2 { color:var(--ink); font-size:clamp(30px,3.1vw,45px); line-height:1.5; margin:25px 0; }
.material-heading h2 span { color:var(--ink); }
.material-heading>p:not(.eyebrow) { color:#6b7568; font-size:15px; line-height:2; }
.texture-figure button { height:auto; aspect-ratio:1.7; filter:none; }
.texture-figure .product-cutout { display:block; width:100%; height:100%; }

/* A single uninterrupted photograph, with text placed over its genuinely dark corner. */
.power-transition { position:relative; display:block; background:#181d18; min-height:clamp(580px,calc(100svh - 76px),780px); overflow:hidden; }
.power-photo { position:absolute; inset:0; height:100%; width:100%; background:#181d18; }
.power-photo svg { width:100%; height:100%; filter:none; }
.power-photo::before { content:''; position:absolute; z-index:1; inset:0 0 auto; height:110px; background:linear-gradient(#fff,transparent); pointer-events:none; }
.power-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#181d18,transparent 24%),linear-gradient(90deg,transparent 36%,#120f0ad9 100%); pointer-events:none; }
.power-copy { position:relative; z-index:1; margin-left:auto; margin-right:max(var(--gutter),calc((100% - var(--max))/2)); padding:150px 0 120px; width:36%; max-width:460px; }
.power-copy h2 { color:#faf4e6; font-size:clamp(34px,3.5vw,50px); margin:26px 0; line-height:1.5; }
.power-copy .chapter-label { color:#dbcaad; }
.power-copy>p:not(.eyebrow) { color:#ddd0b9; font-size:15px; line-height:2; }

/* The restored tunnel shares the photograph's dark endpoint. */
.passage-intro { padding-top:0; background:#181d18; }
.passage-art { background:#181d18; }
#passage-image { filter:none; mask-image:linear-gradient(transparent,#000 18%); -webkit-mask-image:linear-gradient(transparent,#000 18%); }
.passage-title { top:12%; }
.passage-title h2 { text-shadow:none; }
.passage-title .eyebrow { color:#c7d1bf; }

/* Compact, readable resources; photographic views stay on light backgrounds. */
.hardware-band { background:#f5f5f3; }
.hardware { padding:100px 0; }
.hardware-tabs { gap:clamp(24px,4vw,55px); margin-top:40px; border-color:#d7dcd2; }
.hardware-tabs button { color:#6c7666; font-size:13px; padding-bottom:18px; }
.hardware-tabs button[aria-selected=true] { color:#273623; border-bottom-color:#b75b46; }
.hardware-view { gap:8%; padding-top:40px; }
#device-view .product-cutout { filter:none; }
.device-details h3 { font-size:32px; line-height:1.5; }
.device-details li { border-color:#dce0d6; padding:17px 0; }
.device-details strong { color:#36452f; }
.device-details li span { color:#697560; font-size:13px; line-height:1.9; }
.device-details em,.status-label { color:#93694e; }
.hardware-view[data-interface=true] #device-view { box-shadow:none; outline:1px solid #d8ddd2; }
.interface-guide li[data-active=true] strong { color:#324a2a; }
#interface-preview-note { color:#6f7c64; font-size:11px; }
.firmware-band { background:#eeefe9; }
.firmware { padding:90px 0; gap:10%; }
.release-card { background:none; border:0; border-top:1px solid #cbd2c3; padding:25px 0 29px; gap:16px; margin-bottom:0; }
.release-card h3 { font-size:22px; color:#34452c; }
.release-card p:not(.small-label),.release-card .small-label,.toolkit-download-meta,.unavailable { color:#6b795f; }
.firmware-icon { opacity:.7; }
.editor-download { background:none; border-color:#c8d0be; color:#657754; }
.editor-availability { color:#708361; }
.toolkit-download-button { background:#33472c; border-color:#33472c; }
.toolkit-download-button:hover { background:#253c1d; }
.specifications,.faq { padding:90px 0; }
.spec-list dt { color:#415534; }
.spec-list dd { color:#68795d; }
.spec-list>div { border-color:#d7ddce; }
.faq { border-top:1px solid #d7ddce; }
.order { background:#253a2e; padding:100px var(--gutter) 80px; }
.order h2 { color:#f2f0e5; }
.order .chapter-label,.order>p:not(.eyebrow),.contact-label { color:#acbba8; }
.contact-row { color:#e1e8da; }
.contact-row button { color:#bac9b2; border-color:#71816a; }
.copy-status { color:#c2d4b8; }
.site-footer { width:100%; margin:0; padding:24px max(var(--gutter),calc((100% - var(--max))/2)); background:#253a2e; color:#adbea7; border-color:#ffffff1a; }
.photo-dialog { background:#f5f5f3; color:var(--ink); border:1px solid #dde2d7; }
.dialog-top,.photo-dialog>p { color:#56694a; }
.dialog-close { color:#33482a; border-color:#c6d1bd; }
.menu-dialog { background:#f4f5ef; color:#263d1e; }
.menu-top,.menu-dialog nav a { border-color:#d1dbca; }
.menu-dialog nav a span,.menu-dialog>p { color:#768b68; }
#menu-close { color:#263d1e; border:0; }
.reveal-ready { opacity:1; transform:none; transition:none; }

@media(min-width:1600px) {
  .hero-product { width:130%; margin-left:-6%; }
}
@media(max-width:1100px) {
  .hero-layout { min-height:550px; height:calc(85svh - 76px); }
  .hero-copy h1 { font-size:5.6vw; }
  .hero-description { font-size:13px; }
  .power-transition { min-height:clamp(540px,calc(100svh - 76px),700px); }
  .power-copy { width:40%; padding:130px 0 100px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:69px; }
  :root { --gutter:24px; }
  .nav-shell { min-height:68px; padding:0 21px; gap:12px; }
  .brand { gap:9px; } .brand-mark { width:36px; }
  .brand-wordmark { font-size:12px; } .brand-wordmark small { font-size:7px; }
  .header-actions .button { display:none; }
  .hero-layout { display:flex; flex-direction:column; align-items:stretch; height:auto; min-height:0; max-height:none; padding:53px var(--gutter) 0; }
  .hero-copy { padding:0; }
  .hero-eyebrow { font-size:10px; }
  .hero-copy h1 { font-size:clamp(40px,10.5vw,68px); margin:23px 0 18px; letter-spacing:-.045em; }
  .hero-description { margin-top:14px; font-size:12px; }
  .hero-description br { display:none; }
  .hero-product { width:calc(100% + 48px); margin:11px -24px 0; }
  .passage-origin { padding:65px 0 54px; gap:38px; }
  .passage-origin h2 { font-size:32px; margin:24px 0; }
  .passage-origin p { font-size:14px; }
  .passage-profile .slope-photo { height:auto; aspect-ratio:2.05; }
  .passage-profile figcaption { font-size:11px; padding-top:22px; }
  .material-story .material-layout { display:flex; flex-direction:column; gap:35px; padding:57px 0 65px; }
  .material-heading h2 { font-size:31px; }
  .material-heading>p:not(.eyebrow) { font-size:14px; }
  .texture-figure { width:100%; }
  .texture-figure button { height:auto; }
  .power-transition { min-height:0; }
  .power-photo { position:relative; height:auto; aspect-ratio:1.35; }
  .power-photo::before { height:70px; }
  .power-photo::after { background:linear-gradient(0deg,#181d18,transparent 30%); }
  .power-copy { margin:0; padding:16px 24px 59px; width:100%; max-width:none; }
  .power-copy h2 { font-size:32px; }
  .power-copy>p:not(.eyebrow) { font-size:14px; }
  .passage-title { padding-top:25px; padding-bottom:28px; background:#181d18; }
  .hardware { padding:65px 0; }
  .hardware-tabs { gap:23px; margin-top:28px; }
  .hardware-tabs button { font-size:12px; }
  .hardware-view { gap:32px; padding-top:28px; }
  .device-details h3 { font-size:29px; }
  .device-details li span { font-size:13px; }
  .firmware { padding:65px 0; }
  .release-card { padding:24px 0; }
  .release-card h3 { font-size:20px; }
  .specifications,.faq { padding:60px 0; }
  .order { padding:70px 24px 50px; }
  .order h2 { font-size:36px; }
}
@media(max-width:350px) {
  :root { --gutter:20px; }
  .hero-copy h1 { font-size:38px; }
  .hero-product { width:calc(100% + 40px); margin-left:-20px; margin-right:-20px; }
}
