/* Catalogue-only theme. The six-model reference keeps its original stylesheet.
   The scene sits behind reviewed transparent originals; opaque photos stay white. */
body.light-studio { background:#f4f7f7; }
.light-studio .site-header { border-bottom-color:#dde7e6; }
.light-studio .preview-note { margin-block:12px 20px; }
.light-studio .studio-intro { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:32px; align-items:center; max-width:none; min-height:256px; margin:0 0 24px; padding:32px 40px; overflow:hidden; border:1px solid #dce7e4; border-radius:24px; background:linear-gradient(115deg,#fff 28%,#edf4f1 100%); }
.light-studio .studio-intro-copy { position:relative; z-index:1; max-width:680px; }
.light-studio .studio-intro .eyebrow { margin-bottom:16px; font-size:12px; letter-spacing:.07em; }
.light-studio .studio-intro h1 { margin-bottom:16px; font-size:clamp(32px,3.6vw,48px); line-height:1.08; letter-spacing:-.04em; }
.light-studio .studio-intro h1 span { color:var(--teal); }
.light-studio .studio-intro-copy>p:last-child { max-width:560px; margin:0; color:var(--muted); }
.light-studio .studio-architecture { position:relative; width:100%; height:190px; pointer-events:none; }
.light-studio .studio-architecture::before { content:""; position:absolute; inset:-90px -50px; background:radial-gradient(ellipse at 58% 40%,#fff 0%,rgba(255,255,255,0) 67%); }
.light-studio .studio-architecture span { position:absolute; width:98px; height:238px; bottom:-45px; left:32px; border:1px solid rgba(0,107,112,.09); border-radius:70px 70px 12px 12px; background:linear-gradient(130deg,#fff 20%,#e5eeeb 100%); box-shadow:14px 12px 30px rgba(18,47,54,.07),inset 2px 0 0 rgba(255,255,255,.9); transform:rotate(28deg); }
.light-studio .studio-architecture span:nth-child(2) { left:116px; bottom:-63px; height:202px; background:linear-gradient(135deg,#fff,#d6e7e2); }
.light-studio .studio-architecture span:nth-child(3) { left:193px; bottom:-83px; height:175px; background:linear-gradient(135deg,#f4faf7,#c4dcd5); }
.light-studio .filters { padding:18px; border-color:#d9e4e3; border-radius:16px; box-shadow:0 4px 16px rgba(18,47,54,.025); }
.light-studio input,.light-studio select { border-radius:9px; }
.light-studio .results-header { margin-block:16px; flex-wrap:wrap; }
.light-studio .results-header p { flex:1 1 260px; }
.light-studio .sort-label { flex:0 1 230px; font-size:12px; font-weight:400; color:var(--muted); }
.light-studio .sort-label select { min-height:44px; padding-block:8px; font-size:14px; }
.light-studio .catalogue-help { max-width:880px; margin:0 0 20px; font-size:13px; color:var(--muted); }
.light-studio .model-identity .card-verification,.light-studio .card-verification { font-size:12px; line-height:1.5; color:var(--muted); }
.light-studio .compare-toggle { position:absolute; top:12px; right:12px; z-index:2; min-height:44px; padding:8px 12px; border:1px solid #b9cfca; border-radius:9px; background:#fff; color:var(--teal-dark); font-size:13px; cursor:pointer; }
.light-studio .compare-toggle[aria-pressed="true"] { background:var(--teal); color:#fff; border-color:var(--teal); }
.light-studio .compare-panel { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0 0 20px; padding:12px 16px; background:#eaf2ef; border:1px solid #cbdfd8; border-radius:12px; }
.light-studio .compare-panel p { margin:0; font-size:14px; }
.light-studio .compare-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.light-studio #compare-dialog { width:calc(100% - 32px); max-width:1140px; }
.light-studio .comparison-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); align-items:start; gap:16px; }
.light-studio .comparison-item { display:grid; gap:14px; min-width:0; padding:18px; border:1px solid var(--line); border-radius:14px; }
.light-studio .comparison-item>p { margin:0; }
.light-studio .comparison-item .measure-row { grid-template-columns:minmax(0,1fr) minmax(124px,46%); }
.light-studio .comparison-item .measure-row dd { font-size:18px; }
.light-studio .cards { gap:24px; }
.light-studio .model-card { border-color:#dce5e5; border-radius:20px; box-shadow:0 3px 8px rgba(18,47,54,.025),0 16px 36px rgba(18,47,54,.065); }
.light-studio .model-media { isolation:isolate; background:#fff; border-bottom-color:#edf1f1; }
.light-studio .model-media.studio-matte-soft { background:#f5f8f7; }
.light-studio .model-media.studio-cutout { background:linear-gradient(168deg,#fff 18%,#eef4f2 100%); }
.light-studio .model-media.studio-cutout::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:-50% -10% -10% 45%; transform:rotate(-24deg); background:linear-gradient(90deg,rgba(0,107,112,0),rgba(0,107,112,.045),rgba(255,255,255,.8)); }
.light-studio .model-media.studio-utility { background:linear-gradient(168deg,#fff 18%,#edf2f5 100%); }
.light-studio .model-media.studio-utility::before { background:linear-gradient(90deg,rgba(56,81,101,0),rgba(56,81,101,.04),rgba(255,255,255,.8)); }
.light-studio .model-card-body { padding:20px; gap:16px; }
.light-studio .model-identity { gap:5px; align-content:start; }
.light-studio .model-identity h2 { font-size:24px; letter-spacing:-.025em; line-height:1.2; }
.light-studio .model-identity p { font-size:14px; line-height:1.45; }
.light-studio .offer-summaries { display:flex; flex-direction:column; gap:10px; min-width:0; }
.light-studio .measure-list { background:#f1f6f5; border-radius:12px; }
.light-studio .offer-summary-list { border:1px solid #e1ebe8; padding:2px 14px; }
.light-studio .measure-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(132px,46%); align-items:start; gap:6px 12px; }
.light-studio .offer-summary-list .measure-row { padding-block:14px; gap:6px 12px; }
.light-studio .offer-summary-list .measure-row+.measure-row { border-color:#d9e5e2; }
.light-studio .measure-row dt { min-width:0; font-size:13px; line-height:1.45; color:var(--ink); }
.light-studio .measure-row dd { min-width:0; margin:0; font-size:20px; color:var(--teal); font-variant-numeric:tabular-nums; letter-spacing:-.025em; line-height:1.35; white-space:nowrap; text-align:right; overflow-wrap:normal; }
.light-studio .measure-caption { margin-top:4px; font-size:12px; line-height:1.4; letter-spacing:0; }
.light-studio .measure-row dd small { max-width:17ch; margin:4px 0 0 auto; letter-spacing:0; font-size:12px; line-height:1.45; white-space:normal; }
.light-studio .card-notes { display:flex; flex-direction:column; gap:8px; align-self:start; }
.light-studio .model-card .offer-note { font-size:13px; line-height:1.5; }
.light-studio .model-card .price-line { color:var(--muted); font-size:13px; gap:4px 8px; }
.light-studio .model-card .price-line strong { font-size:15px; font-weight:600; }
.light-studio .card-actions { gap:8px; padding-top:14px; border-color:#e2eae9; }
.light-studio .button { border-radius:9px; font-size:15px; min-height:48px; }
.light-studio .card-actions .text-button { font-size:14px; padding-inline:8px; }
/* One shared set of six tracks per card row: photograph, identity, measures,
   restrictions, price and actions. Long content grows a track for every card;
   no line clamping, hidden offers, fake placeholder rows or fixed card height. */
@supports (grid-template-rows:subgrid) {
  .light-studio .cards { row-gap:0; }
  .light-studio .model-card { display:grid; grid-template-rows:subgrid; grid-row:span 6; row-gap:0; margin-bottom:24px; }
  .light-studio .model-card-body { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:16px; min-width:0; }
  .light-studio .model-card .offer-summaries { align-self:start; width:100%; }
  .light-studio .model-card .offer-summary-list { flex:none; }
  .light-studio .model-card .price-line { align-self:start; }
  .light-studio .model-card .card-actions { align-self:end; margin-top:0; }
}
@supports not (grid-template-rows:subgrid) {
  .light-studio .model-card .model-identity { min-height:100px; }
  .light-studio .model-card .offer-summaries { flex:1; }
  .light-studio .model-card .offer-summary-list { flex:1; }
}
.light-studio .detail-hero { border-radius:20px; gap:28px; box-shadow:0 12px 32px rgba(18,47,54,.05); }
.light-studio .detail-hero .model-media { border-radius:14px; }
.light-studio .detail-section,.light-studio .empty { border-radius:16px; }
.light-studio .detail-section { box-shadow:0 3px 14px rgba(18,47,54,.02); }
.light-studio .offer-choice>label { min-height:44px; cursor:pointer; }
.light-studio dialog { border-radius:20px; box-shadow:0 24px 80px rgba(18,47,54,.18); }
.light-studio :focus-visible { outline:3px solid var(--teal); outline-offset:3px; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .light-studio .model-card { transition:box-shadow 180ms ease,border-color 180ms ease,transform 180ms ease; }
  .light-studio .model-card:hover { transform:translateY(-3px); border-color:#bfd3d0; box-shadow:0 5px 10px rgba(18,47,54,.035),0 22px 42px rgba(18,47,54,.1); }
}
@media (max-width:1050px) {
  .light-studio .studio-intro { grid-template-columns:minmax(0,1fr) 210px; padding:28px; gap:20px; }
  .light-studio .studio-architecture { transform:scale(.85); transform-origin:center; }
  .light-studio .cards { column-gap:20px; }
  @supports (grid-template-rows:subgrid) { .light-studio .model-card { margin-bottom:20px; } }
}
@media (max-width:720px) {
  .light-studio .studio-intro { grid-template-columns:minmax(0,1fr); min-height:0; padding:26px 24px; border-radius:20px; }
  .light-studio .studio-intro-copy { max-width:100%; }
  .light-studio .studio-architecture { position:absolute; width:190px; height:180px; right:-70px; top:-35px; opacity:.22; }
  .light-studio .studio-intro h1 { font-size:36px; }
  .light-studio .studio-intro-copy>p:last-child { font-size:15px; }
  .light-studio .detail-hero { gap:20px; }
  /* Keep a usable label column before two cards become too narrow. */
  .light-studio .cards { grid-template-columns:minmax(0,1fr); gap:20px; }
  .light-studio .model-card { display:flex; grid-row:auto; margin-bottom:0; }
  .light-studio .model-card-body { display:flex; grid-row:auto; gap:16px; }
  .light-studio .model-card .model-identity { min-height:0; }
  .light-studio .model-card .offer-summaries { flex:none; }
  .light-studio .model-card .card-actions { align-self:stretch; margin-top:auto; }
}
@media (max-width:600px) {
  .light-studio .model-card-body { padding:20px; }
  .light-studio .filters { padding:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .light-studio .model-identity h2 { font-size:24px; }
  .light-studio .studio-intro .eyebrow { max-width:230px; }
  .light-studio .measure-row dd { font-size:19px; text-align:right; }
}
@media (max-width:380px) {
  .light-studio .studio-intro { padding:24px 20px; }
  .light-studio .studio-intro h1 { font-size:32px; }
  .light-studio .model-card-body { padding:18px; }
  .light-studio .filters { grid-template-columns:minmax(0,1fr); }
  .light-studio .measure-row { grid-template-columns:minmax(0,1fr) minmax(124px,46%); gap:6px 8px; }
  .light-studio .offer-summary-list { padding-inline:10px; }
  .light-studio .offer-summary-list .measure-row { gap:6px 8px; }
  .light-studio .measure-row dd { font-size:18px; }
  .light-studio .card-actions { grid-template-columns:minmax(0,1fr); gap:2px; }
}
@media (forced-colors:active) {
  .light-studio .studio-architecture,.light-studio .model-media::before { display:none; }
  .light-studio .model-card { box-shadow:none; }
}
