*{box-sizing:border-box}
body{margin:0;background:#fff;color:#222;font:14px/1.45 Arial,Helvetica,sans-serif}
.page{max-width:980px;margin:auto;padding:16px 22px}
header{display:flex;align-items:center;gap:18px;padding-bottom:14px;border-bottom:1px solid #ccc}
.logo{width:128px;height:72px;object-fit:contain;border:1px solid #222;padding:6px;background:#fff}
h1{font-size:24px;margin:0 0 3px}header p{margin:0 0 5px}
a{color:#075ac6;text-decoration:underline}.quick-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.quick-links a{display:inline-block;padding:4px 8px;border:1px solid #222;background:#fff;text-decoration:none;color:#222;font-size:12px}.quick-links a:hover,.quick-links a:focus-visible{background:#eef4ff;color:#075ac6}
h2{font-size:18px;margin:0 0 10px}p{margin:0 0 10px}
section{padding:16px 0;border-bottom:1px solid #ddd}
.overview{display:grid;grid-template-columns:1fr 360px;gap:24px}
iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
ul{margin:8px 0 12px;padding-left:20px}
.photos{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
figure{margin:0}figure img{display:block;width:100%;height:96px;object-fit:cover;border:1px solid #ddd}
figcaption{font-size:12px;margin-top:4px;color:#555}
details{margin-top:12px}summary{cursor:pointer;color:#075ac6;padding:4px 0;min-height:24px;display:list-item}details p{margin:10px 0}.details-photos{grid-template-columns:repeat(3,1fr);max-width:530px}
.bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:32px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
label{display:block;font-size:13px;margin-bottom:8px}
input,textarea{display:block;width:100%;margin-top:3px;border:1px solid #aaa;border-radius:0;padding:6px;background:#fff;color:#222;font:inherit}
textarea{resize:vertical}button{padding:6px 12px;border:1px solid #aaa;border-radius:0;font:inherit}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.note,footer{font-size:12px;color:#666}
footer{padding:12px 0}
:focus-visible{outline:2px solid #075ac6;outline-offset:3px}
@media(max-width:700px){.overview{grid-template-columns:1fr;gap:8px}.overview iframe{max-width:420px}.bottom{grid-template-columns:1fr;gap:0}.photos{grid-template-columns:repeat(3,1fr)}.page{padding:12px 16px}}
@media(max-width:400px){header{gap:12px}.logo{width:90px;height:auto}h1{font-size:21px}.photos{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr}}

/* dark mode */
.theme-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#555;cursor:pointer;user-select:none}
.theme-toggle input{position:absolute;opacity:0;width:0;height:0}
.theme-toggle .track{position:relative;width:40px;height:22px;border:1px solid #aaa;border-radius:11px;background:#eee;transition:background .15s}
.theme-toggle .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#222;transition:transform .15s}
.theme-toggle input:checked+.track{background:#3a5f9a}
.theme-toggle input:checked+.track::after{transform:translateX(18px);background:#fff}
.theme-toggle input:focus-visible+.track{outline:2px solid #075ac6;outline-offset:3px}
html[data-theme=dark] body{background:#14171a;color:#dfe3e7}
html[data-theme=dark] header{border-bottom-color:#3a4047}
html[data-theme=dark] .logo{background:#1d2126;border-color:#5a6068}
html[data-theme=dark] a{color:#7ab4ff}
html[data-theme=dark] .quick-links a{background:#1d2126;border-color:#5a6068;color:#dfe3e7}
html[data-theme=dark] .quick-links a:hover,html[data-theme=dark] .quick-links a:focus-visible{background:#26303d;color:#7ab4ff}
html[data-theme=dark] section{border-bottom-color:#2a2f35}
html[data-theme=dark] figure img{border-color:#3a4047}
html[data-theme=dark] figcaption,html[data-theme=dark] .note,html[data-theme=dark] footer,html[data-theme=dark] .theme-toggle{color:#9aa3ac}
html[data-theme=dark] summary{color:#7ab4ff}
html[data-theme=dark] input,html[data-theme=dark] textarea,html[data-theme=dark] button{background:#1d2126;color:#dfe3e7;border-color:#5a6068}
html[data-theme=dark] .theme-toggle .track{background:#2a2f35;border-color:#5a6068}

/* carousel */
.carousel{position:relative;overflow:hidden;padding-top:4px;
-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);
mask-image:linear-gradient(90deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)}
.car-track{display:flex;gap:10px;width:max-content;animation:marquee 95s linear infinite;will-change:transform}
.car-track figure{flex:0 0 300px}
.car-track img{display:block;width:100%;height:200px;object-fit:cover;border:1px solid #ddd}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 5px))}}
.car-pause{position:absolute;top:8px;right:8px;z-index:2;min-width:64px;min-height:32px;padding:6px 12px;font-size:12px;border:1px solid #aaa;background:#fff;color:#222;cursor:pointer;opacity:.85}
.car-pause:hover{opacity:1}
html[data-theme=dark] .car-pause{background:#1d2126;color:#dfe3e7;border-color:#5a6068}
html[data-theme=dark] .car-track img{border-color:#3a4047}
@media(max-width:700px){.car-track figure{flex:0 0 240px}.car-track img{height:160px}}
@media(max-width:420px){.car-track figure{flex:0 0 78vw}.car-track img{height:52vw}}
@media(prefers-reduced-motion:reduce){.car-track{animation:none}.carousel{overflow-x:auto}}

/* nav + scrolling */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
section,#top{scroll-margin-top:14px}
.quick-links a[aria-current]{background:#eef4ff;color:#075ac6;border-color:#075ac6}
html[data-theme=dark] .quick-links a[aria-current]{background:#26303d;color:#7ab4ff;border-color:#7ab4ff}
footer p{margin:0 0 6px;max-width:74ch}

/* lightbox */
body.lb-open{overflow:hidden}
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.96);
  display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:12px 14px 18px}
.lightbox[hidden]{display:none}
.lb-bar{display:flex;justify-content:flex-end}
.lb-body{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:0}
.lb-fig{grid-column:2;margin:0;min-width:0;min-height:0;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.lb-fig img{width:auto;height:auto;min-height:0;max-width:100%;max-height:100%;object-fit:contain;border:0}
.lb-fig figcaption{flex:0 0 auto;color:#eee;font-size:13px;text-align:center}
.lb-nav,.lb-close{border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.4);color:#fff;cursor:pointer;line-height:1;padding:0;flex:0 0 auto}
.lb-nav{width:44px;height:52px;font-size:26px}
.lb-close{width:44px;height:44px;font-size:24px}
.lb-nav:hover,.lb-close:hover{background:rgba(255,255,255,.18)}
.lightbox :focus-visible{outline:2px solid #fff;outline-offset:2px}
.car-track a,.details-photos a{display:block;cursor:zoom-in}

/* mobile fit-and-finish */
header{flex-wrap:wrap}
.theme-toggle{min-height:32px}
@media(max-width:560px){
  header{gap:12px}
  .lightbox{padding:10px 8px 14px}
  .lb-body{grid-template-columns:minmax(0,1fr);position:relative;gap:0}
  .lb-fig{grid-column:1}
  .lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:56px;font-size:24px;background:rgba(0,0,0,.55)}
  .lb-prev{left:0}
  .lb-next{right:0}
  .theme-toggle{margin-left:0;order:3;flex-basis:100%}
  .quick-links a{padding:8px 10px}
}
