/* ==================== GLOBAL VARIABLES & RESET ==================== */
:root {
    --bg:#06080b;
    --panel:#10151c;
    --panel2:#171e27;
    --ink:#f5f7fb;
    --muted:#aeb8c5;
    --accent:#009dff;
    --accent2:#6ed4ff;
    --silver:#d9e1eb;
    --silver2:#9aa8ba;
    --line:#243243;
    --max:1180px;
    --radius:22px;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height:1.55;
}

a {
    color:inherit;
    text-decoration:none;
}

img {
    display:block;
    max-width:100%;
}

.wrap {
    width:min(var(--max),calc(100% - 40px));
    margin:auto;
}

.eyebrow {
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--accent);
}

h1,h2,h3 {
    margin:0;
    line-height:1.03;
    letter-spacing:-.03em;
}

h1 {
    font-size:clamp(3.2rem,8vw,7.6rem);
    text-transform:uppercase;
    font-style:italic;
}

h2 {
    font-size:clamp(2.2rem,4vw,4.7rem);
    text-transform:uppercase;
    font-style:italic;
}

h3 {
    font-size:1.28rem;
}

p {
    color:#d2d8e0;
}

/* ==================== HEADER & NAVIGATION ==================== */
.nav {
    position:fixed;
    z-index:50;
    inset:0 0 auto;
    background:rgba(5,8,12,.86);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.nav-inner {
    height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand {
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:1000;
    font-style:italic;
    font-size:1.4rem;
    letter-spacing:-.05em;
}

.brand-badge {
    width:38px;
    height:38px;
    border:3px solid var(--accent);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--accent);
    font-size:1rem;
    box-shadow:0 0 26px rgba(0,157,255,.25);
}

.brand strong {
    color:var(--accent);
}

.links {
    display:flex;
    align-items:center;
    gap:24px;
    font-weight:750;
    font-size:.9rem;
}

.links a:hover {
    color:var(--accent);
}

.cta,.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border-radius:999px;
    padding:13px 20px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-size:.82rem;
    border:1px solid transparent;
    transition:.2s;
}

.cta,.btn.primary {
    background:var(--accent);
    color:white;
    box-shadow:0 8px 35px rgba(0,157,255,.25);
}

.cta:hover,.btn.primary:hover {
    background:var(--accent2);
    transform:translateY(-1px);
}

.btn.ghost {
    border-color:#44586e;
    background:rgba(0,0,0,.25);
}

.btn.ghost:hover {
    border-color:var(--accent);
    color:var(--accent);
}

.menu {
    display:none;
    border:0;
    background:none;
    color:white;
    font-size:1.6rem;
}

/* ==================== HOMEPAGE HERO ==================== */
.hero {
    min-height:860px;
    display:grid;
    align-items:end;
    position:relative;
    overflow:hidden;
    background:#05070a;
}

.hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.65) 44%,rgba(0,0,0,.18) 74%,rgba(0,0,0,.58) 100%),linear-gradient(0deg,#080808 0%,transparent 38%),url('images/web/hero-blue-car-cropped.webp') center center/cover no-repeat;
    transform:scale(1.02);
}

.hero:after {
    content:"";
    position:absolute;
    inset:auto -5% 12% 38%;
    height:5px;
    background:var(--accent);
    transform:rotate(-3deg);
    box-shadow:0 0 25px var(--accent);
}

.hero-content {
    position:relative;
    z-index:2;
    padding:155px 0 100px;
    max-width:850px;
}

.hero .sub {
    font-size:clamp(1rem,2vw,1.35rem);
    max-width:680px;
    color:#d6d6d6;
    margin:26px 0;
}

.orange {
    color:var(--accent);
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

/* ==================== TRUST BAR ==================== */
.trustbar {
    border-block:1px solid var(--line);
    background:#0a1118;
}

.trustgrid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
}

.trustitem {
    padding:26px 20px;
    border-right:1px solid var(--line);
}

.trustitem:last-child {
    border:0;
}

.trustitem b {
    display:block;
    font-size:1.1rem;
}

.trustitem span {
    font-size:.82rem;
    color:var(--muted);
}

/* ==================== GENERAL SECTIONS & CARDS ==================== */
section {
    padding:100px 0;
}

.section-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:38px;
}

.section-head p {
    max-width:580px;
    margin:0;
}

.cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.card {
    background:linear-gradient(180deg,#111924,#0c1118);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px;
    min-height:270px;
    position:relative;
    overflow:hidden;
}

.card .num {
    font-size:4rem;
    font-weight:1000;
    color:#213246;
    position:absolute;
    right:20px;
    top:10px;
}

.card .icon {
    font-size:1.8rem;
    color:var(--silver);
    margin-bottom:55px;
}

.card h3 {
    text-transform:uppercase;
}

.card p {
    margin-bottom:0;
}

.split {
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:44px;
    align-items:center;
}

.image-frame {
    position:relative;
}

.image-frame img {
    border-radius:var(--radius);
    width:100%;
    height:620px;
    object-fit:cover;
}

.image-frame:before {
    content:"";
    position:absolute;
    left:-14px;
    bottom:-14px;
    width:55%;
    height:42%;
    border-left:3px solid var(--accent);
    border-bottom:3px solid var(--accent);
    z-index:2;
}

.bulletgrid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:28px 0;
}

.bullet {
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#0f151d;
    font-weight:800;
}

.bullet:before {
    content:"✓";
    color:var(--silver);
    margin-right:10px;
}

/* ==================== DARK CONTENT BANDS & FEATURE IMAGES ==================== */
.darkband {
    background:#0b1016;
    border-block:1px solid var(--line);
}

.featuregrid {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
}

.feature-photo {
    min-height:560px;
    border-radius:var(--radius);
    position:relative;
    overflow:hidden;
    background:#0f151d;
}

.feature-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    inset:0;
}

.overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 65%);
}

.feature-copy {
    position:absolute;
    left:28px;
    right:28px;
    bottom:26px;
    z-index:2;
}

.stack {
    display:grid;
    grid-template-rows:1fr 1fr;
    gap:18px;
}

.small-photo {
    position:relative;
    min-height:270px;
    border-radius:var(--radius);
    overflow:hidden;
}

.small-photo img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}

/* ==================== REVIEWS ==================== */
.reviews {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.review {
    padding:30px;
    background:#111824;
    border:1px solid var(--line);
    border-radius:var(--radius);
}

.stars {
    color:#ffd46b;
    letter-spacing:.12em;
}

.review blockquote {
    font-size:1.16rem;
    color:#f5f7fb;
    margin:18px 0;
}

.review cite {
    font-style:normal;
    color:var(--muted);
}

/* ==================== GALLERY ==================== */
.gallery {
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:12px;
}

.gallery a {
    overflow:hidden;
    border-radius:16px;
    background:#0f151d;
    min-height:230px;
}

.gallery a:nth-child(1),.gallery a:nth-child(6) {
    grid-column:span 7;
}

.gallery a:nth-child(2),.gallery a:nth-child(5) {
    grid-column:span 5;
}

.gallery a:nth-child(3),.gallery a:nth-child(4) {
    grid-column:span 6;
}

.gallery img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s;
}

.gallery a:hover img {
    transform:scale(1.035);
}

