:root{
--ink:#172b47;
--ink-soft:#586879;
--paper:#fbf7ef;
--cream:#f4e9d4;
--sand:#eadcc8;
--teal:#496f6a;
--coral:#e9674d;
--gold:#f3b44c;
--white:#fff;
--line:#d9cfbe;
--shadow:0 24px 60px rgba(23,43,71,.12);
--radius-lg:28px;
--radius-md:16px;
--container:1180px
}
*{
box-sizing:border-box
}
html{
scroll-behavior:smooth
}
body{
margin:0;
color:var(--ink);
background:var(--paper);
font-family:"Segoe UI",system-ui,-apple-system,sans-serif;
line-height:1.65
}
body:has(.site-nav.is-open){
overflow:hidden
}
img{
display:block;
max-width:100%
}
a{
color:inherit
}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
outline:3px solid var(--gold);
outline-offset:4px
}
.container{
width:min(var(--container),calc(100% - 48px));
margin:0 auto
}
.skip-link{
position:fixed;
z-index:30;
top:12px;
left:12px;
padding:10px 16px;
color:var(--white);
background:var(--ink);
border-radius:8px;
transform:translateY(-180%)
}
.skip-link:focus{
transform:translateY(0)
}
.site-header{
position:sticky;
top:0;
z-index:20;
border-bottom:1px solid rgba(217,207,190,.9);
background:rgba(251,247,239,.94);
backdrop-filter:blur(16px)
}
.header-inner{
min-height:84px;
display:flex;
align-items:center;
justify-content:space-between;
gap:28px
}
.brand-link{
display:flex;
align-items:center;
gap:13px;
min-width:265px;
text-decoration:none
}
.brand-logo{
width:88px;
height:42px;
object-fit:contain
}
.brand-copy{
display:grid;
gap:0
}
.brand-copy strong{
font-size:15px;
letter-spacing:-.01em
}
.brand-copy small{
color:var(--ink-soft);
font-size:11px
}
.site-nav{
display:flex;
align-items:center;
gap:25px;
font-size:14px
}
.site-nav a{
text-decoration:none;
color:var(--ink-soft)
}
.site-nav a:hover{
color:var(--coral)
}
.site-nav .nav-cta{
padding:10px 17px;
color:var(--white);
background:var(--ink);
border-radius:999px
}
.menu-toggle{
display:none;
border:1px solid var(--line);
padding:9px 13px;
color:var(--ink);
background:var(--white);
border-radius:10px;
cursor:pointer
}
.section{
padding:106px 0
}
.hero{
padding-top:76px;
padding-bottom:95px;
overflow:hidden
}
.hero-grid,.split-grid,.contact-grid{
display:grid;
grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
align-items:center;
gap:clamp(42px,7vw,94px)
}
.hero-grid{
grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr)
}
.hero-copy h1{
max-width:690px;
margin:16px 0 22px;
font-size:clamp(2.8rem,5.5vw,5.2rem);
line-height:1.01;
letter-spacing:-.06em
}
.hero-collab-note{
max-width:58ch;
margin:0 0 14px;
color:var(--teal);
font-size:.95rem;
font-weight:700;
line-height:1.5
}
.hero-lead{
max-width:625px;
margin:0;
color:var(--ink-soft);
font-size:clamp(1.04rem,1.6vw,1.24rem)
}
.micro-note{
margin-top:18px;
color:#6d7d89;
font-size:12px
}
.hero-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:30px
}
.button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:46px;
padding:11px 20px;
border:1px solid transparent;
border-radius:999px;
text-decoration:none;
font-weight:750;
font-size:14px;
cursor:pointer;
transition:transform .18s ease,box-shadow .18s ease,background .18s ease
}
.button:hover{
transform:translateY(-2px);
box-shadow:0 12px 24px rgba(23,43,71,.15)
}
.button-primary{
color:var(--white);
background:var(--coral)
}
.button-ghost{
color:var(--ink);
background:transparent;
border-color:#b6a993
}
.image-frame{
position:relative;
overflow:hidden;
margin:0;
border-radius:var(--radius-lg);
background:var(--sand);
aspect-ratio:4 / 3
}
.image-frame img{
width:100%;
height:100%;
object-fit:cover
}
.hero-visual{
min-height:400px;
box-shadow:var(--shadow);
transform:rotate(1.1deg);
aspect-ratio:3 / 2
}
.hero-visual img{
min-height:400px
}
.hero-visual figcaption{
position:absolute;
right:16px;
bottom:14px;
max-width:235px;
padding:7px 10px;
color:var(--ink);
background:rgba(255,255,255,.82);
border-radius:8px;
font-size:11px
}
.watermark{
position:absolute;
right:12px;
top:12px;
padding:3px 7px;
color:rgba(255,255,255,.84);
background:rgba(23,43,71,.35);
border-radius:5px;
font-size:10px;
letter-spacing:.08em
}
.section-heading{
max-width:770px;
margin-bottom:44px
}
.section-heading h2,.contact-grid h2{
margin:12px 0 15px;
font-size:clamp(2rem,4vw,3.7rem);
line-height:1.07;
letter-spacing:-.045em
}
.section-heading p,.contact-grid>div>p{
margin:0;
color:var(--ink-soft)
}
.section-ink{
color:#f8f3e8;
background:var(--ink)
}
.section-heading.light p{
color:#cfdae0
}
.story-grid{
display:grid;
grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr);
gap:22px
}
.story-card{
overflow:hidden;
background:#f8f2e6;
color:var(--ink);
border-radius:var(--radius-md)
}
.story-card-large{
display:grid;
grid-template-columns:1.05fr .95fr
}
.story-card-large .image-frame{
height:100%;
min-height:360px;
border-radius:0
}
.story-stack{
display:grid;
gap:22px
}
.story-stack .story-card{
display:grid;
grid-template-columns:145px 1fr;
min-height:180px
}
.story-stack img{
width:145px;
height:100%;
object-fit:cover
}
.story-body{
padding:24px
}
.story-meta{
margin:0 0 9px;
color:var(--coral);
font-size:11px;
font-weight:800;
letter-spacing:.12em;
text-transform:uppercase
}
.story-body h3{
margin:0 0 9px;
font-size:1.35rem;
line-height:1.15
}
.story-body p{
margin:0;
color:var(--ink-soft);
font-size:.95rem
}
.text-link{
display:inline-flex;
gap:7px;
align-items:center;
margin-top:18px;
color:var(--coral);
font-weight:800;
font-size:13px;
text-decoration-thickness:2px;
text-underline-offset:4px
}
.heritage-grid{
display:grid;
grid-template-columns:1.08fr .92fr;
gap:58px;
align-items:center
}
.heritage-image{
height:400px;
aspect-ratio:4 / 3
}
.heritage-copy{
display:grid;
gap:24px
}
.heritage-copy article{
display:grid;
grid-template-columns:38px 1fr;
gap:15px
}
.index-mark{
display:grid;
width:34px;
height:34px;
place-items:center;
color:var(--white);
background:var(--coral);
border-radius:50%;
font-weight:900
}
.heritage-copy h3{
margin:0 0 8px;
font-size:1.28rem
}
.heritage-copy p{
margin:0;
color:var(--ink-soft)
}
.image-strip{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:16px;
margin-top:46px
}
.image-strip figure{
margin:0
}
.image-strip img{
width:100%;
height:210px;
object-fit:cover;
border-radius:var(--radius-md);
aspect-ratio:3 / 2
}
.image-strip figcaption{
margin-top:9px;
color:var(--ink-soft);
font-size:12px
}
.section-sand{
background:var(--cream)
}
.process-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px
}
.process-grid article{
padding:0 0 20px;
border-bottom:1px solid #cdbda5
}
.process-grid img{
width:100%;
height:220px;
object-fit:cover;
margin-bottom:20px;
border-radius:var(--radius-md);
aspect-ratio:4 / 3
}
.process-grid h3{
margin:0 0 8px;
font-size:1.18rem
}
.process-grid p{
margin:0;
color:var(--ink-soft)
}
.practice-note{
display:grid;
grid-template-columns:1.02fr .98fr;
gap:38px;
align-items:center;
margin-top:54px;
padding:25px;
background:rgba(255,255,255,.5);
border:1px solid #dccdb7;
border-radius:var(--radius-md);
position:relative
}
.practice-note img{
width:100%;
height:260px;
object-fit:cover;
border-radius:12px
}
.practice-note h3{
margin:0 0 10px;
font-size:1.6rem;
line-height:1.15
}
.practice-note p{
margin:0;
color:var(--ink-soft)
}
.community-grid{
align-items:start
}
.check-list{
display:grid;
gap:13px;
margin:26px 0 0;
padding:0;
list-style:none
}
.check-list li{
padding-left:25px;
color:var(--ink-soft);
position:relative
}
.check-list li::before{
content:"";
position:absolute;
left:0;
top:.58em;
width:9px;
height:9px;
background:var(--coral);
border-radius:50%
}
.community-collage{
position:relative;
min-height:460px
}
.community-collage figure{
width:74%;
height:300px
}
.community-collage .offset{
position:absolute;
right:0;
bottom:0;
width:64%;
height:260px;
border:12px solid var(--paper);
box-shadow:var(--shadow)
}
.sponsor-section{
color:#f8f3e8;
background:#334d5d
}
.sponsor-card{
display:grid;
grid-template-columns:205px minmax(0,1fr);
gap:36px;
align-items:start
}
.sponsor-badge{
display:flex;
align-items:center;
gap:10px;
color:#f8f3e8;
font-size:12px;
font-weight:800;
line-height:1.35;
letter-spacing:.08em;
text-transform:uppercase
}
.sponsor-badge span{
display:grid;
width:34px;
height:34px;
place-items:center;
color:var(--ink);
background:var(--gold);
border-radius:50%;
font-family:Georgia,serif;
font-size:22px;
font-weight:900
}
.sponsor-logo{
width:260px;
height:auto;
margin-bottom:21px
}
.sponsor-card h4{
margin:0 0 18px;
font-size:clamp(1.8rem,3.4vw,3rem);
line-height:1.1;
letter-spacing:-.04em
}
.sponsor-card h5{
margin:26px 0 8px;
color:var(--gold);
font-size:1.02rem
}
.sponsor-card p{
max-width:940px;
margin:0;
color:#d8e1e4
}
.sponsor-card .sponsor-backlink{
color:#ffcf73;
font-weight:800;
text-decoration-color:rgba(255,207,115,.5)
}
.sponsor-disclosure{
margin-top:28px;
padding-top:18px;
border-top:1px solid rgba(216,225,228,.3);
font-size:.88rem
}
.partners-section{
background:#e7efe9
}
.partners-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px
}
.partner-card{
padding:22px;
background:var(--white);
border:1px solid #cbdcd4;
border-radius:var(--radius-md)
}
.partner-card h5{
min-height:35px;
margin:0 0 10px;
font-size:1.12rem
}
.partner-card a,.tool-backlink{
color:var(--teal);
text-decoration-color:#9bbeb2
}
.partner-card p{
margin:0;
color:var(--ink-soft);
font-size:.93rem
}
.faq-section{
background:#f5eee2
}
.faq-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:start
}
.faq-list{
display:grid;
gap:12px
}
.faq-list details{
padding:18px 20px;
background:var(--white);
border:1px solid var(--line);
border-radius:12px
}
.faq-list summary{
cursor:pointer;
font-weight:800
}
.faq-list p{
margin:12px 0 0;
color:var(--ink-soft)
}
.contact-section{
background:#f1e1cc
}
.contact-form{
display:grid;
gap:9px;
padding:30px;
background:var(--white);
border:1px solid #dfccb0;
border-radius:var(--radius-md);
box-shadow:var(--shadow)
}
.contact-form label{
color:var(--ink);
font-size:13px;
font-weight:800
}
.contact-form input,.contact-form textarea{
width:100%;
padding:12px 13px;
border:1px solid #c9d8d1;
border-radius:10px;
color:var(--ink);
background:#fcfffe;
font:inherit
}
.contact-form textarea{
min-height:150px;
resize:vertical
}
.contact-form button{
border:0;
margin-top:8px
}
.form-help{
margin:1px 0 0;
color:#71807f;
font-size:11px
}
.site-footer{
padding:56px 0 25px;
color:#e3eee9;
background:#172b47
}
.footer-grid{
display:grid;
grid-template-columns:1.35fr 1fr 1fr 1.2fr;
gap:34px
}
.footer-grid img{
width:168px;
height:auto;
margin-bottom:18px
}
.footer-grid p{
max-width:330px;
margin:0;
color:#b9cbd0;
font-size:13px
}
.footer-grid h2{
margin:0 0 13px;
color:#fff;
font-size:14px
}
.footer-grid a{
display:block;
width:fit-content;
margin:7px 0;
color:#d6e5e1;
font-size:13px;
text-decoration:none
}
.footer-grid a:hover{
text-decoration:underline;
color:#fff
}
.footer-bottom{
display:flex;
justify-content:space-between;
gap:18px;
margin-top:42px;
padding-top:18px;
border-top:1px solid rgba(214,229,225,.2);
color:#a8bdc5;
font-size:11px
}

