.activities-page { --activity-ink: #153b41; --activity-deep: #12343a; --activity-teal: #2e7780; --activity-mist: #e8f2ef; --activity-sky: #dceef0; color: var(--activity-ink); background: #f7faf7; }
.activities-page .site-header--light { background: rgba(249, 252, 249, .88); }
.activities-page .site-header--light::before { --header-background: rgba(249, 252, 249, .88); }
.activities-page .site-header--light::after { --header-background: rgba(249, 252, 249, .88); }
.activity-hero { position: relative; display: grid; grid-template-columns: minmax(420px, .92fr) minmax(440px, 1.08fr); align-items: center; min-height: 735px; padding: 120px max(7vw, calc((100% - 1320px) / 2)) 85px; overflow: hidden; background: radial-gradient(circle at 16% 34%, #fff 0, #f7faf7 39%, #e8f2ef 100%); }
.activity-hero__copy { position: relative; z-index: 2; padding: 38px 0 25px; }
.activity-eyebrow { margin: 0 0 22px; color: var(--activity-teal); font-family: Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .22em; }
.activity-eyebrow span { margin: 0 5px; color: #a6b9b3; }
.activity-hero h1 { margin: 0 0 25px; color: var(--activity-deep); font-size: clamp(39px, 5vw, 69px); letter-spacing: .08em; line-height: 1.55; }
.activity-hero h1 em { color: var(--activity-teal); font-style: normal; }
.activity-hero__lead { margin-bottom: 36px; color: #526d70; font-size: 15px; letter-spacing: .08em; line-height: 2.1; }
.activity-hero__link { display: inline-flex; align-items: center; gap: 24px; padding: 0 0 8px; color: var(--activity-teal); border-bottom: 1px solid #8eb2ae; font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.activity-hero__link span { font-size: 18px; font-weight: 400; }
.activity-hero__image { position: relative; z-index: 1; width: 100%; height: min(520px, 62vw); min-height: 390px; margin: 0 0 0 -10px; overflow: hidden; border-radius: 46% 46% 6px 6px / 35% 35% 6px 6px; box-shadow: 0 30px 70px rgba(20, 61, 64, .19); }
.activity-hero__image::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(12, 42, 45, .35)); content: ""; }
.activity-hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.activity-hero__image figcaption { position: absolute; z-index: 1; right: 28px; bottom: 25px; color: #fff; font-family: Arial, sans-serif; font-size: 10px; letter-spacing: .19em; }
.activity-hero__image figcaption span { margin-right: 12px; color: #c4e5d9; }
.activity-hero__stamp { position: absolute; z-index: 3; right: 43%; bottom: 89px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 106px; height: 106px; color: var(--activity-deep); background: #d6ede3; border: 7px solid rgba(247, 250, 247, .78); border-radius: 50%; font-family: Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .1em; line-height: 1.2; transform: rotate(-11deg); }
.activity-hero__stamp span:nth-child(2) { margin: 3px 0; color: #70a79b; font-size: 15px; }
.activity-hero__vertical { position: absolute; top: 46%; right: 24px; color: #7e9b97; font-family: Arial, sans-serif; font-size: 9px; letter-spacing: .24em; writing-mode: vertical-rl; }
.activity-intro { position: relative; display: grid; grid-template-columns: .75fr 2fr auto; align-items: center; gap: 35px; padding: 47px max(8vw, calc((100% - 1180px) / 2)); color: #f8fcf8; background: #1f5960; overflow: hidden; }
.activity-intro > p { margin: 0; color: #b4d8ca; font-family: Arial, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .19em; }
.activity-intro h2 { margin: 0 0 8px; font-size: clamp(21px, 2.5vw, 31px); letter-spacing: .07em; line-height: 1.65; }
.activity-intro div p { margin: 0; color: #d3e5dd; font-size: 13px; }
.activity-intro__sun { color: rgba(221, 241, 224, .25); font-size: 106px; line-height: 1; }
.activity-section { position: relative; display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; width: min(1180px, calc(100% - 64px)); margin: 0 auto; padding: 122px 0 95px; }
.activity-section__heading { align-self: center; padding-bottom: 30px; }
.activity-section h2 { margin: 0 0 19px; color: var(--activity-deep); font-size: clamp(34px, 4vw, 48px); letter-spacing: .1em; }
.activity-section__heading > p:not(.activity-eyebrow):not(.activity-note) { margin-bottom: 30px; color: #557073; font-size: 14px; line-height: 2.1; }
.activity-facts { margin: 0 0 20px; border-top: 1px solid #c9d8d4; }
.activity-facts div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 11px 0; border-bottom: 1px solid #c9d8d4; }
.activity-facts dt { color: #708889; font-size: 12px; }
.activity-facts dd { margin: 0; color: var(--activity-deep); font-size: 15px; font-weight: 700; letter-spacing: .05em; }
.activity-facts dd small { display: block; margin-top: 2px; color: #718989; font-size: 9px; font-weight: 400; letter-spacing: .03em; }
.activity-note { margin: 0; color: #658084; font-size: 12px; line-height: 1.9; }
.activity-gallery { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: 250px 190px; gap: 18px; padding: 0 0 22px 35px; }
.activity-gallery figure { position: relative; margin: 0; overflow: hidden; background: var(--activity-mist); }
.activity-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.activity-gallery figure:hover img { transform: scale(1.035); }
.activity-gallery__main { grid-row: 1 / 3; border-radius: 120px 120px 4px 4px; }
.activity-gallery__main img { object-position: center; }
.activity-gallery__sub--one { border-radius: 4px 60px 4px 4px; }
.activity-gallery__sub--two { border-radius: 4px; }
.activity-gallery figcaption { position: absolute; right: 13px; bottom: 12px; padding: 4px 9px; color: white; background: rgba(17, 58, 61, .73); font-family: Arial, sans-serif; font-size: 9px; letter-spacing: .16em; }
.activity-gallery__line { position: absolute; top: 25px; left: 0; width: 1px; height: 78%; background: #8bb6ac; }
.activity-caution { grid-column: 1 / -1; margin: -8px 0 0; padding: 18px 24px; color: #687f7e; background: #edf4f1; font-size: 11px; line-height: 1.9; }
.activity-section--cycle { grid-template-columns: 1.05fr .95fr; align-items: center; gap: 8vw; width: 100%; padding: 105px max(7vw, calc((100% - 1180px) / 2)) 85px; background: #eaf3f1; }
.activity-cycle__image { position: relative; height: 500px; overflow: hidden; border-radius: 4px 135px 4px 4px; }
.activity-cycle__image::before { position: absolute; z-index: 1; top: 20px; left: 20px; width: 70px; height: 70px; border-top: 1px solid rgba(255,255,255,.8); border-left: 1px solid rgba(255,255,255,.8); content: ""; }
.activity-cycle__image img { width: 100%; height: 100%; object-fit: cover; }
.activity-cycle__copy { max-width: 500px; }
.activity-cycle__copy h2 { margin-bottom: 12px; }
.activity-cycle__lead { margin-bottom: 18px; color: var(--activity-teal); font-size: 19px; font-weight: 500; letter-spacing: .07em; line-height: 1.8; }
.activity-cycle__copy > p:not(.activity-eyebrow):not(.activity-cycle__lead):not(.activity-note) { color: #597275; font-size: 13px; line-height: 2; }
.activity-cycle__details { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 25px 0 15px; }
.activity-cycle__details div { padding: 14px 16px; background: rgba(255,255,255,.78); }
.activity-cycle__details span, .activity-cycle__details strong { display: block; }
.activity-cycle__details span { color: #718989; font-size: 10px; }
.activity-cycle__details strong { margin-top: 5px; color: var(--activity-deep); font-family: Arial, sans-serif; font-size: 20px; letter-spacing: .04em; }
.activity-cycle__details strong small { display: block; margin-top: 4px; color: #718989; font-family: "Kiwi Maru", sans-serif; font-size: 9px; font-weight: 400; letter-spacing: .03em; }
.activity-cycle__fleet { display: flex; gap: 23px; margin: 0 0 17px; padding: 0; list-style: none; color: #617b7c; font-size: 12px; }
.activity-cycle__fleet strong { margin-left: 6px; color: var(--activity-deep); font-size: 16px; }
.activity-cycle__fleet small { display: block; margin-top: 4px; font-size: 10px; }
.activity-section--cycle .activity-caution { grid-column: 1 / -1; margin-top: 0; background: rgba(255,255,255,.65); }
.activity-bottom { position: relative; padding: 91px 24px 100px; color: white; text-align: center; background: linear-gradient(120deg, #174950, #2d7476); overflow: hidden; }
.activity-bottom::before, .activity-bottom::after { position: absolute; width: 340px; height: 340px; border: 1px solid rgba(216, 241, 225, .16); border-radius: 50%; content: ""; }
.activity-bottom::before { top: -185px; left: -45px; box-shadow: 0 0 0 28px rgba(216,241,225,.035), 0 0 0 58px rgba(216,241,225,.025); }
.activity-bottom::after { right: -105px; bottom: -230px; width: 440px; height: 440px; box-shadow: 0 0 0 34px rgba(216,241,225,.035), 0 0 0 70px rgba(216,241,225,.025); }
.activity-bottom .activity-eyebrow { color: #bfdfd2; }
.activity-bottom h2 { margin: 0 0 13px; font-size: clamp(31px, 4vw, 47px); line-height: 1.6; }
.activity-bottom > p:not(.activity-eyebrow) { margin-bottom: 26px; color: #d4e8df; font-size: 13px; line-height: 2; }
.activity-bottom__button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 32px; padding: 14px 22px; color: var(--activity-deep); background: #f5fbf6; font-size: 13px; font-weight: 700; letter-spacing: .06em; transition: transform .2s ease, background .2s ease; }
.activity-bottom__button:hover { transform: translateY(-2px); background: #d8eee2; }
.activity-bottom__button span { font-size: 18px; font-weight: 400; }
@media (max-width: 900px) {
    .activity-hero { grid-template-columns: .9fr 1.1fr; min-height: 650px; padding-right: 6vw; padding-left: 6vw; }
    .activity-hero h1 { font-size: clamp(36px, 5.2vw, 52px); }
    .activity-hero__image { min-height: 350px; }
    .activity-hero__stamp { right: 43%; bottom: 68px; width: 88px; height: 88px; }
    .activity-section { gap: 5vw; }
    .activity-section--cycle { padding-right: 6vw; padding-left: 6vw; }
    .activity-cycle__image { height: 430px; }
}
@media (max-width: 700px) {
    .activity-hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; padding: 110px 24px 50px; }
    .activity-hero__copy { padding: 24px 0 28px; }
    .activity-eyebrow { margin-bottom: 15px; font-size: 9px; }
    .activity-hero h1 { margin-bottom: 17px; font-size: clamp(36px, 10vw, 50px); line-height: 1.5; }
    .activity-hero__lead { margin-bottom: 22px; font-size: 13px; }
    .activity-hero__image { height: 112vw; min-height: 0; max-height: 510px; margin: 0 7px 0 19px; border-radius: 42% 42% 4px 4px / 28% 28% 4px 4px; }
    .activity-hero__stamp { right: 28px; bottom: 32px; width: 78px; height: 78px; font-size: 8px; }
    .activity-hero__vertical { top: auto; right: 8px; bottom: 120px; font-size: 8px; }
    .activity-intro { grid-template-columns: 1fr auto; gap: 7px 10px; padding: 29px 25px; }
    .activity-intro > p { grid-column: 1 / -1; font-size: 9px; }
    .activity-intro h2 { font-size: 20px; }
    .activity-intro div p { max-width: 290px; font-size: 11px; }
    .activity-intro__sun { grid-column: 2; grid-row: 2; font-size: 65px; }
    .activity-section, .activity-section--cycle { display: flex; flex-direction: column; gap: 25px; width: 100%; padding: 68px 24px 50px; }
    .activity-section__heading { align-self: stretch; padding: 0; }
    .activity-section h2 { margin-bottom: 13px; font-size: 34px; }
    .activity-section__heading > p:not(.activity-eyebrow):not(.activity-note) { margin-bottom: 20px; font-size: 13px; }
    .activity-facts div { padding: 9px 0; }
    .activity-facts dd { font-size: 14px; }
    .activity-gallery { grid-template-rows: 53vw 37vw; gap: 10px; padding: 0 0 0 15px; }
    .activity-gallery__main { border-radius: 68px 68px 3px 3px; }
    .activity-gallery__sub--one { border-radius: 3px 34px 3px 3px; }
    .activity-gallery figcaption { right: 7px; bottom: 7px; padding: 3px 6px; font-size: 7px; }
    .activity-gallery__line { top: 20px; height: 82%; }
    .activity-caution { margin-top: 0; padding: 14px; font-size: 10px; }
    .activity-section--cycle { gap: 25px; padding-top: 58px; }
    .activity-cycle__image { width: 100%; height: 75vw; max-height: 390px; border-radius: 3px 86px 3px 3px; }
    .activity-cycle__copy { width: 100%; }
    .activity-cycle__lead { font-size: 17px; }
    .activity-cycle__details { gap: 9px; }
    .activity-cycle__details div { padding: 12px; }
    .activity-cycle__details strong { font-size: 17px; }
    .activity-cycle__fleet { gap: 16px; font-size: 11px; }
    .activity-section--cycle .activity-caution { margin-top: 0; }
    .activity-bottom { padding: 66px 20px 73px; }
    .activity-bottom h2 { font-size: 32px; }
    .activity-bottom > p:not(.activity-eyebrow) { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .activity-gallery img, .activity-bottom__button { transition: none; }
}
