:root{color-scheme:dark;--ink:#151717;--text:#f2eee8;--muted:#a4a6a1;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html,body{height:100%;width:100%;margin:0;overflow:hidden;background:var(--ink);color:var(--text)}
body{font-family:"DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit}
button:focus-visible,a:focus-visible,.viewport:focus-visible{outline:2px solid #f3d9a3;outline-offset:4px}
button:focus:not(:focus-visible),.viewport:focus:not(:focus-visible){outline:none}
.app{height:100vh;height:100dvh;width:100%;position:relative;overflow:hidden;isolation:isolate;background:#151717}
.ambient{position:absolute;inset:-15%;pointer-events:none;z-index:0;
 background:radial-gradient(ellipse 66% 85% at 50% 48%,#323332 0%,#262828 34%,#1c1e1e 69%,#131515 100%)}
.ambient:after{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(ellipse 70% 82% at 50% 50%,transparent 42%,rgba(2,5,5,.23) 100%),
 radial-gradient(ellipse 30% 45% at 80% 13%,rgba(198,177,153,.045),transparent 85%)}
.viewport{position:absolute;inset:0;overflow:hidden;z-index:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none}
.viewport.dragging{cursor:grabbing}
.viewport.focused{cursor:default}
.canvas{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;contain:layout style;pointer-events:none}
.tile{position:absolute;display:block;border:0;padding:0;margin:0;appearance:none;background:#343735;overflow:hidden;cursor:pointer;text-align:left;pointer-events:auto;isolation:isolate}
.tile:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.055);pointer-events:none}
.tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform .76s var(--ease),filter .76s var(--ease);filter:saturate(.93) contrast(1.025);pointer-events:none;-webkit-user-drag:none}
.tile:hover img,.tile:focus-visible img{transform:scale(1.065);filter:saturate(1.05) contrast(1.05)}
.tile .shade{position:absolute;inset:0;display:block;pointer-events:none;background:linear-gradient(0deg,rgba(5,7,8,.78),rgba(5,7,8,.08) 46%,transparent 73%);opacity:0;transition:opacity .48s ease}
.tile:hover .shade,.tile:focus-visible .shade{opacity:1}
.tile .tile-caption{position:absolute;z-index:2;left:24px;bottom:22px;right:20px;color:#fff;text-align:left;pointer-events:none;opacity:0;transform:translateY(9px);transition:opacity .43s var(--ease),transform .43s var(--ease)}
.tile:hover .tile-caption,.tile:focus-visible .tile-caption{opacity:1;transform:translateY(0)}
.tile-caption small{display:block;font-size:9px;letter-spacing:.2em;line-height:1.2;margin-bottom:7px;color:rgba(255,255,255,.75);font-weight:500}
.tile-caption strong{display:block;font-family:"Italiana",Georgia,serif;font-size:clamp(20px,2.5vw,34px);line-height:1.04;font-weight:400;letter-spacing:-.02em;text-wrap:balance}
.tile .tile-corner{position:absolute;z-index:2;top:19px;right:20px;width:29px;height:29px;border:1px solid rgba(255,255,255,.75);display:grid;place-items:center;color:white;font-size:17px;line-height:1;opacity:0;transform:translateY(5px);transition:transform .38s var(--ease),opacity .38s ease}
.tile:hover .tile-corner,.tile:focus-visible .tile-corner{opacity:1;transform:translateY(0)}
.tile.image-unavailable{background:linear-gradient(130deg,#6d716e,#444d4b)}
.edge-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.11;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}
.hud{position:absolute;z-index:4;bottom:max(22px,env(safe-area-inset-bottom));left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none;transition:opacity .45s ease}
.hud-left,.hud-actions{display:flex;align-items:center;gap:14px;pointer-events:auto}
.hud-left{font-size:10px;font-weight:500;letter-spacing:.16em;text-shadow:0 1px 16px #050606}
.status-dot{display:block;width:6px;height:6px;background:#d7c4a4;border-radius:100%;box-shadow:0 0 0 4px rgba(215,196,164,.11)}
.hud-count{color:#959b99;margin-left:12px}
.hud-actions{gap:10px;background:rgba(19,22,22,.78);border:1px solid rgba(255,255,255,.18);padding:6px 8px 6px 14px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.hud-actions button{border:0;background:none;padding:9px 11px;color:#e6e8e4;font-size:10px;letter-spacing:.13em;font-weight:500;cursor:pointer;transition:color .25s ease}
.hud-actions button:hover{color:#eecb9d}
.hud-actions button span{font-size:15px;margin-left:9px}
.hud-rule{width:1px;height:17px;background:rgba(255,255,255,.25)}
.veil{position:absolute;inset:0;background:rgba(4,6,7,.84);z-index:5;pointer-events:none;opacity:0;transition:opacity .6s var(--ease)}
body.is-open .veil{opacity:1}
body.is-open .hud{opacity:0;pointer-events:none}
.focus{position:absolute;inset:0;z-index:6;pointer-events:none}
.focus-image{position:absolute;left:0;top:0;width:100px;height:100px;opacity:0;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.33);will-change:transform,width,height,top,left}
.focus-image img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}
.info{position:absolute;inset:0;z-index:7;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .42s ease,visibility 0s linear .42s}
body.is-open .info{visibility:visible;opacity:1;transition:opacity .48s ease .18s,visibility 0s}
.info-copy{position:absolute;left:65%;top:50%;width:min(30%,400px);max-height:84%;overflow-y:auto;scrollbar-width:none;pointer-events:auto;opacity:0;transform:translateY(calc(-50% + 22px));transition:transform .75s var(--ease) .15s,opacity .6s ease .15s}
.info-copy::-webkit-scrollbar{display:none}
body.is-open .info-copy{transform:translateY(-50%);opacity:1}
.info-kicker{font-size:10px;letter-spacing:.22em;color:#a0a4a0;margin:0 0 39px}
.info-category{font-size:10px;letter-spacing:.24em;color:#d2bba5;margin-bottom:17px}
.info h1{font-family:"Italiana",Georgia,serif;font-size:clamp(49px,5.6vw,86px);font-weight:400;line-height:.99;letter-spacing:-.045em;margin:0 0 27px;text-wrap:balance}
.info-description{font-size:13px;color:#bfc0bc;line-height:1.85;max-width:380px;margin:0 0 28px}
.info-line{height:1px;background:rgba(255,255,255,.25);margin:0 0 22px}
.info dl{display:grid;gap:15px;margin:0}
.info dl div{display:grid;grid-template-columns:140px 1fr;gap:8px;align-items:baseline}
.info dt{font-size:9px;letter-spacing:.13em;color:#888e8d}
.info dd{margin:0;font-size:11px;color:#ecebe8}
.placeholder{color:#92918d}
.contact{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:36px;padding-bottom:13px;border-bottom:1px solid #a7a8a3;color:#eeeae3;text-decoration:none;font-size:12px}
.contact:hover{color:#e6c5a6;border-color:#e6c5a6}
.contact span{font-size:19px;line-height:0}
.info-navigation{margin-top:31px;display:flex;align-items:center;gap:20px}
.info-navigation button{padding:10px 0;background:none;border:0;color:#c5c5c2;font-size:10px;letter-spacing:.14em;cursor:pointer}
.info-navigation button:hover{color:#fff}
.info-navigation span{height:15px;width:1px;background:rgba(255,255,255,.24)}
.close{position:absolute;right:38px;top:30px;pointer-events:auto;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(18,18,18,.3);width:47px;height:47px;cursor:pointer;display:grid;place-items:center;transition:transform .45s var(--ease),background .25s}
.close:hover{transform:rotate(90deg);background:rgba(255,255,255,.15)}
.close span{position:absolute;width:17px;height:1px;background:#fff;transform:rotate(45deg)}
.close span+span{transform:rotate(-45deg)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.noscript{position:absolute;z-index:20;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;background:#151717;color:white}
.noscript img{max-width:80vw;max-height:65vh;object-fit:contain}
@media(max-width:900px){.info-copy{left:64%;width:31%}.info h1{font-size:clamp(43px,6.2vw,69px)}.info-kicker{margin-bottom:20px}.info-description{line-height:1.62}.info dl div{grid-template-columns:105px 1fr}}
@media(max-width:700px){
 .hud{left:15px;right:15px;bottom:max(13px,env(safe-area-inset-bottom))}
 .hud-count{display:none}
 .hud-left{font-size:9px;letter-spacing:.08em}
 .hud-actions{padding:4px 6px;gap:4px}
 .hud-actions button{font-size:9px;letter-spacing:.04em;padding:9px 6px}
 .hud-actions button span{margin-left:3px;font-size:13px}
 .tile .tile-caption{left:13px;bottom:14px;right:12px}
 .tile-caption strong{font-size:25px}
 .tile .tile-corner{top:10px;right:10px;width:24px;height:24px;font-size:13px}
 .info-copy{left:6%;width:88%;bottom:max(18px,env(safe-area-inset-bottom));top:auto;max-height:40%;transform:translateY(18px)}
 body.is-open .info-copy{transform:translateY(0)}
 .info-kicker{display:none}.info-category{font-size:9px;margin-bottom:8px}
 .info h1{font-size:clamp(35px,9vw,53px);margin-bottom:8px}
 .info-description{font-size:11px;line-height:1.48;margin-bottom:13px}
 .info-line{margin-bottom:12px}
 .info dl{gap:7px}.info dl div{grid-template-columns:118px 1fr}
 .info dt{font-size:8px}.info dd{font-size:10px}
 .contact{margin-top:15px;padding-bottom:9px}
 .info-navigation{margin-top:13px}
 .close{top:max(14px,env(safe-area-inset-top));right:17px;width:42px;height:42px}
}
@media(max-width:370px){.hud-left{font-size:8px}.hud-actions button{font-size:8px}}
@media(max-height:570px) and (min-width:701px){.info h1{font-size:50px;margin-bottom:12px}.info-description{line-height:1.5;margin-bottom:12px}.info dl{gap:7px}.info-kicker{margin-bottom:12px}.contact{margin-top:12px}.info-navigation{margin-top:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tile img{transform:none!important}}

/* AETHER: PIGMENT + FLOW */
:root{--ink:#160f1e;--text:#fbf1e8;--muted:#c7b8c1}
html,body,.app{background:#160f1e;color:var(--text)}
.ambient{
 background:
 radial-gradient(ellipse 54% 62% at 53% 38%,rgba(142,65,96,.24) 0%,transparent 79%),
 radial-gradient(ellipse 51% 77% at 9% 6%,rgba(100,62,121,.23) 0%,transparent 78%),
 radial-gradient(ellipse 46% 75% at 91% 90%,rgba(55,73,113,.24) 0%,transparent 75%),
 linear-gradient(132deg,#281527 0%,#261c2f 42%,#121b28 78%,#0d151f 100%);
}
.ambient:after{
 background:radial-gradient(ellipse 75% 80% at 50% 51%,transparent 51%,rgba(5,5,13,.31) 100%),
 radial-gradient(ellipse 23% 36% at 64% 18%,rgba(245,171,125,.073),transparent 80%);
}
.canvas{--flow-x:0px;--flow-y:0px}
.tile{border:0;background:#251d29;box-shadow:0 5px 12px rgba(10,5,16,.15)}
.tile:after{border:0!important;display:none!important}
.tile img{
 transform:translate3d(var(--flow-x),var(--flow-y),0) scale(1.085);
 scale:1;filter:saturate(1.02) contrast(1.045);
 transition:scale .75s var(--ease),filter .55s ease;
}
.tile:hover img,.tile:focus-visible img{
 transform:translate3d(var(--flow-x),var(--flow-y),0) scale(1.085);
 scale:1.055;filter:saturate(1.11) contrast(1.05)
}
.tile .shade{background:linear-gradient(0deg,rgba(15,8,21,.76),rgba(15,8,21,.12) 47%,transparent 76%)}
.tile-caption small{color:#ead6c6}
.hud-actions{background:rgba(29,16,33,.77);border-color:rgba(237,208,200,.24);box-shadow:0 12px 30px rgba(7,5,12,.2)}
.hud-actions button:hover{color:#f0b99d}
.hud-left{color:#f5e7e2}.hud-count{color:#d0b6c0}
.status-dot{background:#f3ad89;box-shadow:0 0 0 4px rgba(243,173,137,.15)}
.veil{background:rgba(11,8,18,.85)}
.info-category{color:#eeb5a1}
.contact:hover{color:#f0b99d;border-color:#f0b99d}
@media(prefers-reduced-motion:reduce){
 .tile img,.tile:hover img,.tile:focus-visible img{transform:scale(1.005)!important;scale:1!important}
}

/* AETHER / Unified art-viewer transitions */
.focus-image{background:transparent;box-shadow:none;overflow:hidden}
.focus-image img{object-fit:contain}
.focus-image .focus-ghost{
 position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;
 object-fit:contain;opacity:0;z-index:2;pointer-events:none;will-change:opacity;
}
.veil{background:rgba(11,8,18,.57);backdrop-filter:blur(2.5px) saturate(.83);-webkit-backdrop-filter:blur(2.5px) saturate(.83)}
body.is-open .veil{opacity:1}
@media(max-width:700px){.veil{backdrop-filter:blur(2px) saturate(.83);-webkit-backdrop-filter:blur(2px) saturate(.83)}}

/* AETHER / Light-gallery art direction and single-image navigation */
:root{color-scheme:light;--ink:#eee6da;--text:#24201e;--muted:#716860}
html,body,.app{background:#eee6da;color:#24201e}
.ambient{
 background:
 radial-gradient(ellipse 41% 56% at 17% 27%,rgba(247,198,162,.47) 0%,transparent 79%),
 radial-gradient(ellipse 50% 68% at 83% 21%,rgba(206,220,217,.56) 0%,transparent 78%),
 radial-gradient(ellipse 57% 67% at 76% 83%,rgba(226,195,180,.45) 0%,transparent 72%),
 linear-gradient(115deg,#f8eee2 0%,#f0e9dc 42%,#e7e9e3 76%,#ece1d6 100%);
}
.ambient:after{
 background:radial-gradient(ellipse 72% 77% at 50% 50%,transparent 55%,rgba(131,112,98,.08) 100%);
}
.edge-grain{opacity:.06}
.tile{background:#dfd6cb;box-shadow:0 6px 20px rgba(84,66,49,.12)}
.tile img{filter:saturate(1.025) contrast(1.02)}
.tile:hover img,.tile:focus-visible img{filter:saturate(1.10) contrast(1.035)}
.tile .shade{background:linear-gradient(0deg,rgba(23,17,21,.80),rgba(23,17,21,.10) 50%,transparent 78%)}
.hud-left{color:#38332e;text-shadow:none}
.hud-count{color:#7d726d}
.status-dot{background:#ad7257;box-shadow:0 0 0 4px rgba(173,114,87,.15)}
.hud-actions{background:rgba(255,251,246,.78);border:1px solid rgba(92,77,63,.18);box-shadow:0 8px 24px rgba(81,63,50,.10)}
.hud-actions button{color:#2f2c29}
.hud-actions button:hover{color:#a85e42}
.hud-rule{background:rgba(82,67,55,.25)}
.veil{background:rgba(249,244,235,.72);backdrop-filter:blur(3px) saturate(.9);-webkit-backdrop-filter:blur(3px) saturate(.9)}
body.is-open .veil{opacity:1}
.focus-image{background:transparent;box-shadow:none;overflow:hidden}
.focus-image img{object-fit:contain}
.focus-image #focus-photo{opacity:1;will-change:opacity,transform;transform:translate3d(0,0,0) scale(1);backface-visibility:hidden}
.focus-image .focus-ghost{display:none!important}
.info{color:#24201e}
.info h1{color:#28211e}
.info-kicker{color:#786e67}
.info-category{color:#a36e50}
.info-description{color:#655d58}
.info-line{background:rgba(75,60,49,.23)}
.info dt{color:#81766e}
.info dd{color:#302b27}
.placeholder{color:#8c827b}
.contact{color:#2a251f;border-color:rgba(56,48,40,.55)}
.contact:hover{color:#aa6946;border-color:#aa6946}
.info-navigation button{color:#65594f}
.info-navigation button:hover{color:#a05b3e}
.info-navigation span{background:rgba(74,58,44,.24)}
.close{border:1px solid rgba(72,58,47,.34);background:rgba(250,245,236,.74)}
.close:hover{background:rgba(233,221,207,.95)}
.close span{background:#342c25}
@media(max-width:700px){.veil{background:rgba(249,244,235,.80);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}
@media(prefers-reduced-motion:reduce){.focus-image #focus-photo{will-change:auto}}

/* AETHER / SOFT DAYLIGHT — weighted photographic surfaces */
:root{
 color-scheme:light;
 --ink:#f5f1e9;
 --text:#292522;
 --muted:#655e55;
}
html,body,.app{background:#f5f1e9;color:#292522}
.ambient{
 background:
 radial-gradient(ellipse 38% 48% at 12% 24%,rgba(240,192,166,.31),transparent 78%),
 radial-gradient(ellipse 51% 66% at 88% 20%,rgba(207,224,214,.43),transparent 76%),
 radial-gradient(ellipse 56% 66% at 73% 90%,rgba(229,208,190,.36),transparent 76%),
 linear-gradient(128deg,#fbf8f2 1%,#f2ece2 44%,#ecefe8 75%,#f9f2e9 100%);
}
.ambient:after{
 background:radial-gradient(ellipse 72% 75% at 50% 50%,transparent 51%,rgba(135,113,87,.075) 100%);
}
.edge-grain{opacity:.04}
.tile{
 border:0!important;
 outline-offset:5px;
 background:#ded7cc;
 box-shadow:
  0 2px 3px rgba(80,56,38,.13),
  0 9px 15px rgba(77,55,39,.16),
  0 24px 36px rgba(87,61,42,.13),
  0 42px 70px rgba(89,65,43,.075);
 transition:box-shadow .55s var(--ease),filter .4s ease;
}
.tile:hover,.tile:focus-visible{
 box-shadow:
  0 3px 6px rgba(69,49,34,.16),
  0 14px 24px rgba(70,51,37,.21),
  0 35px 54px rgba(72,52,40,.16),
  0 70px 110px rgba(77,55,37,.11);
 filter:brightness(1.022);
}
.tile:after{
 content:"";display:block!important;inset:0;position:absolute;pointer-events:none;
 border:0!important;z-index:1;opacity:.68;
 background:linear-gradient(132deg,rgba(255,255,255,.15),transparent 24%,transparent 74%,rgba(20,15,13,.07));
}
.tile-caption small{color:#f2e5da}
.hud-left{color:#393129;text-shadow:none}
.hud-count{color:#695e55}
.hud-actions{background:rgba(255,252,245,.86);border:1px solid rgba(72,58,44,.18);box-shadow:0 5px 18px rgba(88,67,50,.12)}
.hud-actions button{color:#30271f}
.hud-actions button:hover{color:#955239}
.hud-rule{background:rgba(69,54,42,.26)}
.status-dot{background:#9e5b43;box-shadow:0 0 0 4px rgba(157,90,67,.13)}
.veil{background:rgba(250,248,241,.68);backdrop-filter:blur(2.5px) saturate(.9);-webkit-backdrop-filter:blur(2.5px) saturate(.9)}
.info{color:#2b241e}
.info h1{color:#2c231d}
.info-kicker{color:#665c52}
.info-category{color:#8f4d35}
.info-description{color:#51483f}
.info-line{background:rgba(79,62,49,.26)}
.info dt{color:#6d635a}
.info dd{color:#382f28}
.placeholder{color:#7c7067}
.contact{color:#382e26;border-color:rgba(62,48,37,.56)}
.contact:hover{color:#9e523c;border-color:#9e523c}
.info-navigation button{color:#51483f}
.info-navigation button:hover{color:#98543c}
.info-navigation span{background:rgba(80,60,46,.27)}
.close{background:rgba(253,250,243,.89);border-color:rgba(75,58,45,.34);box-shadow:0 6px 20px rgba(72,54,40,.12)}
.close span{background:#30251f}
.close:hover{background:#f2e7db}
.focus-image{box-shadow:none}
@media(max-width:700px){
 .veil{background:rgba(250,248,241,.80);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
 .tile{box-shadow:0 3px 7px rgba(70,49,35,.15),0 15px 27px rgba(69,48,33,.15)}
}
@media(prefers-reduced-motion:reduce){
 .tile{transition:none}
}

/* AETHER V9 — kinetic photographic relief + readable daylight typography */
.viewport{perspective:1700px;perspective-origin:50% 50%}
.canvas{transform-style:preserve-3d}
.tile{
 --elevation:0;
 transform-style:preserve-3d;
 transform-origin:50% 50%;
 will-change:auto;
 backface-visibility:hidden;
 box-shadow:
  0 calc(2px + var(--elevation) * 3px) calc(5px + var(--elevation) * 6px) rgba(84,61,44,.16),
  0 calc(10px + var(--elevation) * 14px) calc(24px + var(--elevation) * 24px) rgba(91,66,48,.16),
  0 calc(24px + var(--elevation) * 32px) calc(46px + var(--elevation) * 36px) rgba(98,77,58,.11);
 transition:filter .35s ease;
}
.tile[data-zone="crest"]{
 box-shadow:0 5px 8px rgba(64,43,28,.18),0 25px 44px rgba(69,49,35,.21),0 64px 95px rgba(80,57,37,.17);
}
.tile:hover,.tile:focus-visible{
 box-shadow:0 5px 10px rgba(69,49,34,.20),0 28px 51px rgba(65,46,32,.25),0 70px 114px rgba(71,52,36,.16);
}
.tile img{filter:saturate(1.06) contrast(1.035);backface-visibility:hidden}
.app,.info{color:#241c17}
.info h1{color:#211914}
.info-kicker{color:#51453d}
.info-category{color:#87432c}
.info-description{color:#3f352d}
.info dt{color:#51473e}
.info dd{color:#26201a}
.placeholder{color:#62564c}
.info-line{background:rgba(48,35,26,.27)}
.info-navigation button{color:#3b3028}
.info-navigation button:hover{color:#8e472e}
.contact{color:#241c17;border-color:rgba(47,34,24,.56)}
.contact:hover{color:#904e35}
.hud-left{color:#2a211b;background:rgba(255,250,243,.82);border:1px solid rgba(74,53,39,.17);padding:12px 16px;box-shadow:0 7px 24px rgba(73,56,40,.11);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hud-count{color:#594b42}
.hud-actions{background:rgba(255,250,243,.90);border-color:rgba(75,52,36,.23)}
.hud-actions button{color:#2a211b;font-weight:600}
.hud-rule{background:rgba(75,52,36,.27)}
.info-copy{padding-right:5px}
.focus-image{background:transparent;box-shadow:none}
.focus-image #focus-photo{will-change:opacity,transform}
@media(max-width:700px){
 .hud-left{padding:10px 11px}
 .viewport{perspective:1400px}
 .info h1{color:#211914}
}
@media(prefers-reduced-motion:reduce){
 .tile{transform:none!important;transition:none!important}
}

/* AETHER / clean image preview + stronger daylight reading contrast */
.focus,.focus-image,.focus-image #focus-photo{background:transparent!important}
.focus-image{box-shadow:none!important}
.info{color:#1d1611}
.info h1{color:#16110d;text-shadow:0 1px 0 rgba(255,255,255,.19)}
.info-kicker{color:#392e25}
.info-category{color:#74351f;font-weight:600}
.info-description{color:#2c231d;font-weight:500}
.info dt{color:#43362d;font-weight:600}
.info dd{color:#1e1712;font-weight:500}
.info .placeholder{color:#53453a}
.info-line{background:rgba(52,34,22,.35)}
.info-navigation button{color:#2c2119;font-weight:600}
.info-navigation button:hover{color:#7a381f}
.contact{color:#1d1611;font-weight:600;border-color:rgba(53,34,22,.72)}
.contact:hover{color:#843c21;border-color:#843c21}
.tile-caption strong{
 color:#fffaf5;
 text-shadow:0 2px 10px rgba(0,0,0,.45),0 1px 2px rgba(0,0,0,.4);
}
.tile-caption small{color:#fff7ec;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.tile .shade{background:linear-gradient(0deg,rgba(13,10,10,.82) 0%,rgba(13,10,10,.24) 45%,transparent 75%)}

/* FINAL AUDIT / readable controls, controlled depth, visible focus */
:root{--focus-ink:#7d3c28}
button:focus-visible,a:focus-visible,.viewport:focus-visible,.tile:focus-visible{
 outline:2px solid var(--focus-ink);
 outline-offset:4px
}
.tile:focus-visible{outline-width:3px}
.info h1{color:#17110d;font-weight:400}
.info-description{color:#30251e;font-weight:500;line-height:1.72}
.info-kicker{color:#382b22}
.info-category{color:#703019}
.info dt{color:#42342a}
.info dd{color:#201812}
.info-navigation button{
 min-height:44px;
 display:inline-flex;
 align-items:center;
 padding:10px 2px;
}
.contact{min-height:44px}
.hud-actions button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.close{box-shadow:0 5px 19px rgba(73,55,38,.13);border:1px solid rgba(69,44,29,.42)}
.tile-caption strong{font-size:clamp(22px,2.5vw,34px);line-height:1.08}
.tile-caption small{font-size:10px;letter-spacing:.12em;line-height:1.35}
.hud-count{color:#4a3c31}
.hud-left{border-color:rgba(75,52,34,.24)}
.hud-actions{border-color:rgba(75,52,34,.24)}
@media(max-width:700px){
 .info-category{font-size:10px}
 .info-description{font-size:12px;line-height:1.5}
 .info dt{font-size:9px;letter-spacing:.09em}
 .info dd{font-size:11px}
 .info-navigation{margin-top:8px}
 .info-navigation button{font-size:10px;min-height:44px}
 .contact{font-size:12px;min-height:44px}
 .hud-actions button{min-height:44px;font-size:9px}
 .hud-left{min-height:44px;display:flex;align-items:center}
}
@media(max-width:380px){
 .hud-left{padding:8px 9px}
 .hud-actions{padding:2px 4px}
 .hud-actions button{padding:8px 5px}
 .info-copy{max-height:43%}
}
@media(prefers-reduced-motion:reduce){
 .tile img{will-change:auto}
}


/* Modal isolation: the gallery is visible scenery, never an interactive
   layer, until the image has fully returned to its original position. */
body:is(.is-open,.is-closing) .viewport,
body:is(.is-open,.is-closing) .hud,
body:is(.is-open,.is-closing) .hud * {
 pointer-events:none!important;
}
body:is(.is-open,.is-closing) .veil{
 pointer-events:auto!important;
}
body:is(.is-open,.is-closing) .tile,
body:is(.is-open,.is-closing) .tile *{
 pointer-events:none!important;
}
body:is(.is-open,.is-closing) .tile img{
 scale:1!important;
 filter:saturate(1.06) contrast(1.035)!important;
}
body:is(.is-open,.is-closing) .tile .shade,
body:is(.is-open,.is-closing) .tile .tile-corner{
 opacity:0!important;
}
body:is(.is-open,.is-closing) .tile .tile-caption{
 opacity:0!important;
 transform:translateY(9px)!important;
}
body:is(.is-open,.is-closing) .tile:hover{
 filter:none!important;
}
body.is-closing .hud{
 opacity:0;
}
body.is-closing .info{
 pointer-events:none!important;
}
