/* HDGC: broad photography, strong typography and the club's lime accents. */
:root{--ink:#18291f;--deep:#e8ebdf;--lime:#d6ed24;--lime-soft:#f0f5d7;--paper:#f5f6f2;--mist:#eef0e8;--white:#fff;--muted:#5b665e;--line:#d9ded4;--radius:4px;--shadow:none;--font:"Schibsted Grotesk",Arial,sans-serif;--gutter:max(24px,calc((100vw - 1200px)/2))}
body{background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.7}
h1,h2,h3{font-family:var(--font);font-weight:900;text-transform:uppercase;letter-spacing:-.045em;text-wrap:balance}
p,li,td,dd{overflow-wrap:break-word}a{transition:color .18s,background-color .18s}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #657800;outline-offset:4px}
.skip-link{background:var(--lime);color:var(--ink);font-weight:700}
.site-header{height:78px;background:rgba(255,255,255,.95);padding:0 var(--gutter);gap:2rem;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}
.brand,.footer-brand{font:800 .86rem/1.25 var(--font);letter-spacing:.015em;text-transform:uppercase;flex-shrink:0;gap:.7rem}
.brand img{width:48px;height:48px;padding:0}.footer-brand img{width:58px;height:58px;padding:0}
nav{gap:1.2rem}nav a,.nav-group summary{font-family:var(--font);font-size:.875rem;font-weight:700;letter-spacing:.025em}
nav a[aria-current=page],nav a:hover,.nav-group[data-active]>summary,.nav-group>summary:hover{color:var(--ink);box-shadow:inset 0 -3px var(--lime)}
.nav-cta{background:var(--lime);color:var(--ink);padding:.65rem 1rem;border-radius:2px}.nav-cta:hover{background:#c5dd15;color:var(--ink)}
.nav-submenu{border-radius:3px;border-color:var(--line);box-shadow:0 10px 25px #18291f12}.nav-submenu a{border-radius:2px}
.menu-button{font-family:var(--font);color:var(--ink);border-radius:2px;font-weight:700}
main{display:block;padding:0}main>section{width:100%;max-width:none;margin:0;border-radius:0}
.eyebrow,.section-kicker,.eyebrow.dark,.new-course .section-kicker,.existing-course .section-kicker{font-size:.875rem;font-weight:800;letter-spacing:.1em;color:#526300;line-height:1.5}
.new-course .section-kicker,.existing-course .section-kicker{font-size:1rem}
.large-copy,.detail-list span,.course-details p,.membership-payment dt,.membership-qr figcaption{color:var(--muted)}
.button{border-radius:2px;padding:.85rem 1.25rem;font-family:var(--font);font-size:.875rem;line-height:1.5;font-weight:800;text-transform:uppercase;letter-spacing:.035em;align-items:center;justify-content:center}
.button.lime{background:var(--lime);color:var(--ink);border:1px solid var(--lime)}.button.lime:hover{background:#c5dd15;border-color:#c5dd15}
.button.outline{background:white;color:var(--ink);border:1px solid #aeb9a8}.button.outline:hover{background:var(--lime-soft)}
.button.glass{background:#fffffff2;color:var(--ink);border:1px solid white;backdrop-filter:none}.button.glass:hover{background:var(--lime)}
.button-row{margin-top:1.5rem;gap:.75rem}.text-link{font-size:.95rem;border-bottom:2px solid #afc533;gap:1rem;color:var(--ink)}
/* Wide photographic opening, like hdgc.se. */
.soft-hero{display:flex;position:relative;align-items:flex-end;padding:0;min-height:570px;color:white;background:#263b24;box-shadow:none;border:0}
.home-hero-photo{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.home-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,10,.72),rgba(9,20,10,.15)),linear-gradient(0deg,rgba(9,20,10,.55),transparent 85%)}
.soft-hero .hero-bg{object-fit:cover;object-position:center 55%;width:100%;height:100%}
.hero-content{padding:3.2rem var(--gutter);margin:0;max-width:none;width:100%;position:relative;z-index:2;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.soft-hero .eyebrow{color:var(--lime);margin:0 0 1rem}
.soft-hero h1{font:900 clamp(2.7rem,6.1vw,5.2rem)/1 var(--font);letter-spacing:-.05em;text-transform:uppercase;margin:0 0 1.4rem;max-width:1000px}
.soft-hero h1 span{color:white}.hero-content>p:not(.eyebrow){font-size:1.05rem;color:#fffffff0;max-width:650px;line-height:1.65}
.hero-fact{right:var(--gutter);bottom:3.2rem;border-left:4px solid var(--lime);border-radius:0;padding:.8rem 1.2rem;background:#fffffff2;color:var(--ink);box-shadow:none;backdrop-filter:none}
.hero-fact strong{font:900 1.5rem/1.2 var(--font)}.hero-fact span{font-size:.875rem}
/* Open sections instead of floating gradient cards. */
.welcome-card,.content-block,.activities-panel,.tjing-panel{padding:clamp(3rem,5vw,4.5rem) var(--gutter);border:0;border-bottom:1px solid var(--line);box-shadow:none;background:var(--paper)}
.welcome-card{display:block;text-align:left}.welcome-card>div:last-child{max-width:860px}.welcome-card .section-kicker{margin:0 0 .8rem}
.welcome-card h2,.panel-intro h2,.image-ribbon h2,.content-block h2,.tjing-panel h2,.club-history-heading h2,.existing-course h2,.new-course h2{font:900 clamp(1.9rem,3.4vw,2.9rem)/1.12 var(--font);letter-spacing:-.045em;margin:0 0 1.4rem}
.large-copy,.welcome-card .large-copy{font-size:clamp(1.05rem,1.45vw,1.2rem);line-height:1.75}
.content-block .two-col{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(2rem,5vw,4rem)}
.content-block .two-col>div{min-width:0}
/* A compact photo strip, using the club's existing images. */
.image-ribbon{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:4px;min-height:0;padding:0;background:white;box-shadow:none;border-bottom:1px solid var(--line)}
.image-ribbon img{height:300px;min-height:0;object-fit:cover;object-position:center 53%;border-radius:0}
.image-ribbon>div{padding:2rem 2.5rem;align-self:center}.image-ribbon h2{font-size:clamp(1.5rem,2.4vw,2.2rem)}
.image-ribbon .text-link{margin-top:.5rem}
.feature-grid{display:block;overflow:hidden;background:var(--paper)}
.feature-card{min-height:0;padding:2.8rem var(--gutter);display:block;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;transition:background-color .2s}
.feature-card:hover{transform:none;background:#edf0e5}.feature-card.member{background:var(--paper)}
.feature-card .pill{display:none}.feature-card h2{font:900 clamp(1.8rem,3.2vw,2.7rem)/1.15 var(--font);margin:0 0 .7rem;padding-right:4rem}
.feature-card p{font-size:1rem;margin:0;max-width:700px;padding-right:4rem;color:var(--muted)}
.feature-card>div:last-child{max-width:1200px}.feature-card .circle-arrow{right:0;bottom:50%;transform:translateY(50%);border-radius:2px;background:var(--lime);width:48px;height:44px;color:var(--ink)}
.feature-card.course{color:var(--ink);background:white}.feature-card.course>img,.feature-card.course>.feature-overlay{display:none}
.activities-panel{display:block;background:white;color:var(--ink)}.panel-intro{max-width:750px}.panel-intro>p:last-child{color:var(--muted);max-width:65ch}
.soft-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}
.soft-list article{display:block;border-top:3px solid var(--lime);padding:1.5rem 0;background:none;border-radius:0}
.soft-list article>span{color:#657800;font-size:.875rem;display:block;margin-bottom:1rem}
.soft-list h3{font:800 1.3rem/1.25 var(--font);letter-spacing:-.025em}.soft-list h3 a{text-decoration:none}.soft-list p{font-size:1rem;color:var(--muted);margin-top:.75rem}
.tjing-panel{background:var(--lime-soft);grid-template-columns:1fr 1fr;gap:3rem}
.tjing-actions{gap:0}.tjing-actions a,.tjing-actions a:last-child{border:0;border-top:1px solid #cbd4b4;border-radius:0;background:transparent;padding:1.3rem 0}.tjing-actions a:last-child{border-bottom:1px solid #cbd4b4}
.tjing-actions strong{font:800 1.05rem/1.4 var(--font);text-transform:uppercase}.tjing-actions small{font-size:.875rem;color:var(--muted)}
.tjing-actions b{background:var(--lime);color:var(--ink);border-radius:2px;width:38px;height:38px;flex-shrink:0}.tjing-actions a:hover b{background:#c5dd15;color:var(--ink)}
/* Compact inner-page titles: clear, square edges and purposeful photography. */
.page-hero,.page-hero.compact-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:0;background:#edf0e5;padding:0;gap:0;border-bottom:1px solid var(--line);box-shadow:none}
.page-hero .page-copy{padding:2.8rem 3rem 2.8rem var(--gutter);min-width:0}
.page-hero .page-copy h1{font:900 clamp(2.3rem,4.4vw,4rem)/1.05 var(--font);letter-spacing:-.05em;margin:0 0 1.2rem}
.page-copy p{font-size:1rem;color:var(--muted);max-width:56ch}.page-copy .section-kicker{font-size:.875rem;color:#526300}
.page-hero-photo,.course-hero-photo{min-height:330px;position:relative;overflow:hidden;border-radius:0}
.page-hero-photo img,.course-hero-photo img{border-radius:0}
.course-jump{gap:.6rem;margin-top:1.5rem}.course-jump a{border-radius:2px;background:white;border:1px solid #c6cfb9;font-size:.875rem;padding:.65rem .9rem;color:var(--ink)}
.course-jump a:hover,.course-jump a:focus-visible{background:var(--lime);color:var(--ink)}
/* All secondary pages share the same club palette and type scale. */
.info-cards{margin-top:2.5rem}.info-card{padding:1.5rem;background:white;border:1px solid var(--line);border-top:3px solid var(--lime);border-radius:3px}
.info-card h3,.course-details h3,.existing-course .course-details h3{font:800 1.25rem/1.3 var(--font);letter-spacing:-.025em}
.info-card p{color:var(--muted)}.course-details article{background:white;border:1px solid var(--line);border-radius:3px;padding:1.5rem}
.people-grid article{background:white;border:1px solid var(--line);border-radius:3px;padding:1.25rem}
.people-grid strong{font:800 1.1rem/1.4 var(--font);text-transform:none}.people-grid span,.club-roles .people-grid span{font-size:.875rem;text-transform:none;letter-spacing:0;color:var(--muted)}
.club-roles-heading{font:800 1.25rem/1.3 var(--font)}
.club-history-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:3rem}.club-history-heading h2{max-width:16ch}
.club-history-gold{border-left:4px solid var(--lime);border-radius:0;background:white;padding:1rem 1.25rem}
.club-history-gold strong{font:800 clamp(1.15rem,1.8vw,1.5rem)/1.4 var(--font)}
.club-history-copy h3{font:800 1.35rem/1.25 var(--font);letter-spacing:-.025em}.club-history-copy .large-copy{font-size:1.1rem}.club-history-copy .club-history-name{font-size:1.2em;font-weight:800}
.club-history-welcome{border-color:var(--lime)}
.membership{background:white}.membership-year{font:800 1.4rem/1.4 var(--font)}
.membership-prices>div{background:var(--lime-soft);border:1px solid #d8e1bb;border-top:4px solid var(--lime);border-radius:3px}
.membership-prices dd{font:900 clamp(2rem,3vw,2.6rem)/1.2 var(--font);letter-spacing:-.04em}.membership-prices dd span{font-size:1rem}
.membership-step{border-radius:3px;background:white}.membership-step h3{font:800 1.15rem/1.4 var(--font);letter-spacing:-.025em}.membership-number{font-family:var(--font);color:var(--ink);border-radius:2px}
.membership-note{background:var(--paper);border-radius:2px;border-left:3px solid var(--lime)}
.new-course{background:var(--lime-soft)}.new-course h3{font:800 1.35rem/1.25 var(--font);letter-spacing:-.025em}
.new-course .project-status{background:white;border-radius:3px;border:1px solid #d5dec0}
.new-course .project-status strong{font:800 clamp(1.2rem,2vw,1.6rem)/1.3 var(--font);text-transform:uppercase;letter-spacing:-.03em}
.stat,.existing-course .stat{background:var(--lime-soft);border:1px solid #d9e2c0;border-radius:3px}
.stat strong,.existing-course .stat strong{font:900 clamp(1.7rem,3vw,2.6rem)/1.2 var(--font);letter-spacing:-.04em}.stat span{color:var(--muted)}
.course-logo-link,.existing-course .course-logo-link{border-radius:3px;box-shadow:none}.course-logo-link:hover{border-color:#849b16;box-shadow:none;transform:translateY(-2px)}
.detail-list strong{font:800 .95rem/1.6 var(--font);text-transform:uppercase}.detail-list>div{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}
.sponsor-packages{padding:0 var(--gutter) 4rem;background:var(--paper);gap:1.25rem}
.sponsor-package{padding:2rem;border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:3px;box-shadow:none;background:white}
.sponsor-package.featured{background:var(--lime-soft);border-top-color:var(--lime)}
.sponsor-package h2{font:900 1.7rem/1.2 var(--font);min-height:2.4em;letter-spacing:-.035em}.sponsor-price{font:900 clamp(1.6rem,2.4vw,2.2rem)/1.4 var(--font);letter-spacing:-.035em}
.sponsor-package li{font-size:.95rem}.sponsor-close{background:var(--lime-soft)}
.contact-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3rem}.contact-form{background:white;border:1px solid var(--line);border-top:4px solid var(--lime);border-radius:3px;padding:2rem}
.form-field input,.form-field textarea{border-color:#bcc6b5;border-radius:2px;background:#fcfdfb;font-family:var(--font)}.field-help{font-size:.875rem}
.form-status{background:var(--lime-soft);color:var(--ink);border:1px solid #c6d4a6;border-radius:2px}.form-status.is-error{background:#fff0f0;color:#852727;border-color:#efc3c3}
.results-jump{background:white;color:var(--ink);padding:1.2rem var(--gutter);border-bottom:1px solid var(--line)}
.results-jump strong{font:800 1rem/1.5 var(--font);text-transform:uppercase;letter-spacing:.025em}.results-jump a{border:1px solid #c5cfb9;border-radius:2px;background:white;font-size:.875rem}
.results-jump a:hover,.results-jump a:focus-visible{background:var(--lime);color:var(--ink)}
.results-subsection h3{font:900 clamp(1.3rem,2.3vw,1.9rem)/1.2 var(--font);letter-spacing:-.035em}
.results-table-wrap{border-radius:3px;margin-top:2rem}.results-table thead{background:#e4eacb;color:var(--ink)}.results-table thead th{font-size:.875rem;letter-spacing:.02em}
.results-table tbody th{font:800 clamp(1rem,1.5vw,1.25rem)/1.5 var(--font);background:#f2f5e6}.results-table td:nth-child(2),.honours-table td:nth-child(3){color:var(--muted)}
.sm-section{background:#eef1e5}.medal{font-size:.875rem;border-radius:3px}.result-annotation{font-size:.875rem}
footer{background:white;color:var(--ink);padding:3rem var(--gutter);margin:0;display:grid;grid-template-columns:auto 1fr;gap:2rem;border-top:1px solid var(--line)}
footer>div{flex-wrap:wrap;justify-content:flex-end;gap:1rem 1.5rem;font-size:.9rem}footer p{color:var(--muted);font-size:.875rem;grid-column:1/-1;margin:0}
@media(max-width:1200px){
 .site-header{height:76px}.menu-button{display:block}
 nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:1.5rem;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 76px);overflow-y:auto;border-bottom:1px solid var(--line);box-shadow:0 14px 25px #18291f10}
 nav.open{display:flex}.nav-group{width:100%}.nav-group summary{justify-content:space-between}
 .nav-submenu{position:static;min-width:0;margin-top:.5rem;padding:.25rem 0 .25rem .8rem;background:var(--paper);border:0;border-left:2px solid var(--lime);border-radius:0;box-shadow:none}.nav-submenu a{display:block}
 .hero-fact{display:none}.sponsor-package{padding:1.5rem}
}
@media(max-width:900px){
 .soft-hero{min-height:530px}.soft-hero h1{font-size:clamp(2.5rem,7vw,4rem)}.hero-content{padding:2.5rem var(--gutter)}
 .page-hero,.page-hero.compact-hero{grid-template-columns:1fr}.page-hero .page-copy{padding:2.5rem var(--gutter)}
 .page-hero .page-copy h1{font-size:clamp(2.2rem,6vw,3.2rem)}.page-hero-photo,.course-hero-photo{height:230px;min-height:0}
 .content-block .two-col,.content-block.new-course .two-col,.club-history-grid,.contact-layout,.tjing-panel{grid-template-columns:1fr;gap:2rem}
 .club-history-heading h2{max-width:24ch}.soft-list{grid-template-columns:1fr;gap:0}.soft-list article{padding:1.5rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:30px 1fr;gap:1rem}.soft-list article>span{margin:0}
 .image-ribbon{grid-template-columns:1fr 1fr}.image-ribbon img{height:250px}.image-ribbon>div{grid-column:1/-1;padding:2.5rem var(--gutter)}
 .sponsor-packages{grid-template-columns:1fr}.sponsor-package h2{min-height:0}.results-subsection-grid{grid-template-columns:1fr}
 footer{grid-template-columns:1fr}footer>div{justify-content:flex-start}
}
@media(max-width:560px){
 :root{--gutter:20px}.brand{font-size:.78rem}.brand img{width:42px;height:42px}
 .soft-hero{min-height:510px}.soft-hero h1{font-size:clamp(2rem,8.6vw,3rem);line-height:1.06}.soft-hero .hero-content{padding:2rem var(--gutter)}
 .hero-content>p:not(.eyebrow){font-size:1rem}.hero-content .button-row{gap:.5rem}.hero-content .button{padding:.75rem .9rem;font-size:.8rem}
 .welcome-card,.content-block,.activities-panel,.tjing-panel{padding:2.5rem var(--gutter)}
 .welcome-card h2,.content-block h2,.panel-intro h2,.tjing-panel h2,.image-ribbon h2{font-size:1.85rem;line-height:1.15}
 .page-hero .page-copy{padding:2rem var(--gutter)}.page-hero .page-copy h1{font-size:2.2rem}.page-hero-photo,.course-hero-photo{height:210px}
 .feature-card{padding:2rem var(--gutter)}.feature-card h2{font-size:1.8rem}.feature-card p{padding-right:3.5rem}.feature-card .circle-arrow{width:38px;height:38px}
 .image-ribbon img{height:220px;min-height:0}.image-ribbon>div{grid-column:1/-1}
 .info-cards,.course-details,.people-grid{grid-template-columns:1fr}.membership-prices{grid-template-columns:1fr}.membership-prices dd{font-size:2rem}
 .membership-step,.contact-form{padding:1.25rem}.membership-step h3{font-size:1.05rem}.membership-number{width:1.7rem;height:1.7rem}
 .existing-course .stat{padding:1rem .6rem}.existing-course .stat strong{font-size:clamp(1.3rem,5.6vw,1.8rem)}
 .detail-list>div{grid-template-columns:1fr}.results-table th,.results-table td{padding:.75rem .5rem;font-size:.875rem}.results-table thead th{font-size:.875rem}.honours-table th,.honours-table td{padding:.75rem .4rem;overflow-wrap:anywhere}.result-annotation,.medal{font-size:.8rem}
 .text-link{gap:.6rem}.sponsor-packages{padding-bottom:2.5rem}
}
@media(prefers-reduced-motion:reduce){a,button,summary{transition:none}}

/* Kristinaparken: four balanced course facts. */
.existing-course .stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:700px){.existing-course .stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

.contact-form .contact-privacy{margin:0;font-size:.875rem;line-height:1.6;color:var(--muted);max-width:65ch}

/* Club news: dated editorial entries in the existing club theme. */
.news-heading{padding:clamp(2.5rem,5vw,4.5rem) var(--gutter);background:var(--lime-soft);border-bottom:1px solid var(--line)}
.news-heading h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1;margin:.5rem 0 1rem}
.news-heading>p:last-child{max-width:55ch;margin:0;font-size:1.125rem;color:var(--muted)}
.news-feed{padding:clamp(2.5rem,5vw,4.5rem) var(--gutter);background:white}
.news-article{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(2rem,5vw,4rem);border-top:3px solid var(--lime);padding-top:2rem}
.news-meta{display:flex;flex-direction:column;gap:.6rem;font-size:.875rem;color:var(--muted)}
.news-meta>span{font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#526300}
.news-story{max-width:72ch}.news-story h2{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.2;margin:0 0 1.25rem;text-wrap:pretty}
.news-story p{margin:0 0 1.25rem}.news-lead{font-size:1.125rem;font-weight:600}.news-story .text-link{margin-top:.5rem}
@media(max-width:700px){.news-article{grid-template-columns:1fr;gap:1.25rem}.news-meta{gap:.25rem}}

/* Preserve the full photograph and its embedded photographer credit. */
.welcome-card.welcome-with-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(2rem,6vw,5rem);align-items:center}
.welcome-copy{max-width:650px}
.welcome-photo{margin:0;width:100%;max-width:300px;justify-self:center}
.welcome-photo img{display:block;width:100%;height:auto;border-radius:3px}
.welcome-photo figcaption{margin-top:.6rem;font-size:.875rem;color:var(--muted)}
@media(max-width:700px){.welcome-card.welcome-with-photo{grid-template-columns:1fr;gap:2rem}}

/* Home layout inspired by the supplied reference. */
.home-page .site-header{height:100px;background:#fff}
.home-page .brand img{width:76px;height:76px}
.home-page .brand>span{display:none}
.home-page .site-header nav{margin-left:auto}
.home-page .reference-hero{min-height:520px;align-items:center;justify-content:center;text-align:center}
.home-page .reference-hero .home-hero-photo:after{background:rgba(255,190,105,.06)}
.home-page .reference-hero .hero-bg{filter:sepia(.08) saturate(1.04)}
.home-page .reference-hero .hero-tagline{text-shadow:0 2px 5px #000b,0 0 16px #0006}
.home-page .reference-hero .hero-content{padding:4rem 24px;max-width:1000px}
.home-page .reference-hero h1{font-size:clamp(2.25rem,5.8vw,5rem);font-style:italic;line-height:1.04;letter-spacing:-.035em;margin:0 auto 1.2rem;text-shadow:0 2px 15px #0006}
.home-page .reference-hero .hero-tagline{max-width:none;margin:0 auto;font-size:clamp(.9rem,1.8vw,1.25rem);font-weight:750;text-transform:uppercase;letter-spacing:.035em;color:white}
.home-page .reference-hero .button-row{justify-content:center;flex-wrap:wrap;margin-top:1.8rem}
.home-page .reference-hero .button{border-radius:999px;padding:.9rem 1.6rem}
.home-page .reference-hero .button.glass{background:#15221955;color:white;border:2px solid #fff9}
.home-page .reference-hero .button.glass:hover{background:#152219aa}
.home-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.7rem;padding:2rem var(--gutter) 2.5rem;background:white;border-bottom:1px solid var(--line)}
.destination-card{display:block;text-decoration:none;color:var(--ink)}
.destination-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:5px}
.destination-card:nth-child(2) img{object-position:center 35%}
.destination-card h2{font-size:1.25rem;text-transform:none;letter-spacing:-.025em;margin:.8rem 0 .25rem;line-height:1.3}
.destination-card p{margin:0;font-size:.95rem;color:var(--muted)}
.destination-card:hover h2{text-decoration:underline;text-decoration-color:#819900;text-underline-offset:5px}
@media(max-width:1200px){.home-page .site-header{height:88px}.home-page .brand img{width:66px;height:66px}.home-page .site-header nav{top:88px;max-height:calc(100dvh - 88px)}}
@media(max-width:700px){.home-page .reference-hero{min-height:440px}.home-page .reference-hero .hero-content{padding:3rem 20px}.home-destinations{grid-template-columns:1fr;gap:1.75rem}.destination-card img{max-height:240px}.home-page .reference-hero .button{font-size:.8rem;padding:.8rem 1.1rem}}

/* Softer image corners throughout the site; original image content is retained. */
:root{--image-radius:20px}
main img,
.image-ribbon img,
.page-hero-photo img,
.course-hero-photo img,
.welcome-photo img,
.destination-card img{border-radius:var(--image-radius)}
.home-hero-photo,.page-hero-photo,.course-hero-photo{border-radius:var(--image-radius);overflow:hidden}
.home-hero-photo:after{border-radius:inherit}
.soft-hero{background:transparent}
.brand img,.footer-brand img{border-radius:50%}
@media(max-width:560px){:root{--image-radius:14px}}

/* Keep shortcut text visible before its photograph. */
.destination-card{display:flex;flex-direction:column}
.destination-copy{flex:1;padding-bottom:1rem}
.destination-copy h2{margin:0 0 .35rem}
.destination-card img{flex-shrink:0}
