/* Home variant: editorial object index, physical switch, approved footer mark. */
[data-story="obj001"] .story-state-icon { background:rgba(255,255,255,.82); color:#151515; border:1px solid #151515; padding:8px 13px 8px 8px; gap:10px; }
[data-story="obj001"] .story-state-icon[aria-pressed="true"] { background:rgba(21,21,21,.86); color:#fff; border-color:#fff; }
[data-story="obj001"] .story-state-icon:hover { background:#fff; color:#151515; border-color:#151515; }
[data-story="obj001"] .story-state-icon:focus-visible { outline:3px solid #1749d7; outline-offset:4px; }
.light-switch-track { width:48px; height:28px; padding:3px; border-radius:30px; background:#aaa; display:block; flex:none; }
.light-switch-track>span { display:block; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0003; transition:transform .2s; }
[aria-pressed="true"] .light-switch-track { background:#1749d7; }
[aria-pressed="true"] .light-switch-track>span { transform:translateX(20px); }
.home-collection { background:#fff; }
.home-collection-head { grid-template-columns:1fr auto; align-items:end; padding:64px 4vw 44px; }
.home-collection-head>span:first-child { grid-column:1/-1; }
.home-collection-head h2 { font-size:clamp(3rem,6.4vw,7rem); line-height:.94; letter-spacing:-.065em; }
.home-index { padding:0 4vw 80px; }
.home-index-row { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #151515; padding:28px 0; gap:6vw; align-items:center; }
.home-index-row:last-child { border-bottom:1px solid #151515; }
.home-index-photo { height:480px; border:0; padding:0; background:#f4f3ef; border-radius:16px; overflow:hidden; cursor:pointer; }
.home-index-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.home-index-row:last-child .home-index-photo { background:#1b3869; }
.home-index-row:last-child .home-index-photo img { object-fit:cover; }
.home-index-copy>span { font:.7rem var(--mono); }
.home-index-copy h3 { margin:30px 0 20px; font:400 clamp(3rem,6.5vw,7rem)/.9 var(--studio-sans); letter-spacing:-.07em; }
.home-index-copy p { font:400 clamp(1.2rem,2vw,1.9rem)/1.2 var(--studio-sans); letter-spacing:-.03em; }
.home-index-copy button { display:flex; align-items:center; justify-content:space-between; width:100%; margin-top:60px; min-height:54px; border:0; border-top:1px solid #151515; border-bottom:1px solid #151515; padding:0 4px; background:none; font:.75rem var(--mono); cursor:pointer; }
.home-index-copy button span { font-size:1.6rem; }
.home-index button:focus-visible { outline:3px solid #1749d7; outline-offset:4px; }
.home-index-copy button:hover { color:#1749d7; }
footer.studio-footer { display:block; background:#151515; color:#fff; padding:40px 3vw 20px; }
.studio-footer .studio-footer-meta { display:grid; grid-template-columns:1fr 1fr auto; align-items:start; gap:30px; line-height:1.6; }
.studio-footer .studio-footer-meta>div { display:flex; justify-content:center; gap:28px; }
footer.studio-footer .studio-footer-mark { display:block; width:100%; height:auto; margin:90px 0 0; }
@media(max-width:820px) {
  .home-collection-head { padding:44px 20px 30px; gap:24px 10px; }
  .home-collection-head h2 { font-size:clamp(2.6rem,10vw,4rem); }
  .home-collection-head>span:last-child { font-size:.65rem; }
  .home-index { padding:0 20px 48px; }
  .home-index-row { grid-template-columns:1fr; gap:24px; padding:24px 0 32px; }
  .home-index-photo { height:350px; height:90vw; max-height:480px; border-radius:12px; }
  .home-index-copy h3 { font-size:clamp(3rem,13vw,5rem); margin:20px 0 14px; }
  .home-index-copy p { font-size:1.3rem; margin:0; }
  .home-index-copy button { margin-top:26px; }
  footer.studio-footer { padding:30px 20px 20px; }
  .studio-footer .studio-footer-meta { grid-template-columns:1fr auto; gap:28px 14px; font-size:.65rem; }
  .studio-footer .studio-footer-meta>div { flex-direction:column; gap:10px; }
  .studio-footer-meta>span:last-child { grid-column:1/-1; }
  footer.studio-footer .studio-footer-mark { margin-top:56px; }
}
@media(prefers-reduced-motion:reduce) { .light-switch-track>span { transition:none; } }
@media(prefers-reduced-motion:reduce) { [data-story="obj001"] .story-on { opacity:var(--light,0); } }

/* v02 refinement: compact circular power, responsive image frames, white footer. */
[data-story="obj001"] .story-state-icon { position:relative; width:44px; height:44px; min-height:44px; padding:0; display:grid; place-items:center; border-radius:50%; gap:0; background:rgba(255,255,255,.88); }
[data-story="obj001"] .story-state-icon svg { width:20px; height:20px; }
[data-story="obj001"] .story-state-icon::after { content:''; position:absolute; inset:-1px; border:1px solid currentColor; border-radius:50%; animation:power-invite 3.6s ease-out infinite; pointer-events:none; }
[data-story="obj001"] .story-state-icon[aria-pressed="true"] { background:#fff; color:#151515; border-color:#151515; box-shadow:0 0 16px #ffffff50; }
[data-story="obj001"] .story-state-icon[aria-pressed="true"]::after { animation:none; opacity:0; }
[data-story="obj001"] .story-state-icon:hover { background:#151515; color:#fff; transform:scale(1.06); }
@keyframes power-invite { 0%,55% { transform:scale(1); opacity:0; } 60% { opacity:.4; } 90%,100% { transform:scale(1.35); opacity:0; } }
.home-index-photo { height:auto; aspect-ratio:16/9; }
.home-index-photo picture { display:block; width:100%; height:100%; }
footer.studio-footer { background:#fff; color:#151515; }
footer.studio-footer .studio-footer-mark { width: min(62%,760px); margin:60px auto 10px; }
@media(max-width:820px) {
 .home-index-photo { height:auto; max-height:none; aspect-ratio:4/5; }
 .home-index-row:first-child .home-index-photo { aspect-ratio:1/2; }
 footer.studio-footer .studio-footer-mark { width:76%; margin-top:40px; }
}
@media(prefers-reduced-motion:reduce) { [data-story="obj001"] .story-state-icon::after { animation:none; display:none; } }
@media(max-width:820px) { .home-index-row:last-child .home-index-photo { aspect-ratio:3/4; } }

/* v03: equal full image treatment and navigable directory footer. */
.home-index-photo img { object-fit:cover; }
footer.studio-footer { padding:36px 24px 24px; }
.studio-footer .footer-directory { display:grid; grid-template-columns: minmax(0,2fr) repeat(3,minmax(0,1fr)); gap:40px; min-height:230px; }
.footer-intro p { margin:0 0 42px; font:400 clamp(1.4rem,2.2vw,2rem)/1.2 var(--studio-sans); text-transform:none; letter-spacing:-.03em; }
.footer-instagram { display:inline-flex; padding:6px; margin-left:-6px; }
.studio-footer .footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-column h2 { margin:0 0 10px; font:400 .75rem var(--studio-sans); color:#777; text-transform:none; }
.studio-footer .footer-column button,.studio-footer .footer-column a { padding:0; min-height:28px; border:0; background:none; color:#151515; font:400 1rem/1.3 var(--studio-sans); text-transform:none; text-decoration:none; text-align:left; cursor:pointer; }
.studio-footer .footer-column button:hover,.studio-footer .footer-column a:hover { text-decoration:underline; }
.studio-footer .footer-column button:focus-visible,.studio-footer a:focus-visible { outline:2px solid #1749d7; outline-offset:4px; }
.studio-footer .footer-legal { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:.65rem; margin:18px 0 52px; }
footer.studio-footer .studio-footer-mark { width:100%; max-width:none; margin:0; height:auto; }
@media(max-width:820px) {
 footer.studio-footer { padding:30px 20px 20px; }
 .studio-footer .footer-directory { grid-template-columns:1fr 1fr; gap:34px 20px; min-height:0; }
 .footer-intro { grid-column:1/-1; }
 .footer-intro p { margin-bottom:20px; }
 .studio-footer .footer-column { gap:8px; }
 .studio-footer .footer-column button,.studio-footer .footer-column a { min-height:36px; font-size:.95rem; }
 .studio-footer .footer-legal { margin:36px 0; }
 footer.studio-footer .studio-footer-mark { width:100%; margin:0; }
}
.studio-footer .footer-intro { display:block; }
.studio-footer .footer-column button { display:block; }

/* v04: mobile campaign reads brand → photograph → message → actions. */
@media(max-width:820px) {
 .home-campaign { display:grid; grid-template-columns:minmax(0,1fr); padding:0; }
 .home-campaign-panel { display:contents; }
 .home-campaign-top { grid-column:1; grid-row:1; padding:28px 20px 0; gap:18px; }
 .home-campaign-top img { width:112px; }
 .home-campaign-top>span { font-size:.65rem; }
 .home-campaign-signal { grid-column:1; grid-row:2; margin:14px 20px 28px; gap:8px; }
 .home-campaign-signal i { width:18px; height:18px; }
 .home-campaign-photo { grid-column:1; grid-row:3; order:initial; height:auto; min-height:0; aspect-ratio:4/3; }
 .home-campaign-photo img { object-position:70% center; }
 .home-campaign-message { grid-column:1; grid-row:4; padding:28px 20px 0; }
 .home-campaign-message>span { font-size:.65rem; }
 .home-campaign-message h2 { max-width:none; margin:16px 0 20px; font-size:clamp(2.6rem,10.3vw,4.4rem); line-height:.98; letter-spacing:-.055em; }
 .home-campaign-message p { max-width:30ch; font-size:1.05rem; margin:0 0 26px; }
 .home-campaign-actions { grid-column:1; grid-row:5; margin:0 20px 30px; }
 .home-campaign-actions button { min-height:52px; }
}

/* v05: same rounded photo language and lateral breathing room on mobile. */
@media(max-width:820px) {
 .home-campaign-photo { margin:0 20px; border-radius:12px; overflow:hidden; }
}
