.subhero{padding:clamp(5rem,10vw,9rem) clamp(1.5rem,9vw,9rem);background:linear-gradient(90deg,rgba(248,245,238,.96),rgba(248,245,238,.62)),url("assets/hero-saaristo.png") center/cover}.subhero h1,.product-hero h1{max-width:800px;margin:.4rem 0 1.2rem;color:var(--green);font-size:clamp(3.5rem,7vw,6.8rem);font-weight:500;line-height:.88}.subhero>p:last-child{max-width:680px;font-size:1.05rem;line-height:1.8}.catalog{padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,7rem)}.catalog-intro{max-width:760px;margin:0 auto 3rem;text-align:center}.catalog-intro h2,.course-promise h2,.modules h2,.included h2,.interest h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.3rem,4.5vw,4rem);font-weight:500;line-height:1}.catalog-intro>p:last-child{line-height:1.7}.catalog-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.catalog-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fbf8f2}.catalog-card>img{width:100%;height:250px;display:block;object-fit:cover}.catalog-card>div{padding:2rem}.catalog-card h2{margin:.4rem 0 .8rem;color:var(--green);font-size:2rem}.catalog-card p{line-height:1.65}.catalog-card a:not(.button){color:var(--green);font-weight:600;text-decoration:none}.catalog-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.1fr .9fr}.catalog-card.featured>img{height:100%;min-height:420px}.catalog-card ul{padding-left:1.2rem;line-height:1.9}.status{color:var(--copper);font-size:.72rem;font-weight:700;letter-spacing:.12em}.interest{padding:clamp(4rem,7vw,6rem) clamp(1.5rem,9vw,9rem);display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--paper)}.interest>div{max-width:750px}.interest p:not(.kicker){line-height:1.7}.product-hero{padding:clamp(3rem,7vw,6.5rem) clamp(1.5rem,7vw,7rem);display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:clamp(3rem,8vw,8rem);background:#f6f1e8}.product-hero>img{width:100%;height:560px;object-fit:cover;border-radius:16px}.back-link{display:inline-block;margin-bottom:3rem;color:var(--green);font-size:.85rem;text-decoration:none}.product-lead{max-width:680px;font-size:1.12rem;line-height:1.7}.product-facts{margin:2rem 0;display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.product-facts span{padding:1rem;border-top:1px solid var(--line);font-size:.9rem}.product-facts b{display:block;margin-bottom:.35rem;color:var(--copper);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.course-promise{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,9vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,8rem)}.course-promise p{font-size:1rem;line-height:1.8}.modules{padding:clamp(5rem,9vw,8rem) clamp(1.5rem,9vw,9rem);background:var(--green);color:#fff}.modules .kicker{color:#d5a372}.modules h2{color:#fff}.module-list{max-width:1000px;margin:auto}.module-list article{display:grid;grid-template-columns:90px 1fr;gap:1.5rem;padding:2rem 0;border-top:1px solid rgba(255,255,255,.2)}.module-list article>span{color:#d5a372;font:500 2rem/1 "Cormorant Garamond",serif}.module-list h3{margin:0 0 .5rem;font-size:1.8rem}.module-list p{margin:0;color:rgba(255,255,255,.78);line-height:1.7}.included{padding:clamp(5rem,9vw,8rem) clamp(1.5rem,9vw,9rem)}.included>div:first-child{text-align:center}.included-grid{max-width:1000px;margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.included-grid article{padding:2rem;border:1px solid var(--line);border-radius:12px;text-align:center}.included-grid svg{width:36px;height:36px;color:var(--copper)}.included-grid h3{color:var(--green);font-size:1.5rem}.included-grid p{line-height:1.6}
@media(max-width:800px){.catalog-grid,.product-hero,.course-promise,.included-grid{grid-template-columns:1fr}.catalog-card.featured{grid-column:auto;display:block}.catalog-card.featured>img,.product-hero>img{height:330px;min-height:0}.product-facts{grid-template-columns:1fr}.interest{align-items:flex-start;flex-direction:column}.module-list article{grid-template-columns:52px 1fr}.subhero{padding-top:5rem}.subhero h1,.product-hero h1{font-size:3.6rem}}

/* Uudet 16:9-kurssikannet säilytetään kokonaisina ja keskitettyinä. */
.catalog-card > img[src*="-vaaka.webp"] {
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
  background: #f7f4ec;
}
.catalog-card.featured > img[src*="-vaaka.webp"] {
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
}
.product-hero > img[src*="kurssi-sienet-vaaka.webp"],
.product-hero > img[src*="kurssi-koira-vaaka.webp"],
.product-hero > img[src*="kurssi-retkeilyn-perusteet-vaaka.webp"] {
  object-fit: contain;
  object-position: center;
  background: #f7f4ec;
}
@media(max-width:800px){
  .catalog-card.featured > img[src*="-vaaka.webp"] {
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .dog-course-card > img[src*="-vaaka.webp"],
  .dog-course-hero > img {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    object-position: center;
    background: #f7f4ec;
  }
}
.partner-banner,.course-benefit{max-width:1180px;margin:36px auto 64px;padding:clamp(18px,3vw,34px);border:1px solid rgba(36,56,45,.16);border-radius:24px;background:#f7f4ec;box-shadow:0 18px 50px rgba(36,56,45,.08);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:clamp(24px,4vw,52px);align-items:center}.partner-banner img,.course-benefit img{width:100%;height:auto;display:block;border-radius:16px}.partner-banner h2,.course-benefit h2{margin:.3rem 0 .8rem}.partner-banner p,.course-benefit p{line-height:1.65}.partner-note{font-size:.88rem;color:#596158}.course-benefit{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr)}
@media (max-width:760px){.partner-banner,.course-benefit{margin:24px 18px 48px;grid-template-columns:1fr;padding:16px}.partner-banner div,.course-benefit div{padding:0 4px 6px}}
.fitness-hero{background:linear-gradient(135deg,#f6f1e8 0%,#edf0e6 100%)}.programs{padding:clamp(5rem,9vw,8rem) clamp(1.5rem,9vw,9rem);background:#f7f3ed}.program-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.program-grid article{padding:clamp(2rem,4vw,3.2rem);border:1px solid var(--line);border-radius:18px;background:#fff}.program-grid article.recommended{border-color:#a66f45;box-shadow:0 18px 45px rgba(36,56,45,.1)}.program-length{display:inline-block;margin-bottom:1.2rem;color:var(--copper);font-size:.75rem;font-weight:700;letter-spacing:.12em}.program-grid h3{margin:0 0 .8rem;color:var(--green);font-size:2rem}.program-grid p,.program-grid li{line-height:1.7}.program-grid ul{padding-left:1.2rem}.fitness-modules{background:linear-gradient(145deg,#183528,#24382d)}.coach-section{max-width:1180px;margin:clamp(4rem,8vw,7rem) auto;padding:0 clamp(1.5rem,4vw,3rem);display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:center}.coach-section img{width:100%;border-radius:18px}.coach-section h2,.safety-note h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.2rem,4vw,3.5rem);font-weight:500}.coach-section p{line-height:1.75}.safety-note{max-width:1100px;margin:0 auto clamp(4rem,8vw,7rem);padding:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:64px 1fr;gap:1.5rem;border-left:4px solid var(--copper);background:#f6f1e8}.safety-note svg{width:42px;height:42px;color:var(--copper)}.safety-note p{line-height:1.75}
@media(max-width:800px){.program-grid,.coach-section{grid-template-columns:1fr}.coach-section{margin:3rem auto;padding:0 18px}.safety-note{margin:0 18px 3rem;grid-template-columns:1fr}.fitness-hero>img{height:360px}}

.language-note{margin-top:1.1rem;padding:.9rem 1rem;border-radius:10px;background:#f2ede3;color:#4f584f;font-size:.9rem}.language-note strong{margin-right:.6rem;color:var(--green);letter-spacing:.12em}.course-wish{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,7vw,7rem);background:#f2ede3}.course-wish h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.5rem,4.5vw,4rem);font-weight:500;line-height:1}.course-wish>div>p:last-child{max-width:560px;line-height:1.75}.course-wish form{padding:clamp(1.3rem,3vw,2.2rem);border:1px solid var(--line);border-radius:18px;background:#fbf8f2}.course-wish fieldset{margin:0 0 1.3rem;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.3rem}.course-wish legend{grid-column:1/-1;margin-bottom:.8rem;color:var(--green);font-weight:600}.course-wish fieldset label{display:flex;align-items:flex-start;gap:.55rem;font-size:.92rem;line-height:1.4}.course-wish input{margin-top:.2rem;accent-color:var(--green)}.wish-other{display:block;margin-bottom:.45rem;color:var(--green);font-size:.9rem;font-weight:600}.course-wish textarea{width:100%;margin-bottom:1rem;padding:.85rem;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;resize:vertical}.course-wish textarea:focus-visible{outline:3px solid #d29867;outline-offset:3px}.course-wish #wish-status{min-height:1.4em;margin:.8rem 0 0;color:var(--green);font-size:.9rem}
@media(max-width:800px){.course-wish{grid-template-columns:1fr}.course-wish fieldset{grid-template-columns:1fr}.catalog-card h2{font-size:1.8rem}.catalog-card>div{padding:1.5rem}}
.downloads{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);background:#f2ede3}.downloads-intro{max-width:780px;margin:0 auto 2.5rem;text-align:center}.downloads h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.3rem,4.5vw,4rem);font-weight:500;line-height:1}.downloads-intro>p:last-child{line-height:1.75}.download-card{max-width:1080px;margin:auto;padding:clamp(1.5rem,3vw,2.2rem);display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(320px,1.5fr);align-items:center;gap:1.3rem;border:1px solid var(--line);border-radius:18px;background:#fbf8f2}.download-card>svg{width:42px;height:42px;color:var(--copper)}.download-card strong,.download-card span{display:block}.download-card strong{margin-bottom:.35rem;color:var(--green)}.download-card>div>span{color:#596158;font-size:.88rem}.download-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}.download-actions .button{min-height:46px;padding:.75rem 1rem;font-size:.85rem}.button.secondary{border:1px solid var(--green);background:transparent;color:var(--green)}
@media(max-width:860px){.download-card{grid-template-columns:auto 1fr}.download-actions{grid-column:1/-1;justify-content:flex-start}.download-actions .button{width:100%;justify-content:center}}
.wish-other span{color:#697069;font-size:.8rem;font-weight:400}.mailto-note{margin:-.3rem 0 1rem;color:#606860;font-size:.82rem;line-height:1.5}
.price-panel{margin:1rem 0 1.2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.price-panel p{margin:0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55)}.price-panel span,.price-panel strong{display:block}.price-panel span{min-height:2.5em;color:#596158;font-size:.76rem;line-height:1.35}.price-panel strong{margin-top:.35rem;color:var(--green);font:600 2rem/1 "Cormorant Garamond",serif}.access-note,.checkout-note{max-width:650px;color:#596158;font-size:.88rem;line-height:1.6}.pending-cta{cursor:not-allowed;opacity:.72;user-select:none}.purchase-prep{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);background:#f7f3ed}.purchase-prep>div:first-child{max-width:760px;margin:0 auto 2.2rem;text-align:center}.purchase-prep h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.3rem,4.5vw,4rem);font-weight:500;line-height:1}.purchase-prep p{line-height:1.7}.purchase-options{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.purchase-options article{padding:clamp(1.5rem,3vw,2.3rem);border:1px solid var(--line);border-radius:16px;background:#fbf8f2}.purchase-options h3{margin:0 0 .6rem;color:var(--green);font-size:1.7rem}.legal-links{max-width:1000px;margin:1.2rem auto 0;color:#596158;font-size:.88rem}.legal-links a{color:var(--green);font-weight:600}.confirmation-page{min-height:68vh;padding:clamp(5rem,11vw,10rem) clamp(1.5rem,9vw,9rem);background:#f6f1e8}.confirmation-card{max-width:780px;margin:auto;padding:clamp(2rem,5vw,4.5rem);border:1px solid var(--line);border-radius:20px;background:#fbf8f2;text-align:center}.confirmation-card svg{width:44px;height:44px;color:var(--copper)}.confirmation-card h1{margin:.8rem 0 1rem;color:var(--green);font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:.95}.confirmation-card p{line-height:1.75}.confirmation-note{margin:1.5rem 0;padding:1rem;border-radius:10px;background:#f0eadf;color:#596158;font-size:.9rem}
@media(max-width:800px){.price-panel,.purchase-options{grid-template-columns:1fr}.price-panel span{min-height:0}}

.course-languages{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);background:#f2ede3}.course-languages-intro{max-width:760px;margin:0 auto 2.4rem;text-align:center}.course-languages h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.3rem,4.5vw,4rem);font-weight:500;line-height:1}.course-languages-intro>p:last-child{line-height:1.7}.course-language-grid{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.course-language-grid article{padding:1.7rem;border:1px solid var(--line);border-radius:16px;background:#fbf8f2}.course-language-grid article.current{border-color:#7e8c54;box-shadow:0 14px 34px rgba(36,56,45,.08)}.language-code{display:inline-flex;min-width:2.8rem;min-height:2.8rem;align-items:center;justify-content:center;border-radius:50%;background:var(--green);color:#fff;font-weight:700;letter-spacing:.08em}.course-language-grid h3{margin:.9rem 0 .45rem;color:var(--green);font-size:1.65rem}.course-language-grid p{min-height:3.4em;color:#596158;line-height:1.6}.course-language-grid strong{display:block;margin-top:1rem;color:var(--copper);font-size:.72rem;letter-spacing:.1em}.catalog-language-status{margin:1.1rem 0;display:flex;flex-wrap:wrap;gap:.55rem}.catalog-language-status span{padding:.55rem .7rem;border:1px solid var(--line);border-radius:999px;background:#f7f3ed;color:#596158;font-size:.78rem}.catalog-language-status b{margin-right:.35rem;color:var(--green)}.language-coming{max-width:850px}.language-coming h1{font-size:clamp(2.8rem,6vw,5rem)}
@media(max-width:800px){.course-language-grid{grid-template-columns:1fr}.course-language-grid p{min-height:0}}
.price-panel{margin:1rem 0 1.2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.price-panel p{margin:0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.55)}.price-panel span,.price-panel strong{display:block}.price-panel span{min-height:2.5em;color:#596158;font-size:.76rem;line-height:1.35}.price-panel strong{margin-top:.35rem;color:var(--green);font:600 2rem/1 "Cormorant Garamond",serif}.access-note,.checkout-note{max-width:650px;color:#596158;font-size:.88rem;line-height:1.6}.cta-placeholder{max-width:620px;margin:1.2rem 0;padding:1rem 1.2rem;border:1px dashed var(--green);border-radius:12px;background:rgba(255,255,255,.45);color:var(--green)}.cta-placeholder span,.cta-placeholder strong,.cta-placeholder small{display:block}.cta-placeholder span{margin-bottom:.3rem;color:var(--copper);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cta-placeholder strong{font-size:.9rem;letter-spacing:.04em}.cta-placeholder small{margin-top:.35rem;color:#596158;line-height:1.45}.cta-placeholder.compact{margin:1.2rem 0 0}.availability-label{display:inline-block;margin-top:.8rem;padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;color:#596158;font-size:.78rem;font-weight:700;letter-spacing:.08em}.course-languages{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem)}.course-languages>div:first-child{max-width:760px;margin:0 auto 2rem;text-align:center}.course-languages h2,.purchase-prep h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.3rem,4.5vw,4rem);font-weight:500;line-height:1}.language-availability{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.language-availability article{padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:#fbf8f2}.language-availability strong,.language-availability span{display:block}.language-availability strong{color:var(--green);font-size:1.35rem}.language-availability span{margin-top:.4rem;color:#596158;font-size:.88rem;line-height:1.5}.purchase-prep{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);background:#f7f3ed}.purchase-prep>div:first-child{max-width:760px;margin:0 auto 2.2rem;text-align:center}.purchase-prep p{line-height:1.7}.purchase-options{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.purchase-options article{padding:clamp(1.5rem,3vw,2.3rem);border:1px solid var(--line);border-radius:16px;background:#fbf8f2}.purchase-options h3{margin:0 0 .6rem;color:var(--green);font-size:1.7rem}.legal-links{max-width:1000px;margin:1.2rem auto 0;color:#596158;font-size:.88rem}.legal-links a{color:var(--green);font-weight:600}.confirmation-page{min-height:68vh;padding:clamp(5rem,11vw,10rem) clamp(1.5rem,9vw,9rem);background:#f6f1e8}.confirmation-card{max-width:780px;margin:auto;padding:clamp(2rem,5vw,4.5rem);border:1px solid var(--line);border-radius:20px;background:#fbf8f2;text-align:center}.confirmation-card svg{width:44px;height:44px;color:var(--copper)}.confirmation-card h1{margin:.8rem 0 1rem;color:var(--green);font-size:clamp(3rem,6vw,5rem);font-weight:500;line-height:.95}.confirmation-card p{line-height:1.75}.confirmation-note{margin:1.5rem 0;padding:1rem;border-radius:10px;background:#f0eadf;color:#596158;font-size:.9rem}
@media(max-width:800px){.price-panel,.purchase-options,.language-availability{grid-template-columns:1fr}.price-panel span{min-height:0}.cta-placeholder{width:100%}}
.journal-hero{background:linear-gradient(90deg,rgba(248,245,238,.96),rgba(248,245,238,.66)),url("assets/tutki-uusi.webp") center/cover}.journal-coming{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}.journal-coming h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.4rem,4.5vw,4rem);font-weight:500;line-height:1}.journal-coming p{max-width:680px;line-height:1.75}.journal-coming img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px}@media(max-width:800px){.journal-coming{grid-template-columns:1fr}.journal-coming img{order:-1}}
.journal-index{padding:clamp(4.5rem,8vw,7rem) clamp(1.5rem,9vw,9rem);background:#f7f3ed}.journal-index-intro{max-width:760px;margin:0 auto 2.5rem;text-align:center}.journal-index h2{margin:.3rem 0 1rem;color:var(--green);font-size:clamp(2.4rem,4.5vw,4rem);font-weight:500;line-height:1}.journal-index-intro>p:last-child{line-height:1.75}.journal-entry-list{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.journal-entry-card{padding:clamp(1.6rem,3vw,2.4rem);border:1px solid var(--line);border-radius:16px;background:#fbf8f2}.journal-entry-card time,.journal-article time{color:var(--copper);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.journal-entry-card h3{margin:.65rem 0 .8rem;color:var(--green);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:500;line-height:1.05}.journal-entry-card h3 a,.journal-read-more{color:inherit;text-decoration:none}.journal-entry-card p{line-height:1.7}.journal-read-more{display:inline-block;margin-top:.6rem;font-size:.9rem;font-weight:600}.journal-newsletter{background:#f2ede3}.journal-article{padding:clamp(4.5rem,9vw,8rem) clamp(1.5rem,9vw,9rem)}.journal-article-header,.journal-article-body,.journal-article-nav{max-width:760px;margin-left:auto;margin-right:auto}.journal-article-header{padding-bottom:2rem;border-bottom:1px solid var(--line)}.journal-article-header h1{margin:.65rem 0 0;color:var(--green);font-size:clamp(3rem,6vw,5.6rem);font-weight:500;line-height:.92}.journal-article-body{padding:2.2rem 0}.journal-article-body p{margin:0 0 1.35rem;font-size:1.02rem;line-height:1.85}.journal-article-nav{padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem}.journal-article-nav a{color:var(--green);font-weight:600;text-decoration:none}.journal-article-nav a:last-child{text-align:right}@media(max-width:800px){.journal-entry-list{grid-template-columns:1fr}.journal-article-header h1{font-size:3.25rem}.journal-article-nav{flex-direction:column}.journal-article-nav a:last-child{text-align:left}}
