:root{
  --red:#ba2930;
  --red-bright:#d92a30;
  --gold:#eebe1e;
  --charcoal:#202427;
  --ink:#2d3235;
  --muted:#6b7073;
  --paper:#ffffff;
  --warm:#f3f1ec;
  --line:#d8d6d0;
  --max:1240px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 80px),var(--max));margin-inline:auto}
.section-light{background:#fff;color:var(--ink)}
.section-neutral{background:var(--warm);color:var(--ink)}
.section-dark{background:var(--charcoal);color:#fff;position:relative;isolation:isolate}
.section-dark:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.16;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.22) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 65%,rgba(238,190,30,.12) 0 1px,transparent 1.5px),repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 5px);background-size:17px 17px,23px 23px,9px 9px}
.section-dark>*{position:relative;z-index:1}
.eyebrow{display:flex;align-items:center;gap:11px;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:#d7d7d7;margin-bottom:24px}
.eyebrow span{display:inline-block;width:28px;height:2px;background:var(--gold)}
.eyebrow.red{color:var(--red)}
.eyebrow.red span{background:var(--red)}
.eyebrow.gold{color:var(--gold)}
h1,h2,h3,h4{font-family:"Manrope",sans-serif;letter-spacing:-.035em}
h1{font-size:clamp(48px,6.1vw,92px);line-height:.99;font-weight:800}
h1 em,h2 em{font-style:normal;color:var(--red)}
h2{font-size:clamp(40px,4.5vw,68px);line-height:1.02;font-weight:600}
h2 strong{font-weight:800}
h3{font-size:24px;line-height:1.12}
p{font-size:16px;line-height:1.65;color:var(--muted)}
.hero-text{line-height:1.7}
.about-copy p{line-height:1.7}
.section-heading-row>p{line-height:1.7}
.service-item p{line-height:1.5}
.image-break-content p{line-height:1.7}
.approach-step p{line-height:1.6}
.value-row p{line-height:1.55}
.contact-form .form-note{line-height:1.45}
.footer-brand p{line-height:1.5}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid transparent;padding:15px 22px;min-height:52px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:.35s var(--ease)}
.btn span{font-size:17px;transition:transform .35s var(--ease)}
.btn:hover span{transform:translate(4px,-3px)}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:#fff;color:var(--red)}
.btn-gold{background:var(--gold);color:var(--charcoal)}
.btn-gold:hover{background:#fff}
.btn-outline-red{background:transparent;color:var(--red);border-color:var(--red)}
.btn-outline-red:hover{background:var(--red);color:#fff;border-color:var(--red)}
.text-link,.arrow-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.text-link span,.arrow-link span{transition:transform .35s var(--ease)}
.text-link:hover span,.arrow-link:hover span{transform:translateX(5px)}
.page-loader{position:fixed;inset:0;z-index:9999;background:var(--charcoal);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transition:opacity .7s ease,visibility .7s ease}
.page-loader.hidden{opacity:0;visibility:hidden}
.loader-logo{width:210px;max-width:72vw;margin-bottom:18px;display:flex;align-items:center;justify-content:center}
.loader-logo img{width:100%;height:auto;object-fit:contain}
.page-loader span{font-size:9px;letter-spacing:.22em;font-weight:700;color:#9ea5a8}

/* HEADER */
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(32,36,39,.96);backdrop-filter:blur(12px);transition:.3s ease}
.site-header.scrolled{background:rgba(32,36,39,.98);box-shadow:0 10px 35px rgba(0,0,0,.12)}
.nav-wrap{height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{width:205px;display:block}
.brand img{width:100%;height:auto}
.main-nav{display:flex;align-items:center;gap:29px}
.nav-link{position:relative;color:#e9e9e9;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:36px 0}
.nav-link:after{content:"";position:absolute;left:0;bottom:27px;width:0;height:2px;background:var(--gold);transition:.3s ease}
.nav-link:hover:after,.nav-link.active:after{width:100%}
.nav-cta{display:inline-flex;align-items:center;gap:12px;background:var(--red);color:#fff;padding:12px 17px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;transition:.3s ease}
.nav-cta:hover{background:var(--gold);color:var(--charcoal)}
.nav-cta span{font-size:15px}
.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px auto;transition:.3s ease}

/* HERO */
.hero{min-height:850px;padding-top:92px;position:relative;overflow:hidden}
.hero-grid{min-height:705px;display:grid;grid-template-columns:46% 54%;align-items:center}
.hero-copy{padding:85px 0 40px;position:relative;z-index:5}
.hero-copy h1{max-width:650px}
.hero-text{max-width:565px;margin:30px 0 34px;color:#b8bdc0;font-size:17px}
.hero-actions{display:flex;align-items:center;gap:28px}
.hero-visual{height:650px;position:relative;margin-left:5vw}
.hero-image{position:absolute;inset:0 0 0 7%;clip-path:polygon(16% 0,100% 0,100% 78%,63% 100%,0 100%,0 22%);overflow:hidden}
.hero-image img{height:100%;filter:saturate(.88) contrast(1.05)}
.hero-red-cut{position:absolute;left:0;bottom:0;width:68%;height:33%;background:var(--red);clip-path:polygon(0 44%,100% 0,100% 100%,0 100%);opacity:.94}
.hero-gold-line{position:absolute;left:10%;top:22%;width:82%;height:2px;background:var(--gold);transform:rotate(-25deg);transform-origin:left center}
.hero-contours{position:absolute;right:2%;bottom:11%;width:300px;height:220px;opacity:.4}
.hero-contours i{position:absolute;inset:0;border:1px solid rgba(238,190,30,.7);border-radius:50%;transform:rotate(-18deg)}
.hero-contours i:nth-child(2){inset:23px 18px}
.hero-contours i:nth-child(3){inset:48px 40px}
.hero-tag{position:absolute;right:-10px;top:50%;transform:translateY(-50%);border-left:3px solid var(--gold);padding:13px 0 13px 18px;background:rgba(32,36,39,.8);backdrop-filter:blur(8px);display:flex;flex-direction:column}
.hero-tag strong{font-family:"Manrope";font-size:18px}
.hero-tag span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}
.hero-bottom{height:76px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-top:1px solid rgba(255,255,255,.13);align-items:center}
.hero-bottom>div{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#aeb3b5}
.hero-bottom>div:not(:last-child){border-right:1px solid rgba(255,255,255,.13);height:25px;display:flex;align-items:center}
.hero-bottom span{color:var(--gold);margin-left:9px}
.hero-bottom .scroll-cue{text-align:right;color:#777f82}
.scroll-cue span{font-size:16px}

/* SECTIONS */
.about{padding:125px 0 115px}
.section-intro{max-width:930px}
.section-intro h2{font-size:clamp(42px,5vw,76px)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:80px}
.about-statement{padding-top:8px}
.quote-mark{display:block;font-family:Georgia,serif;font-size:115px;line-height:.5;color:var(--gold)}
.about-statement p{font-family:"Manrope";font-size:clamp(28px,3vw,45px);line-height:1.16;color:var(--charcoal);letter-spacing:-.04em}
.about-statement strong{color:var(--red)}
.about-copy{max-width:590px;padding-top:25px}
.about-copy .lead{font-size:21px;line-height:1.5;color:var(--ink);margin-bottom:22px}
.about-copy p:not(.lead){margin-bottom:27px}
.arrow-link{color:var(--red);margin-top:6px}

/* SERVICES */
.services{padding:125px 0}
.section-heading-row.light p{color:#9ea5a8}
.service-list{border-top:1px solid #42484b}
.service-item{display:grid;grid-template-columns:62px 1fr 45px;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid #42484b;transition:.35s var(--ease)}
.service-item:hover{padding-left:18px;background:linear-gradient(90deg,rgba(186,41,48,.18),transparent)}
.service-icon{width:46px;height:46px;border:1px solid rgba(238,190,30,.75);background:rgba(238,190,30,.1);display:grid;place-items:center;color:var(--gold);transition:.35s var(--ease)}
.service-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-item:hover .service-icon{background:var(--gold);color:var(--charcoal);border-color:var(--gold);transform:translateY(-2px)}
.service-item h3{font-size:23px;font-weight:600;color:#f5f5f5}
.service-item p{font-size:13px;color:#8e979b;margin-top:5px}
.service-arrow{font-size:25px;color:var(--gold);transition:.35s var(--ease)}
.service-item:hover .service-arrow{transform:translate(5px,-5px);color:#fff}

/* IMAGE BREAK */
.image-break{height:680px;position:relative;overflow:hidden}
.image-break>img{position:absolute;inset:0;height:100%;filter:saturate(.72)}
.image-break-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,36,39,.9),rgba(32,36,39,.35),rgba(32,36,39,.3))}
.image-break:after{content:"";position:absolute;right:-10%;top:-40%;width:48%;height:170%;background:rgba(186,41,48,.88);transform:rotate(28deg)}
.image-break-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}
.image-break-content h2{max-width:800px;color:#fff}
.image-break-content h2 em{color:var(--gold)}
.image-break-content p{max-width:650px;color:#d5d9da;margin-top:28px;font-size:17px}
.image-break-content .commitment-note{max-width:650px;margin-top:14px;font-size:14px;color:#bfc5c7}

/* APPROACH */
.approach{padding:125px 0 140px}
.approach-track{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin-top:110px}
.approach-line{position:absolute;top:10px;left:0;right:0;height:1px;background:var(--line)}
.approach-step{position:relative;padding-top:38px}
.approach-step .step-dot{position:absolute;top:4px;left:0;width:14px;height:14px;background:#fff;border:2px solid var(--red);border-radius:50%;transition:.3s ease}
.approach-step.active .step-dot,.approach-step:hover .step-dot{background:var(--red);box-shadow:0 0 0 7px rgba(186,41,48,.1)}
.approach-step>span{font-size:10px;letter-spacing:.1em;color:var(--red)}
.approach-step h3{font-size:23px;margin:15px 0 9px}
.approach-step p{font-size:13px;max-width:200px}


/* VALUES */
.values{padding:130px 0}
.values-grid{display:grid;grid-template-columns:42% 58%;gap:70px}
.values-title h2{font-size:clamp(45px,5vw,75px)}
.values-list{border-top:1px solid var(--line)}
.value-row{display:grid;grid-template-columns:50px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line);transition:.3s ease}
.value-row>span{font-size:10px;color:var(--red);letter-spacing:.1em}
.value-row h3{font-size:21px}
.value-row p{font-size:13px;margin-top:4px}
.value-row:hover{padding-left:12px}

/* CTA */
.final-cta{position:relative;overflow:hidden;padding:125px 0}
.cta-shape{position:absolute;right:-12%;top:-50%;width:55%;height:190%;background:var(--red);transform:rotate(26deg)}
.final-cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:45% 55%;gap:90px;align-items:start}
.final-cta h2{font-size:clamp(54px,6vw,86px);max-width:600px}
.final-cta h2 em{color:var(--gold)}
.final-cta> .container>div>p{max-width:490px;color:#adb3b6;font-size:17px;margin-top:28px}
.contact-form{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:32px;backdrop-filter:blur(8px)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:block;color:#cdd1d2;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:18px}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #4b5255;background:rgba(255,255,255,.04);color:#fff;padding:13px 14px;margin-top:8px;outline:none;resize:vertical}
.contact-form select{appearance:none}
.contact-form option{color:#222}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7d8588}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}
.form-note{font-size:10px;color:#747c80;margin-top:15px!important}

/* FOOTER */
.site-footer{background:#171a1c;color:#d5d8d9}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1.2fr;gap:55px;padding:75px 0 65px}
.footer-brand img{width:210px}
.footer-brand p{color:#7f878a;font-size:12px;margin-top:13px}
.footer-col{display:flex;flex-direction:column;align-items:flex-start}
.footer-col h4{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer-col a,.footer-col span{font-size:12px;color:#9ba1a4;margin-bottom:8px;transition:.25s ease}
.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #303538;padding:22px 0;font-size:10px;color:#666e71;text-transform:uppercase;letter-spacing:.08em}
.footer-bottom a{color:var(--gold);font-weight:700;transition:.25s ease}
.footer-bottom a:hover{color:#fff}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay{transition-delay:.12s}

/* RESPONSIVE */
@media(max-width:1050px){
  .container{width:min(calc(100% - 48px),var(--max))}
  .main-nav{gap:18px}
  .nav-link{font-size:10px}
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero-visual{margin-left:0}
  .icon-box{margin-top:45px}
  .section-heading-row{gap:35px}
  .footer-top{grid-template-columns:1.3fr 1fr 1.3fr 1.2fr;gap:25px}
}
@media(max-width:800px){
  .container{width:min(calc(100% - 36px),var(--max))}
  .site-header{background:var(--charcoal)}
  .nav-wrap{height:78px}
  .brand{width:175px}
  .menu-toggle{display:block;position:relative;z-index:1200}
  .main-nav{position:fixed;inset:0;width:100%;height:100dvh;min-height:100vh;background:var(--charcoal);padding:108px 25px 32px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;transform:translateX(100%);transition:transform .45s var(--ease);overflow:hidden;z-index:1050}
  .main-nav.open{transform:translateX(0)}
  .main-nav .nav-link,.main-nav .nav-cta{flex-shrink:0}
  .nav-link{font-size:15px;width:100%;padding:14px 0;border-bottom:1px solid #353a3c}
  .nav-link:after{bottom:0}
  .nav-cta{margin-top:18px;width:100%;justify-content:center;padding:14px 16px}
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.active span:nth-child(2){opacity:0}
  .menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{padding-top:78px;min-height:auto}
  .hero-grid{display:flex;flex-direction:column;min-height:auto}
  .hero-copy{padding:90px 0 50px}
  .hero-copy h1{font-size:clamp(47px,12vw,72px)}
  .hero-text{font-size:15px}
  .hero-visual{width:100%;height:500px}
  .hero-image{inset:0;clip-path:polygon(12% 0,100% 0,100% 78%,55% 100%,0 100%,0 20%)}
  .hero-red-cut{width:72%;height:28%}
  .hero-gold-line{left:5%;top:22%;width:90%}
  .hero-bottom{grid-template-columns:repeat(3,1fr);height:auto;padding:22px 0;gap:12px}
  .hero-bottom>div{font-size:9px}
  .hero-bottom .scroll-cue{display:none}
  .about,.services,.approach,.projects,.values,.final-cta{padding:85px 0}
  .about-grid,.values-grid,.final-cta-grid{grid-template-columns:1fr;gap:45px}
  .about-grid{margin-top:55px}
  .about-copy{padding-top:0}
  .section-heading-row{display:block;margin-bottom:45px}
  .section-heading-row>p{margin-top:25px;max-width:600px}
  .service-item{grid-template-columns:50px 1fr 25px;gap:15px}
  .service-item h3{font-size:18px}
  .image-break{height:570px}
  .image-break:after{right:-35%;width:65%}
  .approach-track{grid-template-columns:1fr;gap:35px;margin-top:65px;padding-left:35px}
  .approach-line{left:6px;top:0;bottom:0;width:1px;height:auto;right:auto}
  .approach-step{padding:0 0 0 20px}
  .approach-step .step-dot{top:0;left:-35px}
  .sector-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}
  .sector-large{grid-column:span 2;grid-row:span 1}
  .sector-grid .sector-card:not(.sector-large){grid-column:span 1}
  .sector-large h3{font-size:32px}
  .footer-top{grid-template-columns:1fr 1fr;gap:45px}
  .footer-brand{grid-column:span 2}
  .footer-bottom{display:block}
  .footer-bottom span{display:block;margin-top:5px}
}
@media(max-width:560px){
  .container{width:calc(100% - 28px)}
  .brand{width:155px}
  .hero-copy{padding-top:70px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:20px}
  .hero-visual{height:410px}
  .hero-tag{right:0}
  .hero-bottom{grid-template-columns:1fr 1fr}
  .hero-bottom>div:nth-child(3){display:none}
  .about-statement p{font-size:31px}
  .about-copy .lead{font-size:18px}
  .service-item{grid-template-columns:30px 1fr 20px;padding:23px 0}
  .service-item h3{font-size:16px}
  .service-item p{font-size:12px}
  .service-arrow{font-size:20px}
  .image-break{height:570px}
  .image-break-content h2{font-size:43px}
  .final-cta-grid{gap:35px}
  .contact-form{padding:22px 18px}
  .form-row{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:32px}
  .footer-brand{grid-column:span 1}
  .footer-brand img{width:185px}
}

/* PROJECTS */
.projects{padding:125px 0}
.project-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:260px;gap:14px}
.project-card{position:relative;overflow:hidden;background:var(--charcoal);min-height:260px}
.project-card img{position:absolute;inset:0;height:100%;transition:transform .8s var(--ease);filter:saturate(.72)}
.project-card:hover img{transform:scale(1.055);filter:saturate(.95)}
.project-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,23,.03) 15%,rgba(20,22,23,.9) 100%);z-index:1}
.project-content{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;color:#fff}
.project-content>span{font-size:10px;color:var(--gold);letter-spacing:.13em;font-weight:700}
.project-content h3{font-size:25px;margin-top:5px;max-width:470px}
.project-content p{font-size:12px;color:#d0d3d4;line-height:1.5;max-width:420px;margin-top:5px}
.project-open{display:inline-flex;align-items:center;gap:9px;margin-top:14px;border:0;border-bottom:1px solid var(--gold);padding:0 0 5px;background:none;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;cursor:pointer}
.project-open b{font-size:15px;color:var(--gold);font-weight:500;transition:transform .3s var(--ease)}
.project-open:hover b{transform:translate(4px,-3px)}
.project-large{grid-column:span 6;grid-row:span 2}
.project-grid .project-card:not(.project-large){grid-column:span 3}
.project-large h3{font-size:40px}
.projects-note{margin-top:22px;max-width:720px;font-size:11px;color:#777c7f;font-style:italic}

/* PROJECT MODAL */
.project-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:30px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.project-modal.open{opacity:1;visibility:visible}
.modal-backdrop{position:absolute;inset:0;background:rgba(14,16,17,.82);backdrop-filter:blur(7px)}
.modal-dialog{position:relative;z-index:2;width:min(100%,1050px);max-height:min(88vh,820px);overflow:auto;background:#fff;color:var(--ink);display:grid;grid-template-columns:47% 53%;box-shadow:0 30px 90px rgba(0,0,0,.35);transform:translateY(25px) scale(.98);transition:transform .45s var(--ease)}
.project-modal.open .modal-dialog{transform:none}
.modal-image-wrap{min-height:520px;background:var(--charcoal);overflow:hidden}
.modal-image-wrap img{height:100%;min-height:520px}
.modal-content{padding:55px 50px 50px;align-self:center}
.modal-content h2{font-size:clamp(36px,4vw,58px);margin-bottom:20px}
.modal-content>p{font-size:16px;line-height:1.7;color:#62686b;max-width:560px}
.modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 32px;padding-top:24px;border-top:1px solid var(--line)}
.modal-meta div{display:flex;flex-direction:column;gap:5px}
.modal-meta span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);font-weight:700}
.modal-meta strong{font-family:"Manrope";font-size:14px;line-height:1.35}
.modal-close{position:absolute;z-index:3;right:17px;top:14px;width:40px;height:40px;border:1px solid #d7d7d7;background:#fff;color:var(--charcoal);font-size:28px;line-height:1;cursor:pointer;transition:.25s ease}
.modal-close:hover{background:var(--red);border-color:var(--red);color:#fff}
.modal-cta{margin-top:2px}
body.modal-open{overflow:hidden}

@media(max-width:800px){
  .project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}
  .project-large{grid-column:span 2;grid-row:span 1}
  .project-grid .project-card:not(.project-large){grid-column:span 1}
  .project-large h3{font-size:32px}
  .project-content h3{font-size:21px}
  .project-modal{padding:18px}
  .modal-dialog{grid-template-columns:1fr;max-height:92vh}
  .modal-image-wrap{min-height:280px;height:34vh}
  .modal-image-wrap img{min-height:280px}
  .modal-content{padding:38px 28px 32px}
}
@media(max-width:560px){
  .project-grid{grid-template-columns:1fr;grid-auto-rows:250px}
  .project-large,.project-grid .project-card:not(.project-large){grid-column:span 1}
  .project-large h3{font-size:28px}
  .project-content h3{font-size:20px}
  .project-content p{font-size:11px}
  .project-modal{padding:10px}
  .modal-dialog{max-height:95vh}
  .modal-image-wrap{height:230px;min-height:230px}
  .modal-image-wrap img{min-height:230px}
  .modal-content{padding:32px 20px 24px}
  .modal-content h2{font-size:34px}
  .modal-content>p{font-size:14px}
  .modal-meta{grid-template-columns:1fr;gap:14px}
}
