/* Compact diary feature, shared by mobile and desktop. */
.home .diary-ref{padding:30px 4%}
.diary-feature{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr);gap:32px;align-items:center;max-width:1060px;margin:auto;padding:24px 36px;border:1px solid #4b705754;border-radius:18px;background:radial-gradient(ellipse at 18% 65%,#315a314a,transparent 65%),linear-gradient(120deg,#10271d,#071a13);overflow:hidden}
.diary-visual{position:relative;display:block;height:210px;max-width:300px;width:100%;margin:auto}
.diary-visual img{position:absolute;width:56%;height:178px;object-fit:contain;background:#eaeaea;border-radius:7px;box-shadow:0 14px 22px #0005;top:14px;left:6%;transform:rotate(-9deg)}
.diary-visual img+img{left:41%;top:24px;transform:rotate(8deg)}
.diary-feature .diary-copy .eyebrow{display:block;color:#9fb58f;font-size:9px;letter-spacing:2px;margin-bottom:10px}
.home .diary-feature h2{font-size:clamp(25px,3.2vw,38px);line-height:1.08;margin:0 0 12px;max-width:440px}
.diary-feature .diary-copy>p{font-size:13px;line-height:1.65;color:#bdcbb5;margin:0 0 18px}
.diary-feature-bottom{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.diary-feature-price{font:600 27px/1.1 Oswald,sans-serif;color:#b9db9e;white-space:nowrap}
.diary-feature .outline-link{font-size:12px;padding:10px 14px;border-radius:8px}
@media(max-width:600px){
  .home .diary-ref{padding:22px 4%}
  .diary-feature{grid-template-columns:minmax(100px,.85fr) minmax(0,1.15fr);gap:16px;padding:22px 18px;border-radius:14px}
  .diary-visual{height:170px}
  .diary-visual img{width:69%;height:132px;left:0;top:12px}
  .diary-visual img+img{left:29%;top:30px}
  .diary-feature .diary-copy .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:8px}
  .home .diary-feature h2{font-size:25px;margin-bottom:10px}
  .diary-feature .diary-copy>p{font-size:11px;line-height:1.5;margin-bottom:13px}
  .diary-feature-bottom{gap:12px}
  .diary-feature-price{font-size:23px}
  .diary-feature .outline-link{font-size:11px;padding:9px 12px;min-height:38px}
}
@media(max-width:360px){.diary-feature{padding:18px 12px;gap:12px}.home .diary-feature h2{font-size:22px}.diary-visual img{height:118px}.diary-feature .diary-copy .eyebrow{letter-spacing:.7px}}
@media(prefers-reduced-motion:no-preference){
  .btn,.red,.outline-link,.payment-shortcut,.parents a,.agenda-item{transition:background-color .2s,border-color .2s,box-shadow .2s,translate .2s}
  .btn:active,.red:active,.outline-link:active{translate:0 1px}
  @media(hover:hover) and (pointer:fine){
    .btn:hover,.red:hover{translate:0 -2px;box-shadow:0 7px 22px #67c84030}
    .outline-link:hover,.parents a:hover,.agenda-item:hover{translate:0 -2px}
    .diary-visual img{transition:transform .45s cubic-bezier(.2,.65,.3,1)}
    .diary-feature:hover .diary-visual img{transform:translateY(-4px) rotate(-11deg)}
    .diary-feature:hover .diary-visual img+img{transform:translateY(-7px) rotate(10deg)}
  }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Consistent contact actions and small alignment corrections. */
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;align-items:stretch}
.contact-actions .outline-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 15px;font-size:12px;line-height:1.35;text-align:center;white-space:normal;border-radius:8px;font-family:inherit;cursor:pointer;background:transparent}
.contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#b9cbae;margin-top:6px;font-size:13px}
.club-contact .eyebrow{display:block}
#footer-contact-actions{grid-column:1/-1;min-width:0}
#footer-contact-actions .contact-actions{margin:0}
.sectiontop{gap:16px;align-items:center}.sectiontop h2{min-width:0}.sectiontop .link{flex-shrink:0}
.catalog-grid{align-items:stretch}.catalog-grid .merch-product{display:flex!important;flex-direction:column}.catalog-grid .merch-photo{width:100%;flex-shrink:0}.catalog-grid .merch-info{flex:1;display:flex;flex-direction:column}.merch-info h3{min-height:2.5em}.catalog-grid .merch-info p{margin-top:auto;padding-top:12px}
.home .trainer{display:flex;flex-direction:column;min-width:0}.home .trainer .portrait{flex-shrink:0}.home .trainer .circle-arrow{margin-top:auto}
.diary-zoom{display:none}
@media(max-width:760px){
  .contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%}
  .contact-actions>:first-child:last-child{grid-column:1/-1}
  .contact-actions .outline-link{font-size:11px;padding:11px 9px}
  .contact-actions>:last-child:nth-child(3){grid-column:1/-1}
  .sectiontop .link{flex-shrink:1;text-align:right}
  .account-top,.account-request-top,.account-request-bottom{flex-wrap:wrap}
  .account-request-bottom>.outline-link{width:100%;text-align:center}
  .account-entry{flex-wrap:wrap;gap:8px}
  .agenda-tabs{gap:18px}.agenda-tabs button{min-height:44px}
}
@media(prefers-reduced-motion:no-preference){
  @media(hover:hover) and (pointer:fine){
    .trainer .portrait img,.direction-photo,.merch-open{transition:transform .5s cubic-bezier(.16,1,.3,1)}
    .trainer:hover .portrait img{transform:scale(1.035)}
    .direction:hover .direction-photo{transform:scale(1.045)}
    .merch-product:hover .merch-open{transform:rotate(-35deg)}
    .payment-shortcut-icon{transition:transform .4s}.payment-shortcut:hover .payment-shortcut-icon{transform:rotate(-8deg)}
    .coin-feature{transition:box-shadow .4s}.coin-feature:hover{box-shadow:inset 0 0 32px #d4b85318,0 10px 30px #0003}
    .contact-actions .outline-link:hover{border-color:#90c478;background:#5c9d3920;translate:0 -2px}
  }
}

/* Give each homepage section a clear pause without spreading its cards. */
.home{--section-space:56px}
.home>.home-section,
.home>.home-row>.home-section,
.home>.home-agenda-row>.home-section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.home .sectiontop{margin-bottom:26px}
.home>.payment-shortcut-section{padding-top:36px;padding-bottom:36px}
@media(max-width:760px){
  .home{--section-space:40px}
  .home .sectiontop{margin-bottom:22px}
  .home>.payment-shortcut-section{padding-top:28px;padding-bottom:28px}
}

/* Original club photograph: keep the action visible in the sambo card. */
.dir-1 .direction-photo{background-image:url('sambo-original-v36.jpeg');background-size:cover;background-position:38% 52%;filter:brightness(.92) saturate(.9)}
.direction.dir-1::after{background:linear-gradient(180deg,#03120e0d 30%,#03120e33 58%,#03120ed9 100%)}
.direction-detail-photo.dir-1 .direction-photo{background-position:38% 52%;filter:brightness(.94) saturate(.9)}

/* Original judo portrait, matched to the sambo photo treatment. */
.dir-0 .direction-photo{background-image:url('judo-original-v37.jpeg');background-size:cover;background-position:45% 38%;filter:brightness(.92) saturate(.9)}
.direction.dir-0::after{background:linear-gradient(180deg,#03120e0d 30%,#03120e33 58%,#03120ed9 100%)}
.direction-detail-photo.dir-0 .direction-photo{background-position:45% 38%;filter:brightness(.94) saturate(.9)}

/* Original combat sambo photograph, consistent with judo and sambo. */
.dir-2 .direction-photo{background-image:url('combat-original-v38.jpeg');background-size:cover;background-position:56% 28%;filter:brightness(.92) saturate(.9)}
.direction.dir-2::after{background:linear-gradient(180deg,#03120e0d 30%,#03120e33 58%,#03120ed9 100%)}
.direction-detail-photo.dir-2 .direction-photo{background-position:56% 24%;filter:brightness(.94) saturate(.9)}


/* Editable real photographs share the same lighting and overlay. */
.direction-photo.managed-direction-photo{background-image:none!important;filter:brightness(.92) saturate(.9)}
.managed-direction-photo img{display:block;width:100%;height:100%;object-fit:cover}
.direction-detail-photo .managed-direction-photo{filter:brightness(.94) saturate(.9)}
.direction:has(.managed-direction-photo)::after{background:linear-gradient(180deg,#03120e0d 30%,#03120e33 58%,#03120ed9 100%)}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.news-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #38533e;border-radius:12px;background:#0a1e16;transition:border-color .2s,transform .2s}
.news-photo{aspect-ratio:16/10;overflow:hidden;background:#122c20}
.news-photo img{width:100%;height:100%;object-fit:cover;display:block}
.news-photo-empty{display:grid;place-items:center;color:#b9d99e;font:36px Oswald,sans-serif;letter-spacing:5px}
.news-copy{display:flex;flex:1;flex-direction:column;padding:22px}
.news-meta{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;color:#a8bca1;font-size:11px;line-height:1.5;margin-bottom:14px}
.home .news-copy h3,.news-copy h3{font-size:25px;line-height:1.15;text-transform:none}
.news-copy p{font-size:13px;line-height:1.7;color:#b9c8b5;margin:14px 0 24px}
.news-more{display:flex;justify-content:space-between;margin-top:auto;padding-top:15px;border-top:1px solid #304c38;color:#b9db9e;font-size:12px}
.news-more b{font-size:20px;line-height:1}
.news-article{max-width:900px;margin:auto}.news-cover{width:100%;max-height:580px;object-fit:contain;display:block;border-radius:12px;background:#0a1e16;margin-bottom:30px}
.news-article-text{max-width:720px}.news-article-text p{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
@media(max-width:760px){.news-grid{grid-template-columns:1fr;gap:20px}.news-copy{padding:20px}.home .news-copy h3,.news-copy h3{font-size:26px}.news-cover{max-height:420px}.news-article-text p{font-size:14px}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.news-card:hover{transform:translateY(-4px);border-color:#80af6b}}

/* Keep photos out of the grid's intrinsic sizing and preserve the original cards. */
.direction-photo.managed-direction-photo{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.managed-direction-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;min-width:0;object-fit:cover}
.home .directions{align-items:stretch}
.home .direction{min-width:0}
.home .refhero{background-position:center 42%}
@media(max-width:760px){
  .home .refhero{background-position:63% 50%}
  .home .news-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(240px,82%);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:0 0 12px}
  .home .news-card{scroll-snap-align:start}
  .home .news-photo{aspect-ratio:16/9}
  .home .news-copy{padding:16px}
  .home .news-copy h3{font-size:22px}
  .home .news-copy p{font-size:12px;line-height:1.6;margin:10px 0 16px}
}

/* Monthly competition list and calendar. */
.calendar-toolbar,.calendar-view-toggle,.calendar-month-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.calendar-toolbar{justify-content:space-between;margin-bottom:24px}.calendar-view-toggle{gap:4px;padding:4px;border:1px solid #38533e;border-radius:9px}.calendar-view-toggle button{padding:12px 20px;border-radius:6px;background:transparent;color:#c1d0ba}.calendar-view-toggle .active{background:#60b93d;color:#07180c}.calendar-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:15px;align-items:end;padding:22px;background:#0b2118;border:1px solid #304b38;border-radius:10px}.calendar-filters label,.calendar-month-nav label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#bacab3}.calendar-filters select,.calendar-filters input,.calendar-month-nav input{width:100%;min-width:0;border:1px solid #466449;background:#10271a;color:#e8f0e2;padding:12px;border-radius:5px;font:inherit;min-height:44px}.calendar-summary{color:#9fb795;font-size:12px;line-height:1.7;margin:20px 0 32px}.calendar-month-title{text-transform:capitalize;font-size:28px;margin:34px 0 20px}.calendar-event{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:25px 0;border-bottom:1px solid #2b4432}.calendar-date{font:24px/1.3 Oswald,sans-serif;color:#bbdca5}.calendar-date small{display:block;font:12px/1.8 Manrope,sans-serif;margin-top:5px}.calendar-event h3{font-size:24px;line-height:1.25;text-transform:none}.calendar-event-copy p{font-size:13px;line-height:1.75;color:#bacab3}.calendar-event .eyebrow{display:block;font-size:9px;color:#95b68a;margin-bottom:9px}.calendar-registration{display:block;color:#bad99e;font-size:12px;margin:12px 0}.calendar-event .actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.calendar-event .link{font-size:12px}.calendar-month-nav{justify-content:center;margin:30px 0 20px}.calendar-month-nav button{min-width:44px;min-height:44px;background:#173322;border:1px solid #466449;color:#e1efda;border-radius:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekday{text-align:center;font-size:12px;color:#9fb795;padding:10px}.calendar-day{min-height:112px;min-width:0;padding:10px;display:flex;flex-direction:column;gap:8px;text-align:left;background:#0c2118;border:1px solid #2e4936;color:#e1ebda;border-radius:6px;position:relative}.calendar-day.has-events{background:#153722;border-color:#5a8545}.calendar-day.today{outline:1px solid #97c776;outline-offset:-4px}.calendar-day.selected{border:2px solid #87db5a}.calendar-count{position:absolute;right:8px;top:8px;font-size:10px;border-radius:20px;background:#69b948;color:#07180c;padding:2px 6px}.calendar-day-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;line-height:1.4}.calendar-selected-date{font-size:25px;margin-top:30px}
@media(max-width:760px){.calendar-filters{grid-template-columns:1fr 1fr;padding:16px;gap:14px 10px}.calendar-toolbar{align-items:stretch}.calendar-toolbar>.outline-link{font-size:11px}.calendar-event{grid-template-columns:1fr;gap:12px;padding:24px 0}.calendar-date{font-size:21px}.calendar-date small{display:inline;margin-left:8px}.calendar-event h3{font-size:23px}.calendar-event .actions{gap:15px}.calendar-grid{gap:3px}.calendar-day{min-height:68px;padding:8px 5px}.calendar-day-title{display:none}.calendar-count{top:auto;bottom:7px;right:6px;font-size:10px}.calendar-day b{font-size:12px}.calendar-view-toggle button{padding:12px 15px}.calendar-month-title{font-size:26px}}

/* Parent resources: belt requirements and original attestation documents. */
.parents>.standards-parent-link{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;gap:18px;padding:20px 22px;min-height:80px;background:linear-gradient(110deg,#173520,#0b2118);font-size:14px}
.standards-parent-link .parent-icon{display:block;width:32px;height:32px;flex-shrink:0}.standards-parent-link svg{width:100%;height:100%}.standards-parent-link>span:last-child{margin-left:auto;font-size:24px}.standards-parent-entry{margin-bottom:32px}
.standards-intro{max-width:650px;margin-bottom:44px}.standards-intro .eyebrow{display:block;font-size:10px;letter-spacing:2px;color:#9fc68b;margin-bottom:14px}.standards-intro h2{font-size:36px;text-transform:none}.standards-intro p{font-size:15px;line-height:1.8;color:#b9c9b2}
.standards-group{margin:0 0 48px}.standards-group>.sectiontop{margin-bottom:22px}.standards-group>.sectiontop h2{font-size:28px}.standards-group .muted{font-size:11px}.standards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.standard-card{min-width:0;display:flex;flex-direction:column;padding:25px;border:1px solid #38533e;border-radius:12px;background:linear-gradient(145deg,#10291d,#071a13)}
.standard-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.standard-belt{--belt1:#d6e1d0;--belt2:#d6e1d0;display:block;width:96px;height:17px;position:relative;border:1px solid #ffffff35;border-radius:2px;background:linear-gradient(0deg,var(--belt1) 50%,var(--belt2) 50%)}.standard-belt:after{content:'';position:absolute;left:40px;top:-4px;width:16px;height:24px;background:linear-gradient(120deg,var(--belt1),var(--belt2));border:1px solid #0003;border-radius:2px;transform:rotate(-12deg)}.belt-white-yellow .standard-belt{--belt1:#e8e9df;--belt2:#e9c84c}.belt-yellow .standard-belt{--belt1:#e9c84c;--belt2:#e9c84c}.belt-yellow-orange .standard-belt{--belt1:#edcc4d;--belt2:#e48b36}.belt-orange .standard-belt{--belt1:#e48b36;--belt2:#e48b36}.belt-orange-green .standard-belt{--belt1:#e48b36;--belt2:#52965b}.belt-green .standard-belt{--belt1:#52965b;--belt2:#52965b}.standard-format{font-size:10px;letter-spacing:1px;color:#b0c4a7;border:1px solid #38533e;border-radius:5px;padding:6px 9px}.standard-card h3{font-size:27px;line-height:1.2;text-transform:none}.standard-card p{font-size:13px;line-height:1.8;color:#b4c6ad;margin:16px 0 26px}.standard-actions{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:16px}.standard-actions .outline-link{font-size:12px;padding:12px 15px;min-height:44px}.standard-actions .link{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:760px){.standards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.standard-card{padding:18px 14px}.standard-card h3{font-size:23px}.standard-card-top{gap:8px;margin-bottom:24px}.standard-belt{width:68px;height:14px}.standard-belt:after{left:27px;width:13px;height:20px}.standard-format{padding:5px;font-size:8px}.standard-card p{font-size:11px}.standard-actions{gap:6px}.standard-actions .outline-link{width:100%;justify-content:center;font-size:11px;padding:11px 8px}.standard-actions .link{font-size:11px}.standards-intro h2{font-size:30px}.standards-intro p{font-size:13px}.standards-group>.sectiontop{align-items:flex-start;flex-direction:column;gap:8px}.standards-group>.sectiontop h2{font-size:27px}.home .parents>.standards-parent-link{font-size:12px;padding:17px;gap:14px}}
@media(max-width:350px){.standards-grid{grid-template-columns:1fr}}