@media(max-width:1080px){
.partners-grid{
grid-template-columns:repeat(2,minmax(0,1fr))
}
.footer-grid{
grid-template-columns:1.4fr 1fr 1fr
}
.footer-grid>div:first-child{
grid-row:span 2
}
.footer-grid>div:last-child{
grid-column:2 / -1
}
}

@media(max-width:820px){
.section{
padding:80px 0
}
.container{
width:min(var(--container),calc(100% - 34px))
}
.header-inner{
min-height:70px
}
.brand-link{
min-width:0
}
.brand-logo{
width:76px;
height:36px
}
.brand-copy small{
display:none
}
.menu-toggle{
display:block
}
.site-nav{
position:fixed;
inset:70px 0 auto 0;
display:none;
padding:22px 20px 26px;
background:var(--paper);
border-bottom:1px solid var(--line);
box-shadow:0 14px 28px rgba(23,43,71,.12)
}
.site-nav.is-open{
display:grid;
gap:4px
}
.site-nav a{
padding:12px 6px
}
.site-nav .nav-cta{
text-align:center;
padding:12px 14px
}
.hero-grid,.heritage-grid,.split-grid,.contact-grid,.practice-note,.faq-grid{
grid-template-columns:1fr;
gap:34px
}
.hero-copy h1{
font-size:clamp(2.7rem,11vw,4.9rem)
}
.hero-visual{
min-height:350px;
transform:none
}
.hero-visual img{
min-height:350px
}
.story-grid{
grid-template-columns:1fr
}
.story-card-large{
grid-template-columns:1fr
}
.story-card-large .image-frame{
min-height:310px
}
.heritage-image{
height:340px
}
.community-collage{
min-height:470px
}
.sponsor-card{
grid-template-columns:1fr;
gap:20px
}
.sponsor-badge{
max-width:240px
}
.footer-bottom{
flex-direction:column
}
}

