 :root{--navy:#052e56;--deep:#021a31;--orange:#f7941d;--paper:#f2efe7;--ink:#102438;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink);background:var(--paper);overflow-x:hidden}a{text-decoration:none;color:inherit}em{font-family:"DM Serif Display",serif;font-weight:400;color:var(--orange)}.loader{position:fixed;inset:0;background:var(--deep);z-index:999;display:grid;place-items:center;color:white;transition:transform .9s cubic-bezier(.8,0,.2,1)}.loader.done{transform:translateY(-100%)}.loader div{font-weight:800;letter-spacing:.15em;font-size:clamp(22px,4vw,48px)}.loader i{display:block;height:2px;background:var(--orange);width:0;margin-top:14px;animation:load 1s forwards}@keyframes load{to{width:100%}}.progress{position:fixed;top:0;left:0;height:3px;background:var(--orange);z-index:1000}
header{height:78px;position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;padding:0 5vw;color:white;border-bottom:1px solid #ffffff22;transition:.35s}header.scrolled{height:66px;background:#021a31ef;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand img{width:43px;height:43px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand b{font-size:14px}.brand small{font-size:7px;letter-spacing:.13em}nav{display:flex;gap:23px;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}nav a:hover,.yt:hover{color:var(--orange)}.yt{font-size:8px;font-weight:800;margin-left:28px;color:#ffc26f}.menu{display:none}
.hero{height:100vh;min-height:720px;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 25%,#12609c,var(--deep) 58%);color:white}.grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:64px 64px}.halo{position:absolute;width:60vw;height:60vw;border-radius:50%;border:1px solid #ffffff1b;right:-12vw;top:-20vw;box-shadow:0 0 0 80px #ffffff07,0 0 0 160px #f7941d09}.hero-copy{position:absolute;left:7vw;top:25vh;z-index:2}.hero-copy>p,.eyebrow,.mission-intro>p,.lead-head>p,.support-sticky>p,.projects>p,.corporate p,.social p,.contact>p{font-size:9px;letter-spacing:.22em;font-weight:800;color:#a9bfd1}.hero h1{font-size:clamp(70px,10vw,150px);line-height:.76;letter-spacing:-.065em;margin:42px 0}.hero h1 span,.hero h1 em{display:block}.hero h1 em{margin-left:11vw}.hero-foot{margin-left:42vw;width:37vw;display:flex;gap:30px}.hero-foot span{font-size:9px;color:var(--orange)}.hero-foot p{font-size:12px;line-height:1.8;color:#afc1d0;margin:0}.linkline{position:absolute;right:2vw;bottom:0;width:50vw;height:29vh;opacity:.16}.linkline i{height:100%;border-left:3px solid white;display:inline-block;margin-left:17%;transform:skewX(-16deg)}.linkline b{position:absolute;left:0;right:0;top:24%;border-top:8px solid white;transform:rotate(-5deg)}.scroll{position:absolute;left:7vw;bottom:4vh;font-size:8px;letter-spacing:.17em}
.about{min-height:100vh;background:white;padding:15vh 8vw;position:relative;display:grid;grid-template-columns:15% 85%;overflow:hidden}.about aside{font-size:9px;letter-spacing:.15em;color:#7c878f;writing-mode:vertical-rl}.about-main{max-width:1100px}.eyebrow{color:var(--orange)}.about h2,.mission h2,.leadership h2,.support h2,.projects h2,.social h2,.contact h2{font-size:clamp(50px,6.5vw,92px);line-height:1;letter-spacing:-.055em}.copy{width:70%;margin:60px 0 0 24%;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.copy p{font-size:13px;line-height:1.9;color:#69757e}.ring{position:absolute;width:380px;height:380px;border:1px solid #f7941d55;border-radius:50%;right:-160px;bottom:-120px;box-shadow:0 0 0 65px #052e5608,0 0 0 130px #f7941d08}
.mission{background:var(--deep);color:white;padding:130px 7vw}.mission-intro{display:flex;justify-content:space-between;align-items:end}.mission-intro h2{margin:0}.mission-path{margin-top:80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #29465f}.mission-path article{min-height:330px;padding:35px 28px;border-right:1px solid #29465f;position:relative;transition:.35s}.mission-path article:hover{background:#0a3a66;transform:translateY(-10px)}.mission-path b{font-size:9px;color:var(--orange)}.mission-path span{position:absolute;right:25px;top:35px;font-size:8px;color:#7f99ae}.mission-path h3{font-size:24px;margin-top:100px}.mission-path p{font-size:11px;line-height:1.8;color:#a9bac8}.vision{margin:100px 0 0 18%;max-width:950px}.vision>span{font-size:9px;letter-spacing:.2em;color:var(--orange)}.vision blockquote{font-family:"DM Serif Display";font-size:clamp(30px,4vw,54px);line-height:1.2;margin:25px 0;color:#dce6ed}
.leadership{padding:140px 7vw;background:var(--paper)}.lead-head{display:grid;grid-template-columns:30% 70%;align-items:end}.lead-head>p{color:var(--orange)}.lead-head h2{margin:0}.leaders{display:grid;grid-template-columns:1fr 1fr;margin-top:75px;border-top:1px solid #cdd1d1;border-left:1px solid #cdd1d1}.leader{min-height:570px;padding:48px;position:relative;border-right:1px solid #cdd1d1;border-bottom:1px solid #cdd1d1;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:.4s}.leader:hover{background:white;transform:translateY(-7px)}.leader.alt:hover{background:#062f58;color:white}.mono{position:absolute;right:20px;top:-35px;font-family:"DM Serif Display";font-size:200px;color:#052e5609}.leader.alt .mono{color:#f7941d18}.leader>span{font-size:9px;letter-spacing:.2em;color:var(--orange)}.leader h3{font-size:clamp(30px,3.4vw,48px);margin:12px 0}.leader .tag{font-size:8px;letter-spacing:.14em;color:#7a858c}.leader>p:not(.tag){font-size:12px;line-height:1.85;color:#69757e;max-width:530px}.leader.alt:hover>p{color:#b9cad7}.leader button{margin-top:25px;align-self:flex-start;background:none;border:0;border-bottom:1px solid var(--orange);padding:0 0 9px;font:800 9px Manrope;letter-spacing:.12em;color:inherit;cursor:pointer}.leader button b{color:var(--orange);margin-left:15px}
.support{display:grid;grid-template-columns:43% 57%;background:white}.support-sticky{height:100vh;position:sticky;top:0;padding:18vh 7vw;background:var(--navy);color:white}.support-sticky>p{color:#9eb6c9}.journey-line{width:1px;height:130px;background:var(--orange);margin-top:55px}.steps article{min-height:58vh;padding:12vh 9vw;border-bottom:1px solid #e0e1dd;position:relative}.steps b{font-size:9px;color:var(--orange)}.steps h3{font-size:clamp(34px,4vw,56px);margin:28px 0;color:var(--navy)}.steps p{max-width:460px;font-size:13px;line-height:1.85;color:#6b757d}
.projects{min-height:90vh;padding:15vh 7vw;background:linear-gradient(135deg,#0c4f8b,#032746);color:white;position:relative;overflow:hidden}.projects>p{color:#fbb157}.projects h2{position:relative;z-index:2}.project-orbit{position:absolute;width:650px;height:650px;border:1px solid #ffffff18;border-radius:50%;right:-80px;top:-130px;box-shadow:0 0 0 80px #ffffff07,0 0 0 160px #f7941d09}.project-note{position:absolute;right:8vw;bottom:12vh;width:35vw;z-index:2;border-top:1px solid #6685a0;padding-top:25px}.project-note span{font-size:8px;letter-spacing:.2em;color:#ffb14e}.project-note h3{font-family:"DM Serif Display";font-size:45px;margin:12px 0}.project-note p{font-size:12px;line-height:1.8;color:#b7c8d6}
.corporate{padding:90px 7vw;background:#e7e4dc;display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;align-items:center}.corporate p{color:var(--orange)}.corporate h2{font-size:clamp(38px,4vw,60px);color:var(--navy)}dl{margin:0;border-top:1px solid #c0c2be}dl div{display:grid;grid-template-columns:1fr 1fr;padding:23px 0;border-bottom:1px solid #c0c2be;gap:25px}dt{font-size:8px;letter-spacing:.12em;color:#737d83;text-transform:uppercase}dd{margin:0;font-size:14px;font-weight:700;color:var(--navy)}
.social{padding:120px 7vw;background:white;display:grid;grid-template-columns:1fr 1fr;align-items:end}.social p{color:var(--orange)}.social a{border-top:1px solid #d5d8d8;border-bottom:1px solid #d5d8d8;padding:30px 0;display:grid;grid-template-columns:100px 1fr 30px;align-items:center}.social a span{font-size:8px;color:#8a9398}.social a strong{font-size:20px}.social a b{color:var(--orange);font-size:24px}
.contact{padding:120px 7vw;background:var(--deep);color:white;display:grid;grid-template-columns:12% 45% 43%;align-items:center}.contact>p{writing-mode:vertical-rl}.contact>div>span{font-size:9px;letter-spacing:.2em;color:var(--orange)}.contact-links a{display:grid;grid-template-columns:100px 1fr 20px;align-items:center;border-top:1px solid #2d4b65;padding:22px 0;font-size:14px}.contact-links a:last-child{border-bottom:1px solid #2d4b65}.contact-links small{font-size:7px;letter-spacing:.1em;color:#8ea5b7}.contact-links b{color:var(--orange)}
footer{background:#011426;color:white;padding:35px 7vw;display:flex;align-items:center;gap:35px}footer div{display:flex;align-items:center;gap:10px;margin-right:auto}footer img{width:40px}footer b{font-size:10px}footer span,footer small{font-size:7px;letter-spacing:.12em;color:#8198aa}footer i{font-style:normal}
dialog{width:min(900px,92vw);max-height:88vh;border:0;padding:0;background:white;color:var(--ink);box-shadow:0 30px 90px #0006}dialog::backdrop{background:#021a31dd;backdrop-filter:blur(6px)}dialog>p,dialog>h2,dialog>.message{margin-left:8%;margin-right:8%}dialog>p{margin-top:70px;font-size:9px;letter-spacing:.2em;color:var(--orange);font-weight:800}dialog>h2{font-size:clamp(35px,5vw,65px);line-height:1;margin-bottom:45px}.message{padding-bottom:70px}.message p{font-size:13px;line-height:1.9;color:#56646f}.message blockquote{font-family:"DM Serif Display";font-size:28px;line-height:1.4;color:var(--navy);border-left:3px solid var(--orange);padding-left:25px;margin:40px 0}.close{position:sticky;float:right;top:18px;margin:18px 20px 0 0;width:42px;height:42px;border:0;border-radius:50%;background:var(--deep);color:white;font-size:24px;cursor:pointer;z-index:3}
.reveal{opacity:0;transform:translateY(35px);transition:.8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){header{height:68px}.brand span{display:none}.yt{margin-left:auto;margin-right:18px}nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--deep);padding:30px;flex-direction:column}nav.open{display:flex}.menu{display:block;background:none;border:0;color:white;font-size:22px}.hero h1{font-size:19vw}.hero h1 em{margin-left:0}.hero-foot{margin-left:0;width:86vw}.about{display:block;padding:100px 7vw}.about aside{display:none}.copy{width:100%;margin:40px 0 0;grid-template-columns:1fr}.mission{padding:90px 7vw}.mission-intro{display:block}.mission-path{grid-template-columns:1fr}.mission-path article{min-height:280px;border-bottom:1px solid #29465f}.vision{margin:70px 0 0}.leadership{padding:90px 7vw}.lead-head{grid-template-columns:1fr}.leaders{grid-template-columns:1fr}.leader{min-height:500px;padding:35px}.mono{font-size:130px}.support{display:block}.support-sticky{height:auto;position:relative;padding:90px 7vw}.steps article{min-height:auto;padding:80px 7vw}.projects{min-height:750px}.project-note{left:7vw;right:7vw;bottom:9vh;width:auto}.corporate,.social,.contact{grid-template-columns:1fr;padding:80px 7vw}.contact>p{writing-mode:initial}.contact-links{margin-top:45px}.contact-links a{grid-template-columns:80px 1fr 15px;font-size:11px}.social a{margin-top:40px;grid-template-columns:75px 1fr 20px}.social a strong{font-size:15px}footer{flex-direction:column;align-items:flex-start}footer div{margin:0}}

/* === Portrait responsive patch — 27 Sep 2026 ===
   Keeps desktop styling unchanged while preventing hero headline clipping
   on phones and portrait tablets. */
@media (max-width: 1024px) and (orientation: portrait){
  .hero-copy{
    left:7vw;
    right:7vw;
    width:auto;
    top:27vh;
  }
  .hero h1{
    width:100%;
    font-size:clamp(58px, 13.2vw, 112px);
    line-height:.82;
    letter-spacing:-.065em;
    margin:36px 0;
  }
  .hero h1 span,
  .hero h1 em{
    display:block;
    width:100%;
    margin-left:0;
    white-space:nowrap;
  }
  .hero h1 em{
    font-size:.80em;
    letter-spacing:-.07em;
  }
  .hero-foot{
    margin-left:8vw;
    width:min(72vw, 620px);
    gap:22px;
  }
  .hero-foot p{
    font-size:12px;
    line-height:1.75;
  }
}

@media (max-width: 600px) and (orientation: portrait){
  .hero{
    min-height:100svh;
    height:100svh;
  }
  .hero-copy{
    top:31vh;
    left:7vw;
    right:7vw;
  }
  .hero-copy>p{
    font-size:7px;
    letter-spacing:.16em;
    white-space:nowrap;
  }
  .hero h1{
    font-size:clamp(48px, 17vw, 74px);
    line-height:.80;
    margin:32px 0 36px;
    letter-spacing:-.07em;
  }
  .hero h1 em{
    font-size:.70em;
    letter-spacing:-.075em;
  }
  .hero-foot{
    margin-left:0;
    width:100%;
    display:grid;
    grid-template-columns:72px 1fr;
    gap:12px;
  }
  .hero-foot span{
    font-size:7px;
  }
  .hero-foot p{
    font-size:10px;
    line-height:1.65;
    max-width:none;
  }
  .linkline{
    width:62vw;
    height:25vh;
    right:-3vw;
  }
}


/* === Final hero fit patch — exact portrait containment === */
@media (max-width: 1024px) and (orientation: portrait){
  .hero-copy{
    box-sizing:border-box;
    max-width:86vw;
  }
  .hero h1 em{
    /* OPPORTUNITY is the widest line: size it from viewport width,
       independently from TRUST MEETS, with room for italic overhang. */
    font-size:clamp(38px, 10.5vw, 82px);
    width:100%;
    max-width:100%;
    white-space:nowrap;
    letter-spacing:-.075em;
  }
}
@media (max-width: 600px) and (orientation: portrait){
  .hero h1 em{
    font-size:clamp(34px, 11.2vw, 52px);
    letter-spacing:-.08em;
  }
}


/* === Guaranteed mobile hero containment === */
@media (max-width: 1024px) and (orientation: portrait){
  .hero h1 { overflow: visible; }
  .hero h1 em{
    display:block;
    box-sizing:border-box;
    width:100%;
    max-width:none;
    font-size:9.2vw !important;
    line-height:.92;
    letter-spacing:-.065em;
    white-space:nowrap;
  }
}
@media (max-width: 600px) and (orientation: portrait){
  .hero h1 em{
    font-size:9.4vw !important;
  }
}


/* === iPhone professional responsive correction ===
   Phone only. Tablet and desktop layouts remain unchanged. */

/* Full-bleed foundation, including Safari landscape safe areas */
html, body {
  width: 100%;
  max-width: 100%;
}
body {
  min-width: 0;
}
.hero {
  width: 100%;
  max-width: 100%;
}

/* PHONE — PORTRAIT */
@media (max-width: 600px) and (orientation: portrait) {
  html, body {
    background: #021a31;
  }

  .hero {
    width: 100vw;
    min-height: 100svh;
    height: 100svh;
    overflow: hidden;
  }

  .hero-copy {
    left: 7vw;
    right: 7vw;
    width: auto;
    max-width: none;
    top: 30svh;
  }

  .hero-copy > p {
    font-size: clamp(6px, 1.65vw, 8px);
    letter-spacing: .13em;
    white-space: nowrap;
  }

  .hero h1 {
    width: 100%;
    margin: 28px 0 34px;
    font-size: 1px; /* children control their own exact responsive size */
    line-height: 1;
    letter-spacing: 0;
  }

  .hero h1 span {
    display: block;
    width: 100%;
    margin: 0;
    font-size: clamp(44px, 14.6vw, 67px);
    line-height: .82;
    letter-spacing: -.072em;
    white-space: nowrap;
  }

  .hero h1 em {
    display: block;
    width: 100%;
    margin: 4px 0 0;
    font-size: clamp(34px, 10.6vw, 49px) !important;
    line-height: .9;
    letter-spacing: -.07em;
    white-space: nowrap;
  }

  .hero-foot {
    margin-left: 0;
    width: 100%;
    grid-template-columns: 68px minmax(0,1fr);
    gap: 12px;
  }

  .hero-foot p {
    font-size: clamp(9px, 2.55vw, 11px);
    line-height: 1.6;
  }

  .linkline {
    right: -5vw;
    width: 64vw;
  }
}

/* PHONE — LANDSCAPE
   Covers iPhones even when CSS viewport width is large after rotation. */
@media (orientation: landscape) and (max-height: 500px) {
  html {
    background: #021a31;
  }

  body {
    margin: 0;
    background: #021a31;
    overflow-x: hidden;
  }

  .hero {
    width: 100vw;
    max-width: none;
    height: 100svh;
    min-height: 100svh;
    margin: 0;
    overflow: hidden;
    background: radial-gradient(circle at 78% 25%, #12609c, #021a31 58%);
  }

  header {
    left: 0;
    right: 0;
    width: 100%;
    padding-left: max(5vw, env(safe-area-inset-left));
    padding-right: max(5vw, env(safe-area-inset-right));
    height: 56px;
  }

  .brand img {
    height: 28px;
  }

  .brand span,
  nav {
    display: none;
  }

  .yt {
    margin-left: auto;
    margin-right: 16px;
    font-size: 8px;
  }

  .menu {
    display: block;
    background: none;
    border: 0;
    color: white;
    font-size: 19px;
  }

  nav.open {
    display: flex;
    position: absolute;
    top: 56px;
    left: 0;
    right: 0;
    background: #021a31;
    padding: 22px max(5vw, env(safe-area-inset-left));
    flex-direction: column;
  }

  .hero-copy {
    top: 24svh;
    left: max(7vw, env(safe-area-inset-left));
    right: max(7vw, env(safe-area-inset-right));
    width: auto;
    max-width: none;
  }

  .hero-copy > p {
    font-size: 6px;
    letter-spacing: .14em;
    white-space: nowrap;
  }

  .hero h1 {
    width: 100%;
    margin: 14px 0 16px;
    font-size: 1px;
    line-height: 1;
    letter-spacing: 0;
  }

  .hero h1 span {
    display: block;
    width: 100%;
    margin: 0;
    font-size: clamp(44px, 9.4vw, 76px);
    line-height: .79;
    letter-spacing: -.07em;
    white-space: nowrap;
  }

  .hero h1 em {
    display: block;
    width: 100%;
    margin: 2px 0 0;
    font-size: clamp(34px, 7.15vw, 58px) !important;
    line-height: .86;
    letter-spacing: -.07em;
    white-space: nowrap;
  }

  .hero-foot {
    margin-left: 36vw;
    width: min(52vw, 430px);
    display: grid;
    grid-template-columns: 60px minmax(0,1fr);
    gap: 10px;
  }

  .hero-foot span {
    font-size: 6px;
  }

  .hero-foot p {
    font-size: 8px;
    line-height: 1.45;
  }

  .linkline {
    right: -2vw;
    bottom: -3vh;
    width: 46vw;
    height: 30vh;
  }

  .scroll {
    left: max(7vw, env(safe-area-inset-left));
    bottom: 5vh;
    font-size: 6px;
  }
}


/* ============================================================
   FINAL RESPONSIVE OVERRIDE
   Authoritative rules for phones. Keep at END of stylesheet.
   ============================================================ */

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  background: #021a31;
  overflow-x: clip;
}

/* All phones in portrait: fit the WHOLE headline, not just OPPORTUNITY */
@media (orientation: portrait) and (max-width: 767px) {
  .hero {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;
    min-height: 100svh !important;
    overflow: hidden !important;
  }

  .hero-copy {
    box-sizing: border-box !important;
    left: 7vw !important;
    right: 7vw !important;
    width: auto !important;
    max-width: none !important;
    top: 29svh !important;
  }

  .hero h1 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 28px 0 34px !important;
    font-size: 1px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    overflow: visible !important;
  }

  .hero h1 span {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    /* Sized for TRUST MEETS to fit even on narrow phones */
    font-size: 13.2vw !important;
    line-height: .83 !important;
    letter-spacing: -.075em !important;
    white-space: nowrap !important;
  }

  .hero h1 em {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 5px 0 0 !important;
    font-size: 9.65vw !important;
    line-height: .90 !important;
    letter-spacing: -.072em !important;
    white-space: nowrap !important;
  }

  .hero-foot {
    box-sizing: border-box !important;
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* iPhone / short-phone landscape: true full bleed, including notched screens */
@media (orientation: landscape) and (max-height: 500px) {
  html, body {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    min-height: 100% !important;
    background: #021a31 !important;
    overflow-x: hidden !important;
  }

  body {
    /* Paint beneath iOS safe areas; content itself remains safely inset below. */
    padding: 0 !important;
  }

  .hero {
    position: relative !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding-left: env(safe-area-inset-left) !important;
    padding-right: env(safe-area-inset-right) !important;
    overflow: hidden !important;
    background: radial-gradient(circle at 78% 25%, #12609c, #021a31 58%) !important;
  }

  .grid, .halo {
    /* Decorative layers must also paint under the notch/safe areas. */
    left: calc(-1 * env(safe-area-inset-left)) !important;
    right: calc(-1 * env(safe-area-inset-right)) !important;
  }

  header {
    box-sizing: border-box !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding-left: max(5vw, env(safe-area-inset-left)) !important;
    padding-right: max(5vw, env(safe-area-inset-right)) !important;
  }

  .hero-copy {
    box-sizing: border-box !important;
    left: max(7vw, env(safe-area-inset-left)) !important;
    right: max(7vw, env(safe-area-inset-right)) !important;
    width: auto !important;
    max-width: none !important;
  }

  .hero h1 {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 1px !important;
  }

  .hero h1 span {
    width: 100% !important;
    margin: 0 !important;
    font-size: min(9vw, 68px) !important;
    line-height: .80 !important;
    white-space: nowrap !important;
  }

  .hero h1 em {
    width: 100% !important;
    margin: 3px 0 0 !important;
    font-size: min(6.8vw, 52px) !important;
    line-height: .87 !important;
    white-space: nowrap !important;
  }
}


/* POLISH UPDATE — contact grouping + tablet portrait spacing.
   Kept after the protected responsive hero rules so these targeted rules do not alter the hero. */
.contact-links .call-group{display:grid;grid-template-columns:100px 1fr;border-top:1px solid #2d4b65;border-bottom:1px solid #2d4b65;padding:22px 0;align-items:start}
.contact-links .call-group>small{font-size:7px;letter-spacing:.1em;color:#8ea5b7;padding-top:4px}
.call-people{display:grid;gap:16px}
.contact-links .call-people a{display:grid;grid-template-columns:1fr 20px;align-items:center;border:0!important;padding:0;font-size:14px}
.contact-links .call-people a:last-child{border:0!important}
.call-people span{display:flex;flex-direction:column;gap:4px}
.call-people strong{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#8ea5b7;font-weight:700}
.call-people b{color:var(--orange)}
@media(max-width:800px){.contact-links .call-group{grid-template-columns:80px 1fr;padding:22px 0}.contact-links .call-people a{grid-template-columns:1fr 15px;font-size:11px}.call-people strong{font-size:7px}}
@media(min-width:600px) and (max-width:1100px) and (orientation:portrait){.about{min-height:auto!important;padding-top:100px;padding-bottom:100px}}


/* READABILITY + TABLET PORTRAIT + CONTACT REFINEMENT — 2026-09-27
   Intentionally appended after protected hero rules. No hero selectors are changed here. */

/* Supporting copy should remain comfortably readable at normal viewing distance. */
.steps p{font-size:15px;line-height:1.8}
.mission-path p{font-size:13px;line-height:1.75}
.leader>p:not(.tag){font-size:14px;line-height:1.8}
.project-note p{font-size:14px;line-height:1.75}

/* One CALL field, two clearly separated people. */
.contact-links .call-group{
  display:grid;
  grid-template-columns:100px 1fr;
  align-items:start;
  padding:24px 0;
  border-top:1px solid #2d4b65;
  border-bottom:1px solid #2d4b65;
}
.contact-links .call-group>small{padding-top:5px;font-size:7px;letter-spacing:.1em;color:#8ea5b7}
.call-people{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.contact-links .call-people a{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:0;
  padding:0!important;
  border:0!important;
  font-size:14px;
}
.call-people span{display:block;min-width:0}
.call-people strong{display:block;margin-bottom:7px;font-size:9px;line-height:1.25;letter-spacing:.06em;text-transform:none;color:#a9bfd1;font-weight:700}
.call-people .phone-number{display:block;white-space:nowrap;color:#fff;font-weight:700}
.call-people b{flex:0 0 auto;color:var(--orange)}

/* Portrait tablets: use content-driven sections rather than desktop viewport-height staging. */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  .about{
    height:auto!important;
    min-height:0!important;
    padding:88px 7vw 96px!important;
    grid-template-columns:12% 88%;
  }
  .about-main{max-width:none}
  .about h2{font-size:clamp(54px,7vw,76px)}
  .copy{width:88%;margin:48px 0 0 8%;gap:4vw}
  .copy p{font-size:16px;line-height:1.75}
  .ring{width:280px;height:280px;right:-120px;bottom:-145px}

  .mission-path p{font-size:15px;line-height:1.7}
  .leader>p:not(.tag){font-size:15px;line-height:1.75}
  .steps article{min-height:0;padding:78px 8vw}
  .steps p{max-width:560px;font-size:17px;line-height:1.7;color:#53616b}
  .project-note p{font-size:15px}

  .contact{grid-template-columns:10% 40% 50%;padding:100px 6vw}
  .contact-links .call-group{grid-template-columns:90px 1fr}
  .call-people{grid-template-columns:1fr;gap:20px}
  .contact-links .call-people a{font-size:15px}
}

@media (max-width:767px){
  .steps p{font-size:15px;line-height:1.75}
  .mission-path p{font-size:13px}
  .leader>p:not(.tag){font-size:14px}
  .contact-links .call-group{grid-template-columns:80px 1fr}
  .call-people{grid-template-columns:1fr;gap:18px}
  .contact-links .call-people a{font-size:13px}
  .call-people strong{font-size:8px}
}

/* TABLET PORTRAIT POLISH — 2026-09-27
   Target only the What We Do intro staging. Protected hero rules remain untouched. */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  .support{display:block!important;}
  .support-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:72px 7vw 58px!important;
  }
  .support-sticky h2{margin-bottom:0!important;}
  .journey-line{height:72px!important;margin-top:32px!important;}
  .steps article{min-height:0!important;padding:68px 8vw!important;}
}

/* FINAL SECTION-SPACING + TABLET-LANDSCAPE PATCH — 2026-09-27
   Keeps the protected hero responsive rules untouched. */
@media (max-width:767px) and (orientation:portrait){
  .support-sticky{
    padding-top:72px!important;
    padding-bottom:34px!important;
  }
  .journey-line{
    height:58px!important;
    margin-top:28px!important;
  }
  .steps article{
    padding-top:52px!important;
    padding-bottom:58px!important;
  }
}

@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  .support-sticky{
    padding-top:68px!important;
    padding-bottom:34px!important;
  }
  .journey-line{
    height:52px!important;
    margin-top:28px!important;
  }
  .steps article{
    padding-top:48px!important;
    padding-bottom:60px!important;
  }
}

/* Prevent the editorial project headline from colliding with the Coming Soon block
   on tablet-sized landscape viewports. */
@media (min-width:768px) and (max-width:1180px) and (orientation:landscape){
  .projects{
    min-height:0!important;
    padding:88px 6vw 82px!important;
  }
  .projects h2{
    max-width:72%;
    font-size:clamp(48px,6vw,70px)!important;
    line-height:.98!important;
  }
  .project-note{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:44%!important;
    margin:64px 0 0 auto!important;
  }
  .project-note h3{font-size:38px!important;}
}

/* PHONE PROJECTS FLOW FIX — 2026-09-27
   Keep the Projects & Associations headline and Coming Soon content in normal
   document flow on portrait phones so they can never overlap. */
@media (max-width:767px) and (orientation:portrait){
  .projects{
    min-height:0!important;
    padding:82px 7vw 76px!important;
  }
  .projects h2{
    max-width:100%!important;
    margin-bottom:0!important;
    font-size:clamp(46px,13vw,62px)!important;
    line-height:.94!important;
  }
  .project-note{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    margin:58px 0 0!important;
    padding-top:24px!important;
  }
  .project-note h3{
    font-size:38px!important;
    margin:12px 0 18px!important;
  }
  .project-note p{
    font-size:15px!important;
    line-height:1.7!important;
  }
}


/* DESKTOP PROJECT ALIGNMENT + HERO INDEX CLEANUP — 2026-09-27
   Desktop only. Phone/tablet responsive rules and protected hero sizing stay untouched. */
@media (min-width:1181px){
  .projects h2{
    max-width:58%!important;
  }
  .project-note{
    right:7vw!important;
    bottom:11vh!important;
    width:34vw!important;
  }
  .hero-foot{
    display:block!important;
  }
  .hero-foot p{
    max-width:100%!important;
  }
}

/* PHONE HERO COPY + SHORT-LANDSCAPE CONTENT FIX — 2026-09-27
   Surgical patch: preserve the established hero headline/background while making
   supporting copy readable and preventing What We Do from using desktop sticky columns. */
@media (orientation: portrait) and (max-width: 767px) {
  .hero-foot{
    display:block!important;
    width:100%!important;
    margin:0!important;
  }
  .hero-foot p{
    width:min(78%, 330px)!important;
    max-width:none!important;
    margin:0!important;
    font-size:11px!important;
    line-height:1.62!important;
  }
}

@media (orientation: landscape) and (max-height: 500px) {
  .hero-foot{
    display:block!important;
    margin-left:36vw!important;
    width:min(42vw, 390px)!important;
    max-width:none!important;
  }
  .hero-foot p{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:9px!important;
    line-height:1.5!important;
  }

  /* Short landscape phones need a vertical reading flow below the hero. */
  .support{
    display:block!important;
  }
  .support-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:58px max(7vw, env(safe-area-inset-left)) 38px!important;
  }
  .support-sticky h2{
    margin:18px 0 0!important;
    font-size:clamp(34px,7vw,48px)!important;
    line-height:.96!important;
  }
  .journey-line{
    height:44px!important;
    margin-top:24px!important;
  }
  .steps article{
    min-height:0!important;
    padding:44px max(7vw, env(safe-area-inset-left)) 48px!important;
  }
  .steps h3{
    margin:16px 0 14px!important;
    font-size:clamp(28px,5.5vw,38px)!important;
  }
  .steps p{
    max-width:620px!important;
    font-size:13px!important;
    line-height:1.65!important;
  }
}

/* FINAL HERO SUPPORTING-COPY TYPOGRAPHY PASS — 2026-09-27
   Based on verified phone/tablet portrait + landscape device screenshots.
   Headline, background geometry, desktop composition and EXPLORE positioning are unchanged. */

/* Portrait tablets: use the available width and make the supporting sentence comfortably readable. */
@media (min-width:768px) and (max-width:1100px) and (orientation:portrait){
  .hero-foot{
    display:block!important;
    margin-left:0!important;
    width:min(76vw, 650px)!important;
    max-width:none!important;
  }
  .hero-foot p{
    width:100%!important;
    max-width:650px!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.65!important;
  }
}

/* Portrait phones: retain the new paragraph treatment, but improve reading size and measure. */
@media (max-width:767px) and (orientation:portrait){
  .hero-foot p{
    width:min(84%, 360px)!important;
    max-width:none!important;
    font-size:12px!important;
    line-height:1.58!important;
  }
}

/* Short landscape phones: keep the established position, increase legibility only. */
@media (orientation:landscape) and (max-height:500px){
  .hero-foot{
    margin-left:36vw!important;
    width:min(46vw, 430px)!important;
  }
  .hero-foot p{
    width:100%!important;
    font-size:11px!important;
    line-height:1.48!important;
  }
}

/* JUSTIFIED BODY COPY — 2026-09-27
   Typography-only change. Existing layout, spacing and responsive rules remain untouched. */
.copy p,
.mission-path article p,
.leader > p:not(.tag),
.steps article p,
.project-note p,
.message p,
.vision blockquote {
  text-align: justify;
  text-align-last: left;
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* SEND YOUR ENQUIRY — additive feature only, 2026-09-27.
   No existing section, hero or responsive rule is modified. */
.enquiry{padding:120px 7vw;background:#f4f1eb;color:var(--deep);display:grid;grid-template-columns:42% 58%;gap:7vw;align-items:start}
.enquiry-intro>p:first-child{font-size:9px;letter-spacing:.16em;color:#7c878f;margin-bottom:54px}.enquiry-intro>span{font-size:9px;letter-spacing:.2em;color:var(--orange)}.enquiry h2{font-size:clamp(48px,5.5vw,78px);line-height:1;letter-spacing:-.055em;margin:14px 0 28px}.enquiry h2 em{font-family:"DM Serif Display",serif;font-weight:400}.enquiry-copy{max-width:430px;font-size:14px;line-height:1.8;color:#69757e}
.enquiry-form{background:#fff;padding:44px;box-shadow:0 22px 70px rgba(5,46,86,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}.enquiry-form label{display:block}.enquiry-form label>span{display:block;margin-bottom:10px;font-size:8px;font-weight:700;letter-spacing:.14em;color:#687681}.enquiry-form label>span small{font-size:7px;font-weight:500;color:#9aa4ab}.enquiry-form .full{grid-column:1/-1}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid #ccd3d8;border-radius:0;background:transparent;padding:9px 0 13px;font:500 14px/1.5 Manrope,sans-serif;color:var(--deep);outline:none;transition:border-color .2s ease}.enquiry-form textarea{resize:vertical;min-height:110px}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--orange)}.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:#a0a9af}.consent{display:flex!important;align-items:flex-start;gap:11px;margin-top:26px}.consent input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;accent-color:var(--deep)}.consent span{margin:0!important;font-size:10px!important;line-height:1.55!important;letter-spacing:.02em!important;font-weight:500!important;color:#71808b!important}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.form-actions button{border:0;background:var(--deep);color:#fff;padding:17px 22px;font:700 9px/1 Manrope,sans-serif;letter-spacing:.13em;cursor:pointer;transition:transform .2s ease,background .2s ease}.form-actions button:hover{transform:translateY(-2px);background:#0a416f}.form-actions button:disabled{opacity:.55;cursor:wait;transform:none}.form-actions button b{margin-left:16px;color:var(--orange)}.form-status{margin:0;font-size:11px;line-height:1.5;color:#687681}.form-status.success{color:#276342}.form-status.error{color:#a13b31}
@media(max-width:900px){.enquiry{grid-template-columns:1fr;padding:90px 7vw;gap:48px}.enquiry-intro>p:first-child{margin-bottom:32px}.enquiry-copy{max-width:600px}.enquiry-form{padding:36px}}
@media(max-width:600px){.enquiry{padding:80px 7vw}.enquiry h2{font-size:clamp(44px,13vw,60px)}.enquiry-form{padding:28px 22px}.form-grid{grid-template-columns:1fr;gap:24px}.enquiry-form .full{grid-column:auto}.form-actions{align-items:flex-start;flex-direction:column}.form-actions button{width:100%;display:flex;justify-content:space-between;align-items:center}}

/* Ask Projjwal — guided enquiry assistant */
.ask-projjwal-launcher{position:fixed;right:24px;bottom:24px;z-index:1200;border:1px solid rgba(255,255,255,.16);background:#10263f;color:#fff;border-radius:999px;padding:13px 18px;font:700 12px/1 Manrope,sans-serif;letter-spacing:.08em;box-shadow:0 12px 34px rgba(7,24,43,.22);cursor:pointer;display:flex;align-items:center;gap:10px;transition:.25s ease}.ask-projjwal-launcher:hover{transform:translateY(-2px)}.ask-projjwal-launcher i{width:8px;height:8px;border-radius:50%;background:#d69a42;box-shadow:0 0 0 4px rgba(214,154,66,.16)}
.ask-projjwal{position:fixed;right:24px;bottom:82px;width:min(390px,calc(100vw - 32px));max-height:min(610px,calc(100dvh - 120px));z-index:1201;background:#fff;border:1px solid rgba(15,39,65,.12);box-shadow:0 24px 70px rgba(7,24,43,.24);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transition:.22s ease}.ask-projjwal.open{opacity:1;visibility:visible;transform:none}.ask-head{background:#10263f;color:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between}.ask-head div{display:flex;align-items:center;gap:12px}.ask-head img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}.ask-head strong{font:700 13px Manrope,sans-serif;letter-spacing:.05em}.ask-head small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font:500 10px Manrope,sans-serif;letter-spacing:.06em}.ask-close{border:0;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:3px 0 3px 8px}.ask-body{padding:20px;overflow:auto;background:#f8f6f1}.ask-bubble{max-width:88%;background:#fff;color:#24364a;border:1px solid rgba(15,39,65,.08);border-radius:14px 14px 14px 4px;padding:12px 14px;font:500 13px/1.55 Manrope,sans-serif;box-shadow:0 5px 18px rgba(7,24,43,.05)}.ask-options{display:grid;gap:8px;margin-top:14px}.ask-option{width:100%;text-align:left;border:1px solid rgba(15,39,65,.13);background:#fff;color:#10263f;border-radius:11px;padding:12px 13px;font:650 12px/1.3 Manrope,sans-serif;cursor:pointer;transition:.18s ease}.ask-option:hover{border-color:#d69a42;transform:translateX(2px)}.ask-answer{margin-top:12px;padding-top:12px;border-top:1px solid rgba(15,39,65,.1);font:500 12px/1.6 Manrope,sans-serif;color:#536274}.ask-answer strong{color:#10263f}.ask-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ask-action{border:0;border-radius:999px;padding:10px 12px;background:#10263f;color:#fff;text-decoration:none;font:700 10px/1 Manrope,sans-serif;letter-spacing:.05em;cursor:pointer}.ask-action.secondary{background:transparent;color:#10263f;border:1px solid rgba(15,39,65,.18)}
@media(max-width:767px){.ask-projjwal-launcher{right:14px;bottom:14px;padding:12px 15px}.ask-projjwal{right:12px;bottom:68px;width:calc(100vw - 24px);max-height:calc(100dvh - 88px);border-radius:17px}.ask-body{padding:16px}.ask-head{padding:15px 16px}}

/* SMART ENQUIRY ACCESS — additive only, 2026-09-27.
   Keeps the existing enquiry form in place while making it discoverable throughout the journey. */
.nav-enquire{margin-left:2px;padding:9px 12px;border:1px solid rgba(255,194,111,.55);color:#ffc26f!important;transition:background .2s ease,color .2s ease,border-color .2s ease}.nav-enquire:hover{background:#ffc26f;color:#021a31!important;border-color:#ffc26f}
.hero-enquire{position:absolute;z-index:4;left:7vw;bottom:8.2vh;font-size:8px;font-weight:800;letter-spacing:.16em;color:#ffc26f}.hero-enquire b{margin-left:10px}.hero-enquire:hover{color:#fff}
.project-enquire{display:inline-flex;align-items:center;gap:14px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);font-size:8px;font-weight:800;letter-spacing:.12em;color:#b9c8d5}.project-enquire b{color:#ffc26f}.project-enquire:hover b{color:#fff}
@media(max-width:800px){nav .nav-enquire{align-self:flex-start;margin:8px 0 0}.hero-enquire{left:max(7vw,env(safe-area-inset-left));bottom:8.5svh}}
@media(orientation:landscape) and (max-height:500px){.hero-enquire{left:max(7vw,env(safe-area-inset-left));bottom:12svh}}
