/* SR Sports: bold courts, warm light, energetic detail. */
:root{--navy:#092c40;--lime:#ffad73;--paper:#f6f8fa;--muted:#344c59;--line:#d3dfe5;--orange:#ed682f;--orange-ink:#a73610}
body{background:#f6f8fa;color:#092c40;font-size:18px}
::selection{background:#ffad73;color:#092c40}
h1,h2,h3,h4{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:700;letter-spacing:-.025em}
h2{font-size:clamp(42px,5.2vw,72px);line-height:1.04}
h2 em,.about-expanded h3 em{color:#a73610}
p{color:#344c59;line-height:1.85}
.eyebrow{font-size:14px;font-weight:800;letter-spacing:2px;color:#a73610}
.section-head .eyebrow:before,.about-copy>.eyebrow:before{content:'';width:28px;height:4px;background:#ed682f;display:block;flex-shrink:0}
.announcement{background:#092c40;color:#fff;border-bottom:1px solid #ffffff22;font-size:14px}
.announcement a{color:#ffc099}
header{background:#ffffffed;box-shadow:0 6px 28px #092c400c;border-bottom:1px solid #d8e4e9;padding-top:17px;padding-bottom:17px}
nav>a{font-size:16px;color:#092c40}nav>a:after{height:3px;background:#ed682f}
.btn{border-radius:8px 8px 22px 8px;font-size:17px;min-height:54px;position:relative;overflow:hidden}
.btn.navy{background:#092c40;color:#fff}.btn.lime{background:#ffad73;color:#092c40;box-shadow:0 9px 28px #ed682f25}
.btn:hover{box-shadow:0 12px 26px #092c4028;transform:translateY(-4px)}
.hero{position:relative;isolation:isolate;background:#092c40;color:#fff;padding-top:64px;column-gap:5%;overflow:hidden;grid-template-columns:1.05fr 1fr}
.hero:before{content:'';position:absolute;z-index:-1;width:650px;height:650px;border:1px solid #ffffff13;border-radius:50%;right:-220px;top:-220px;box-shadow:0 0 0 85px #ffffff05,0 0 0 170px #ffffff04;animation:court-orbit 24s linear infinite}
.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,#061e2e 0%,#0a354b 70%,#14516a);pointer-events:none}
.hero h1{font-size:clamp(64px,6.7vw,102px);font-weight:800;line-height:.98;letter-spacing:-.025em;color:#fff;text-transform:uppercase;margin-bottom:30px}
.hero .accent-word{color:#ffad73}.accent-word svg{stroke:#ed682f;bottom:-8px}
.hero .eyebrow{color:#ffc099;font-size:13px;letter-spacing:1.8px;line-height:1.7;max-width:480px}
.hero-copy>p{font-size:19px;color:#e1edf3;line-height:1.8;max-width:600px}
.hero .round-link{color:#fff}.hero .round-link>span{border-color:#ffffff65}
.hero-tags span{color:#e3eef5;background:#ffffff08;border-color:#ffffff30;font-size:14px}
.hero-visual.category-carousel{height:590px;border-radius:80px 14px 80px 14px;border:6px solid #ffffff16;box-shadow:18px 18px 0 #ed682f,0 30px 60px #0004;margin-right:18px}
.carousel-caption{padding:100px 30px 35px}.carousel-caption h2{font-family:'Barlow Condensed',sans-serif;font-size:44px;font-weight:700;letter-spacing:0}
.carousel-photo img{transition:opacity 1.1s ease,transform 5.5s ease;transform:scale(1.08)}.carousel-photo img.is-active{transform:scale(1)}
.hero-foot{border-color:#ffffff25;padding:28px 0;margin-top:42px}.hero-foot>span{color:#ffbd91;font-size:13px}.hero-foot>div{color:#fff;font-size:15px}.hero-foot i{color:#ffad73;animation:sport-spin 18s linear infinite}
.section{padding-top:100px;padding-bottom:100px;position:relative}
.section-head{gap:35px}.section-head>p{font-size:18px;max-width:400px;color:#344c59}
.about{padding-top:110px;background:#fff;gap:60px}.about-copy h2{font-size:clamp(44px,4.8vw,68px)}
.about-art{border-radius:12px 70px 12px 70px;box-shadow:-16px 16px 0 #ffe4d3;height:600px}
.about-copy>p,.about-copy .lead{font-size:18px;color:#344c59}.about-copy .lead{font-weight:700;color:#092c40}
.brand-plaque{border-radius:10px 10px 28px 10px;border-top:4px solid #ed682f;background:#fff}
.text-button{font-size:17px;color:#092c40;border-bottom:2px solid #ed682f}.text-button:hover{color:#a73610}
.about-details article{border-top:4px solid #ed682f;background:#f0f5f8;border-radius:0 0 24px 0;padding:28px}
.about-details h3,.about-purpose h3{font-size:36px;letter-spacing:-.4px}
.about-purpose{border-radius:24px;background:#092c40;color:white}.about-purpose p{color:#e2edf3}.about-purpose .eyebrow{color:#ffc099}.about-purpose h3{color:#fff}
.about-brand-panel{background:radial-gradient(circle at 5% 0,#1b5c78,transparent 55%),#092c40;border-top-color:#ed682f;border-radius:16px 60px 16px 16px}
.about-brand-panel h3{font-size:clamp(60px,7vw,94px)}.about-brand-panel h3 em{color:#ffad73}
.about-brand-statements{border-radius:16px;border-color:#d3dfe5}.about-brand-statements p{background:#eaf2f6;color:#092c40}.about-brand-statements p:nth-child(odd){background:#f6f9fb}
.about-service,.about-principles article{border:1px solid #d9e3e8;border-top:4px solid #ed682f;box-shadow:0 12px 30px #092c4006;border-radius:8px 8px 28px 8px}
.about-number{font-family:'Barlow Condensed',sans-serif;font-size:34px;color:#a73610}.about-expanded h4{font-size:30px}
.about-complete{background:#fff0e5;border-color:#ed682f}.about-expanded h3{font-size:clamp(36px,4vw,54px)}
#solutions{background:#ecf3f7}#products{background:#fff}#school-services{background:#fff2e9}#portfolio{background:#eaf1f5}#designs{background:#f3f6fa}
.solution-card,.school-card,.project-record{border:1px solid #d3e0e7;border-radius:12px 12px 32px 12px;box-shadow:0 10px 26px #092c4008;transition:transform .35s,box-shadow .35s,border-color .35s}
.solution-card:hover,.school-card:hover,.project-record:hover{transform:translateY(-7px);box-shadow:0 22px 40px #092c401b;border-color:#ed682f}
.card-content{padding:28px}.card-content h3,.school-card h3{font-size:32px;line-height:1.1;letter-spacing:-.3px;color:#092c40}
.card-content p,.school-card p,.school-card li{font-size:18px;color:#344c59}
.catalog-image img,.project-record-image img,.sports-detail-strip img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.catalog-image:hover img,.project-record-image:hover img,.sports-detail-strip figure:hover img{transform:scale(1.045)}
.catalog-image,.project-record-image{overflow:hidden}.catalog-image>span,.project-record-image>span{background:#fff;color:#092c40;box-shadow:0 4px 18px #0002}
.card-bottom{color:#344c59}.card-bottom button{color:#a73610;font-weight:800}
.filters button{background:white;border-color:#bdcfd8;min-height:46px}.filters button.selected{background:#092c40;border-color:#092c40;box-shadow:inset 0 -3px #ed682f}
.sports-detail-strip figure{border-radius:12px 40px 12px 12px;box-shadow:0 14px 30px #092c4014}.sports-detail-strip img{height:260px}.sports-detail-strip figcaption{font-family:'Barlow Condensed',sans-serif;font-size:36px}
.catalog-group h3{font-size:34px}.catalog-group [data-catalog]{background:#f0f5f8;border:1px solid #d1dfe7;border-left:3px solid #ed682f;font-size:17px;transition:background .2s,transform .2s}.catalog-group [data-catalog]:hover{background:#ffe5d3;transform:translateY(-3px)}
.project-records-heading{border-top:2px solid #ed682f}.project-records-heading h3{font-size:56px}.project-record-copy h3{font-size:34px}.project-record-status{color:#a73610;font-size:13px}.project-record-copy h4{font-family:Manrope,sans-serif;font-size:18px}.project-record-copy p{font-size:18px}
.named-project,.featured-project{border-radius:20px;box-shadow:0 12px 35px #092c400a}
.design-art-feature{border:1px solid #345166;border-radius:16px 70px 16px 16px}.design-art-copy h3{font-size:48px}
.contact{background:radial-gradient(ellipse at 0 100%,#1a5971,transparent 65%),#092c40;color:#fff}.contact h2{font-size:clamp(60px,6.5vw,90px);color:#fff}.contact h2 em{color:#ffad73}.contact .eyebrow{color:#ffc099}.contact-card{border:1px solid #ffffff40;background:#ffffff0d;border-radius:18px 50px 18px 18px}.contact-card,.contact-card p,.contact-card a{color:#fff}.contact-card>span{color:#ffc099}.contact-card .email{color:#fff}
.faq{background:#fff}.faq summary{font-weight:800;color:#092c40;font-size:18px}.faq details{border-bottom-color:#c6d7e0}.faq details[open]{background:#f0f5f8;padding-left:18px;padding-right:18px;border-left:3px solid #ed682f}
footer{background:#061e2e}.whatsapp{background:#0b654d;box-shadow:0 0 0 7px #0b654d15,0 8px 22px #092c4033}
.sport-scroll-line{position:fixed;z-index:100;top:0;left:0;height:4px;width:100%;background:#ed682f;transform:scaleX(0);transform-origin:left;pointer-events:none}
@keyframes sport-spin{to{transform:rotate(360deg)}}
@keyframes court-orbit{50%{transform:translate(-35px,30px);opacity:.5}}
@media(min-width:1100px){.hero-copy{padding-bottom:30px}.hero{min-height:740px}.about-service-grid{gap:28px}}
@media(max-width:1000px){.hero{grid-template-columns:1fr;padding-top:45px}.hero-copy{max-width:760px}.hero h1{font-size:84px}.hero-visual.category-carousel{height:470px;width:calc(100% - 18px)}.hero-foot{flex-wrap:wrap}.hero-foot>div{flex-wrap:wrap}.about{gap:35px}.sports-detail-strip img{height:200px}}
@media(max-width:620px){.announcement{font-size:12px}header{padding-top:13px;padding-bottom:13px}.hero{padding-top:34px}.hero h1{font-size:62px;line-height:1.02;letter-spacing:-1px}.hero .eyebrow{font-size:11px;letter-spacing:1.2px}.hero-copy>p{font-size:18px}.hero-copy{padding-bottom:25px}.hero-cta{gap:20px}.hero-visual.category-carousel{height:370px;border-radius:45px 12px 45px 12px;border-width:4px;box-shadow:10px 10px 0 #ed682f;margin-right:10px;width:calc(100% - 10px)}.carousel-caption h2{font-size:35px}.hero-foot{margin-top:32px}.hero-foot>div{gap:12px;font-size:14px}.hero-tags{gap:7px;margin-top:25px}.hero-tags span{font-size:12px;padding:7px 9px}.section{padding-top:65px;padding-bottom:65px}.section h2,.about-copy h2{font-size:46px}.about-art{height:400px;border-radius:12px 45px 12px 45px;box-shadow:-8px 8px 0 #ffe4d3}.about-details article{padding:24px}.about-purpose{padding:26px}.about-expanded h4{font-size:28px}.section-head>p{font-size:18px}.sports-detail-strip{grid-template-columns:1fr;gap:15px}.sports-detail-strip img{height:180px}.sports-detail-strip figcaption{font-size:30px}.project-records-heading h3{font-size:44px}.project-record-copy h3{font-size:34px}.contact h2{font-size:60px}.design-art-copy h3{font-size:38px}.card-content h3{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}
@media(max-width:620px){.hero h1{font-size:54px}.hero .eyebrow{font-size:12px;max-width:300px}.hero h1 .accent-word{white-space:nowrap}}
