/* IKHTISAS shared design system. Source animation references: docs/design.md. */
:root{--primary:#194e5e;--primary-dark:#103844;--primary-action:#176775;--secondary:#176775;--accent:#9ad4c5;--mint:#9ad4c5;--ink:#0f2930;--muted:#48616a;--surface:#faf7f2;--surface-mint:#f3f8f7;--primary-rgb:25,78,94;--action-rgb:23,103,117;--line:#d5e4e1;--background:#fff;--text-dark:#0f2930;--text-light:#fff;--whatsapp:#16743d;--gradient:linear-gradient(120deg,#194e5e,#176775)}
html{scroll-padding-top:100px}body{margin:0;font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.7;color:var(--ink);background:#fff;overflow-x:clip}*,*::before,*::after{box-sizing:border-box}body,body a,body button{cursor:auto}a,button,summary{touch-action:manipulation}a,button,summary,[role=button]{cursor:pointer}a{color:var(--primary-action)}img{max-width:100%;height:auto}picture{display:block}button,input,select,textarea{font:inherit}h1,h2,h3,h4{color:var(--ink);line-height:1.25;letter-spacing:-.035em}h1{font-size:clamp(2.2rem,4.5vw,4rem);font-weight:700}h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:600}p{line-height:1.75}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--primary-action);outline-offset:4px}a:focus-visible{border-radius:3px}.site-footer a:focus-visible,.mobile-menu a:focus-visible{outline-color:var(--mint)}[hidden]{display:none!important}.container{max-width:1180px;padding-inline:24px}main{min-height:55vh}main:focus{outline:none}.skip-link{position:fixed;top:8px;left:16px;z-index:10000;transform:translateY(-160%);padding:12px 20px;background:var(--ink);color:#fff}.skip-link:focus{transform:none}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:600;color:var(--primary-action);margin-bottom:16px}.section-intro{max-width:680px;margin-bottom:32px}.section-intro p{color:var(--muted)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.site-nav{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:0;min-height:86px}.site-brand{display:flex;align-items:center;flex-shrink:0}.site-brand img{width:118px;height:42px;object-fit:contain}.desktop-links{display:flex;gap:clamp(22px,2.3vw,34px);align-items:center;justify-content:center;flex:1;margin-left:0;margin-right:118px}.desktop-links .site-button{position:absolute;right:24px;margin-left:0}.desktop-links a{font-size:.84rem;font-weight:500;text-decoration:none;white-space:nowrap}.desktop-links a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.site-button,.site-button:visited{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--primary-action);border-radius:8px;background:var(--primary-action);color:#fff;font-weight:600;font-size:.875rem;text-decoration:none;line-height:1.5}.site-button:hover{background:var(--primary-dark);color:#fff}.site-button.secondary{background:transparent;color:var(--primary-action)}.site-button.secondary:hover{background:var(--surface)}.menu-toggle{display:none;min-width:48px;min-height:48px;background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.mobile-menu{position:fixed;inset:0 0 auto;margin:0;width:100%;max-width:none;max-height:100dvh;overflow:auto;border:0;padding:24px;background:var(--primary);color:#fff;border-bottom:8px solid var(--accent);border-radius:0 0 20px 20px}.mobile-menu[open]{animation:menu-enter .3s ease-out}.mobile-menu::backdrop{background:rgba(15,41,48,.5)}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.menu-close{border:1px solid #91b9bf;background:transparent;color:#fff;border-radius:8px;padding:8px 14px;min-height:44px}.mobile-menu nav{display:grid;gap:6px}.mobile-menu nav a{padding:12px 4px;min-height:48px;font-size:1.35rem;color:#fff;text-decoration:none}.mobile-menu nav a:last-child{border-top:1px solid #91b9bf;margin-top:8px}.mobile-menu nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.js-menu-open{overflow:hidden}
.home-hero{padding:72px 0 60px;background:var(--surface)}.home-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}.home-hero h1{margin:0 0 24px;line-height:1.1;letter-spacing:-.045em}.home-hero .lead{font-size:1rem;color:var(--muted);max-width:46ch}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-note{font-size:.8rem;color:var(--muted);margin:20px 0 0}.hero-photos{position:relative;padding:0 25px 62px 20px;isolation:isolate}.hero-main img{width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover;border-radius:18px}.hero-side{position:absolute;right:0;bottom:0;width:48%;border:7px solid var(--surface);border-radius:18px;transform:rotate(4deg);overflow:hidden}.hero-side img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-detail{position:absolute;left:0;top:12%;width:27%;border:6px solid var(--surface);border-radius:12px;transform:translateX(-22%) rotate(-7deg);overflow:hidden;z-index:-1}.hero-detail img{aspect-ratio:1;object-fit:cover;width:100%}.hero-caption{position:absolute;bottom:12px;left:22px;font-size:.72rem;max-width:40%;color:var(--muted)}
.home-programs{background:var(--surface);padding:72px 0}.program-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.program-option{padding:32px;border:1px solid var(--line);border-radius:16px;background:white;display:flex;flex-direction:column;align-items:flex-start}.program-option h3{font-size:1.5rem;margin:4px 0 16px}.program-option p{color:var(--muted)}.program-option a{margin-top:auto;font-weight:600;padding:10px 0}.trust-section{padding:48px 0;border-bottom:1px solid var(--line)}.trust-content{display:flex;gap:36px;align-items:center}.trust-content img{width:120px;max-height:120px;object-fit:contain}.trust-content h2{font-size:1.6rem}.trust-content p{margin:0;color:var(--muted)}.decision-section,.reviews-section,.faq-section{padding:72px 0!important;background:white}.decision-grid{gap:24px}.decision-card{box-shadow:none!important;border:1px solid var(--line)!important;border-radius:16px!important;transform:none!important;min-height:0!important}.decision-card p{color:var(--muted)}.journey-preview{display:none}.reviews-section{background:var(--surface)}.reviews-carousel{overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}.reviews-track{display:block!important;animation:none!important;transform:none!important;width:auto!important}.reviews-set{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px!important;width:auto!important}.review-card{width:auto!important;min-width:0!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:24px!important;transform:none!important;box-shadow:none!important}.review-text{font-size:.875rem!important;color:var(--ink)!important}.review-author,.review-meta{color:var(--muted)!important}.review-stars{color:#855615!important}.review-avatar{background:var(--primary)!important;color:#fff!important}.review-rating,.review-rating-badge{color:var(--ink)!important}.faq-section details{border-bottom:1px solid var(--line);padding:20px 0}.faq-section summary{font-weight:600;min-height:44px;padding-right:16px;display:list-item;list-style:disclosure-closed}.faq-section details[open]>summary{list-style:disclosure-open}.faq-section details p{max-width:75ch;margin:12px 0;color:var(--muted)}.final-cta{padding:56px 0;background:var(--primary);color:#fff}.final-cta h2{color:#fff}.final-cta .container{display:flex;justify-content:space-between;align-items:center;gap:24px}.final-cta p{margin:12px 0 0;color:#e4f0ed}.final-cta .site-button{background:#fff;color:var(--primary);border-color:white;flex-shrink:0}
.page-banner,.program-header,.gallery-header,.video-header,.page-header{padding:64px 0!important;background:var(--surface)!important;color:var(--ink)!important;margin:0!important;min-height:0!important}.page-banner h1,.program-header h1,.gallery-header h1,.video-header h1,.page-header h1{color:var(--ink)!important;font-size:clamp(2.2rem,4vw,3.2rem)!important}.page-banner p,.program-header p,.gallery-header p,.video-header p,.page-header p{color:var(--muted)!important;max-width:68ch;margin-inline:auto}.wave-shape{display:none}.program-header .badge{background:var(--primary)!important;color:white!important}.program-card{border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:none!important;transform:none!important;overflow:hidden}.program-card-header{background:var(--primary)!important;padding:32px!important}.program-card-header h3{font-size:1.5rem;color:white;overflow-wrap:anywhere}.program-card-header p,.program-duration{color:#e4f0ed!important}.program-level{background:white!important;color:var(--primary)!important}.program-card-body{padding:28px!important}.feature-list{margin-bottom:24px}.feature-item i{color:var(--primary-action)!important}.cu-learning summary{padding:14px!important;min-height:48px}.cu-photo-placeholder{display:none}.cu-item{grid-template-columns:1fr!important;min-height:0!important}.cu-code{color:var(--primary-action)!important}.module-card,.additional-program-card{box-shadow:none!important;border:1px solid var(--line)!important;transform:none!important}.module-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.btn-primary,.form-button,.submit-btn{background:var(--primary-action)!important;color:white!important;border-radius:8px!important;min-height:48px}.btn{min-height:44px;align-content:center}.bg-light{background:var(--surface)!important}.text-muted{color:var(--muted)!important}.badge.bg-light{color:var(--primary)!important}
.steps-section{background:var(--surface)!important;padding:64px 0!important}.step-card{background:white!important;border:1px solid var(--line)!important;box-shadow:none!important;transform:none!important}.step-number{background:var(--primary)!important;color:white!important}.form-chooser{padding:64px 0}.form-box{height:100%;padding:32px!important;border:1px solid var(--line)!important;border-radius:16px!important;box-shadow:none!important;text-decoration:none;transform:none!important}.form-title{color:var(--primary)!important;font-size:1.5rem}.form-description{color:var(--muted)!important}.form-box .form-button{display:inline-flex;padding:12px 20px;margin-top:16px}.form-icon{background:var(--surface)!important;color:var(--primary)!important}.registration-note{max-width:62ch;margin:0 auto 32px;text-align:center;color:var(--muted)}.profile-section{padding:64px 0!important;background:#fff!important;color:var(--ink)!important}.profile-section .counter,.profile-section .stat-number{color:var(--primary)!important}.profile-section .btn-cta{background:var(--primary-action);color:#fff;border:1px solid var(--primary-action)}.profile-section .btn-cta:hover{background:var(--primary-dark);color:#fff}.legal-content{padding:56px 0!important}.legal-content>.container{max-width:860px}.legal-content h2{font-size:1.45rem;margin-top:36px}.legal-content p,.legal-content li{color:var(--ink)}.error-section{min-height:60vh;padding:64px 24px;background:var(--surface)}
.filter-btn,.filter-button{min-height:44px;border:1px solid var(--line)!important;background:white!important;color:var(--primary)!important;padding:10px 20px!important;border-radius:24px!important}.filter-btn.active,.filter-button.active{background:var(--primary)!important;color:white!important}.gallery-item,.video-item{box-shadow:none!important;border:1px solid var(--line);border-radius:14px!important;overflow:hidden;transform:none!important}.gallery-item img,.video-thumbnail img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}.gallery-item:hover img,.video-thumbnail:hover img{transform:scale(1.025)}.gallery-overlay{background:linear-gradient(transparent,rgba(15,41,48,.9))!important}.gallery-overlay h3,.gallery-overlay p{color:white}.video-player{width:100%;aspect-ratio:16/9;background:var(--ink)}.video-info{padding:20px!important}.filter-status{color:var(--muted);margin:12px 0 24px;text-align:center}.gallery-dialog{max-width:min(1100px,96vw);width:100%;padding:20px;border:0;border-radius:14px;background:var(--ink);color:white}.gallery-dialog::backdrop{background:rgba(0,0,0,.85)}.gallery-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.gallery-dialog button{min-height:44px;min-width:44px;background:white;color:var(--ink);border:0;border-radius:6px;padding:8px 14px}.gallery-dialog figure{margin:0;text-align:center}.gallery-dialog img{max-width:100%;max-height:70dvh;object-fit:contain}.gallery-dialog figcaption{margin-top:12px}.gallery-controls{display:flex;justify-content:center;gap:12px;margin-top:14px}.map-container{min-height:360px}.mapouter,.gmap_canvas,.gmap_iframe{width:100%!important;max-width:100%;min-height:360px}.contact-form{box-shadow:none!important;border:1px solid var(--line);border-radius:16px!important}.form-control{border-color:#89a4a8!important}.form-control:focus{border-color:var(--primary-action)!important;box-shadow:0 0 0 3px #d6eeeb}.form-status{padding:14px;background:var(--surface);border-left:4px solid var(--primary-action);margin:16px 0;color:var(--ink)}.form-status:empty{display:none}.form-status[data-state=error]{border-color:#a32129;color:#822129;background:#fff4f4}.submit-btn:disabled{opacity:.75;cursor:wait}.contact-intro{padding:56px 0 0}.contact-intro h1{margin-bottom:16px}
.site-footer{background:var(--primary-dark);color:#fff;padding:56px 0 24px;font-size:.875rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:48px}.site-footer h2{color:white;font-size:1rem;letter-spacing:0;margin:0 0 16px}.site-footer a{color:#e4f0ed;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0}.site-footer li a{display:inline-flex;min-height:32px;align-items:center}.site-footer address{font-style:normal;line-height:1.8;color:#e4f0ed}.footer-brand img{width:120px;background:white;border-radius:4px;margin-bottom:16px}.footer-brand p{max-width:32ch;color:#e4f0ed}.footer-socials{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px}.footer-socials a{min-height:36px;align-content:center}.footer-bottom{border-top:1px solid #45666e;margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-bottom p{margin:0}.footer-bottom a{margin-left:16px}
.chatbot-button{background:var(--primary)!important;min-width:52px;min-height:52px}.chatbot-container{width:min(360px,calc(100vw - 32px))!important;max-height:calc(100dvh - 110px);bottom:90px!important;right:16px!important;border:1px solid var(--line);z-index:150}.chatbot-header{background:var(--primary)!important;color:white}.chatbot-header h3{color:white}.chatbot-messages{min-height:120px;overflow:auto}.chatbot-input{gap:8px}.chatbot-input button,#closeChatbot{min-width:44px;min-height:44px}.chat-handoff{display:block;background:var(--surface);color:var(--primary);font-size:.8rem;padding:12px 16px}.chatbot-container[hidden]{display:none!important}.chatbot-container:not([hidden]){display:flex!important}
/* References 24 / 17 / 18: unfold supporting photos, reveal headings, layer menu links.
   No pending/hidden state: content remains readable before enhancement runs. */
@keyframes menu-enter{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes menu-link-enter{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
@keyframes heading-enter{from{opacity:.25;translate:0 32px;clip-path:inset(0 0 65% 0)}to{opacity:1;translate:0 0;clip-path:inset(0)}}
@keyframes card-enter{from{opacity:.25;translate:0 44px}to{opacity:1;translate:0 0}}
@keyframes photo-enter{from{opacity:.2;translate:48px 48px;rotate:-12deg;scale:.88}to{opacity:1;translate:0 0;rotate:0deg;scale:1}}
@keyframes detail-enter{from{opacity:.2;translate:32px 30px;rotate:14deg;scale:.85}to{opacity:1;translate:0 0;rotate:0deg;scale:1}}
@media(prefers-reduced-motion:no-preference){
 .motion-heading.motion-visible{animation:heading-enter .8s cubic-bezier(.2,.7,.2,1) both}
 .motion-item.motion-visible{animation:card-enter .85s cubic-bezier(.2,.7,.2,1) var(--motion-delay,0ms) both}
 .hero-side.motion-visible{animation:photo-enter 1.15s cubic-bezier(.2,.7,.2,1) .12s both}
 .hero-detail.motion-visible{animation:detail-enter 1s cubic-bezier(.2,.7,.2,1) both}
 .mobile-menu[open]{animation:menu-enter .35s cubic-bezier(.2,.7,.2,1) both}
 .mobile-menu[open] nav a{animation:menu-link-enter .45s ease-out .12s both}
 .mobile-menu[open] nav a:nth-child(2){animation-delay:.17s}
 .mobile-menu[open] nav a:nth-child(3){animation-delay:.22s}
 .mobile-menu[open] nav a:nth-child(4){animation-delay:.27s}
 .mobile-menu[open] nav a:nth-child(5){animation-delay:.32s}
 .mobile-menu[open] nav a:nth-child(6){animation-delay:.37s}
 .mobile-menu nav a:focus-visible{animation:none}
 .motion-item:focus-within{animation:none}
}
@media(min-width:992px){.desktop-links .site-button{padding:10px 18px}.page-form main{min-height:60vh}}
@media(max-width:991px){.site-nav{min-height:74px;flex-wrap:wrap;justify-content:space-between}.site-brand img{width:100px;height:38px}.desktop-links{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:12px;padding:0 0 20px;margin-left:0;margin-right:0}.desktop-links .site-button{position:static;margin-left:0}.js-ready .desktop-links{display:none}.js-ready .menu-toggle{display:block}.home-hero{padding:48px 0}.home-hero-grid{gap:40px;grid-template-columns:1fr}.home-hero h1{max-width:17ch}.hero-photos{max-width:600px;margin:auto;width:100%;padding-left:24px}.hero-main img{aspect-ratio:4/3}.hero-detail{left:20px;top:8%;transform:translateX(-12%) rotate(-5deg)}.hero-caption{left:24px}.reviews-set{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.final-cta .container{align-items:flex-start;flex-direction:column}.program-header .row{gap:24px}}
@media(max-width:575px){.container{padding-inline:24px}.home-hero h1{font-size:2.4rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions a{width:100%}.home-programs,.decision-section,.reviews-section,.faq-section{padding:48px 0!important}.program-options,.reviews-set{grid-template-columns:1fr}.program-option{padding:24px}.trust-content{gap:20px;align-items:flex-start}.trust-content img{width:76px}.trust-content h2{font-size:1.25rem}.page-banner,.program-header,.gallery-header,.video-header,.page-header{padding:40px 0!important}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.footer-bottom a{margin:0 16px 0 0}.gallery-dialog{padding:12px}.hero-caption{font-size:.64rem}.form-box{padding:24px!important}.program-card-body,.program-card-header{padding:24px!important}.contact-form{padding:24px!important}}
.site-icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;fill:currentColor}.contact-info-card a{overflow-wrap:anywhere}.contact-info-card{min-width:0}body{padding-top:0!important}.gallery-item{position:relative}.gallery-item::before{display:none}.gallery-item .gallery-overlay{position:static;inset:auto;opacity:1;transform:none;background:var(--primary)!important;padding:18px;min-height:110px}.gallery-caption h5,.gallery-caption p{color:#fff!important}.gallery-caption h5{font-size:1rem}.gallery-caption p{font-size:.8rem}.gallery-item img{height:auto!important;aspect-ratio:4/3}.gallery-item a{display:block;text-decoration:none}.gallery-item a:focus-visible{outline-offset:-4px;outline-color:var(--mint)}
.text-primary{color:var(--primary-action)!important}.error-message,.updated-date{color:var(--muted)!important;opacity:1!important}.updated-date{background:var(--surface)!important}.form-icon i{color:var(--primary)!important}.map-fallback{padding:20px;margin:0;font-size:.9rem;color:var(--ink)}.chatbot-input input{min-width:0;flex:1 1 0;width:0}.chatbot-input button{flex:0 0 44px}.trust-content>picture{flex:0 0 120px}@media(max-width:575px){.trust-content>picture{flex-basis:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.program-card-header h2{font-size:1.5rem;color:white;overflow-wrap:anywhere}.program-code{display:block;font-size:.75em;letter-spacing:0;margin-top:4px}.video-info h2{font-size:1.25rem}.gallery-caption h2,.gallery-caption p{color:#fff!important}.gallery-caption h2{font-size:1rem}.contact-card-heading{font-size:1.25rem}

/* Warm ivory sections, quiet mint details, consistent teal actions. */
.cu-learning{background:var(--surface-mint);border-color:var(--line)}
.cu-item{background:var(--background);border-color:var(--line)}
.btn-primary,.form-button,.submit-btn{border-color:var(--primary-action)!important}
.btn-primary:hover,.btn-primary:active,.form-button:hover,.submit-btn:hover:not(:disabled){background:var(--primary-dark)!important;border-color:var(--primary-dark)!important;color:var(--text-light)!important}
