/* ---- Theme: colours come from Admin → Site Settings → Colours (injected as --p --s --l --a) ---- */
:root{
    --p:#065424; --s:#0b8043; --l:#7cb342; --a:#f09300;
    --p-d:color-mix(in srgb,var(--p) 78%,#000);
    --tint:color-mix(in srgb,var(--l) 11%,#fff);
    --tint-2:color-mix(in srgb,var(--p) 8%,#fff);
    --ink:#1c2a22; --muted:#5d6b63; --line:#dfe9e1; --card:#fff;
    --radius:16px; --shadow:0 12px 32px rgba(6,84,36,.13); --shadow-s:0 4px 16px rgba(6,84,36,.08);
    --serif:'Roboto Slab',Georgia,serif; --sans:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--s);text-decoration:none;transition:color .2s}
a:hover{color:var(--a)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--p);line-height:1.25;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.6vw,3.2rem)} h2{font-size:clamp(1.6rem,3vw,2.25rem)} h3{font-size:1.2rem}
p{margin:0 0 1em}
.container{width:min(1200px,100% - 2rem);margin-inline:auto}
.center{text-align:center;margin-top:2rem}
.skip{position:absolute;left:-999px;top:0;background:var(--a);color:#000;padding:.5rem 1rem;z-index:1000}
.skip:focus{left:0}

/* Buttons */
.btn{display:inline-block;padding:.7rem 1.5rem;border-radius:999px;font-weight:600;font-size:.9rem;border:2px solid transparent;transition:.25s;cursor:pointer;font-family:var(--sans);line-height:1.3;text-align:center}
.btn--primary{background:var(--p);color:#fff}
.btn--primary:hover{background:var(--s);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-s)}
.btn--accent{background:var(--a);color:#241600}
.btn--accent:hover{background:color-mix(in srgb,var(--a) 85%,#000);color:#fff;transform:translateY(-2px)}
.btn--line{border-color:var(--p);color:var(--p);background:transparent}
.btn--line:hover{background:var(--p);color:#fff}
.btn--light{background:#fff;color:var(--p)}
.btn--light:hover{background:var(--l);color:#10260f}
.btn-row{display:flex;gap:.7rem;flex-wrap:wrap}

/* Top bar */
.topbar{background:var(--p-d);color:#d4e6d9;font-size:.8rem}
.topbar a{color:#d4e6d9}
.topbar a:hover{color:var(--a)}
.topbar__in{display:flex;align-items:center;gap:1.2rem;padding:.45rem 0}
.topbar__contact{display:flex;gap:1.2rem;white-space:nowrap}
.topbar__links{list-style:none;margin:0 auto;padding:0;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}
.topbar__social{display:flex;gap:.45rem}
.topbar__social a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12)}
.topbar__social a:hover{background:var(--a);color:#241600}

/* Header */
.site-header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 2px 16px rgba(0,0,0,.09)}
.brand{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0}
.brand__logo{display:flex;align-items:center;gap:.9rem;color:var(--p)}
.brand__logo img{width:72px;height:72px;object-fit:contain}
.brand__text strong{display:block;font-family:var(--serif);font-size:1.5rem;line-height:1.1;color:var(--p)}
.brand__text small{color:var(--muted);font-size:.74rem}
.brand__cta{display:flex;gap:.6rem}
.burger{display:none;background:none;border:0;width:46px;height:46px;cursor:pointer;padding:11px;margin-left:auto}
.burger span{display:block;height:3px;background:var(--p);margin:5px 0;border-radius:2px;transition:.25s}

/* Nav */
.mainnav{background:linear-gradient(90deg,var(--p),var(--s))}
.mainnav__list{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap}
.mainnav__list>li{position:relative}
.mainnav__list>li>a{display:block;padding:.9rem 1.05rem;color:#fff;font-weight:500;font-size:.88rem;position:relative}
.mainnav__list>li>a::after{content:"";position:absolute;left:1.05rem;right:1.05rem;bottom:.55rem;height:2px;background:var(--a);transform:scaleX(0);transform-origin:left;transition:.3s}
.mainnav__list>li:hover>a::after,.mainnav__list>li.is-active>a::after{transform:scaleX(1)}
.mainnav__list>li:hover>a{color:#fff}
.subtoggle{display:none}
.sub{list-style:none;margin:0;padding:.5rem 0;position:absolute;left:0;top:100%;min-width:250px;background:#fff;border-top:3px solid var(--a);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s;z-index:50}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:.5rem 1.3rem;color:var(--ink);font-size:.86rem}
.sub a:hover{background:var(--tint);color:var(--s);padding-left:1.6rem}
.mainnav__list>li:nth-last-child(-n+3) .sub{left:auto;right:0}

/* Hero */
.hero{position:relative;height:clamp(420px,72vh,700px);overflow:hidden;background:var(--p-d)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s;background-size:cover;background-position:center}
.hero__slide.is-on{opacity:1}
.hero__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,color-mix(in srgb,var(--p) 92%,#000) 0%,color-mix(in srgb,var(--p) 55%,transparent) 48%,transparent 100%)}
.hero__cap{position:absolute;z-index:2;left:0;right:0;top:46%;transform:translateY(-50%);color:#fff}
.hero__cap h1{color:#fff;max-width:13em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero__cap p{font-size:1.15rem;max-width:30em;color:#eaf5ec}
.hero__slide.is-on .hero__cap h1,.hero__slide.is-on .hero__cap p,.hero__slide.is-on .hero__btns{animation:rise .8s both}
.hero__slide.is-on .hero__cap p{animation-delay:.12s}.hero__slide.is-on .hero__btns{animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero__btns{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.3rem}
.hero__prev,.hero__next{position:absolute;z-index:3;top:46%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:1.5rem;cursor:pointer;backdrop-filter:blur(4px)}
.hero__prev:hover,.hero__next:hover{background:var(--a);color:#000}
.hero__prev{left:14px}.hero__next{right:14px}
.hero__dots{position:absolute;z-index:3;bottom:86px;left:0;right:0;display:flex;justify-content:center;gap:8px}
.hero__dot{width:11px;height:11px;border-radius:999px;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0;transition:.3s}
.hero__dot.is-on{background:var(--a);width:30px}

/* Quick tiles (overlap the hero) */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:-62px;position:relative;z-index:5}
.quick__tile{display:flex;align-items:center;gap:.9rem;background:#fff;border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow);color:var(--p);border-bottom:4px solid var(--a);transition:.3s}
.quick__tile:hover{transform:translateY(-6px);color:var(--p);border-bottom-color:var(--l)}
.quick__icon{width:48px;height:48px;border-radius:14px;background:var(--tint);display:grid;place-items:center;font-size:1.5rem;flex:none}
.quick__tile strong{font-family:var(--serif);font-size:.98rem;line-height:1.25;flex:1}
.quick__go{color:var(--a);font-weight:700;font-size:1.2rem}

/* Ticker */
.ticker{margin-top:1.6rem;background:var(--tint);border-block:1px solid var(--line);font-size:.9rem}
.ticker__in{display:flex;align-items:center;gap:1rem;padding:.55rem 0}
.ticker__tag{background:var(--a);color:#241600;padding:.15rem .9rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;flex:none}
.ticker__view{overflow:hidden;flex:1;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker__track{display:inline-flex;gap:3rem;white-space:nowrap;animation:marq 38s linear infinite}
.ticker__view:hover .ticker__track{animation-play-state:paused}
.ticker__track a{color:var(--p);font-weight:500}
.ticker__track small{color:var(--muted);font-weight:400}
@keyframes marq{to{transform:translateX(-50%)}}

/* Sections */
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section--tint{background:var(--tint)}
.section--flush{padding-top:0}
.eyebrow{display:inline-block;color:var(--a);font-weight:600;letter-spacing:.14em;font-size:.76rem;text-transform:uppercase;margin-bottom:.5rem}
.section__head{text-align:center;max-width:720px;margin:0 auto 2.6rem}
.section__head::after{content:"";display:block;width:74px;height:4px;background:linear-gradient(90deg,var(--a),var(--l));border-radius:3px;margin:1rem auto 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem;align-items:center}
.split--top{align-items:start}
.split--news{grid-template-columns:1.15fr .85fr}
.grid{display:grid;gap:1.5rem}
.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}

/* Welcome images */
.welcome__media{position:relative;padding:0 0 2.5rem 0}
.welcome__main{width:82%;border-radius:var(--radius) var(--radius) 90px var(--radius);box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}
.welcome__small{position:absolute;right:0;bottom:0;width:48%;border-radius:var(--radius);border:7px solid #fff;box-shadow:var(--shadow);aspect-ratio:1;object-fit:cover}
.welcome__badge{position:absolute;left:-10px;top:24px;background:var(--a);color:#241600;font-family:var(--serif);font-weight:700;padding:.6rem 1.2rem;border-radius:0 999px 999px 0;box-shadow:var(--shadow-s)}

/* Mission pillars */
.pillar{background:#fff;border-radius:var(--radius);padding:2rem 1.8rem;box-shadow:var(--shadow-s);border-top:5px solid var(--l);transition:.3s;position:relative}
.pillar:nth-child(2){border-top-color:var(--a)}.pillar:nth-child(3){border-top-color:var(--s)}
.pillar:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.pillar__icon{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--s));color:#fff;display:grid;place-items:center;font-size:1.6rem;margin:-3.4rem 0 1rem;box-shadow:var(--shadow-s)}
.pillar ul{padding-left:1.1em;margin:0}.pillar li{margin-bottom:.4em}

/* Stats */
.stats-band{background:linear-gradient(135deg,color-mix(in srgb,var(--p) 94%,#000),color-mix(in srgb,var(--p) 88%,var(--l))),url('https://dpsasr.com/wp-content/uploads/2025/12/DPS-1.jpg') center/cover;background-blend-mode:multiply;padding:3.5rem 0;color:#d9ecdd}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat{position:relative}
.stat:not(:last-child)::after{content:"";position:absolute;right:-.75rem;top:12%;height:76%;width:1px;background:rgba(255,255,255,.2)}
.stat strong{display:block;font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);color:var(--a);line-height:1.1}
.stat span{font-size:.9rem}

/* Quotes */
.quote{margin:0;background:#fff;border:1px solid var(--line);border-left:6px solid var(--a);padding:1.8rem;border-radius:var(--radius);box-shadow:var(--shadow-s);display:flex;flex-direction:column;justify-content:space-between;gap:1rem}
.quote>p{font-family:var(--serif);font-size:1.08rem;color:var(--p);margin:0}
.quote footer{display:flex;align-items:center;gap:1rem;font-size:.9rem}
.quote footer span{display:flex;flex-direction:column;line-height:1.4}
.quote img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--l)}

/* Tiles (image cards) */
.tile{display:block;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);color:var(--ink);transition:.35s;border:1px solid var(--line)}
.tile:hover{transform:translateY(-8px);box-shadow:var(--shadow);color:var(--ink)}
.tile img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
.tile:hover img{transform:scale(1.06)}
.tile{overflow:hidden}
.tile__body{padding:1.2rem 1.4rem 1.5rem;position:relative;background:#fff}
.tile__body h3{margin-bottom:.35rem}
.tile__body p{color:var(--muted);font-size:.92rem;margin-bottom:.5rem}
.more{font-weight:600;font-size:.88rem;color:var(--a)}
.tag{display:inline-block;background:var(--tint);color:var(--s);font-size:.7rem;font-weight:600;padding:.1rem .7rem;border-radius:999px}

/* Cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow-s);transition:.3s}
.card--link{display:block;color:inherit}
.card--link:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--l)}
.card--green{background:linear-gradient(135deg,var(--p),var(--s));color:#e6f3e8;border:0}
.card--green h3{color:#fff}
.card__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--tint);color:var(--p);font-size:1.4rem;margin-bottom:.7rem}
.contact-cards{display:grid;gap:1rem;margin-top:1.2rem}
.card--form{padding:2rem}

/* News list */
.newslist{display:grid;gap:1rem;margin-bottom:1.5rem}
.news{display:flex;gap:1rem;align-items:center;padding:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:.25s;color:var(--ink)}
.news:hover{box-shadow:var(--shadow);transform:translateX(5px);color:var(--ink)}
.news img{width:88px;height:88px;object-fit:cover;border-radius:12px;flex:none}
.news h3{font-size:1rem;margin:.15rem 0;font-family:var(--sans);font-weight:600;color:var(--p)}
time{font-size:.78rem;color:var(--muted)}
.pager{display:flex;gap:.4rem;justify-content:center;margin-top:2rem}
.pager a{min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);font-weight:600}
.pager a.on,.pager a:hover{background:var(--p);color:#fff;border-color:var(--p)}
.news-hero{border-radius:var(--radius);margin-bottom:1.2rem;max-height:420px;width:100%;object-fit:cover}

/* Gallery */
.gallery{columns:4 230px;column-gap:1rem}
.gallery a{display:block;margin-bottom:1rem;border-radius:14px;overflow:hidden;position:relative;break-inside:avoid}
.gallery img{width:100%;transition:transform .5s}
.gallery a::after{content:"+";position:absolute;inset:0;display:grid;place-items:center;font-size:2.4rem;color:#fff;background:color-mix(in srgb,var(--p) 55%,transparent);opacity:0;transition:.3s}
.gallery a:hover::after{opacity:1}
.gallery a:hover img{transform:scale(1.08)}
.gallery--strip{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem;columns:auto}
.gallery--strip a{margin:0;aspect-ratio:1}
.gallery--strip img{height:100%;object-fit:cover}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:2000;padding:2rem}
.lightbox.is-on{display:flex}
.lightbox img{max-height:90vh;max-width:94vw;border-radius:8px}
.lightbox button{position:absolute;top:14px;right:22px;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer}

/* Banner */
.banner{background:linear-gradient(120deg,color-mix(in srgb,var(--p) 94%,#000),color-mix(in srgb,var(--s) 85%,transparent)),url('https://dpsasr.com/wp-content/uploads/2025/12/DPS-1.jpg') center/cover;color:#fff;padding:clamp(2.6rem,6vw,4.6rem) 0;position:relative;overflow:hidden}
.banner::after{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:30px solid rgba(240,147,0,.35)}
.banner h1{color:#fff;margin:0 0 .4rem;position:relative}
.crumbs{font-size:.85rem;color:#d4e8d8;position:relative}
.crumbs a{color:#fff;text-decoration:underline}
.crumbs span{margin:0 .5rem;opacity:.7}

/* Prose / inner pages */
.layout{display:grid;grid-template-columns:1fr 310px;gap:3rem;align-items:start}
.prose{min-width:0}
.prose h2{margin-top:1.6em;padding-bottom:.35em;border-bottom:3px solid var(--tint-2);position:relative}
.prose h2::after{content:"";position:absolute;left:0;bottom:-3px;width:60px;height:3px;background:var(--a)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.4em}
.prose img{border-radius:var(--radius);box-shadow:var(--shadow-s)}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--a)}
.prose blockquote{margin:1.2em 0;padding:1rem 1.4rem;border-left:5px solid var(--a);background:var(--tint);border-radius:0 var(--radius) var(--radius) 0;font-family:var(--serif)}
.prose table,table.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);margin:1em 0}
.prose th,.tbl th{background:var(--p);color:#fff;text-align:left;padding:.8rem 1rem;font-weight:500}
.prose td,.tbl td{padding:.8rem 1rem;border-bottom:1px solid var(--line)}
.prose tr:nth-child(even) td{background:var(--tint)}
.table-wrap{overflow-x:auto}
.callout{background:#fff6e5;border:1px solid #f4d9a2;border-left:5px solid var(--a);border-radius:var(--radius);padding:1rem 1.3rem;margin:1.2rem 0}
.person{display:grid;grid-template-columns:240px 1fr;gap:2rem;align-items:start}
.prose .gallery{margin-top:1.5rem}
.sidebar{position:sticky;top:150px;display:grid;gap:1.2rem}
.sidebar .card{padding:1.4rem}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li a{display:block;padding:.45rem 0;border-bottom:1px dashed var(--line);font-size:.92rem;color:var(--ink)}
.sidebar li a:hover{color:var(--a);padding-left:.3rem}
.timeline{list-style:none;padding:0;margin:0;border-left:3px solid var(--a)}
.timeline li{position:relative;padding:0 0 1.4rem 1.6rem}
.timeline li::before{content:"";position:absolute;left:-9px;top:6px;width:15px;height:15px;border-radius:50%;background:var(--p);border:3px solid var(--a)}

/* Forms */
.form{display:grid;gap:1rem}
.form label{font-weight:500;font-size:.9rem;display:block;margin-bottom:.3rem}
.form input,.form textarea,.form select{width:100%;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:#fff}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--s);box-shadow:0 0 0 4px color-mix(in srgb,var(--l) 25%,transparent)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hp{position:absolute;left:-9999px}
.alert{padding:1rem 1.2rem;border-radius:12px;margin-bottom:1rem;font-weight:500}
.alert--ok{background:#e6f6ec;color:#116632;border:1px solid #b6e3c6}
.alert--err{background:#fdeaea;color:#8a1c1c;border:1px solid #f3c0c0}
.mapbox{height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.map{border:0;width:100%;height:100%;min-height:340px}
.video{position:relative;padding-top:56.25%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* CTA */
.cta{background:linear-gradient(120deg,var(--p),var(--s));color:#fff;border-radius:24px;padding:clamp(2rem,5vw,3.5rem);display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;background:color-mix(in srgb,var(--a) 85%,transparent);opacity:.9}
.cta>*{position:relative}
.cta h2{color:#fff;margin:0}
.cta p{margin:.3rem 0 0;color:#e0f1e3}

/* Footer */
.site-footer{background:var(--p-d);color:#bcd3c1;position:relative;margin-top:2rem}
.footer__wave{position:absolute;left:0;right:0;top:-1px;height:16px;background:linear-gradient(90deg,var(--a),var(--l),var(--s))}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:2.5rem;padding:3.8rem 0 2.5rem}
.site-footer h3{color:#fff;font-size:1.1rem;font-family:var(--sans);font-weight:600;position:relative;padding-bottom:.6rem}
.site-footer h3::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:var(--a);border-radius:2px}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin-bottom:.45rem}
.site-footer a{color:#bcd3c1}
.site-footer a:hover{color:var(--a)}
.site-footer address{font-style:normal}
.footer__logo{width:92px;height:auto;margin-bottom:1rem;background:#fff;border-radius:14px;padding:6px}
.footer__motto{color:var(--a);font-family:var(--serif);font-style:italic}
.footer__wings{font-size:.85rem}
.footer__social{margin-top:1rem}
.footer__bar{border-top:1px solid rgba(255,255,255,.1);padding:1rem 0;text-align:center;font-size:.82rem}
.totop{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--a);color:#241600;display:grid;place-items:center;font-weight:700;opacity:0;pointer-events:none;transition:.3s;z-index:90;box-shadow:var(--shadow)}
.totop.is-on{opacity:1;pointer-events:auto}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero__slide{transition:none}.ticker__track{animation:none}.hero__slide.is-on *{animation:none!important}html{scroll-behavior:auto}}

/* ---- Responsive ---- */
@media (max-width:1100px){
    .grid--4{grid-template-columns:repeat(2,1fr)}
    .quick{grid-template-columns:repeat(2,1fr)}
    .footer__grid{grid-template-columns:1fr 1fr}
    .hide-md{display:none}
    .brand__cta{display:none}
    .topbar__links{display:none}
    .topbar__in{justify-content:space-between}
}
@media (max-width:900px){
    .burger{display:block}
    .mainnav{display:none;max-height:75vh;overflow:auto}
    .mainnav.is-open{display:block}
    .mainnav__list{flex-direction:column}
    .mainnav__list>li{border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;align-items:center}
    .mainnav__list>li>a{flex:1}
    .mainnav__list>li>a::after{display:none}
    .subtoggle{display:block;background:none;border:0;color:#fff;font-size:1.2rem;width:52px;height:46px;cursor:pointer}
    .sub{position:static;opacity:1;visibility:visible;transform:none;width:100%;display:none;background:var(--p-d);box-shadow:none;border-radius:0;border-top:0}
    .has-sub:hover>.sub{display:none}
    .sub-open>.sub{display:block!important}
    .sub a{color:#dcebdf;padding-left:2rem}
    .sub a:hover{background:rgba(255,255,255,.08);color:#fff}
    .split,.split--news,.layout,.person{grid-template-columns:1fr}
    .sidebar{position:static}
    .grid--3{grid-template-columns:repeat(2,1fr)}
    .stats{grid-template-columns:repeat(2,1fr);row-gap:2rem}
    .stat:nth-child(2)::after{display:none}
    .gallery--strip{grid-template-columns:repeat(3,1fr)}
    .person img{max-width:260px}
    .welcome__media{max-width:560px}
    .hero__dots{bottom:80px}
}
@media (max-width:600px){
    .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
    .quick{grid-template-columns:1fr;margin-top:-40px;gap:.6rem}
    .quick__tile{padding:.8rem 1rem}
    .footer__grid{grid-template-columns:1fr}
    .brand__text strong{font-size:1.05rem}
    .brand__text small{display:none}
    .brand__logo img{width:52px;height:52px}
    .hide-sm{display:none}
    .form .row{grid-template-columns:1fr}
    .hero__prev,.hero__next{display:none}
    .hero__dots{bottom:56px}
    .news img{width:64px;height:64px}
    .hero{height:clamp(380px,80vh,560px)}
}
