:root{
    --bg:#050607;
    --panel:#101316;
    --panel2:#15191d;
    --line:#2d343b;
    --text:#f2f2f2;
    --muted:#b8bec6;
    --accent:#d7dee8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{min-height:100%}
body{
    background:linear-gradient(180deg,#050607,#11151a 55%,#050607);
    color:var(--text);
    font-family:'Orbitron',Arial,sans-serif;
    overflow-x:hidden;
}
body.effects-background-rotation{
    background-position:center;
    background-size:cover;
    background-attachment:fixed;
}
body.effects-background-rotation::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(5,6,7,.74);
    pointer-events:none;
    z-index:0;
}
.site-header,main,.site-footer{position:relative;z-index:1}
.site-header{
    position:fixed;
    top:0;left:0;right:0;
    background:rgba(5,6,7,.94);
    padding:16px 22px;
    text-align:center;
    z-index:1000;
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(10px);
}
.site-nav{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap}
.site-nav a{color:var(--accent);font-size:.95rem;text-decoration:none;letter-spacing:.08em;font-weight:700;transition:color .25s ease, transform .25s ease}
.site-nav a:hover{color:#fff;transform:translateY(-1px)}
.page-section{min-height:86vh;padding:132px 20px 72px;display:flex;align-items:center;justify-content:center;text-align:center}
.section-inner{width:min(1080px,94vw);margin:0 auto;padding:52px 32px;border-radius:20px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);box-shadow:0 20px 55px rgba(0,0,0,.42);position:relative;overflow:hidden}
.section-inner.narrow{width:min(850px,94vw)}
h1{font-size:clamp(2.45rem,6vw,4.3rem);line-height:1.08;letter-spacing:.05em;margin-bottom:20px;color:#fff}
h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.12;letter-spacing:.05em;margin-bottom:24px;color:#fff}
h3{font-size:1.5rem;margin:18px 0 8px;color:#fff}
h4{font-size:1rem;color:var(--muted);margin-bottom:10px}
p{font-size:clamp(1rem,1.8vw,1.35rem);line-height:1.7;margin:18px auto;max-width:880px;color:var(--muted)}
.glow-btn{display:none}
body.effects-disco-enabled .glow-btn{
    display:inline-block;
    appearance:none;
    border:1px solid rgba(215,222,232,.7);
    background:rgba(215,222,232,.1);
    color:#fff;
    padding:14px 30px;
    border-radius:999px;
    font-family:inherit;
    font-weight:900;
    letter-spacing:.06em;
    cursor:pointer;
    margin:22px;
    box-shadow:0 12px 34px rgba(0,0,0,.24);
    transition:transform .25s ease, background .25s ease;
}
body.effects-disco-enabled .glow-btn:hover{transform:translateY(-2px);background:rgba(215,222,232,.18)}
.crew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;align-items:stretch}
.char-card{opacity:1;transform:none;padding:26px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.char-card.visible{opacity:1;transform:translateY(0)}
body.effects-crew-pop-in .char-card{opacity:0;transform:translateY(34px);transition:opacity .7s ease, transform .7s ease, box-shadow .35s ease, border-color .35s ease}
body.effects-crew-pop-in .char-card.visible{opacity:1;transform:translateY(0)}
body.effects-corporate-motion .char-card{transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}
body.effects-corporate-motion .char-card:hover{transform:translateY(-6px);border-color:rgba(215,222,232,.55);box-shadow:0 18px 45px rgba(0,0,0,.34)}
.char-card img{width:100%;max-width:280px;border-radius:14px;border:1px solid var(--line);display:block;margin:0 auto 16px}
.crew-bio{font-size:.95rem;line-height:1.65;color:var(--muted)}
.audio-player{width:90%;max-width:560px;margin:28px auto;display:block}
.video-wrap{width:min(900px,92vw);aspect-ratio:16 / 9;margin:30px auto 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000}
.video-wrap iframe{width:100%;height:100%;display:block}
.site-footer{text-align:center;padding:26px 20px;background:#050607;color:var(--muted);border-top:1px solid var(--line);font-size:.9rem}
body.effects-corporate-motion .site-header{animation:smgHeaderSettle .8s ease both}
body.effects-corporate-motion .section-inner{animation:smgPanelRise .75s ease both}
body.effects-corporate-motion .section-inner::after{
    content:"";
    position:absolute;
    inset:-20% auto -20% -65%;
    width:42%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);
    transform:skewX(-14deg);
    animation:smgPanelSweep 7s ease-in-out infinite;
    pointer-events:none;
}
body.disco{animation:smgCorporatePulse 1.1s infinite alternate}
@keyframes smgHeaderSettle{from{transform:translateY(-18px);opacity:.65}to{transform:translateY(0);opacity:1}}
@keyframes smgPanelRise{from{transform:translateY(18px);opacity:.72}to{transform:translateY(0);opacity:1}}
@keyframes smgPanelSweep{0%,48%{left:-65%;opacity:0}58%{opacity:1}78%{left:125%;opacity:0}100%{left:125%;opacity:0}}
@keyframes smgCorporatePulse{from{filter:brightness(1)}to{filter:brightness(1.14) contrast(1.04)}}
@media (max-width:768px){.site-nav{gap:12px}.site-nav a{font-size:.78rem}.page-section{padding-top:122px}.section-inner{padding:34px 18px}}

/* Patch 04: corporate browser consistency layer. Keeps corporate backgrounds fixed, faint and non-stretched in Chrome/Edge. */
body.effects-background-rotation{
    background-image:none !important;
    background-attachment:initial !important;
    background-size:auto !important;
    background-position:initial !important;
    background-repeat:no-repeat !important;
}
.smg-bg-layer{
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
    opacity:.2;
    filter:saturate(.85) contrast(.85) brightness(.55);
    transform:translateZ(0);
    will-change:background-image;
}
body.effects-background-rotation::before{
    z-index:1;
    background:rgba(5,6,7,.8);
}
.site-header,main,.site-footer{position:relative;z-index:2}
body.effects-corporate-motion .char-card,
body.effects-corporate-motion.effects-crew-pop-in .char-card.visible{
    transition:opacity .7s ease, transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    will-change:transform;
}
body.effects-corporate-motion .char-card:hover,
body.effects-corporate-motion.effects-crew-pop-in .char-card.visible:hover{
    transform:translate3d(0,-6px,0) !important;
    border-color:rgba(215,222,232,.62);
    box-shadow:0 18px 45px rgba(0,0,0,.36);
}
body.effects-disco-enabled .glow-btn{display:inline-block !important}

/* Patch 05: admin-controlled background layer and contact wrapping. */
.smg-bg-layer{
    background-position:var(--smg-bg-position, center center) !important;
    background-repeat:var(--smg-bg-repeat, no-repeat) !important;
    background-size:var(--smg-bg-size, contain) !important;
    opacity:var(--smg-bg-layer-opacity, .2) !important;
    filter:var(--smg-bg-filter, saturate(.85) contrast(.85) brightness(.55)) !important;
}
body.effects-background-rotation::before{
    background:var(--smg-bg-overlay-color, rgba(5,6,7,.8)) !important;
}
h1,h2,h3,h4,p,.site-nav a,.site-footer{overflow-wrap:anywhere;word-break:normal}
.contact-section h2{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
body.smg-bg-scroll{position:relative}
body.smg-bg-scroll .smg-bg-layer{position:absolute !important;min-height:100%;height:100%}
body.smg-bg-fixed .smg-bg-layer{position:fixed !important}

/* Patch 08: Our Web Properties section. */
.properties-subtitle{margin-top:-.35rem;margin-bottom:2rem}
.properties-grid{display:grid;grid-template-columns:repeat(var(--smg-property-columns,3),minmax(0,1fr));gap:28px;align-items:stretch;margin-top:28px}
.property-card{opacity:1;transform:none;padding:26px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;min-height:100%}
.property-card.visible{opacity:1;transform:translateY(0)}
body.effects-crew-pop-in .property-card{opacity:0;transform:translateY(34px);transition:opacity .7s ease, transform .7s ease, box-shadow .35s ease, border-color .35s ease}
body.effects-crew-pop-in .property-card.visible{opacity:1;transform:translateY(0)}
body.effects-corporate-motion .property-card{transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;will-change:transform}
body.effects-corporate-motion .property-card:hover,body.effects-corporate-motion.effects-crew-pop-in .property-card.visible:hover{transform:translate3d(0,-6px,0) !important;border-color:rgba(215,222,232,.62);box-shadow:0 18px 45px rgba(0,0,0,.36)}
.property-image{width:100%;height:190px;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block;margin:0 auto 16px;background:#000}
.property-image-placeholder{width:100%;height:190px;border-radius:14px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#fff;font-size:1.65rem;background:rgba(255,255,255,.05)}
.property-description{font-size:.95rem;line-height:1.65;color:var(--muted);margin:10px auto 18px;max-width:100%}
.property-link{display:inline-block;margin-top:auto;text-decoration:none;border:1px solid rgba(215,222,232,.7);background:rgba(215,222,232,.1);color:#fff;padding:12px 20px;border-radius:999px;font-family:inherit;font-weight:900;letter-spacing:.06em;box-shadow:0 12px 34px rgba(0,0,0,.24);transition:transform .25s ease, background .25s ease}
.property-link:hover{transform:translateY(-2px);background:rgba(215,222,232,.18)}
@media(max-width:980px){.properties-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.properties-grid{grid-template-columns:1fr}.property-image,.property-image-placeholder{height:170px}}

/* Patch 09: background cross-dissolve transition. */
.smg-bg-layer{
    opacity:0 !important;
    transition-property:opacity;
    transition-duration:var(--smg-bg-transition, 2s);
    transition-timing-function:ease-in-out;
    will-change:opacity, background-image;
}
.smg-bg-layer.is-active{
    opacity:var(--smg-bg-layer-opacity, 1) !important;
}

/* Patch 12: public theme selector mini dashboard. */
.public-theme-chooser{
    margin:18px auto 0;
    display:grid;
    gap:12px;
    justify-items:center;
}
.public-theme-title{
    color:var(--muted);
    font-size:.85rem;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.public-theme-buttons{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}
.theme-choice-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:12px 20px;
    border-radius:999px;
    border:1px solid rgba(215,222,232,.55);
    background:rgba(215,222,232,.08);
    color:#fff;
    text-decoration:none;
    font-weight:900;
    letter-spacing:.06em;
    box-shadow:0 12px 30px rgba(0,0,0,.22);
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.theme-choice-btn:hover{transform:translateY(-2px);background:rgba(215,222,232,.16);border-color:rgba(255,255,255,.75)}
.theme-choice-btn.is-active{background:#d7dee8;color:#050607;border-color:#d7dee8;box-shadow:0 16px 36px rgba(0,0,0,.28)}
.theme-choice-btn.site-default-btn{font-size:.8rem;opacity:.9}
@media(max-width:680px){.public-theme-buttons{gap:9px}.theme-choice-btn{width:100%;max-width:280px}.public-theme-chooser{width:100%}}