/* ==================== CALL TO ACTION ==================== */
.cta-band {
    padding:72px 0;
    background:linear-gradient(115deg,#006cc9,#00a6ff 55%,#c7d3e2);
    position:relative;
    overflow:hidden;
}

.cta-band:after {
    content:"OZTEK";
    position:absolute;
    right:-3%;
    top:-45%;
    font-size:17rem;
    font-weight:1000;
    font-style:italic;
    color:rgba(0,0,0,.11);
    line-height:1;
}

.cta-flex {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    position:relative;
    z-index:2;
}

.cta-band p {
    color:#fff;
}

.cta-band .btn {
    background:#0a0a0a;
    color:white;
}

/* ==================== FOOTER ==================== */
.footer {
    padding:65px 0 30px;
    background:#05070a;
}

.footer-grid {
    display:grid;
    grid-template-columns:1.2fr .8fr .8fr;
    gap:40px;
}

.footer h3 {
    font-size:.95rem;
    text-transform:uppercase;
    color:var(--silver);
    margin-bottom:16px;
}

.footer a,.footer p {
    color:#aeb8c5;
}

.footer a:hover {
    color:white;
}

.socials {
    display:flex;
    gap:10px;
    margin-top:20px;
}

.socials a {
    width:42px;
    height:42px;
    border:1px solid #35383c;
    border-radius:50%;
    display:grid;
    place-items:center;
}

.copyright {
    margin-top:40px;
    padding-top:24px;
    border-top:1px solid #222;
    color:#8d9bad;
    font-size:.82rem;
}

/* ==================== INNER PAGE HERO ==================== */
.pagehero {
    padding:165px 0 80px;
    background:radial-gradient(circle at 80% 20%,rgba(0,157,255,.22),transparent 35%),#0c0d0f;
    border-bottom:1px solid var(--line);
}

.pagehero p {
    max-width:700px;
    font-size:1.1rem;
}

/* ==================== SERVICES PAGE ==================== */
.service-list {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.service-row {
    border:1px solid var(--line);
    border-radius:18px;
    padding:24px;
    background:#0f151d;
}

.service-row h3 {
    text-transform:uppercase;
    margin-bottom:10px;
}

.service-row ul {
    padding-left:18px;
    color:#d2d8e0;
}

.service-row li::marker {
    color:var(--silver);
}

/* ==================== TUNING SPECS ==================== */
.spec {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.spec div {
    border:1px solid var(--line);
    border-radius:16px;
    padding:22px;
    background:#0f151d;
}

.spec b {
    display:block;
    color:var(--silver);
    text-transform:uppercase;
    margin-bottom:6px;
}

/* ==================== CONTACT & ENQUIRY FORM ==================== */
.contact-grid {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:30px;
}

.contact-card {
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px;
    background:#0f151d;
}

.contact-list {
    display:grid;
    gap:14px;
    margin-top:25px;
}

.contact-list a,.contact-list div {
    padding:15px;
    border-bottom:1px solid #292b2e;
}

.contact-list span {
    display:block;
    font-size:.75rem;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.1em;
}

.form {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.form .full {
    grid-column:1/-1;
}

.form label {
    display:block;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    color:#aaa;
    margin:0 0 7px;
}

.form input,.form select,.form textarea {
    width:100%;
    background:#070b10;
    color:white;
    border:1px solid #34373c;
    border-radius:12px;
    padding:15px;
    font:inherit;
}

.form textarea {
    min-height:150px;
    resize:vertical;
}

.form input:focus,.form select:focus,.form textarea:focus {
    outline:2px solid rgba(0,157,255,.35);
    border-color:var(--accent);
}

.note {
    font-size:.78rem;
    color:#8d9bad;
}

/* ==================== GALLERY LIGHTBOX ==================== */
.lightbox {
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    z-index:100;
    align-items:center;
    justify-content:center;
    padding:28px;
}

.lightbox.open {
    display:flex;
}

.lightbox img {
    max-height:90vh;
    max-width:94vw;
    border-radius:14px;
}

.lightbox button {
    position:absolute;
    right:24px;
    top:20px;
    border:0;
    background:none;
    color:white;
    font-size:2rem;
}

.mobilecall {
    display:none;
}

/* ==================== TABLET / MOBILE ==================== */
@media (max-width: 900px) {
    .links {
        display:none;
    }

    .menu {
        display:block;
    }

    .nav.open .links {
        display:flex;
        position:absolute;
        top:78px;
        left:0;
        right:0;
        background:#081019;
        padding:26px;
        flex-direction:column;
        align-items:flex-start;
        border-bottom:1px solid var(--line);
    }

    .nav .cta {
        display:none;
    }

    .hero {
        min-height:760px;
    }

    .hero:before {
        background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.5)),linear-gradient(0deg,#080808,transparent 48%),url('images/web/hero-blue-car-cropped.webp') center center/cover no-repeat;
    }

    .trustgrid {
        grid-template-columns:1fr 1fr;
    }

    .trustitem:nth-child(2) {
        border-right:0;
    }

    .trustitem:nth-child(-n+2) {
        border-bottom:1px solid var(--line);
    }

    .cards,.split,.featuregrid,.reviews,.service-list,.contact-grid {
        grid-template-columns:1fr;
    }

    .image-frame img {
        height:480px;
    }

    .spec {
        grid-template-columns:1fr 1fr;
    }

    .footer-grid {
        grid-template-columns:1fr 1fr;
    }

    .footer-grid>div:first-child {
        grid-column:1/-1;
    }

    .cta-flex {
        align-items:flex-start;
        flex-direction:column;
    }

    .gallery a {
        grid-column:span 6!important;
    }

    .mobilecall {
        display:flex;
        position:fixed;
        z-index:45;
        left:14px;
        right:14px;
        bottom:14px;
        background:var(--accent);
        color:#fff;
        border-radius:999px;
        padding:15px;
        justify-content:center;
        font-weight:950;
        text-transform:uppercase;
        box-shadow:0 10px 40px rgba(0,0,0,.45);
    }
}

@media (max-width: 600px) {
    .wrap {
        width:min(100% - 28px,var(--max));
    }

    .hero-content {
        padding-bottom:78px;
    }

    .hero h1 {
        font-size:clamp(3.1rem,16vw,5.8rem);
    }

    section {
        padding:75px 0;
    }

    .section-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .cards {
        grid-template-columns:1fr;
    }

    .bulletgrid,.spec,.form {
        grid-template-columns:1fr;
    }

    .form .full {
        grid-column:auto;
    }

    .gallery a {
        grid-column:1/-1!important;
        min-height:260px;
    }

    .trustgrid {
        grid-template-columns:1fr;
    }

    .trustitem {
        border-right:0!important;
        border-bottom:1px solid var(--line)!important;
    }

    .footer-grid {
        grid-template-columns:1fr;
    }

    .image-frame img {
        height:390px;
    }

    .pagehero {
        padding-top:135px;
    }

    .cta-band:after {
        font-size:10rem;
    }
}

/* ==================== CONTACT FORM STATUS ==================== */
.form-honeypot {
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}

.form-status {
    min-height:1.4em;
    margin:14px 0 0;
    font-weight:800;
}

.form-status.success {
    color:#53c46b;
}

.form-status.error {
    color:#ff6b6b;
}

.form button:disabled {
    opacity:.65;
    cursor:not-allowed;
}


.brand.brand-logo {
    gap:0;
}

.brand-logo img {
    width:auto;
    height:56px;
    object-fit:contain;
}

.footer .brand-logo img {
    height:70px;
}

.cta, .btn.primary {
    background:linear-gradient(135deg,#007de5,#12adff);
    color:white;
    box-shadow:0 8px 35px rgba(0,157,255,.24);
}

.cta:hover, .btn.primary:hover {
    background:linear-gradient(135deg,#0e97ff,#7ed6ff);
}

.btn.ghost:hover {
    border-color:var(--accent);
    color:var(--silver);
}

.pagehero {
    background:radial-gradient(circle at 80% 20%,rgba(0,157,255,.22),transparent 35%),#0c0f13;
}

.service-showcase {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:18px;
    margin-top:24px;
}

.service-showcase .feature-photo,
.service-showcase .small-photo {
    min-height:250px;
}

.image-link {
    display:block;
}

.image-link img {
    width:100%;
    height:100%;
}

@media (max-width: 900px) {
    .brand-logo img {
        height:50px;
    }
    .footer .brand-logo img {
        height:62px;
    }
    .service-showcase {
        grid-template-columns:1fr;
    }
}

@media (max-width: 600px) {
    .brand-logo img {
        height:44px;
    }
    .nav-inner {
        height:84px;
    }
}

/* ==================== FINAL VISUAL POLISH ==================== */
body {
    background:
        radial-gradient(circle at 50% -10%, rgba(0,157,255,.05), transparent 34%),
        var(--bg);
}

.nav {
    background:rgba(4,7,11,.9);
    border-bottom:1px solid rgba(110,212,255,.12);
    box-shadow:0 10px 36px rgba(0,0,0,.18);
}

.nav-inner {
    height:84px;
}

.brand-logo img {
    height:60px;
    max-width:300px;
}

.links {
    gap:28px;
}

.links a {
    position:relative;
    color:#eef4fb;
    transition:color .2s ease;
}

.links a::after {
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-9px;
    height:2px;
    background:linear-gradient(90deg,var(--accent),var(--silver));
    transition:right .22s ease;
}

.links a:hover::after {
    right:0;
}

.cta,.btn {
    letter-spacing:.065em;
}

.cta,.btn.primary {
    border:1px solid rgba(255,255,255,.14);
}

.cta:hover,.btn.primary:hover {
    box-shadow:0 10px 36px rgba(0,157,255,.32);
}

.hero:before {
    filter:saturate(1.03) contrast(1.03);
}

.hero:after {
    height:3px;
    opacity:.85;
    background:linear-gradient(90deg,transparent,var(--accent),var(--silver),transparent);
    box-shadow:0 0 28px rgba(0,157,255,.75);
}

.hero-content {
    max-width:790px;
}

.hero .sub {
    color:#e1e6ed;
    text-shadow:0 1px 18px rgba(0,0,0,.65);
}

.eyebrow {
    text-shadow:0 0 18px rgba(0,157,255,.22);
}

.trustbar {
    background:linear-gradient(180deg,#0b121a,#091017);
}

.trustitem {
    transition:background .2s ease;
}

.trustitem:hover {
    background:rgba(0,157,255,.045);
}

.card,
.service-row,
.contact-card,
.review,
.spec div,
.bullet {
    box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

.card,
.service-row,
.review {
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.card:hover,
.service-row:hover,
.review:hover {
    transform:translateY(-2px);
    border-color:#35516b;
    box-shadow:0 14px 34px rgba(0,0,0,.22);
}

.image-frame img,
.feature-photo,
.small-photo,
.gallery a {
    border:1px solid rgba(122,166,204,.16);
}

.image-frame:before {
    border-left-color:var(--accent);
    border-bottom-color:var(--silver2);
    opacity:.9;
}

.feature-photo img,
.small-photo img,
.gallery img {
    transition:transform .35s ease,filter .35s ease;
}

.feature-photo:hover img,
.small-photo:hover img,
.gallery a:hover img {
    transform:scale(1.025);
    filter:brightness(1.05);
}

.gallery {
    gap:14px;
}

.gallery a {
    box-shadow:0 10px 26px rgba(0,0,0,.16);
}

.pagehero {
    padding-top:170px;
    padding-bottom:86px;
    background:
        radial-gradient(circle at 78% 18%,rgba(0,157,255,.19),transparent 33%),
        linear-gradient(180deg,#0b1119,#0a0e14);
}

.pagehero h1 {
    text-shadow:0 8px 28px rgba(0,0,0,.28);
}

.service-list {
    gap:20px;
}

.service-row {
    padding:26px;
}

.service-row li {
    margin:4px 0;
}

.cta-band {
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(0,0,0,.14);
}

.cta-band .btn {
    border:1px solid rgba(255,255,255,.16);
}

.contact-card {
    box-shadow:0 14px 34px rgba(0,0,0,.12);
}

.form input,.form select,.form textarea {
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.form input:focus,.form select:focus,.form textarea:focus {
    box-shadow:0 0 0 4px rgba(0,157,255,.08);
    background:#091019;
}

.footer {
    border-top:1px solid rgba(110,212,255,.1);
}

.footer .brand-logo img {
    height:74px;
}

.socials a {
    transition:border-color .2s ease,transform .2s ease,color .2s ease;
}

.socials a:hover {
    border-color:var(--accent);
    color:var(--silver);
    transform:translateY(-2px);
}

.lightbox {
    backdrop-filter:blur(10px);
}

.lightbox img {
    box-shadow:0 30px 80px rgba(0,0,0,.65);
    border:1px solid rgba(255,255,255,.14);
}

@media (max-width: 900px) {
    .nav-inner {
        height:78px;
    }

    .brand-logo img {
        height:50px;
        max-width:245px;
    }

    .nav.open .links {
        top:78px;
        gap:20px;
        box-shadow:0 18px 35px rgba(0,0,0,.28);
    }

    .links a::after {
        display:none;
    }

    .pagehero {
        padding-top:145px;
    }
}

@media (max-width: 600px) {
    .brand-logo img {
        height:43px;
        max-width:215px;
    }

    .hero-content {
        padding-top:140px;
    }

    .hero .sub {
        font-size:1rem;
    }

    .service-row,
    .contact-card,
    .card,
    .review {
        padding:24px;
    }

    .footer .brand-logo img {
        height:60px;
    }
}

.links a.active {
    color:var(--accent2);
}
.links a.active::after {
    right:0;
}


/* Final layout refinements */
.cta-band .btn {
    white-space:nowrap;
    min-width:max-content;
    padding-left:26px;
    padding-right:26px;
}

/* Balanced desktop gallery */
.gallery {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.gallery a,
.gallery a:nth-child(n) {
    grid-column:span 1 !important;
    min-height:0;
    aspect-ratio:4 / 3;
}
.gallery img {
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Keep build/tuning imagery tidy and consistent */
.image-frame .image-link {
    display:block;
    height:100%;
}
.image-frame .image-link img {
    display:block;
}

@media (max-width: 900px) {
    .gallery {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .gallery a,
    .gallery a:nth-child(n) {
        grid-column:span 1 !important;
        aspect-ratio:4 / 3;
    }
}

@media (max-width: 600px) {
    .gallery {
        grid-template-columns:1fr;
    }
    .gallery a,
    .gallery a:nth-child(n) {
        grid-column:1 / -1 !important;
        aspect-ratio:4 / 3;
        min-height:0;
    }
    .cta-band .btn {
        width:auto;
        max-width:100%;
    }
}
