@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ivory:#fbf3ea;--ink:#161514;--red:#bb221e;--blue:#2450c5;--line:#c9bfb3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 1rem/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;line-height:1.09}i,em{font-style:normal;color:var(--red)}.skip-link{position:absolute;top:-100px;left:1rem;background:var(--ink);color:white;padding:.5rem;z-index:5}.skip-link:focus{top:1rem}.site-header{height:88px;padding:0 clamp(24px,5.5vw,96px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:2rem}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:800 .9rem/1.1 Manrope,Arial,sans-serif;letter-spacing:.075em;white-space:nowrap}.brand img{width:36px;height:36px;object-fit:cover}.brand b{color:var(--red)}nav{display:flex;gap:clamp(16px,3vw,48px)}nav a,footer a{font-size:.86rem;text-decoration:none;font-weight:700}nav a:hover,footer a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero{min-height:660px;display:grid;grid-template-columns:1.05fr .95fr}.hero-copy{padding:clamp(55px,7vw,125px) clamp(24px,5.5vw,96px) 80px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow,.section-label,.frame-mark,.frame-bottom,.card-top,.closing-index,.number{font:800 .74rem/1.25 Manrope,Arial,sans-serif;letter-spacing:.15em}.eyebrow{display:flex;gap:10px;align-items:center;margin-bottom:42px}.square{width:8px;height:8px;background:var(--red)}h1{font-size:clamp(3rem,5.1vw,6rem);max-width:860px;margin-bottom:30px}h1 em{display:inline-block}.intro{font-size:clamp(1.1rem,1.5vw,1.35rem);max-width:610px;line-height:1.55;margin-bottom:35px}.text-link{font-weight:800;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:7px}.text-link span{margin-left:20px;color:var(--red)}.hero-art{position:relative;background:#eee5dc;border-left:1px solid var(--line);min-height:520px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:40px}.hero-art>img{width:min(100%,680px);mix-blend-mode:multiply}.frame-mark,.frame-bottom{position:absolute;left:38px;right:38px;display:flex;justify-content:space-between;gap:15px}.frame-mark{top:32px}.frame-mark span{color:var(--red)}.frame-bottom{bottom:32px}.ticker{background:var(--red);color:white;display:flex;justify-content:space-around;gap:20px;overflow:hidden;padding:16px 20px;font:800 .76rem/1.2 Manrope,Arial,sans-serif;letter-spacing:.17em}.section{padding:clamp(70px,9vw,150px) clamp(24px,5.5vw,96px)}.section-label{display:flex;align-items:center;gap:25px;color:var(--red);margin-bottom:65px;white-space:nowrap}.rule{width:100%;height:1px;background:var(--line)}h2{font-size:clamp(2.7rem,5vw,5.7rem);margin-bottom:0}.proposal-grid{display:grid;grid-template-columns:1fr .75fr;gap:8vw}.section-copy{max-width:650px;font-size:1.17rem}.section-copy p{margin-bottom:25px}.section-copy .note{font-size:1rem;border-left:4px solid var(--red);padding-left:20px;margin-top:40px;font-weight:700}.method{background:var(--ink);color:var(--ivory)}.method .section-label{color:#ee7067}.method .rule{background:#4d4b48}.method h2{max-width:800px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:85px}.method-grid article{border-top:1px solid #66635e;padding-top:22px}.number{color:#ee7067}.method-grid h3{font-size:clamp(1.5rem,2.2vw,2.2rem);margin:32px 0 15px}.method-grid p{max-width:350px;color:#d7d0c8}.paths-heading{display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:7vw;margin-bottom:50px}.paths-heading p{font-size:1.12rem;max-width:550px;margin-bottom:6px}.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.path-card{background:var(--red);color:white;padding:clamp(30px,4vw,60px);min-height:410px;display:flex;flex-direction:column}.path-card-light{background:#eae0d6;color:var(--ink)}.card-top{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid currentColor;padding-bottom:20px;font-size:.69rem}.card-top span:last-child{opacity:.75}.path-card h3{font-size:clamp(2rem,3.1vw,3.7rem);margin:42px 0 20px}.path-card p{max-width:500px;font-size:1.08rem}.card-meta{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}.card-meta span{border:1px solid currentColor;border-radius:100px;padding:5px 13px;font-size:.8rem}.path-footnote{margin:22px 0 0;max-width:750px;color:#514d49;font-size:.94rem}.evidence{border-top:1px solid var(--line)}.evidence-grid{display:grid;grid-template-columns:1fr .7fr;gap:8vw}.evidence-grid>div>p{font-size:1.12rem;max-width:650px;margin:36px 0 0}.stats{border-left:1px solid var(--line);padding-left:5vw}.stats>div{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:10px 0 25px;margin-bottom:25px}.stats strong{font:800 clamp(3rem,5vw,5.5rem)/1 Manrope;color:var(--red);letter-spacing:-.08em}.stats span{max-width:250px;line-height:1.35}.stats p{font-size:.8rem;color:#625b55;margin:15px 0 0}.closing{background:#e9dfd4;padding:clamp(70px,9vw,145px) clamp(24px,5.5vw,96px);position:relative}.closing-index{color:var(--red);display:block;margin-bottom:55px}.closing h2{font-size:clamp(3rem,6vw,7rem);margin-bottom:35px}.closing>p{max-width:640px;font-size:1.12rem}.closing-mark{display:flex;align-items:center;gap:18px;margin-top:90px;font:800 1.25rem/1.2 Manrope;letter-spacing:.08em}.closing-mark img{width:65px;height:65px;object-fit:cover}.closing-mark small{font-size:.65rem;letter-spacing:.14em}footer{padding:25px clamp(24px,5.5vw,96px);display:flex;justify-content:space-between;gap:20px;font-size:.83rem}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{min-height:540px}.hero-art{border-left:0;border-top:1px solid var(--line);min-height:420px}.hero-art>img{width:min(80%,520px)}.proposal-grid,.paths-heading,.evidence-grid{grid-template-columns:1fr;gap:35px}.stats{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.method-grid{gap:25px}}@media(max-width:640px){.site-header{height:auto;min-height:75px;align-items:flex-start;flex-direction:column;gap:0;padding-top:15px;padding-bottom:13px}.brand{font-size:.77rem}.brand img{width:31px;height:31px}nav{width:100%;justify-content:space-between;gap:9px;margin-top:15px}nav a{font-size:.76rem}.hero-copy{min-height:540px;padding-top:65px;padding-bottom:65px}.eyebrow{margin-bottom:28px;font-size:.65rem}h1{font-size:clamp(2.8rem,12vw,4.5rem)}.intro{font-size:1.08rem}.hero-art{min-height:350px;padding:45px 10px}.hero-art>img{width:100%}.frame-mark,.frame-bottom{left:17px;right:17px;font-size:.56rem}.frame-mark{top:17px}.frame-bottom{bottom:17px}.ticker span:nth-child(n+3){display:none}.section-label{margin-bottom:40px;font-size:.68rem}h2{font-size:clamp(2.6rem,11vw,4rem)}.method-grid,.path-grid{grid-template-columns:1fr}.method-grid{margin-top:50px}.path-card{min-height:360px}.stats>div{align-items:flex-start;flex-direction:column;gap:10px}.closing-mark{margin-top:65px}.closing-mark img{width:54px;height:54px}footer{flex-direction:column}}

