@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');

:root{--ink:#17191b;--ink-soft:#222629;--ivory:#f2eee6;--paper:#e9e3d8;--champagne:#b9a27a;--silver:#aeb8c0;--vermillion:#ad3932;--astrid:#244b3a;--astrid-deep:#173326;--ginga:#c74735;--ginga-deep:#9f3328;--text:#282724;--muted:#77766f;--line:rgba(185,162,122,.38);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--wrap:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img,video{max-width:100%}
img{object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
button:focus-visible,a:focus-visible{outline:2px solid var(--champagne);outline-offset:4px}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;background:var(--ivory);color:var(--ink);transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.wrap{width:min(var(--wrap),calc(100% - 64px));margin-inline:auto;height:100%}
.site-header{height:88px;padding:0 max(28px,calc((100vw - var(--wrap))/2));display:flex;align-items:center;justify-content:space-between;gap:32px;background:rgba(23,25,27,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(14px)}
.wordmark{display:flex;flex-direction:column;line-height:1.2;flex-shrink:0}
.wordmark-main{font-size:18px;letter-spacing:.12em;font-weight:600}
.wordmark-main i{font-family:var(--serif);font-weight:400;color:var(--champagne);font-size:22px}
.wordmark-sub{margin-top:6px;font-size:9px;letter-spacing:.24em;color:var(--champagne)}
.site-nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,34px)}
.site-nav a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#c9c8c2;transition:color .25s}
.site-nav a:hover,.site-nav a.active{color:var(--champagne)}
.menu-toggle{display:none;background:none;border:0;color:var(--ivory);padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:23px;height:1px;background:currentColor;margin:6px 0}
/*
.hero{min-height:min(760px,calc(100svh - 88px));position:relative;display:flex;align-items:center;overflow:hidden;background:#1c2021}
.eyebrow{margin:0 0 18px;font-size:10px;line-height:1.5;letter-spacing:.23em;text-transform:uppercase;color:var(--champagne);font-weight:600}
.eyebrow-dark{color:#8a7654}
*/
.hero {
  /* Altezza al 100% dello schermo meno l'header, senza blocchi a 760px */
  min-height: calc(100svh - 140px);
  position: relative;
  display: grid;
  /* 3 colonne: Metà sinistra (Ginga), Centro (Testo), Metà destra (Astrid) */
  grid-template-columns: 1fr 1fr;
  background: var(--ink);
  overflow: hidden;
  color: var(--ivory);
}

/* Le due foto affiancate occupano tutta l'altezza della hero */
.hero-photo {
  position: relative;
  height: 100%;
  min-height: 100%; /* Si adatta all'altezza della hero */
  overflow: hidden;
}

.hero-photo img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
  filter: saturate(.78);
  transition: transform 1.2s;
}

.hero-photo:hover img {
  transform: scale(1.035);
}

.hero-photo:after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(12,15,12,.72), transparent 54%);
}

.hero-photo.astrid img { object-position: 55% center; }
.hero-photo.ginga img { object-position: 50% center; }

