/* BinDahir Design Group theme. Colours come from Appearance → Customize → BDG Theme → Brand Colours. */
:root{--brown:#43281D;--brown-deep:#2F1C14;--sand:#BDB5A9;--sky:#BBD7E2;--maroon:#6B2626;--maroon-deep:#4A1F1F;--paper:#F5F1EB;--soft:#5E4337;--muted:#6E5246;--line:#D8CFC4;
--pad:clamp(20px,3.6vw,56px);--display:'Jost','Century Gothic',Futura,sans-serif;--body:'Didact Gothic','Century Gothic',Futura,sans-serif;--ease:cubic-bezier(.77,0,.18,1);--soft-ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--brown);color:#F3EEE7;font-family:var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:var(--brown);padding:10px 16px}
.skip:focus{left:10px;top:10px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
body.bdg-front{height:100vh;height:100dvh;overflow:hidden;background:#1E110C}

/* ---------- header ---------- */
.top{position:fixed;z-index:60;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 30px) var(--pad) 30px;pointer-events:none;transition:background .4s,padding .4s}
.top>*{pointer-events:auto}
.top .logo img{height:32px;width:auto}
body.on-page .top{background:var(--brown);padding-top:calc(env(safe-area-inset-top,0px) + 18px);padding-bottom:18px}
body.menu-open .top{background:transparent}
.admin-bar .top,.admin-bar .menu{top:32px}
@media (max-width:782px){.admin-bar .top,.admin-bar .menu{top:46px}}
.burger{width:48px;height:48px;border:0;background:transparent;cursor:pointer;position:relative;padding:0}
.burger span{position:absolute;left:10px;right:10px;height:1.5px;background:#fff;transition:transform .45s var(--ease),opacity .3s,top .45s var(--ease)}
.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:23px}.burger span:nth-child(3){top:31px}
body.menu-open .burger span:nth-child(1){top:23px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){top:23px;transform:rotate(-45deg)}

/* ---------- drop-down menu ---------- */
.menu{position:fixed;left:0;right:0;top:0;z-index:55;background:var(--brown);padding:calc(env(safe-area-inset-top,0px) + 108px) var(--pad) 44px;transform:translateY(-101%);transition:transform .75s var(--ease);box-shadow:0 30px 60px rgba(0,0,0,.25);overflow:hidden;visibility:hidden}
body.menu-open .menu{transform:none;visibility:visible}
.menu-inner{max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px 64px;position:relative;z-index:1}
.menu nav{display:flex;flex-wrap:wrap;gap:6px clamp(28px,4vw,64px)}
.menu nav a{position:relative;font-family:var(--display);font-weight:300;font-size:clamp(30px,3.6vw,52px);line-height:1.15;color:#fff;opacity:0;transform:translateY(-14px);transition:opacity .45s,transform .6s var(--soft-ease),color .25s}
.menu nav a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--soft-ease)}
.menu nav a:hover{color:var(--sky)}
.menu nav a:hover::after,.menu nav a[aria-current="page"]::after{transform:scaleX(1)}
body.menu-open .menu nav a{opacity:1;transform:none}
body.menu-open .menu nav a:nth-child(1){transition-delay:.3s}
body.menu-open .menu nav a:nth-child(2){transition-delay:.35s}
body.menu-open .menu nav a:nth-child(3){transition-delay:.4s}
body.menu-open .menu nav a:nth-child(4){transition-delay:.45s}
body.menu-open .menu nav a:nth-child(5){transition-delay:.5s}
body.menu-open .menu nav a:nth-child(n+6){transition-delay:.55s}
.menu .info{display:flex;flex-wrap:wrap;gap:20px 44px;font-size:14px;line-height:1.65;color:#E8E0D5;opacity:0;transition:opacity .5s .55s}
body.menu-open .menu .info{opacity:1}
.menu .info b{display:block;font-family:var(--display);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);margin-bottom:4px}
.menu .info a:hover{color:var(--sky)}
.menu .rule{max-width:1400px;margin:0 auto 34px;height:1px;background:rgba(189,181,169,.35);transform:scaleX(0);transform-origin:left;transition:transform .8s .25s var(--soft-ease)}
body.menu-open .menu .rule{transform:scaleX(1)}
.dunes{position:absolute;left:0;right:0;bottom:0;width:100%;height:220px;color:var(--sand);opacity:.18;pointer-events:none}
.veil{position:fixed;inset:0;z-index:54;background:rgba(20,11,8,.45);opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s;border:0;padding:0;cursor:pointer}
body.menu-open .veil{opacity:1;visibility:visible;transition:opacity .6s}