/* Keep the approved square artwork proportional and centered in its panel. */
.hero-art { height: 660px; min-height: 0; min-width: 0; }
.hero-art > img { display: block; width: min(72%, 480px); height: auto; max-height: 480px; aspect-ratio: 1 / 1; object-fit: contain; flex: 0 1 auto; }
@media (max-width: 900px) {
  .hero-art { height: 420px; min-height: 0; }
  .hero-art > img { width: min(75%, 350px); max-height: 320px; }
}
@media (max-width: 640px) {
  .hero-art { height: 350px; }
  .hero-art > img { width: min(75%, 260px); max-height: 260px; }
}

/* Brand assets use their original transparent artwork and natural proportions. */
.hero-art { background: var(--ivory); }
.hero-art > img { width: min(88%, 620px); height: auto; max-height: 480px; aspect-ratio: auto; mix-blend-mode: normal; object-fit: contain; }
.about { background: #e9dfd4; }
.about h2 { margin-bottom: 65px; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 7vw, 115px); }
.about-grid article { border-top: 1px solid #a69a8d; padding-top: 26px; }
.about-kicker { font: 800 .74rem/1.25 Manrope,Arial,sans-serif; letter-spacing: .15em; color: var(--red); }
.about-grid h3 { font-size: clamp(2rem, 3.2vw, 3.4rem); margin: 35px 0 25px; }
.about-grid p { max-width: 650px; font-size: 1.1rem; }
@media (max-width: 900px) {
  .hero-art > img { width: min(82%, 580px); max-height: 320px; }
  .about-grid { gap: 45px; }
}
@media (max-width: 640px) {
  .hero-art > img { width: min(88%, 420px); max-height: 240px; }
  .about-grid { grid-template-columns: 1fr; }
  .about h2 { margin-bottom: 48px; }
  nav { flex-wrap: wrap; }
}

.closing-invite { margin: 40px 0 14px; font-weight: 700; }
.instagram-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--red); color: white; padding: 15px 20px; font-weight: 800; text-decoration: none; line-height: 1.3; }
.instagram-link:hover, .instagram-link:focus-visible { background: var(--ink); }
.instagram-link:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.instagram-link span { font-size: 1.2rem; }

