:root{--ink:#17332b;--green:#16745f;--lime:#cbe86b;--cream:#f7f4e9;--paper:#fffdf7;--line:#d8dfd6;--muted:#5e6f68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.skip-link{position:fixed;top:-80px;left:1rem;z-index:99;background:#fff;padding:.8rem 1rem;border:2px solid var(--ink)}.skip-link:focus{top:1rem}
.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgba(255,253,247,.95);position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:var(--lime);font-weight:800;border-radius:12px}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:1.1rem}.brand small{font-size:.7rem;letter-spacing:.18em;margin-top:.3rem}.site-header nav{display:flex;gap:2rem}.site-header nav a{text-decoration:none;font-size:.9rem;font-weight:700}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--green);text-decoration:underline;text-underline-offset:5px}
.hero{min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:3rem;padding:5rem clamp(1.2rem,7vw,7.5rem);overflow:hidden;background:radial-gradient(circle at 90% 15%,#e8f3bf 0,transparent 28%),var(--cream)}.eyebrow{font-weight:800;letter-spacing:.17em;text-transform:uppercase;font-size:.74rem;color:var(--green);margin:0 0 1.1rem}.hero h1{font-family:Georgia,serif;font-size:clamp(3.4rem,7vw,6.7rem);line-height:.91;letter-spacing:-.055em;margin:0;max-width:790px}.hero h1 em{color:var(--green);font-weight:400}.hero-lead{font-size:1.18rem;line-height:1.65;color:var(--muted);max-width:630px;margin:2rem 0}.primary-button{display:inline-flex;align-items:center;gap:.7rem;background:var(--ink);color:white;padding:1rem 1.3rem;border-radius:8px;text-decoration:none;font-weight:700}.primary-button:hover,.primary-button:focus-visible{background:var(--green);outline:3px solid var(--lime);outline-offset:3px}.hero-art{height:430px;position:relative;border-radius:50% 44% 52% 48%;background:#d9eba0}.code-card{position:absolute;display:flex;flex-direction:column;padding:1rem 1.3rem;border:2px solid var(--ink);border-radius:12px;box-shadow:7px 7px 0 var(--ink);font-size:.8rem;z-index:2}.code-card b{font-size:1rem;margin-top:.25rem}.code-card-a{left:8%;top:13%;background:#f9cb5e;transform:rotate(-5deg)}.code-card-b{right:3%;top:39%;background:#f39879;transform:rotate(4deg)}.code-card-c{left:17%;bottom:10%;background:#8ed2c0;transform:rotate(3deg)}.puzzle-icon{position:absolute;left:45%;top:42%;color:var(--ink);z-index:2}.orbit{position:absolute;border:2px dashed rgba(23,51,43,.3);border-radius:50%}.orbit-one{inset:9%}.orbit-two{inset:23%;transform:rotate(22deg)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:1180px;margin:-36px auto 0;position:relative;background:var(--ink);color:white}.stats div{padding:1.5rem 2rem;border-right:1px solid rgba(255,255,255,.18);display:flex;align-items:baseline;gap:.8rem}.stats div:last-child{border:0}.stats strong{font:400 2.4rem Georgia,serif;color:var(--lime)}.stats span{font-size:.82rem}.section{padding:7rem clamp(1.2rem,7vw,7.5rem)}.section-heading{max-width:760px}.section-heading h2,.challenge-band h2,.results-card h2{font:400 clamp(2.4rem,5vw,4.4rem)/1.03 Georgia,serif;letter-spacing:-.04em;margin:0}.project-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7rem;margin-top:4rem}.project-lead{font:400 1.65rem/1.45 Georgia,serif;margin:0}.principles article{display:grid;grid-template-columns:44px 1fr;gap:1.2rem;padding:1.4rem 0;border-top:1px solid var(--line)}.principles svg{color:var(--green)}.principles h3{margin:0 0 .35rem;font-size:1rem}.principles p{margin:0;color:var(--muted);line-height:1.55}
.materials{background:#eff1e8}.row-heading{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:3rem}.row-heading>p{max-width:410px;color:var(--muted);line-height:1.6}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3.5rem}.guide-card{display:grid;grid-template-columns:110px 1fr;background:var(--paper);border:1px solid #ccd4ca;min-height:250px;transition:transform .2s,box-shadow .2s}.guide-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px rgba(23,51,43,.1)}.guide-number{display:flex;align-items:flex-end;justify-content:center;padding:1.5rem;font:400 2.5rem Georgia,serif;border-right:1px solid rgba(23,51,43,.18)}.guide-content{padding:2rem}.guide-content>p{font-size:.67rem;font-weight:800;letter-spacing:.16em;margin:0 0 .7rem}.guide-content h3{font:400 1.8rem Georgia,serif;margin:0 0 .45rem}.guide-content>span{color:var(--muted)}.resource-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}.resource-links a{display:flex;align-items:center;gap:.35rem;text-decoration:none;font-size:.8rem;font-weight:700;border-bottom:1px solid;padding:.3rem .1rem}.resource-links a:hover,.resource-links a:focus-visible{color:var(--green)}.sky .guide-number{background:#b9dce9}.lime .guide-number{background:#dceba2}.amber .guide-number{background:#f3d27b}.coral .guide-number{background:#efaa91}.violet .guide-number{background:#cfc0df}.mint .guide-number{background:#a9d5c6}.prototype-note{margin:2rem 0 0;color:var(--muted);font-size:.88rem}
.challenge-band{margin:0 clamp(1.2rem,4vw,4rem);padding:5rem clamp(1.5rem,6vw,6rem);background:var(--green);color:white;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5rem;border-radius:4px}.challenge-band .light{color:var(--lime)}.challenge-band p:last-child{line-height:1.7;max-width:650px;color:#d8ebe4}.mini-board{display:grid;grid-template-columns:repeat(4,1fr);aspect-ratio:1;max-width:330px;margin:auto;border:5px solid var(--ink);box-shadow:14px 14px 0 var(--lime);background:var(--paper)}.mini-board span{display:grid;place-items:center;border:1px solid #b7c7be;color:var(--green);font-size:2rem}.team-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:6rem;margin-top:4rem}.team-intro{border-top:4px solid var(--lime);padding-top:1.5rem}.team-intro svg{color:var(--green)}.team-intro p{font:400 1.35rem/1.55 Georgia,serif}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.role-grid article{background:var(--cream);padding:1.7rem;min-height:170px}.role-grid span{font-size:.72rem;color:var(--green);font-weight:800}.role-grid h3{font:400 1.25rem Georgia,serif;margin:2rem 0 .4rem}.role-grid p{font-size:.85rem;color:var(--muted);margin:0}.results{padding-top:1rem}.results-card{background:var(--lime);padding:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end}.results-card>p{line-height:1.7;margin:0}.results-card>a{grid-column:2;display:flex;align-items:center;gap:.4rem;font-weight:700;text-underline-offset:4px}footer{background:var(--ink);color:white;padding:2.5rem clamp(1.2rem,7vw,7.5rem);display:flex;justify-content:space-between;gap:2rem;font-size:.82rem}footer div{display:flex;flex-direction:column;gap:.4rem}footer span,footer p{color:#b7cac3;margin:0}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:3rem}.hero-art{height:340px}.stats{margin:0;grid-template-columns:repeat(2,1fr)}.project-grid,.team-layout{grid-template-columns:1fr;gap:3rem}.row-heading{align-items:start;flex-direction:column}.challenge-band{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}}
@media(max-width:650px){.site-header{height:auto;padding:1rem 1.2rem;align-items:flex-start}.site-header nav{display:grid;grid-template-columns:repeat(2,auto);gap:.7rem 1.2rem;font-size:.8rem}.hero{min-height:0}.hero h1{font-size:3.3rem}.hero-art{height:290px}.stats{grid-template-columns:1fr 1fr}.stats div{padding:1rem;display:block}.stats span{display:block;margin-top:.25rem}.section{padding-top:5rem;padding-bottom:5rem}.guide-card{grid-template-columns:68px 1fr}.guide-number{padding:1rem;font-size:1.7rem}.guide-content{padding:1.3rem}.resource-links{flex-direction:column;align-items:flex-start}.role-grid,.results-card{grid-template-columns:1fr}.results-card>a{grid-column:1}.challenge-band{margin:0;border-radius:0}.mini-board{max-width:250px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guide-card{transition:none}}

.team-intro img{display:block;width:100%;max-height:360px;object-fit:cover;margin-bottom:1.5rem}

.presentation-page{min-height:100vh;background:var(--cream)}.resource-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:12px clamp(1.2rem,5vw,5rem);background:var(--paper);border-bottom:1px solid var(--line)}.resource-brand img{display:block;width:312px;max-height:77px;object-fit:contain}.back-button,.slides-button{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:800;text-decoration:none;border-radius:7px}.back-button{padding:.75rem 1rem;border:2px solid var(--ink)}.slides-button{padding:.9rem 1.1rem;background:var(--ink);color:white}.back-button:hover,.back-button:focus-visible,.slides-button:hover,.slides-button:focus-visible{background:var(--green);color:white;outline:3px solid var(--lime);outline-offset:2px}.resource-title{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding:3rem clamp(1.2rem,7vw,7.5rem) 2rem}.resource-title h1{font:400 clamp(2.3rem,5vw,4.2rem)/1.05 Georgia,serif;letter-spacing:-.04em;margin:0}.resource-title p:last-child{color:var(--muted);line-height:1.55}.slides-frame{margin:0 clamp(1.2rem,7vw,7.5rem) 3rem;aspect-ratio:16/9;background:var(--ink);padding:10px;box-shadow:12px 12px 0 var(--lime)}.slides-frame iframe{display:block;width:100%;height:100%;border:0;background:white}.resource-footer{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem clamp(1.2rem,7vw,7.5rem);background:var(--ink);color:white;font-size:.82rem}.resource-footer a{display:flex;align-items:center;gap:.4rem;color:var(--lime);font-weight:800;text-underline-offset:4px}
@media(max-width:700px){.resource-header,.resource-title,.resource-footer{align-items:flex-start;flex-direction:column}.resource-brand img{width:190px}.resource-title{padding-top:2rem;gap:1.5rem}.slides-frame{margin-bottom:2rem;padding:5px;box-shadow:7px 7px 0 var(--lime)}}

/* Actualización institucional y primera unidad disponible */
.site-header{height:86px}.brand{display:flex;align-items:center;text-decoration:none}.brand img{display:block;width:348px;max-height:86px;object-fit:contain;object-position:left center}.site-header nav{align-items:center}.site-header nav .padlet-nav{display:flex;align-items:center;gap:.35rem;background:var(--lime);padding:.65rem .8rem;border-radius:7px}.site-header nav .padlet-nav:hover{background:#b7da43;color:var(--ink);text-decoration:none}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.secondary-button{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.3rem;border:2px solid var(--ink);border-radius:8px;text-decoration:none;font-weight:700}.secondary-button:hover,.secondary-button:focus-visible{background:var(--green);color:white;outline:3px solid var(--lime);outline-offset:3px}.hero-art{min-height:400px;height:auto;display:grid;place-items:center;border-radius:0;background:#d9eba0;padding:1.2rem;transform:rotate(1.5deg);box-shadow:14px 14px 0 var(--ink)}.hero-art img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;background:white;border:1px solid rgba(23,51,43,.18)}
.resource-links{gap:.8rem}.resource-links>span{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:700;color:#89968f;border-bottom:1px solid #b8c1bc;padding:.3rem .1rem}.guide-card.ready{outline:3px solid var(--green);outline-offset:-3px}.guide-card.ready .guide-content>p{color:var(--green)}
@media(max-width:650px){.site-header{height:auto;gap:1rem}.brand img{width:175px}.site-header nav .padlet-nav{grid-column:1/-1;justify-content:center}.hero-art{min-height:250px;height:auto;box-shadow:8px 8px 0 var(--ink)}}

/* Identidad visual compartida con la colección de guías */
.materials{position:relative;background:#f5f7fb;border-top:8px solid #123a7a}.materials::before{content:"ILyPC · UNAHUR · 2026";position:absolute;top:0;right:clamp(1.2rem,7vw,7.5rem);padding:10px 18px;background:#0b2957;color:white;border-radius:0 0 10px 10px;font-size:.68rem;font-weight:800;letter-spacing:.14em}.materials .eyebrow{color:#1d56b8}.materials .section-heading h2{color:#123a7a}.materials .row-heading>p{color:#5a6474}.materials .guide-card{overflow:hidden;background:#fff;border:1px solid #e3e8f0;border-radius:14px;box-shadow:0 2px 12px rgba(16,24,60,.07)}.materials .guide-card:hover{box-shadow:0 12px 30px rgba(16,24,60,.13)}.materials .guide-number{align-items:center;background:linear-gradient(180deg,#0b2957,#123a7a);color:white;border-right:0}.materials .guide-content>p{color:#5a6474}.materials .guide-content h3{font-family:Arial,Helvetica,sans-serif;font-size:1.15rem;font-weight:700;color:#123a7a;letter-spacing:0}.materials .guide-content>span{color:#5a6474;font-size:.88rem}.materials .resource-links a{color:#1d56b8;border-color:#93c5fd}.materials .resource-links a:hover,.materials .resource-links a:focus-visible{color:#123a7a;background:#dbeafe;border-radius:5px}.materials .guide-card.ready{outline:3px solid #1d56b8}.materials .guide-card.ready .guide-content>p{color:#1d56b8}.materials .prototype-note{padding:16px 18px;background:#fff;border:1px solid #e3e8f0;border-left:5px solid #1d56b8;border-radius:10px;color:#5a6474;box-shadow:0 2px 12px rgba(16,24,60,.05)}
.presentation-page{background:#f5f7fb}.presentation-page .resource-header{border-top:6px solid #123a7a}.presentation-page .eyebrow{color:#1d56b8}.presentation-page .resource-title h1{font-family:Arial,Helvetica,sans-serif;font-weight:700;color:#123a7a;letter-spacing:-.025em}.presentation-page .back-button{border-color:#123a7a;color:#123a7a}.presentation-page .slides-button{background:#123a7a}.presentation-page .back-button:hover,.presentation-page .back-button:focus-visible,.presentation-page .slides-button:hover,.presentation-page .slides-button:focus-visible{background:#1d56b8;outline-color:#93c5fd}.presentation-page .slides-frame{background:#0b2957;box-shadow:12px 12px 0 #93c5fd}.presentation-page .resource-footer{background:#0b2957}.presentation-page .resource-footer a{color:#bfdbfe}
@media(max-width:650px){.materials::before{position:static;display:inline-block;margin:-1px 0 1.5rem;border-radius:0 0 10px 0}.materials .guide-number{font-size:1.35rem}.presentation-page .slides-frame{box-shadow:7px 7px 0 #93c5fd}}

.practical-works{background:var(--paper)}.practical-works .row-heading>p{color:var(--muted)}.tp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3.5rem}.tp-card{display:grid;grid-template-columns:150px 1fr;min-height:260px;border:1px solid var(--line);background:white;box-shadow:0 6px 22px rgba(23,51,43,.07);transition:transform .2s,box-shadow .2s}.tp-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(23,51,43,.12)}.tp-card:last-child{grid-column:1/-1}.tp-meta{display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;background:var(--ink);color:white}.tp-meta span{font-size:.72rem;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;color:#c8d9d2}.tp-meta strong{font:400 2rem Georgia,serif;color:var(--lime)}.tp-body{padding:1.7rem 1.9rem}.tp-body>svg{color:var(--green)}.tp-body h3{font:400 1.55rem/1.15 Georgia,serif;margin:1.2rem 0 .6rem}.tp-body>p{font-size:.88rem;line-height:1.55;color:var(--muted);margin:0}.tp-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.tp-actions a{display:flex;align-items:center;gap:.38rem;padding:.65rem .8rem;border-radius:6px;background:#eaf3ee;color:var(--ink);text-decoration:none;font-size:.78rem;font-weight:800}.tp-actions a:first-child{background:var(--green);color:white}.tp-actions a:hover,.tp-actions a:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.deliveries-page{min-height:100vh;background:#f5f7fb}.deliveries-page .resource-header{border-top:6px solid #123a7a}.deliveries-intro{padding:4rem clamp(1.2rem,7vw,7.5rem) 2.5rem}.deliveries-intro h1{max-width:850px;font:700 clamp(2.5rem,5vw,4.5rem)/1.04 Arial,sans-serif;letter-spacing:-.045em;color:#123a7a;margin:0}.deliveries-intro>p:last-child{color:#5a6474;font-size:1.05rem}.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0 clamp(1.2rem,7vw,7.5rem) 5rem}.board-grid a{min-height:110px;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.35rem;background:white;border:1px solid #e3e8f0;border-left:5px solid #1d56b8;border-radius:10px;box-shadow:0 2px 12px rgba(16,24,60,.07);color:#123a7a;text-decoration:none;font-weight:800}.board-grid a:hover,.board-grid a:focus-visible{background:#dbeafe;outline:3px solid #93c5fd;outline-offset:2px}
@media(max-width:900px){.tp-grid{grid-template-columns:1fr}.tp-card:last-child{grid-column:auto}.board-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.tp-card{grid-template-columns:92px 1fr}.tp-meta{padding:1rem}.tp-body{padding:1.3rem}.tp-actions{flex-direction:column;align-items:stretch}.tp-actions a{justify-content:center}.board-grid{grid-template-columns:1fr}.deliveries-intro{padding-top:2.5rem}}

.tp-document-page{min-height:100vh;background:#f5f7fb}.tp-document-page .resource-header{border-top:6px solid #123a7a}.tp-document-title{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:2.5rem clamp(1.2rem,5vw,5rem) 1.5rem}.tp-document-title h1{font:700 clamp(2rem,4vw,3.5rem)/1.06 Arial,sans-serif;letter-spacing:-.035em;color:#123a7a;margin:0}.pdf-frame{height:calc(100vh - 270px);min-height:620px;margin:0 clamp(1.2rem,5vw,5rem) 3rem;padding:8px;background:#0b2957;box-shadow:10px 10px 0 #93c5fd}.pdf-frame iframe{display:block;width:100%;height:100%;border:0;background:white}@media(max-width:700px){.tp-document-title{align-items:flex-start;flex-direction:column}.pdf-frame{height:72vh;min-height:500px;margin-bottom:2rem;box-shadow:6px 6px 0 #93c5fd}}
.menu-button{display:none;border:2px solid var(--ink);border-radius:6px;background:transparent;padding:.6rem .75rem;color:var(--ink);font-weight:800}.feature-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dbeafe;color:#123a7a;font-size:.7rem;font-weight:800}.tp-symbol{display:block;color:var(--green);font-size:1.6rem}.static-resource-page{min-height:100vh;background:#f5f7fb}.static-resource-page .resource-header{border-top:6px solid #123a7a}.static-resource-page .resource-title h1{font-family:Arial,Helvetica,sans-serif;font-weight:700;color:#123a7a}.static-resource-page .slides-frame{background:#0b2957;box-shadow:12px 12px 0 #93c5fd}@media(max-width:780px){.site-header{flex-wrap:wrap}.menu-button{display:block}.site-header nav{display:none;width:100%;grid-template-columns:1fr 1fr;padding:.5rem 0 1rem}.site-header nav.open{display:grid}.site-header nav .padlet-nav{grid-column:1/-1;justify-content:center}}

/* Título principal más discreto */
.hero h1 {
  max-width: 680px;
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
}

/* Conserva el verde y la cursiva */
.hero h1 em {
  color: var(--green);
  font-weight: 400;
}

/* Ajuste para celulares */
@media (max-width: 650px) {
  .hero h1 {
    font-size: 2.7rem;
    line-height: 1.05;
  }
}

/* Invitación a la galería */
.moments-invite{margin:0 clamp(1.2rem,4vw,4rem) 6rem;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;background:var(--cream);border:1px solid var(--line);overflow:hidden}.moments-collage{min-height:430px;display:block;padding:.7rem;background:var(--ink)}.moments-collage img{display:block;width:100%;height:416px;object-fit:cover}.moments-copy{padding:clamp(2rem,5vw,5rem)}.moments-copy h2{font:400 clamp(2.5rem,5vw,4.4rem)/1 Georgia,serif;letter-spacing:-.04em;margin:0}.moments-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:1.5rem 0 2rem}

/* Página de galería */
.gallery-page{background:var(--paper)}.gallery-page .site-header nav a[aria-current="page"]{color:var(--green);text-decoration:underline;text-underline-offset:5px}.gallery-hero{padding:4rem clamp(1.2rem,7vw,7.5rem) 5rem;background:radial-gradient(circle at 86% 20%,#dceba2 0,transparent 25%),var(--cream)}.gallery-back{display:inline-flex;margin-bottom:4rem;font-size:.85rem;font-weight:800;text-underline-offset:4px}.gallery-hero h1{max-width:900px;font:400 clamp(3.2rem,7vw,6.8rem)/.92 Georgia,serif;letter-spacing:-.055em;margin:0}.gallery-hero>p:last-child{max-width:720px;color:var(--muted);font-size:1.12rem;line-height:1.7;margin:2rem 0 0}.gallery-intro{display:flex;justify-content:space-between;gap:3rem;padding:2rem clamp(1.2rem,7vw,7.5rem);border-bottom:1px solid var(--line)}.gallery-intro p{max-width:760px;line-height:1.65;margin:0}.gallery-intro span{align-self:center;color:var(--green);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:1rem;padding:4rem clamp(1.2rem,7vw,7.5rem)}.gallery-item{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 7px 24px rgba(23,51,43,.07)}.gallery-item-wide{grid-column:span 2}.gallery-item-tall{grid-row:span 2}.gallery-open{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.gallery-open img,.video-sample img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .25s ease}.gallery-item-wide .gallery-open{background:transparent}.gallery-item-wide .gallery-open img{height:360px;object-fit:contain;background:#fff}.gallery-item-tall .gallery-open img{height:515px}.gallery-open>span{position:absolute;right:1rem;bottom:1rem;padding:.55rem .7rem;background:rgba(23,51,43,.92);color:#fff;font-size:.72rem;font-weight:800;border-radius:5px;opacity:0;transform:translateY(8px);transition:.2s}.gallery-open:hover img{transform:scale(1.025)}.gallery-open:hover>span,.gallery-open:focus-visible>span{opacity:1;transform:none}.gallery-open:focus-visible{outline:5px solid var(--lime);outline-offset:-5px}.gallery-item figcaption{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 1.4rem}.gallery-item figcaption strong{font:400 1.35rem Georgia,serif}.gallery-item figcaption span{color:var(--muted);font-size:.84rem;line-height:1.5}.video-sample{position:relative;background:var(--ink)}.video-sample img{height:290px;opacity:.88}.play-mark{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:1.45rem;padding-left:4px;box-shadow:0 0 0 10px rgba(255,255,255,.26)}.gallery-note{margin:0 clamp(1.2rem,7vw,7.5rem) 6rem;padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:end;background:var(--green);color:#fff}.gallery-note h2{font:400 clamp(2.2rem,4vw,3.8rem)/1 Georgia,serif;margin:0}.gallery-note .eyebrow{color:var(--lime)}.gallery-note>p{line-height:1.75;color:#e2f0eb;margin:0}.lightbox{width:min(1100px,92vw);max-height:90vh;padding:0;border:0;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.4)}.lightbox::backdrop{background:rgba(9,25,20,.82)}.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--ink);color:#fff}.lightbox-bar h2{font-size:.9rem;margin:0}.lightbox-close{border:2px solid var(--lime);border-radius:5px;background:transparent;color:#fff;padding:.45rem .7rem;font-weight:800}.lightbox-close:focus-visible{outline:3px solid #fff;outline-offset:2px}.lightbox img{display:block;max-width:100%;max-height:calc(90vh - 60px);margin:auto;object-fit:contain}
@media(max-width:900px){.moments-invite{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item-tall{grid-row:auto}.gallery-item-tall .gallery-open img{height:360px}.gallery-note{grid-template-columns:1fr;gap:2rem}}
@media(max-width:650px){.moments-invite{margin:0 0 4rem}.moments-collage{min-height:300px}.moments-collage img{height:286px}.gallery-hero{padding-top:2rem}.gallery-back{margin-bottom:2.5rem}.gallery-intro{flex-direction:column;gap:1rem}.gallery-intro span{align-self:flex-start;white-space:normal}.gallery-grid{grid-template-columns:1fr;padding-top:2rem;padding-bottom:3rem}.gallery-item-wide{grid-column:auto}.gallery-open img,.gallery-item-wide .gallery-open img,.gallery-item-tall .gallery-open img{height:280px}.gallery-note{margin:0 0 4rem}}
@media(prefers-reduced-motion:reduce){.gallery-open img,.gallery-open>span{transition:none}}