/* ---------- home slideshow ---------- */
.home{position:fixed;inset:0;overflow:hidden}
.slide{position:absolute;inset:0;visibility:hidden;transition:visibility 0s 1.1s}
.slide.active{visibility:visible;transition:none;z-index:2}
.slide .pane{position:absolute;inset:0;overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease)}
.slide.active .pane{clip-path:inset(0 0 0 0)}
.slide.from-top .pane{clip-path:inset(0 0 100% 0)}
.slide.active.from-top .pane{clip-path:inset(0 0 0 0)}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--soft-ease)}
.slide.active img{transform:scale(1)}
.slide .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,14,10,.45) 0%,rgba(25,14,10,0) 25%,rgba(25,14,10,0) 50%,rgba(25,14,10,.72) 100%)}
.caption{position:absolute;z-index:3;left:var(--pad);bottom:calc(env(safe-area-inset-bottom,0px) + 52px);max-width:min(620px,78vw)}
.caption h1{margin:0 0 14px;font-family:var(--display);font-weight:300;font-size:clamp(34px,4.6vw,64px);line-height:1.04}
.caption p{margin:0 0 26px;font-size:clamp(15px,1.2vw,18px);line-height:1.55;color:rgba(255,255,255,.9);max-width:500px}
.caption a{font-family:var(--display);font-size:13px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:5px}
.caption a:hover{color:var(--sky);border-color:var(--sky)}
.caption .line{overflow:hidden}
.caption .line>*{display:block;transform:translateY(105%);transition:transform .9s var(--soft-ease)}
.caption.in .line>*{transform:none}
.caption.in .line:nth-child(2)>*{transition-delay:.08s}
.caption.in .line:nth-child(3)>*{transition-delay:.16s}
.rail{position:absolute;z-index:4;right:var(--pad);bottom:calc(env(safe-area-inset-bottom,0px) + 52px);display:flex;flex-direction:column;align-items:center;gap:18px;font-family:var(--display);font-size:12px;letter-spacing:.2em;color:#fff}
.rail .bar{width:1.5px;height:120px;background:rgba(255,255,255,.3);position:relative}
.rail .bar i{position:absolute;left:0;right:0;top:0;background:#fff;transition:height .9s var(--ease)}
.rail button{width:44px;height:44px;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;opacity:.85}
.rail button:hover{opacity:1}
.scrollhint{position:absolute;z-index:4;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translateX(-50%);font-family:var(--display);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.empty-home{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 var(--pad);background:var(--brown)}
.empty-home h1{font-family:var(--display);font-weight:300;font-size:clamp(40px,5vw,72px);margin:0 0 16px}
.empty-home a{color:var(--sky);border-bottom:1px solid}
@media (max-width:640px){.rail .bar{height:70px}.scrollhint{display:none}}

/* ---------- shared page layout ---------- */
.inner{max-width:1400px;margin:0 auto;padding:150px var(--pad) 110px}
.inner.narrow{max-width:900px}
.page-light,.project{background:var(--paper);color:var(--brown)}
.page-dark{background:var(--brown);color:#F3EEE7}
.kicker{font-family:var(--display);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#7A5A4C;margin-bottom:14px}
.page-dark .kicker{color:var(--sand)}
.title{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1.04}
.page-dark .title{color:#fff}
.lead{font-family:var(--display);font-weight:300;font-size:clamp(24px,2.6vw,38px);line-height:1.3;max-width:1050px;margin:40px 0 0;color:#fff}
.textlink{display:inline-block;font-family:var(--display);font-size:13px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px;transition:color .25s}
.textlink:hover{color:var(--maroon)}
.page-dark .textlink:hover{color:var(--sky)}
.back{display:inline-block;margin-bottom:28px;font-family:var(--display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.back.dark{color:var(--muted)}
.back:hover{color:var(--sky)}
.back.dark:hover{color:var(--maroon)}

/* ---------- entry content (block editor) ---------- */
.entry{font-size:18px;line-height:1.75;color:var(--soft)}
.entry>*{margin-top:0;margin-bottom:1.2em}
.entry h2,.entry h3{font-family:var(--display);font-weight:300;color:var(--brown);line-height:1.2}
.entry h2{font-size:clamp(26px,2.6vw,36px)}
.entry a{color:var(--maroon);border-bottom:1px solid}
.entry img{height:auto}
.entry .wp-block-gallery{margin:2em 0}
.entry .wp-block-image,.entry figure{margin:2em 0}
.entry figcaption{font-size:14px;color:var(--muted)}
.entry blockquote{margin:2em 0;padding-left:24px;border-left:2px solid var(--maroon);font-family:var(--display);font-weight:300;font-size:24px;line-height:1.4;color:var(--brown)}
.entry-dark{color:#EDE6DC;margin-top:96px}
.entry-dark h2,.entry-dark h3,.entry-dark blockquote{color:#fff}
.entry-dark a{color:var(--sky)}
.post-img{margin:48px 0}
.post-img img{width:100%}
.alignwide{margin-left:-8vw;margin-right:-8vw;max-width:none}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw}

/* ---------- work ---------- */
.workhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:56px}
.filters{display:flex;flex-wrap:wrap;gap:8px 26px;font-family:var(--display);font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0 6px;cursor:pointer;letter-spacing:inherit;text-transform:inherit;color:var(--brown);opacity:.6;transition:opacity .2s,border-color .2s}
.filters button:hover{opacity:1}
.filters button[aria-pressed="true"]{opacity:1;border-color:var(--brown)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:56px 32px}
.tile[hidden]{display:none}
.tile .ph{aspect-ratio:4/3;overflow:hidden;background:#E4DDD3;margin-bottom:18px}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--soft-ease)}
.tile:hover img{transform:scale(1.045)}
.tile .meta{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.tile .name{font-family:var(--display);font-size:21px;line-height:1.2;transition:color .25s}
.tile:hover .name{color:var(--maroon)}
.tile .loc{font-size:14px;color:var(--muted);margin-top:6px}
.tile .type{font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.idx{margin-top:110px}
.idx h2{margin:0 0 24px;font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.3em;text-transform:uppercase}
.tbox{overflow-x:auto}
table{width:100%;min-width:720px;border-collapse:collapse;font-size:16px}
th{text-align:left;font-family:var(--display);font-weight:400;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);padding:0 16px 14px 0;border-bottom:1px solid var(--brown)}
td{padding:18px 16px 18px 0;border-bottom:1px solid var(--line);color:var(--soft)}
td:first-child{font-family:var(--display);font-size:18px;color:var(--brown)}
td:first-child a:hover{color:var(--maroon)}
th:last-child,td:last-child{text-align:right;padding-right:0}
.badge{display:inline-block;font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:5px 11px;border:1px solid var(--brown);color:var(--brown)}
.badge.done{background:var(--brown);color:#fff}

/* ---------- single project ---------- */
.p-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--brown)}
.p-hero.no-img{min-height:52vh}
.p-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,14,10,.5) 0%,rgba(25,14,10,0) 30%,rgba(25,14,10,.75) 100%)}
.p-hero .hc{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:0 var(--pad) 64px}
.p-hero h1{margin:0 0 14px;font-family:var(--display);font-weight:300;font-size:clamp(40px,6vw,96px);line-height:1}
.p-hero p{margin:0;max-width:560px;font-size:18px;line-height:1.6;color:rgba(255,255,255,.9)}
.p-body{max-width:1400px;margin:0 auto;padding:clamp(72px,8vw,120px) var(--pad);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 32px}
.facts{grid-column:1 / span 4;margin:0;align-self:start;position:sticky;top:110px}
.facts div{padding:16px 0;border-top:1px solid var(--line)}
.facts div:last-child{border-bottom:1px solid var(--line)}
.facts dt{font-family:var(--display);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.facts dd{margin:0;font-family:var(--display);font-size:18px;color:var(--brown)}
.p-body .entry{grid-column:6 / span 7}
.p-next{position:relative;display:flex;align-items:center;justify-content:center;min-height:56vh;overflow:hidden;color:#fff;background:var(--brown)}
.p-next img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;transition:transform 1.4s var(--soft-ease),opacity .6s}
.p-next:hover img{transform:scale(1.04);opacity:.7}
.p-next .nc{position:relative;text-align:center}
.p-next .kicker{color:var(--sky);display:block}
.p-next .nt{font-family:var(--display);font-weight:300;font-size:clamp(34px,5vw,72px)}
@media (max-width:900px){.facts,.p-body .entry{grid-column:1 / -1;position:static}}

/* ---------- studio ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid rgba(189,181,169,.35);margin:72px 0 96px}
.stat{padding:32px 20px 0 0}
.stat b{display:block;font-family:var(--display);font-weight:300;font-size:clamp(44px,5vw,72px);line-height:1;color:#fff;margin-bottom:10px}
.stat span{font-size:14px;letter-spacing:.06em;color:var(--sand)}
.split{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,96px)}
.split .txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:40px}
.split .pic{flex:1 1 420px;min-width:0;min-height:520px;position:relative;overflow:hidden}
.split .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blk h2{margin:0 0 12px;font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--sky)}
.blk p{margin:0;font-size:17px;line-height:1.75;color:#EDE6DC}
.sub-title{margin:110px 0 0;font-family:var(--display);font-weight:300;font-size:clamp(30px,3.2vw,46px);color:#fff}
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:48px 40px;margin-top:48px}
.values .v{border-top:1px solid var(--sand);padding-top:24px}
.values .vn{display:block;font-family:var(--display);font-size:13px;color:var(--sand);margin-bottom:14px}
.values h3{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:22px;color:#fff}
.values p{margin:0;font-size:15px;line-height:1.7;color:#E3DBD0}
.team-intro{margin:16px 0 0;max-width:560px;font-size:16px;line-height:1.7;color:#E3DBD0}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:48px 32px;margin-top:48px}
.member .ph{aspect-ratio:4/5;background:var(--brown-deep);border:1px solid rgba(189,181,169,.25);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:20px;transition:background .4s}
.member .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25);transition:transform 1s var(--soft-ease),filter .5s}
.member:hover .ph img{transform:scale(1.04);filter:none}
.member .ph span{font-family:var(--display);font-weight:300;font-size:clamp(56px,6vw,84px);letter-spacing:.04em;color:var(--sand);transition:color .4s,transform .8s var(--soft-ease)}
.member .ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--soft-ease);z-index:1}
.member:hover .ph span{color:#fff;transform:scale(1.05)}
.member:hover .ph::after{transform:scaleX(1)}
.member.is-lead .ph{background:var(--sand)}
.member.is-lead .ph span{color:var(--brown)}
.member h3{margin:0 0 6px;font-family:var(--display);font-weight:400;font-size:22px;color:#fff}
.member p{margin:0;font-family:var(--display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sky)}

/* ---------- services ---------- */
.services-page{background:var(--paper);color:var(--brown)}
.sv-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--brown)}
.sv-hero.no-img{min-height:56vh}
.sv-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,14,10,.55) 0%,rgba(25,14,10,.1) 35%,rgba(25,14,10,.78) 100%)}
.sv-hero .hc{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:0 var(--pad) 64px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.sv-hero .kicker{color:var(--sky)}
.sv-hero h1{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(44px,6vw,92px);line-height:.98;max-width:820px}
.sv-hero p{margin:0;max-width:420px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.9)}
.sv-jump{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);max-width:1400px;margin:0 auto;padding:0 var(--pad)}
.sv-jump a{flex:1 1 240px;display:flex;gap:16px;align-items:baseline;padding:26px 24px 26px 0;font-family:var(--display);font-size:17px;color:var(--brown);transition:color .25s}
.sv-jump a span{font-size:12px;letter-spacing:.2em;color:var(--maroon)}
.sv-jump a:hover{color:var(--maroon)}
.sv{max-width:1400px;margin:0 auto;padding:clamp(80px,9vw,140px) var(--pad);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 32px;align-items:start;border-bottom:1px solid var(--line)}
.sv .num{grid-column:1 / span 2;font-family:var(--display);font-weight:300;font-size:clamp(64px,8vw,128px);line-height:.85;color:var(--maroon)}
.sv .media{grid-column:3 / span 5;aspect-ratio:4/5;overflow:hidden;position:sticky;top:110px}
.sv .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--soft-ease)}
.sv:hover .media img{transform:scale(1.03)}
.sv .body{grid-column:9 / span 4;display:flex;flex-direction:column;gap:26px;padding-top:6px}
.sv.flip .media{grid-column:7 / span 6;order:3}
.sv.flip .body{grid-column:3 / span 4;order:2}
.sv.no-media .body{grid-column:3 / span 8}
.sv h2{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(30px,3vw,44px);line-height:1.1}
.sv .desc,.sv .desc p{margin:0;font-size:18px;line-height:1.7;color:var(--soft)}
.sv h3{margin:12px 0 0;font-family:var(--display);font-weight:400;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#7A5A4C}
.sv ul{margin:0;padding:0;list-style:none;counter-reset:o}
.sv li{counter-increment:o;display:flex;gap:18px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}
.sv li:last-child{border-bottom:1px solid var(--line)}
.sv li::before{content:counter(o,lower-alpha);font-family:var(--display);font-size:13px;color:var(--maroon);min-width:14px}
.sv .proj{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.sv .proj b{font-weight:400;color:var(--brown)}
.sv-cta{background:var(--sky);color:var(--maroon-deep)}
.sv-cta .c{max-width:1400px;margin:0 auto;padding:clamp(80px,9vw,130px) var(--pad);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.sv-cta p{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(30px,3.6vw,54px);line-height:1.1;max-width:820px}
.sv-cta a{font-family:var(--display);font-size:13px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.sv-cta a:hover{color:var(--maroon)}
@media (max-width:900px){
  .sv .num,.sv .media,.sv .body,.sv.flip .media,.sv.flip .body,.sv.no-media .body{grid-column:1 / -1;order:0}
  .sv .media{position:relative;top:0;aspect-ratio:4/3;margin:24px 0 36px}
}

/* ---------- news ---------- */
.news-list{display:flex;flex-direction:column;gap:72px;margin-top:56px}
.article{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,64px);align-items:center;padding-bottom:72px;border-bottom:1px solid var(--line)}
.article .pic{flex:0 1 420px;min-width:0;aspect-ratio:4/3;overflow:hidden}
.article.feature .pic{flex:1 1 560px;aspect-ratio:5/4}
.article .pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--soft-ease)}
.article:hover .pic img{transform:scale(1.03)}
.article .txt{flex:1 1 380px;min-width:0}
.article .src{font-family:var(--display);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--maroon)}
.article h2{margin:16px 0;font-family:var(--display);font-weight:300;font-size:clamp(26px,2.6vw,36px);line-height:1.15}
.article.feature h2{font-size:clamp(28px,3vw,44px)}
.article h2 a:hover{color:var(--maroon)}
.article p{margin:0 0 24px;font-size:17px;line-height:1.7;color:var(--soft)}
.pager .nav-links{display:flex;gap:18px;font-family:var(--display);margin-top:40px}
.pager .current{color:var(--maroon)}
.partners{margin-top:110px;border-top:1px solid var(--brown);padding-top:32px}
.partners h2{margin:0 0 20px;font-family:var(--display);font-weight:400;font-size:13px;letter-spacing:.3em;text-transform:uppercase}
.partners ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:0 32px;font-family:var(--display);font-weight:300;font-size:22px}
.partners li{padding:18px 0;border-bottom:1px solid var(--line)}
.plain-list{padding:0;list-style:none;font-family:var(--display);font-size:22px}
.plain-list li{padding:16px 0;border-bottom:1px solid var(--line)}