/* Keep section navigation and a compact contact footer visible while scrolling. */
.site-header { position: sticky; top: 0; z-index: 20; background: var(--ivory); }
.skip-link { z-index: 30; }
nav { align-items: center; }
nav a { white-space: nowrap; }
nav a:focus-visible, .footer-links a:focus-visible, .brand:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
main section[id] { scroll-margin-top: 100px; }
body { padding-bottom: 76px; }
.site-footer { position: fixed; bottom: 0; left: 0; right: 0; z-index: 20; min-height: 76px; padding: 14px clamp(24px,5.5vw,96px); align-items: center; background: var(--ivory); border-top: 1px solid var(--line); line-height: 1.35; }
.footer-links { display: flex; justify-content: flex-end; flex-wrap: wrap; column-gap: 22px; row-gap: 5px; }
.footer-links a { font-size: .83rem; }
@media (max-width: 900px) {
  .site-header { gap: 1rem; }
  nav { gap: 16px; min-width: 0; flex: 1; overflow-x: auto; }
  nav a { font-size: .78rem; }
  body { padding-bottom: 105px; }
  .site-footer { min-height: 105px; flex-wrap: wrap; gap: 7px 16px; }
  .footer-links { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .site-header { align-items: stretch; }
  nav { display: flex; flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
  nav a { flex: 0 0 auto; font-size: .78rem; }
  main section[id] { scroll-margin-top: 125px; }
  body { padding-bottom: 130px; }
  .site-footer { min-height: 130px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 10px; padding-bottom: 10px; gap: 8px; font-size: .75rem; }
  .footer-links { display: flex; column-gap: 18px; row-gap: 6px; }
.footer-links a { font-size: .76rem; }
}

/* Give each navigation destination its own viewport while allowing long content to grow. */
:root { --header-space: 88px; --footer-space: 76px; }
.hero, .section, .closing { min-height: calc(100svh - var(--header-space) - var(--footer-space)); }
.section { display: flex; flex-direction: column; justify-content: center; }
.hero-art { height: auto; }
main section[id] { scroll-margin-top: var(--header-space); }
.proposal { padding-top: clamp(56px,6vw,90px); padding-bottom: clamp(56px,6vw,90px); }
.proposal .section-label { margin-bottom: clamp(28px,3.5vw,52px); }
.proposal-grid { align-items: center; }
.proposal-visual figure { margin: clamp(24px,3vw,36px) 0 0; }
.proposal-visual img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; max-height: 275px; }
.proposal-visual figcaption { margin-top: 9px; color: #625b55; font-size: .75rem; letter-spacing: .04em; }
@media (max-width: 900px) {
  :root { --footer-space: 105px; }
  .hero-art { min-height: 420px; }
}
@media (max-width: 640px) {
  :root { --header-space: 125px; --footer-space: 130px; }
  .hero-art { min-height: 350px; }
  .proposal-visual img { max-height: none; }
}
