/* Filled primary, outlined secondary, text links and compact utility controls. */
:root{--action-radius:6px;--action-border:#657056;--action-height:52px}
.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:20px;max-width:100%;min-height:var(--action-height);padding:14px 22px;border:1px solid var(--action-border);border-radius:6px;background:transparent;color:var(--paper);font:600 13px/1.5 var(--body);text-align:center;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s}
.button>span,.text-link>span{flex-shrink:0;font-size:20px;line-height:1;font-weight:400}
.button:hover,.text-link:hover{background:#d5f3780c;border-color:#a5b68b;color:var(--paper);transform:translateY(-1px)}
.button:active,.text-link:active{transform:translateY(0)}
.button.lime{background:var(--lime);border-color:var(--lime);color:var(--ink);box-shadow:0 2px 0 #0002}
.button.lime:hover{background:#e1fa99;border-color:#e1fa99;color:var(--ink);box-shadow:0 4px 16px #0002}
.button.dark-button{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.button.dark-button:hover{background:#303a25;border-color:#303a25}
.hero-actions{align-items:center;gap:14px;flex-wrap:wrap}
.hero-actions>.button,.hero-actions>.text-link{min-width:194px;min-height:54px;padding:15px 22px;font-size:13px;gap:22px}
.hero-actions>.text-link{color:var(--paper);background:#ffffff03;border-color:#647052}
.hero-actions>.text-link:hover{background:#ffffff08;border-color:#afbd95}
.service-panel .text-link{padding:12px 0;min-height:44px;gap:14px;border:0;background:none;color:var(--lime);border-radius:0;justify-content:flex-start;font-size:12px}
.service-panel .text-link:hover{color:#e8ffb0;transform:none}
.light-section .text-link{color:var(--ink);border-color:#a5ad98;background:none}
.light-section .text-link:hover{color:var(--ink);background:#606b3e08;border-color:var(--olive)}
.dark-link{padding:13px 18px;gap:15px;font-size:12px}
.site-header .nav-contact{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid #647052;border-radius:6px;font-size:11px;font-weight:600;gap:16px}
.site-header .nav-contact span{margin:0;font-size:18px}.site-header .nav-contact:hover{background:#d5f3780c;border-color:#a5b68b}
.hero-sport-links{gap:18px;margin-top:22px}
.hero-sport-links>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;border:0;border-radius:0;background:none;color:#b7c0a9;font-size:11px;font-weight:500}
.hero-sport-links>a>span{font-size:16px;color:#a9bc85}.hero-sport-links>a:hover{color:var(--paper)}
.phone-link{display:table;width:fit-content;min-height:44px;padding:10px 0;color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#718c3f}
footer>a:not(.wordmark){display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;border:0;border-radius:0;font-size:11px;color:#b8c0ac}
footer>a:not(.wordmark):hover{color:var(--lime)}
.service-tabs{gap:24px;border-bottom:1px solid var(--line)}
.service-tabs button{min-height:60px;margin-bottom:-1px;padding:17px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#b3bba6;font-size:12px;font-weight:500;gap:12px}
.service-tabs button:hover{color:var(--paper)}
.service-tabs button[aria-selected=true]{border-color:var(--lime);background:none;color:var(--lime)}
.filters{gap:7px;flex-wrap:wrap}
.filters>button{min-height:40px;padding:9px 15px;border:1px solid #c2c8b6;border-radius:20px;background:transparent;color:#505c42;font-size:11px;font-weight:500}
.filters>button:hover{background:#606b3e09;border-color:#8b9779}
.filters>button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sport-launch{border-radius:8px}
.sport-launch-label{left:18px;right:18px;bottom:18px;min-height:44px;padding:10px 14px;background:#161914ed;border:1px solid #ffffff24;border-radius:5px;font-size:10px;font-weight:600;letter-spacing:.6px}
.sport-launch-label>span{display:block;width:auto;height:auto;background:none;color:var(--lime);font-size:20px;border-radius:0}
.sport-launch:hover .sport-launch-label{background:#20281a;border-color:#a5b68b}
.circle-button,.photo-dialog-controls>button,.dialog-close,.photo-dialog .dialog-close{display:inline-grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;width:44px;height:44px;border:1px solid #a4ae95;border-radius:50%;font-weight:400;line-height:1}
.circle-button{background:transparent;color:var(--ink)}.circle-button:hover{background:#e5e8dc;color:var(--ink);border-color:var(--olive)}
.photo-dialog-controls>button,.photo-dialog .dialog-close{background:#ffffff03;color:var(--paper);border-color:#5f6b50}
.photo-dialog-controls>button:hover,.photo-dialog .dialog-close:hover{background:#ffffff0b;color:var(--lime);border-color:#a5b68b}
.dialog-close{background:var(--paper);color:var(--ink);border-color:#c5ccb9;font-size:27px}.dialog-close:hover{background:#e3e7da}
.story-plus{border-radius:50%;background:var(--paper);color:var(--ink)}.story-open:hover .story-plus{background:var(--lime)}
.hero-portrait figcaption>a{border-radius:50%}
#rishitha-pause{min-height:44px;padding:10px 8px;border:0;border-radius:4px;background:none;color:#bdc6ad;font-size:10px;font-weight:500}
#rishitha-pause:hover{color:var(--paper);background:#ffffff06}
.rishitha-dots{gap:2px}.rishitha-dots button{position:relative;width:28px;height:44px;min-width:28px;padding:0;border:0;border-radius:0;background:transparent}
.rishitha-dots button::after{content:'';position:absolute;width:7px;height:7px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#717c60;transition:background .18s,width .18s}
.rishitha-dots button[aria-pressed=true]{background:transparent;border:0}.rishitha-dots button[aria-pressed=true]::after{background:var(--lime);width:16px;border-radius:5px}
.rishitha-controls{padding:10px 16px;gap:8px}
button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.light-section button:focus-visible,.light-section a:focus-visible,dialog:not(.photo-dialog) button:focus-visible{outline-color:var(--olive)}
button:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:850px){.site-header .nav-contact{padding:9px 12px;font-size:10px;gap:10px}.service-tabs{gap:16px}}
@media(max-width:650px){.menu-toggle{min-height:44px;padding:10px 0 10px 14px;border:0;background:none;font-size:11px}.site-header nav .nav-contact{padding:13px 16px;font-size:12px;border-radius:6px}.hero-actions{gap:12px}.hero-actions>.button,.hero-actions>.text-link{min-width:0;min-height:52px;padding:14px 18px;gap:18px;font-size:12px}.hero-sport-links{gap:22px}.hero-sport-links>a{min-height:44px;padding:7px 0;font-size:11px;gap:8px}.service-tabs{gap:12px}.service-tabs button{flex-direction:column;align-items:flex-start;min-height:84px;padding:13px 0;gap:6px;font-size:10px;line-height:1.5}.service-tabs .tab-arrow{display:none}.filters>button{padding:9px 12px;font-size:10px}.sport-launch-label{left:15px;right:15px;bottom:15px}.rishitha-controls{padding-inline:10px;flex-wrap:wrap}#rishitha-pause{padding-inline:5px}}
@media(max-width:500px){.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions>.button,.hero-actions>.text-link{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.button,.text-link,.rishitha-dots button::after{transition:none}}

/* Sport cards keep the original unobtrusive gallery affordance. */
.sport-launch{border-radius:0}
.sport-launch-label,.sport-launch:hover .sport-launch-label{inset:auto 0 0;display:flex;justify-content:flex-end;min-height:0;padding:15px 18px;border:0;border-radius:0;background:linear-gradient(transparent,#10160d9c)}
.sport-launch-label>span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:20px;font-weight:400}

/* Contact destinations remain visible and easy to tap at the bottom of the page. */
.footer-contact-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;padding-block:8px 4px}
.footer-contact-links>a{display:flex;align-items:center;gap:12px;min-width:0;min-height:80px;padding:16px 14px;border:1px solid var(--line);border-radius:6px;transition:border-color .2s,background .2s}
.footer-contact-links>a:hover{border-color:#78875b;background:#d5f37808}
.footer-contact-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#d5f3780b;color:var(--lime)}
.footer-contact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.footer-contact-icon .linkedin-icon{fill:currentColor;stroke:none}
.footer-contact-icon .icon-dot{fill:currentColor;stroke:none}
.footer-contact-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.footer-contact-text>span{font-size:10px;color:var(--muted);line-height:1.4}
.footer-contact-text strong{font-size:11px;font-weight:500;color:var(--paper);line-height:1.5;overflow-wrap:anywhere}
@media(max-width:1000px){.footer-contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-contact-text strong{font-size:12px}}
@media(max-width:650px){
 .footer-contact-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-block:4px}
 .footer-contact-links>a{flex-direction:column;justify-content:center;gap:7px;min-height:76px;padding:8px 2px;border:0;border-radius:0}
 .footer-contact-links>a:hover{background:transparent}
 .footer-contact-icon{width:40px;height:40px;flex-basis:40px}
 .footer-contact-text{align-items:center;gap:0}
 .footer-contact-text>span{font-size:10px;line-height:1.4;white-space:nowrap;color:#b8c0ac}
 .footer-contact-text strong{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
}
@media(prefers-reduced-motion:reduce){.footer-contact-links>a{transition:none}}