/* ---------- contact ---------- */
.contact .title{max-width:900px}
.mail{display:inline-block;margin-top:36px;font-family:var(--display);font-weight:300;font-size:clamp(24px,3vw,40px);color:var(--sky);border-bottom:1px solid currentColor;padding-bottom:6px}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px 32px;margin-top:64px;font-size:17px;line-height:1.75;color:#EDE6DC}
.cgrid b{display:block;font-family:var(--display);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);margin-bottom:8px}
.cgrid address{font-style:normal}
.cgrid a{display:block}.cgrid a:hover{color:var(--sky)}
.contact-entry input,.contact-entry textarea,.contact-entry select{width:100%;padding:14px 0;background:transparent;border:0;border-bottom:1px solid rgba(189,181,169,.5);color:#fff;font:inherit}
.contact-entry input[type=submit],.contact-entry button{width:auto;padding:14px 28px;border:1px solid #fff;background:transparent;color:#fff;cursor:pointer;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:13px}
.contact-entry input[type=submit]:hover,.contact-entry button:hover{background:#fff;color:var(--brown)}
.notfound{min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:28px}

/* ---------- footer ---------- */
.site-footer{position:relative;overflow:hidden;background:var(--brown);color:#EDE6DC;padding:clamp(90px,10vw,140px) var(--pad) 40px}
.site-footer .dunes{height:300px;opacity:.3}
.site-footer .wrap{position:relative;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:72px}
.f-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:48px}
.f-cta{flex:1 1 420px;display:flex;flex-direction:column;gap:24px}
.f-cta p{margin:0;font-family:var(--display);font-weight:300;font-size:clamp(30px,3.4vw,50px);line-height:1.15;color:#fff;max-width:640px}
.f-cta a{align-self:flex-start;font-family:var(--display);font-size:20px;color:var(--sky);border-bottom:1px solid currentColor;padding-bottom:4px}
.f-cols{flex:1 1 520px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:36px 32px;font-size:16px;line-height:1.7}
.f-cols div{display:flex;flex-direction:column;gap:6px}
.f-cols .lbl{font-family:var(--display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--sand);margin-bottom:4px}
.f-cols address{font-style:normal}
.f-cols a:hover{color:var(--sky)}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.f-bottom img{width:min(100%,440px)}
.f-bottom .legal{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:13px;color:var(--sand)}
.f-bottom .legal a:hover{color:var(--sky)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0s!important;transition-delay:0s!important;animation:none!important;scroll-behavior:auto!important}}
