/* BOND v43 shared system. Loaded last so every page uses one button, glass and phone-photo treatment
   (review F26-F30; founder: floating glass buttons, green highlight outline, one consistent site). */
:root{--bond-emerald:#16714f;--bond-emerald-deep:#0e5a3d;--bond-emerald-bright:#23845e;--bond-glow:#3fbf86;--bond-ink:#153d2b;--bond-ivory:#ffffff;--bond-glass:rgba(255,255,255,.62);--bond-ring:0 0 0 3px rgba(63,191,134,.22)}

/* Primary: emerald with the soft green highlight ring. */
main :is(a,button).button.primary,main .rb-button.primary,main button[type=submit].button,.bond-shop .button.primary,dialog .button.primary,dialog .rb-button.primary{
 background:linear-gradient(140deg,var(--bond-emerald-bright),var(--bond-emerald-deep));color:#fff;border:1px solid rgba(120,226,170,.6);border-radius:999px;
 box-shadow:var(--bond-ring),0 10px 26px rgba(14,90,61,.26),inset 0 1px 0 rgba(255,255,255,.22);
 transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
main :is(a,button).button.primary:hover,main .rb-button.primary:hover,.bond-shop .button.primary:hover,dialog .button.primary:hover{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(63,191,134,.3),0 16px 32px rgba(14,90,61,.3),inset 0 1px 0 rgba(255,255,255,.26)}
main :is(a,button).button.primary:active,main .rb-button.primary:active,.bond-shop .button.primary:active,dialog .button.primary:active{transform:translateY(0) scale(.98);filter:brightness(.96)}

/* Secondary: floating glass with a thin emerald edge. */
main :is(a,button).button:not(.primary):not(.download-app),main .rb-button:not(.primary),.bond-shop .button:not(.primary),dialog .rb-button:not(.primary){
 background:var(--bond-glass);color:#124630;border:1px solid rgba(22,113,79,.42);border-radius:999px;
 -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
 box-shadow:0 8px 22px rgba(19,61,43,.1),inset 0 1px 0 rgba(255,255,255,.85);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
main :is(a,button).button:not(.primary):not(.download-app):hover,main .rb-button:not(.primary):hover,.bond-shop .button:not(.primary):hover{transform:translateY(-2px);background:rgba(255,255,255,.78);box-shadow:var(--bond-ring),0 12px 28px rgba(19,61,43,.14),inset 0 1px 0 rgba(255,255,255,.9)}
main :is(a,button).button:not(.primary):not(.download-app):active,main .rb-button:not(.primary):active{transform:scale(.98)}
/* Glass on dark photography stays light-on-dark. */
.v35-glass-button{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(160,235,195,.55)!important;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:0 10px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.25)!important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){main :is(a,button).button:not(.primary):not(.download-app),main .rb-button:not(.primary){background:var(--bond-ivory)}.v35-glass-button{background:rgba(18,60,43,.85)!important}}
main :is(a,button)[disabled].button,main .rb-button[disabled],main button[disabled]{transform:none!important;box-shadow:none!important;opacity:.55;cursor:not-allowed}

/* One focus treatment everywhere. */
main :is(a,button,summary,select,input,textarea):focus-visible,header :is(a,button,summary):focus-visible{outline:3px solid var(--bond-glow);outline-offset:3px}

/* Softer photo edges inside every phone demo; logos, icons and avatars keep their own shapes. */
:is(.rebuilt-phone,.fx-phone,.v40-play-device,.v42-device,.v35-home-phone,.letter-device,.phone-day) img:not([src*="bond-wordmark"]):not([src*="/icons/"]):not([src*="family-profile"]):not(.bond-glyph){border-radius:14px}
:is(.rebuilt-phone,.v42-device) .rb-bottom.app-tabs a.active,:is(.rebuilt-phone,.v42-device) .rb-bottom a.active{color:var(--bond-emerald);font-weight:600}
.v42-device .rb-bottom{display:flex;justify-content:space-around;align-items:center;gap:2px;padding:8px 6px 10px;border-top:1px solid #e3eae4;background:rgba(255,255,255,.96);position:sticky;bottom:0}
.v42-device .rb-bottom a{display:grid;justify-items:center;gap:3px;font-size:10px;color:#52635b;text-decoration:none;min-width:44px;min-height:44px;align-content:center}
.v42-device .rb-bottom img{width:22px;height:22px}

@media (prefers-reduced-motion:reduce){main :is(a,button).button,main .rb-button,.v35-glass-button{transition:none!important;transform:none!important}}
.v35-home-introduction>*{min-width:0}.v35-home-introduction .v35-home-phone,.v35-home-introduction .rebuilt-phone{max-width:100%}
.v35-home-phone{grid-template-columns:minmax(0,1fr)!important;max-width:100%}.v35-home-phone>*{min-width:0}
/* Home "Start anywhere" rail: one clean card per destination (labels were colliding with fixed-width thumbnails). */
.photographic-rail.cinema-rail{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important;padding:18px 20px 20px!important}
.photographic-rail .rail-intro{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;font-size:11px;letter-spacing:.14em;color:#52635b}
.photographic-rail .rail-intro b{font-size:17px;letter-spacing:0;color:var(--bond-ink)}
.photographic-rail>a{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:8px!important;border-radius:16px;min-width:0;text-decoration:none;color:var(--bond-ink);transition:transform .2s ease,background .2s ease}
.photographic-rail>a:hover{transform:translateY(-3px);background:rgba(255,255,255,.7)}
.photographic-rail .rail-preview{width:100%!important;height:auto!important;aspect-ratio:4/3;border-radius:12px;overflow:hidden}
.photographic-rail .rail-preview img{width:100%!important;height:100%!important;object-fit:cover;margin:0!important}
.photographic-rail>a>div{min-width:0}.photographic-rail b{font-size:15px}.photographic-rail small{font-size:12px;margin-top:3px;color:#52635b}
@media (max-width:1000px){.photographic-rail.cinema-rail{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:640px){.photographic-rail.cinema-rail{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px!important}
.photographic-rail .rail-intro{flex:0 0 100%;display:none}.photographic-rail>a{flex:0 0 46%;scroll-snap-align:start}}
@media (prefers-reduced-motion:reduce){.photographic-rail>a{transition:none}.photographic-rail>a:hover{transform:none}}
