/*
Theme Name: OTG Astra Child
Description: Optimal Technology Group site conversion, based on the approved Next.js reference.
Template: astra
Version: 0.1.4
Text Domain: otg-astra-child
*/

:root{--otg-canvas:#F4F7FC;--otg-charcoal:#1B1E1B;--otg-footer:#171B18;--otg-text:#202522;--otg-muted:#66706A;--otg-blue:#AFCBFF;--otg-hover:#DCE9FF;--otg-deep:#426AAB}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.otg-site{margin:0;background:var(--otg-canvas);color:var(--otg-text);font-family:Arial,Helvetica,sans-serif}
.otg-site h1,.otg-site h2,.otg-site h3,.otg-site p{margin-top:0}
.otg-site h1,.otg-site h2,.otg-site h3{font-weight:800;letter-spacing:-.04em;line-height:1.08}
.otg-site h1{font-size:clamp(3rem,5vw,5.4rem)}
.otg-site h2{font-size:clamp(2.35rem,4vw,3.1rem)}
.otg-site h3{font-size:1.35rem}
.otg-site p{line-height:1.75}
.otg-site a{color:inherit;text-decoration:none}
.otg-site a:hover{text-decoration:none}
.otg-site :focus-visible{outline:3px solid var(--otg-deep);outline-offset:4px}
.otg-wrap{width:min(100% - 3rem,72rem);margin-inline:auto}
.otg-section{padding:6rem 0}
.otg-section[id]{scroll-margin-top:7rem}
.otg-eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--otg-deep);margin-bottom:1rem}
.otg-dark .otg-eyebrow{color:var(--otg-blue)}
.otg-muted{color:var(--otg-muted)}
.otg-dark{background:var(--otg-charcoal);color:#fff}
.otg-site .otg-dark h1,.otg-site .otg-dark h2,.otg-site .otg-dark h3,.otg-site .otg-card--dark h3{color:#fff}
.otg-dark .otg-muted{color:rgba(255,255,255,.65)}
.otg-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.8rem 1.5rem;border:1px solid transparent;border-radius:999px;background:var(--otg-blue);color:var(--otg-charcoal)!important;font-size:.9rem;font-weight:800;cursor:pointer;transition:background .2s ease}
.otg-button:hover{background:var(--otg-hover)}
.otg-button--outline{background:transparent;border-color:rgba(255,255,255,.28);color:#fff!important}
.otg-button--outline:hover{background:rgba(255,255,255,.08);border-color:var(--otg-blue)}
.otg-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.otg-site-header{position:sticky;top:0;z-index:100;background:var(--otg-charcoal);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 12px 35px rgba(0,0,0,.18)}
.admin-bar .otg-site-header{top:32px}
.otg-nav-row{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.otg-brand{display:inline-flex;align-items:center;min-width:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.otg-brand img{display:block;width:min(240px,40vw);height:auto;max-height:62px;object-fit:contain}
.otg-nav{display:flex;align-items:center;gap:1.7rem;font-size:.9rem;color:rgba(255,255,255,.8)}
.otg-nav a:hover,.otg-footer a:hover{color:var(--otg-blue)}
.otg-nav-cta{font-size:.75rem}
.otg-menu-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.25);border-radius:.5rem;background:transparent;color:#fff;font-size:1.4rem;cursor:pointer}
.otg-mobile-nav{display:none;border-top:1px solid rgba(255,255,255,.1);padding:1rem 0 1.5rem}
.otg-mobile-nav a{display:block;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.otg-mobile-nav[hidden]{display:none}
.otg-hero{min-height:calc(100dvh - 76px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:2.5rem;padding-block:2.5rem}
.otg-hero p{max-width:38rem}
.otg-hero .otg-lead{font-size:1.125rem;line-height:1.8}
.otg-hero-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;height:470px}
.otg-hero-photos:not(.otg-hero-photos--two){grid-template-rows:repeat(2,minmax(0,1fr))}
.otg-hero-photos img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:1rem}
.otg-hero-photos img:nth-child(1){margin-top:3rem;height:calc(100% - 3rem)}
.otg-hero-photos img:nth-child(4){margin-top:-3rem;height:calc(100% + 3rem)}
.otg-hero-photos--two{height:400px}
.otg-hero-photos--two img:nth-child(1){margin-top:2.5rem;height:calc(100% - 2.5rem)}
.otg-hero-photos--two img:nth-child(2){height:100%}
.otg-tag-row{display:flex;flex-wrap:wrap;gap:1.5rem;padding-top:1.5rem;margin-top:2.5rem;border-top:1px solid rgba(255,255,255,.15);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5)}
.otg-section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}
.otg-section-head p{max-width:37rem}
.otg-grid{display:grid;gap:1rem}
.otg-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.otg-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.otg-card{background:#fff;border-radius:1rem;padding:1.75rem;box-shadow:0 10px 30px rgba(22,31,24,.04)}
.otg-card--dark{background:var(--otg-charcoal);color:#fff}
.otg-card p{font-size:.9rem;color:var(--otg-muted)}
.otg-card--dark p{color:rgba(255,255,255,.65)}
.otg-service-card{min-height:230px;display:flex;flex-direction:column;transition:transform .24s ease,box-shadow .24s ease}
.otg-service-card:hover,.otg-service-card:focus-within{transform:translateY(-6px);box-shadow:0 22px 44px rgba(66,106,171,.17),0 0 0 1px rgba(66,106,171,.25)}
.otg-service-card p{flex:1}
.otg-service-card .otg-icon{font-size:1.6rem;color:var(--otg-deep)}
.otg-service-card.otg-card--dark .otg-icon,.otg-service-card.otg-card--dark .otg-more{color:var(--otg-blue)}
.otg-more{display:inline-block;margin-top:1rem;font-size:.88rem;font-weight:800}
.otg-work-photo{width:100%;height:18rem;object-fit:cover;border-radius:1rem}
.otg-work-text{position:relative;margin:-3rem 1rem 0;min-height:170px;border-radius:.8rem;background:#fff;padding:1.3rem;box-shadow:0 15px 30px rgba(22,31,24,.08)}
.otg-work-text .otg-eyebrow{letter-spacing:.14em;margin:0 0 .5rem}
.otg-split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.otg-contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:start}
.otg-contact-links{display:grid;gap:.75rem;margin-top:2rem}
.otg-contact-links a{padding:1rem 1.25rem;border:1px solid rgba(32,37,34,.12);border-radius:1rem;background:#fff;font-size:.9rem;font-weight:800}
.otg-contact-links a:hover{border-color:var(--otg-deep)}
.otg-logo-panel{margin:4rem auto;background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 10px 30px rgba(22,31,24,.04)}
.otg-logo-panel img{display:block;width:min(100%,900px);height:auto;margin:auto}
.otg-number{font-size:.9rem;font-weight:800;color:var(--otg-deep)}
.otg-card--dark .otg-number{color:var(--otg-blue)}
.otg-detail-card{min-height:230px;border-left:5px solid var(--otg-accent,var(--otg-blue))}
.otg-detail-card .otg-number{color:var(--otg-accent,var(--otg-deep))}
.otg-detail-card.otg-card--dark .otg-number{color:var(--otg-accent,var(--otg-blue))}
.otg-detail-card:nth-child(2){--otg-accent:#426AAB}.otg-detail-card:nth-child(3){--otg-accent:#6665B6}.otg-detail-card:nth-child(4){--otg-accent:#147D9B}
.otg-puzzle{padding:1.5rem}.otg-puzzle svg{display:block;width:100%;margin:1.5rem 0;border:1px solid rgba(255,255,255,.1);border-radius:1rem;touch-action:none}.otg-puzzle-status{font-size:.88rem;color:rgba(255,255,255,.75)}.otg-puzzle-count,.otg-puzzle-reset{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.4rem .8rem;color:#fff;font-size:.8rem;white-space:nowrap}.otg-puzzle-reset{background:transparent;cursor:pointer}.otg-puzzle-reset:hover{color:#AFCBFF;border-color:#AFCBFF}
.otg-service-hero{padding:5rem 0 5.5rem}.otg-service-hero h1{max-width:55rem}.otg-service-hero p{max-width:48rem}
.otg-info-box{border-radius:1.5rem;padding:2rem;background:#fff}.otg-info-box--dark{background:#222724;border:1px solid rgba(255,255,255,.1)}
.otg-footer{background:var(--otg-footer);color:#fff;padding-top:4rem}
.otg-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;padding-bottom:4rem}
.otg-footer p,.otg-footer a,.otg-footer span{color:rgba(255,255,255,.62)}
.otg-footer h2{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:#fff}
.otg-footer a{display:block;margin:.7rem 0;font-size:.9rem}
.otg-footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.1);padding:1.5rem 0;font-size:.75rem}
.otg-footer-bottom span+span{margin-left:1.5rem}
@media(max-width:900px){.otg-nav,.otg-nav-cta{display:none}.otg-menu-toggle{display:inline-flex}.otg-mobile-nav:not([hidden]){display:block}.otg-hero,.otg-split,.otg-contact-grid{grid-template-columns:1fr!important}.otg-hero{min-height:0}.otg-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.otg-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.admin-bar .otg-site-header{top:46px}.otg-wrap{width:min(100% - 2rem,72rem)}.otg-section{padding:4.5rem 0}.otg-section-head{display:block}.otg-section-head .otg-button{margin-top:1rem}.otg-grid--three,.otg-grid--two,.otg-footer-grid{grid-template-columns:1fr}.otg-hero-photos{height:330px}.otg-hero-photos--two{height:290px}.otg-footer-bottom{display:block}.otg-service-hero{padding:4rem 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.otg-service-card{transition:none}.otg-service-card:hover,.otg-service-card:focus-within{transform:none}}