@media(max-width:540px){
.story-stack .story-card{
grid-template-columns:110px 1fr
}
.story-stack img{
width:110px
}
.image-strip,.process-grid,.partners-grid{
grid-template-columns:1fr
}
.image-strip img{
height:220px
}
.practice-note img{
height:220px
}
.community-collage figure{
width:82%;
height:270px
}
.community-collage .offset{
width:72%;
height:230px
}
.footer-grid{
grid-template-columns:1fr
}
.footer-grid>div:first-child{
grid-row:auto
}
.footer-grid>div:last-child{
grid-column:auto
}
.contact-form{
padding:22px
}
}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{
scroll-behavior:auto!important;
transition-duration:.01ms!important;
animation-duration:.01ms!important
}
}

.site-nav a:focus-visible {
  color: var(--ink);
  background: var(--cream);
  border-radius: 8px;
}
.site-nav .nav-cta:focus-visible {
  color: var(--white);
  background: var(--coral);
}
.menu-toggle:hover {
  color: var(--white);
  background: var(--ink);
}
.menu-toggle:active {
  transform: translateY(1px);
}
.button:active {
  transform: translateY(1px);
  box-shadow: none;
}
.button[disabled],
.button:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none;
  box-shadow: none;
}
.button-primary:hover {
  background: #c94e3b;
}
.button-ghost:hover {
  color: var(--white);
  background: var(--ink);
  border-color: var(--ink);
}
.text-link:hover {
  color: var(--ink);
}
.text-link:focus-visible {
  border-radius: 5px;
}
.image-frame:focus-within {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.image-frame figcaption {
  line-height: 1.4;
}
.story-card {
  transition: transform .2s ease, box-shadow .2s ease;
}
.story-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.story-card:focus-within {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.story-card-large .story-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.story-card-large .text-link {
  align-self: flex-start;
}
.story-stack .story-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.heritage-copy article {
  min-width: 0;
}
.heritage-copy article:focus-within {
  border-radius: 10px;
  outline: 3px solid var(--gold);
  outline-offset: 6px;
}
.image-strip figure {
  min-width: 0;
}
.image-strip figure,
.process-grid article,
.story-stack .story-card,
.community-collage figure {
  position: relative;
}
.image-strip figure:focus-within {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.process-grid article {
  min-width: 0;
}
.process-grid article:hover img {
  filter: saturate(1.08);
}
.practice-note > div {
  min-width: 0;
}
.check-list strong {
  color: var(--ink);
}
.sponsor-card a:focus-visible {
  color: var(--white);
  background: var(--coral);
  border-radius: 4px;
  text-decoration-color: transparent;
}
.sponsor-logo {
  object-fit: contain;
  object-position: left center;
}
.sponsor-card h4 a {
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.sponsor-card h5 + p {
  line-height: 1.72;
}
.partner-card {
  min-width: 0;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.partner-card:hover {
  transform: translateY(-2px);
  border-color: #9dbeb2;
  box-shadow: 0 12px 28px rgba(23, 43, 71, .08);
}
.partner-card:focus-within {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.partner-card h5 a {
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.partner-card p a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.faq-list details[open] {
  border-color: #b9cec5;
}
.faq-list details:focus-within {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.faq-list summary::marker {
  color: var(--coral);
}
.faq-list summary::-webkit-details-marker {
  color: var(--coral);
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #7b8b8b;
  opacity: 1;
}
.contact-form input:hover,
.contact-form textarea:hover {
  border-color: #8db2a6;
}
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(73, 111, 106, .16);
}
.contact-form input:invalid:not(:placeholder-shown),
.contact-form textarea:invalid:not(:placeholder-shown) {
  border-color: #b94b43;
}
.contact-form input:valid:not(:placeholder-shown),
.contact-form textarea:valid:not(:placeholder-shown) {
  border-color: #699b83;
}
.form-help {
  line-height: 1.45;
}
.footer-grid > div {
  min-width: 0;
}
.footer-grid a:focus-visible {
  color: var(--white);
  background: var(--teal);
  border-radius: 4px;
  padding-inline: 4px;
}
.footer-bottom span {
  max-width: 48ch;
}
.brand-copy strong,
.brand-copy small {
  white-space: nowrap;
}
.section-heading h2,
.contact-grid h2,
.hero-copy h1 {
  text-wrap: balance;
}
.section-heading p,
.hero-copy p,
.contact-grid p {
  max-width: 75ch;
}
.sponsor-card p,
.partner-card p {
  overflow-wrap: anywhere;
}
.site-footer p,
.site-footer a {
  overflow-wrap: anywhere;
}
.container > * {
  min-width: 0;
}
.hero-grid > *,
.heritage-grid > *,
.community-grid > *,
.contact-grid > * {
  min-width: 0;
}
.section-ink .text-link {
  color: var(--gold);
}
.section-ink .text-link:hover {
  color: var(--white);
}
.section-ink .story-card p {
  color: #5e6d77;
}
.section-ink .section-heading {
  margin-bottom: 50px;
}
.section-ink .story-body {
  min-height: 100%;
}
.hero-actions .button {
  white-space: nowrap;
}
.sponsor-card h4 {
  max-width: 30ch;
}
.sponsor-card h5 {
  line-height: 1.35;
}
.partner-card h5 {
  line-height: 1.25;
}
.partner-card p {
  line-height: 1.7;
}
.faq-list summary {
  list-style-position: outside;
}
.contact-form button {
  justify-self: start;
}
.contact-form textarea {
  line-height: 1.55;
}
.footer-grid h2 {
  line-height: 1.3;
}
.footer-grid > div:first-child p {
  line-height: 1.6;
}
.site-footer .tool-backlink {
  display: inline;
  margin: 0;
  font-size: inherit;
  text-decoration: underline;
}
.site-footer .tool-backlink:focus-visible {
  padding-inline: 2px;
}

@media (min-width: 1280px) {
  .container {
    width: min(80%, 1200px);
  }
  .hero-copy h1 {
    max-width: 12ch;
  }
  .hero-lead {
    max-width: 58ch;
  }
  .story-card-large .story-body {
    padding: 34px;
  }
  .section-heading {
    max-width: 70ch;
  }
}
@media (min-width: 1081px) and (max-width: 1279px) {
  .site-nav {
    gap: 18px;
  }
  .header-inner {
    gap: 18px;
  }
  .brand-link {
    min-width: 240px;
  }
  .hero-copy h1 {
    font-size: clamp(2.7rem, 5vw, 4.8rem);
  }
}
@media (min-width: 921px) and (max-width: 1080px) {
  .site-nav {
    gap: 15px;
    font-size: 13px;
  }
  .brand-link {
    min-width: 230px;
  }
  .hero-grid {
    gap: 42px;
  }
  .hero-visual,
  .hero-visual img {
    min-height: 430px;
  }
  .sponsor-card {
    grid-template-columns: 170px minmax(0, 1fr);
  }
}
@media (min-width: 761px) and (max-width: 920px) {
  .site-nav {
    gap: 12px;
    font-size: 12px;
  }
  .brand-copy strong {
    font-size: 14px;
  }
  .story-grid {
    grid-template-columns: 1fr;
  }
  .partners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .hero-actions {
    align-items: stretch;
  }
  .hero-actions .button {
    flex: 1 1 220px;
  }
  .story-card-large .image-frame {
    border-radius: var(--radius-md) var(--radius-md) 0 0;
  }
  .story-stack .story-card {
    min-height: 165px;
  }
  .sponsor-card h4 {
    max-width: 100%;
  }
  .footer-grid > div:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 420px) {
  .container {
    width: calc(100% - 28px);
  }
  .header-inner {
    gap: 12px;
  }
  .brand-logo {
    width: 68px;
  }
  .brand-copy strong {
    font-size: 14px;
  }
  .hero-copy h1 {
    font-size: clamp(2.45rem, 14vw, 3.7rem);
  }
  .hero-lead {
    font-size: 1rem;
  }
  .story-stack .story-card {
    grid-template-columns: 1fr;
  }
  .story-stack img {
    width: 100%;
    height: 180px;
  }
  .story-stack .story-body {
    padding: 20px;
  }
  .sponsor-logo {
    width: min(100%, 230px);
  }
  .contact-form button {
    width: 100%;
  }
}
@media (forced-colors: active) {
  .button,
  .site-nav .nav-cta,
  .menu-toggle,
  .partner-card,
  .story-card,
  .contact-form input,
  .contact-form textarea {
    border: 1px solid ButtonText;
  }
  .watermark {
    color: CanvasText;
    background: Canvas;
  }
  .button-primary,
  .site-nav .nav-cta {
    color: ButtonText;
    background: ButtonFace;
  }
}
@media (prefers-contrast: more) {
  :root {
    --line: #6f7f7f;
    --ink-soft: #34484f;
  }
  .button-ghost,
  .partner-card,
  .faq-list details {
    border-width: 2px;
  }
  .watermark {
    color: var(--white);
    background: var(--ink);
  }
}
@media print {
  .site-header {
    position: static;
    border: 0;
  }
  .site-nav,
  .menu-toggle,
  .hero-actions,
  .contact-form,
  .sponsor-section,
  .watermark,
  .skip-link {
    display: none !important;
  }
  .section,
  .hero {
    padding: 28px 0;
  }
  .section-ink,
  .section-sand,
  .partners-section,
  .faq-section,
  .contact-section,
  .site-footer {
    color: #000;
    background: #fff;
  }
  .hero-grid,
  .heritage-grid,
  .split-grid,
  .contact-grid,
  .faq-grid {
    display: block;
  }
  .image-frame,
  .story-card,
  .partner-card {
    break-inside: avoid;
    box-shadow: none;
  }
  a {
    text-decoration: underline;
  }
}