.hero-caption {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 4vw, 62px);
  bottom: 30px;
}
.hero-caption small { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.hero-caption h2 { font: 400 clamp(35px, 5vw, 65px)/1 var(--serif); margin: 7px 0; }

/* Box centrale sovrapposto con z-index alto */
.hero-center {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(390px, 36vw);
  text-align: center;
  padding: 38px 24px;
  background: var(--ivory);
  color: var(--ink);
  box-shadow: 0 20px 80px #0004;
}

.hero-center .eyebrow { justify-content: center; font-size: 9px; }
.hero-center .eyebrow:before { display: none; }
.hero-center h1 { font: 400 clamp(36px, 4.4vw, 64px)/.98 var(--serif); letter-spacing: -.05em; margin: 18px 0; }
.hero-center p { font-size: 12px; color: #68695f; margin: 0 auto 18px; max-width: 240px; }
.hero-center .btn-link { font-size: 10px; }

.hero-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ivory);
}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.eyebrow:before{content:'';width:28px;height:1px;background:currentColor}
.btn-link{display:inline-flex;align-items:center;gap:24px;padding:13px 0;border-bottom:1px solid currentColor;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.btn-link span{font-size:19px;transition:transform .2s}
.btn-link:hover span{transform:translateX(5px)}
.text-link{display:inline-flex;align-items:center;gap:22px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ivory);padding-bottom:9px;border-bottom:1px solid var(--champagne);transition:gap .25s,color .25s}
.text-link:hover{gap:30px;color:var(--champagne)}
.hero-index{position:absolute;right:28px;bottom:28px;color:rgba(242,238,230,.65);font-size:9px;letter-spacing:.2em}
.section-light{background:var(--ivory);color:var(--text)}
.section-dark{background:var(--ink);color:var(--ivory)}
.intro-section{padding:clamp(78px,10vw,140px) 0 70px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,8vw,120px);align-items:start}
.display-title{font:400 clamp(38px,5vw,64px)/1.13 var(--serif);letter-spacing:-.035em;margin:0;color:inherit}
.display-title em{font-weight:400;color:var(--champagne)}
.section-light .display-title em{color:#8a7654}
.intro-copy{max-width:520px;color:#5d5a54;font-size:15px}
.intro-copy p:first-child{margin-top:0}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:clamp(80px,10vw,140px)}
.profile-card{background:#e9e3d8}
.profile-photo{display:block;aspect-ratio:1.15/1;background-size:cover;background-position:center;overflow:hidden;transition:filter .4s}
.profile-photo:hover{filter:contrast(1.05)}
.photo-astrid{background-image:url("images/profilo-astrid.jpg")}
.photo-ginga{background-image:url("images/profilo-ginga.jpg")}
.profile-card-body{padding:30px clamp(22px,3vw,42px) 36px}
.profile-card-body .eyebrow{font-size:9px;margin-bottom:10px}
.profile-card h3{font:400 clamp(34px,4vw,48px)/1.2 var(--serif);margin:0 0 4px}
.profile-card-body>p:not(.eyebrow){margin:0 0 15px;color:#68645d;font-size:13px}
.achievement-line{display:flex;align-items:center;gap:9px;font-size:11px;color:#45423c;margin:20px 0 23px}
.achievement-dot{width:7px;height:7px;border-radius:50%;background:var(--champagne)}
.achievement-dot.red{background:var(--vermillion)}
.arrow-link{display:inline-flex;gap:20px;align-items:center;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid #9d8c6d;padding-bottom:6px;color:#302f2a}
.arrow-link span{font-size:15px;transition:transform .25s}
.arrow-link:hover span{transform:translate(3px,-3px)}
.achievements-section{padding:clamp(80px,10vw,130px) 0}
.section-heading{max-width:660px;margin-bottom:54px}
.section-heading>p:last-child{color:#aaa9a3;max-width:490px;margin-top:20px}
.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.achievement-card{position:relative;padding:36px 30px 35px 30px;min-height:260px;transition:background .3s}
.achievement-card+.achievement-card{padding-left:30px;border-left:1px solid var(--line)}
.achievement-card:hover{background:rgba(255,255,255,.025)}
.achievement-number{font-size:10px;color:#85837d;letter-spacing:.15em}
.award-icon{float:right;color:var(--champagne);font-size:25px}
.achievement-card .eyebrow{font-size:9px;margin:35px 0 10px}
.achievement-card h3{font:400 clamp(24px,2.5vw,34px)/1.2 var(--serif);margin:0 0 10px}
.achievement-card>p:not(.eyebrow){font-size:13px;color:#b5b3ad;min-height:44px}
.achievement-card .arrow-link{margin-top:14px;color:var(--ivory);border-color:var(--champagne)}
.fine-print{font-size:11px;color:#898982;margin-top:24px;max-width:720px}
.together-section{display:grid;grid-template-columns:1.05fr .95fr;min-height:550px}
.together-image{position:relative;min-height:480px;background-image:url("images/inseparabili.jpg");background-position:center;background-size:cover}
.together-copy{align-self:center;padding:clamp(40px,7vw,100px) clamp(28px,7vw,100px)}
.together-copy>p:not(.eyebrow){max-width:470px;color:#625e57;font-size:14px;margin:25px 0 30px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 20px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s}
.button-dark{background:var(--ink);color:var(--ivory)}
.button-dark:hover{background:#303436}
.button-light{background:transparent;color:var(--ivory);border-color:var(--champagne)}
.button-light:hover{background:var(--champagne);color:var(--ink)}
.memories-section{padding:clamp(80px,10vw,130px) 0}
.memories-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,7vw,90px);align-items:center}
.memories-heading>p:not(.eyebrow){color:#aaa9a3;max-width:360px;margin:22px 0 28px}
.memory-mosaic{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:210px 150px;gap:12px}
.memory-tile{display:block;background-size:cover;background-position:center;position:relative;min-height:120px;transition:filter .3s}
.memory-tile:hover{filter:brightness(1.12)}
.memory-tile-large{grid-row:span 2;background-image:url("images/gallery-astrid.jpg")}
.memory-tile-small{background-image:url("images/gallery-ginga.jpg")}
.memory-note{background:#292d2f;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.memory-note span{font-size:9px;letter-spacing:.16em;color:var(--champagne)}
.memory-note strong{font:400 22px/1.3 var(--serif)}
.site-footer{background:#101112;color:var(--ivory);text-align:center;padding:44px 24px 26px;border-top:1px solid rgba(255,255,255,.07)}
.footer-brand{font:500 16px var(--serif);letter-spacing:.14em}
.footer-brand span{color:var(--champagne);font-style:italic}
.site-footer>p{font-size:11px;color:#92928c;margin:8px 0 27px}
.footer-credit{border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:10px;color:#9a9a94;letter-spacing:.03em}
.footer-credit span{padding:0 7px;color:#595a55}
.footer-credit a{color:var(--champagne);border-bottom:1px solid transparent}
.footer-credit a:hover{border-color:var(--champagne)}
.subhero{position:relative;min-height:610px;display:flex;align-items:end;overflow:hidden;background:#1c2021}
.subhero-astrid .subhero-image{background-image:url("https://images.unsplash.com/photo-1573865526739-10659fec78a5?auto=format&fit=crop&w=2000&q=90");background-position:center 40%}
.subhero-ginga .subhero-image{background-image:url("https://images.unsplash.com/photo-1551717743-49959800b1f6?auto=format&fit=crop&w=2000&q=90");background-position:center 42%}
.subhero-together .subhero-image{background-image:url("https://images.unsplash.com/photo-1548199973-03cce0bbc87b?auto=format&fit=crop&w=2000&q=90")}
.subhero .hero-shade{background:linear-gradient(90deg,rgba(15,17,18,.78),rgba(15,17,18,.15)),linear-gradient(0deg,rgba(15,17,18,.7),transparent 65%)}
.subhero-content{position:relative;z-index:1;padding-block:100px 70px}
.subhero h1{font-size:clamp(70px,11vw,130px);margin-bottom:15px}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.hero-tags span{font-size:10px;letter-spacing:.08em;padding:7px 12px;border:1px solid rgba(242,238,230,.35);color:#f0ece4}
.content-section{padding:clamp(75px,9vw,120px) 0}
.split-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,9vw,130px)}
.prose{max-width:610px;color:#5d5a54}
.prose p:first-child{margin-top:0}
.editable-note{padding:16px 18px;border-left:2px solid var(--champagne);background:rgba(185,162,122,.1);font-size:13px;font-style:italic}
.results-band{padding:clamp(75px,9vw,115px) 0}
.result-list{margin-top:45px;border-top:1px solid var(--line)}
.result-item{display:flex;gap:24px;align-items:flex-start;padding:25px 0;border-bottom:1px solid var(--line)}
.result-symbol{color:var(--champagne);font-size:26px;line-height:1}
.result-item h3{font:400 clamp(22px,3vw,30px)/1.3 var(--serif);margin:0 0 6px}
.result-item p{margin:0;color:#aaa9a3;font-size:13px}
.section-heading-dark>p:last-child{color:#6c6860}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0}
.strip-photo{aspect-ratio:4/5;background-size:cover;background-position:center}
.strip-cat-one{background-image:url("https://images.unsplash.com/photo-1514888286974-6c03e2ca1dba?auto=format&fit=crop&w=700&q=85")}
.strip-cat-two{background-image:url("https://images.unsplash.com/photo-1573865526739-10659fec78a5?auto=format&fit=crop&w=700&q=85")}
.strip-cat-three{background-image:url("https://images.unsplash.com/photo-1495360010541-f48722b34f7d?auto=format&fit=crop&w=700&q=85")}
.strip-dog-one{background-image:url("https://images.unsplash.com/photo-1551717743-49959800b1f6?auto=format&fit=crop&w=700&q=85")}
.strip-dog-two{background-image:url("https://images.unsplash.com/photo-1543466835-00a7907e9de1?auto=format&fit=crop&w=700&q=85")}
.strip-dog-three{background-image:url("https://images.unsplash.com/photo-1601758123927-196d8b6b3d5a?auto=format&fit=crop&w=700&q=85")}
.next-profile{background:#292d2f;padding:60px 0}
.next-profile-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.next-profile h2{font:400 clamp(28px,4vw,44px)/1.2 var(--serif);margin:0}
.story-intro{max-width:850px}
.story-intro .display-title{margin-bottom:25px}
.story-lead{font:400 clamp(19px,2.2vw,25px)/1.65 var(--serif);max-width:760px;color:#4b4842}
.story-intro .editable-note{max-width:760px;margin-top:30px}
.story-chapter{padding:clamp(70px,9vw,120px) 0}
.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,100px);align-items:center}
.chapter-reverse .chapter-image{order:2}
.chapter-image{min-height:450px;background-size:cover;background-position:center}
.chapter-image-one{background-image:url("https://images.unsplash.com/photo-1548199973-03cce0bbc87b?auto=format&fit=crop&w=1200&q=85")}
.chapter-image-two{background-image:url("https://images.unsplash.com/photo-1516734212186-a967f81ad0d7?auto=format&fit=crop&w=1200&q=85")}
.chapter-copy p:not(.eyebrow){color:#aaa9a3;max-width:450px;margin-top:24px}
.section-light .chapter-copy p:not(.eyebrow){color:#5d5a54}
.closing-quote{padding:90px 0 110px;text-align:center}
.quote-mark{font:100px/.8 var(--serif);color:var(--champagne)}
.closing-quote blockquote{max-width:780px;margin:25px auto 35px;font:400 clamp(27px,4vw,46px)/1.4 var(--serif)}
.gallery-hero{background:var(--ivory);color:var(--text);padding:clamp(80px,10vw,130px) 0 65px}
.gallery-hero .display-title{font-size:clamp(48px,7vw,84px)}
.gallery-intro{max-width:540px;color:#68645d;margin:22px 0 0}
.gallery-main{padding:40px 0 100px}
.gallery-toolbar{display:flex;flex-direction:column;gap:22px;margin-bottom:30px}
.filter-group{display:flex;flex-wrap:wrap;gap:8px}
.filter-button,.tag-button{border:1px solid rgba(242,238,230,.25);background:transparent;color:#d8d6d0;padding:10px 16px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.filter-button.is-active,.filter-button:hover{background:var(--champagne);border-color:var(--champagne);color:var(--ink)}
.tag-button{border-color:transparent;color:#a8a7a1;padding-inline:10px}
.tag-button.is-active,.tag-button:hover{color:var(--champagne);border-color:var(--line)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:14px}
.gallery-item{position:relative;display:block;min-width:0;border:0;padding:0;overflow:hidden;cursor:pointer;text-align:left;background:#2b2e30;background-image:linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%),var(--tile-image);background-size:cover;background-position:center;isolation:isolate}
.gallery-item:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 65%);z-index:-0}
.gallery-item:after{content:"";position:absolute;inset:0;border:1px solid rgba(185,162,122,0);transition:border-color .25s;pointer-events:none}
.gallery-item:hover:after,.gallery-item:focus-visible:after{border-color:var(--champagne)}
.gallery-item:hover{background-size:cover}
.gallery-item-tall{grid-row:span 2}
.gallery-item-wide{grid-column:span 2}
.tile-overlay{position:absolute;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column;gap:3px;z-index:1}
.tile-overlay span{font-size:9px;letter-spacing:.18em;color:var(--champagne)}
.tile-overlay strong{font:400 24px/1.2 var(--serif);color:#fff}
.play-icon{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:1;width:48px;height:48px;display:grid;place-items:center;padding-left:3px;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;background:rgba(0,0,0,.2);backdrop-filter:blur(5px)}
.gallery-note{color:#92918a;font-size:11px;margin-top:25px}
.gallery-note code{color:#d9c7a5}
.gallery-item[hidden]{display:none}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,11,12,.96);display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;padding:70px 24px 35px}
.lightbox[hidden]{display:none}
.lightbox-close,.lightbox-prev,.lightbox-next{border:0;background:transparent;color:#f2eee6;cursor:pointer}
.lightbox-close{position:absolute;top:18px;right:25px;font-size:40px;line-height:1}
.lightbox-prev,.lightbox-next{font:400 50px var(--serif);padding:15px}
.lightbox-content{max-height:100%;display:flex;flex-direction:column;align-items:center;gap:15px;min-width:0}
.lightbox-image,.lightbox-video{max-height:min(68vh,800px);width:auto;max-width:100%;object-fit:contain}
.lightbox-caption{text-align:center}
.lightbox-caption .eyebrow{margin:0 0 4px;font-size:9px}
.lightbox-caption h2{font:400 28px var(--serif);margin:0}
.lightbox-description{font-size:12px;color:#aaa9a3;margin:5px 0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes hero-settle{from{transform:scale(1.07);opacity:.7}to{transform:scale(1.02);opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:900px){.site-header{padding-inline:24px}.site-nav{gap:15px}.site-nav a{font-size:10px;letter-spacing:.07em}.memories-layout{grid-template-columns:1fr}.memories-heading{max-width:600px}.memory-mosaic{grid-template-rows:250px 170px}.together-section{grid-template-columns:1fr 1fr}.together-copy{padding:45px 30px}.achievement-card{padding-right:18px}.achievement-card+.achievement-card{padding-left:18px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.site-header{height:74px;padding-inline:20px}.wordmark-main{font-size:16px}.wordmark-sub{font-size:8px}.menu-toggle{display:block}.site-nav{position:absolute;top:73px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(23,25,27,.98);padding:8px 20px 18px;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav a{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.06);font-size:11px}/*.hero{min-height:680px;min-height:calc(88svh - 10px)}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(15,17,18,.82),rgba(15,17,18,.25)),linear-gradient(0deg,rgba(15,17,18,.55),transparent 65%)}.hero-content{padding-block:100px 110px}.hero h1{font-size:clamp(66px,18vw,100px)}.hero-index{font-size:8px;right:20px;bottom:20px}*/.hero{height:calc(100svh - 120px)}.hero-photo{min-height:650px}.hero-photo img{object-position:center}.hero-center{display:none}.hero-center h1{font-size:42px}.hero-caption{left:13px;bottom:18px}.hero-caption h2{font-size:28px}.hero-caption small{font-size:8px}.hero-note{font-size:8px;letter-spacing:.08em}.intro-section{padding-top:75px;padding-bottom:42px}.intro-grid,.profile-grid,.split-content,.chapter-grid{grid-template-columns:1fr;gap:28px}.intro-copy{font-size:14px}.profile-grid{padding-bottom:75px;gap:20px}.profile-photo{aspect-ratio:1.1/1}.profile-card-body{padding:24px}.achievements-section{padding:75px 0}.section-heading{margin-bottom:35px}.achievement-grid{grid-template-columns:1fr}.achievement-card,.achievement-card+.achievement-card{padding:25px 0;min-height:0;border-left:0}.achievement-card+.achievement-card{border-top:1px solid var(--line)}.achievement-card .eyebrow{margin-top:20px}.achievement-card>p:not(.eyebrow){min-height:0}.together-section{grid-template-columns:1fr}.together-image{min-height:350px}.together-copy{padding:55px 24px 65px}.memories-section{padding:75px 0}.memory-mosaic{grid-template-rows:180px 140px;gap:8px}.memory-note{padding:14px}.memory-note strong{font-size:18px}.subhero{min-height:570px}.subhero-content{padding-block:90px 55px}.subhero h1{font-size:clamp(68px,18vw,100px)}.content-section{padding:75px 0}.split-content{gap:25px}.photo-strip{gap:8px;margin:28px 0}.next-profile-inner{align-items:flex-start;flex-direction:column}.next-profile{padding:45px 0}.chapter-reverse .chapter-image{order:0}.chapter-image{min-height:340px}.story-chapter{padding:65px 0}.closing-quote{padding:70px 0 85px}.gallery-hero{padding:75px 0 45px}.gallery-main{padding-top:28px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:9px}.gallery-item-tall{grid-row:span 2}.gallery-item-wide{grid-column:span 2}.tile-overlay{left:12px;right:12px;bottom:12px}.tile-overlay strong{font-size:20px}.filter-button{padding:9px 12px}.tag-button{padding:7px 8px}.lightbox{grid-template-columns:28px minmax(0,1fr) 28px;padding:65px 8px 25px}.lightbox-prev,.lightbox-next{font-size:35px;padding:4px}.lightbox-close{right:14px}.lightbox-image,.lightbox-video{max-height:58vh}.footer-credit{line-height:2}.footer-credit span{padding:0 3px}}
@media(max-width:390px){.gallery-grid{grid-auto-rows:155px}.filter-button{font-size:9px;padding:8px 10px}.tag-button{font-size:9px}.profile-card-body{padding:20px}}
