/* SINAMON v3.0 */
:root{
  --blue:#1944f1;--dark:#0d0d0d;--white:#fff;--off:#f4f4ef;
  --gray:#444;--gray-lt:#e8e8e3;--gray-mid:#999;
  --max:1280px;--pad:2rem;--gap:7rem;
  --t:0.3s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Open Sans',sans-serif;font-size:16px;line-height:1.6;color:var(--dark);background:var(--off);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:var(--t)}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,textarea,select{font-family:inherit}
.container{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}

/* TYPOGRAPHY */
h1,h2,h3{font-weight:800;line-height:1.0;letter-spacing:-.03em;color:var(--dark)}
h1{font-size:clamp(3.5rem,8vw,8rem)}
h2{font-size:clamp(2.5rem,5vw,5rem)}
h3{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700}
p{line-height:1.75;color:var(--gray)}
p+p{margin-top:1rem}

.sec-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-mid);border:1px solid currentColor;padding:.3rem .75rem;border-radius:100px;margin-bottom:1.5rem}
.sec-tag-lt{color:rgba(255,255,255,.45);border-color:rgba(255,255,255,.25)}
.sec-h{font-size:clamp(2.25rem,4.5vw,4.5rem);line-height:1.0;letter-spacing:-.03em}
.sec-intro{margin-bottom:4rem}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;background:var(--blue);color:#fff;font-weight:700;font-size:.9rem;border-radius:2px;border:2px solid var(--blue);transition:var(--t);cursor:pointer}
.btn-primary:hover{background:transparent;color:var(--blue)}
.btn-light{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;background:#fff;color:var(--dark);font-weight:700;font-size:.9rem;border-radius:2px;border:2px solid #fff;transition:var(--t)}
.btn-light:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-full{width:100%;justify-content:center}

/* HEADER */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem var(--pad);transition:var(--t)}
.hdr.scrolled{background:rgba(255,255,255,.95);backdrop-filter:blur(16px);padding:.875rem var(--pad);border-bottom:1px solid var(--gray-lt)}
.hdr-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.hdr-logo img{height:52px;width:auto;display:block}
.hdr-nav{display:flex;align-items:center;gap:2rem}
.hdr-nav a{font-size:.875rem;font-weight:600;color:#fff;position:relative}
.hdr.scrolled .hdr-nav a{color:var(--dark)}
.hdr-nav a::after{content:'';position:absolute;bottom:-3px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:var(--t)}
.hdr-nav a:hover::after,.hdr-nav a.active::after{transform:scaleX(1)}
.hdr-nav a.active{color:var(--blue)}
.hdr.scrolled .hdr-nav a.active{color:var(--blue)}
.nav-cta{padding:.6rem 1.4rem;background:var(--blue);color:#fff!important;border-radius:2px;font-weight:700!important}
.nav-cta:hover{background:var(--dark)}
.nav-cta::after{display:none!important}
.hamburger{display:none;flex-direction:column;gap:6px;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:#fff;transition:var(--t)}
.hdr.scrolled .hamburger span{background:var(--dark)}
.hamburger.open span:first-child{transform:translateY(8px) rotate(45deg)}
.hamburger.open span:last-child{transform:translateY(-8px) rotate(-45deg)}
.mob-nav{display:none;position:fixed;inset:0;background:var(--dark);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .4s}
.mob-nav.open{opacity:1;pointer-events:all}
.mob-nav nav{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
.mob-nav nav a{font-size:2.5rem;font-weight:800;color:#fff;letter-spacing:-.03em}
.mob-nav nav a:hover{color:var(--blue)}
.mob-social{display:flex;gap:1.5rem;color:rgba(255,255,255,.5)}
.mob-social a:hover{color:#fff}

/* HERO */
.hero{min-height:100vh;background:var(--dark);display:flex;align-items:flex-end;padding:8rem var(--pad) 5rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 60% 40%,rgba(25,68,241,.12) 0%,transparent 70%);pointer-events:none}
.hero-inner{max-width:var(--max);margin:0 auto;width:100%;position:relative}
.hero-eyebrow{display:block;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:2rem}
.hero-title{font-size:clamp(4rem,10vw,10rem);font-weight:800;line-height:.9;letter-spacing:-.04em;color:#fff;margin-bottom:3rem}
.hero-blue{color:var(--blue)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;border-top:1px solid rgba(255,255,255,.1);padding-top:2.5rem}
.hero-sub{font-size:1rem;color:rgba(255,255,255,.55);max-width:440px;line-height:1.7}

/* MARQUEE */
.marquee-strip{background:var(--blue);overflow:hidden;padding:.875rem 0}
.marquee-track{display:flex;align-items:center;gap:2rem;white-space:nowrap;animation:marquee 30s linear infinite;width:max-content;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.mdot{color:rgba(255,255,255,.4)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-strip:hover .marquee-track{animation-play-state:paused}

/* STATEMENT */
.statement-sec{padding:6rem 0;background:#fff}
.statement{font-size:clamp(1.4rem,3vw,2.5rem);font-weight:600;line-height:1.4;color:var(--dark);max-width:900px;border-left:3px solid var(--blue);padding-left:2rem}

/* PAGE HERO */
.pg-hero{background:var(--dark);padding:10rem var(--pad) 6rem;position:relative;overflow:hidden}
.pg-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 60%,rgba(25,68,241,.1) 0%,transparent 70%);pointer-events:none}
.pg-hero .container{position:relative}
.pg-title{font-size:clamp(3rem,7vw,7.5rem);font-weight:800;line-height:.95;letter-spacing:-.04em;color:#fff;margin-bottom:2rem}
.pg-sub{font-size:1.1rem;color:rgba(255,255,255,.5);max-width:520px;line-height:1.7}
.pg-hero-org{background:linear-gradient(135deg,#111 0%,#1a1a1a 100%)}

/* STEPS */
.steps-sec{padding:var(--gap) 0;background:var(--off)}
.steps-sec-lt{background:#fff}
.steps-list{display:flex;flex-direction:column}
.step-row{display:grid;grid-template-columns:80px 1fr auto;align-items:start;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--gray-lt);transition:var(--t)}
.step-row:last-child{border-bottom:1px solid var(--gray-lt)}
.step-row:hover{background:rgba(25,68,241,.03);padding-left:1rem;margin-left:-1rem;padding-right:1rem}
.step-n{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:var(--blue);padding-top:.2rem}
.step-body h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:.5rem;letter-spacing:-.02em}
.step-body p{font-size:.95rem}
.step-link{font-size:.85rem;font-weight:700;color:var(--blue);white-space:nowrap;padding-top:.2rem;transition:var(--t)}
.step-link:hover{color:var(--dark)}
.step-muted{color:var(--gray-mid)}

/* SERVICES HOME */
.svc-home-sec{padding:var(--gap) 0;background:#fff}
.svc-list{display:flex;flex-direction:column}
.svc-row{display:grid;grid-template-columns:80px 1fr 1fr auto;align-items:center;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--gray-lt);color:var(--dark);transition:var(--t)}
.svc-row:last-child{border-bottom:1px solid var(--gray-lt)}
.svc-row:hover{background:var(--dark);color:#fff;padding-left:1.5rem;margin-left:-1.5rem;padding-right:1.5rem}
.svc-row:hover .svc-desc{color:rgba(255,255,255,.5)}
.svc-row:hover .svc-arrow{color:var(--blue)}
.svc-row:hover .svc-n{color:rgba(255,255,255,.15)}
.svc-n{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:var(--gray-lt);transition:var(--t)}
.svc-title{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:800;letter-spacing:-.02em;transition:var(--t)}
.svc-desc{font-size:.9rem;color:var(--gray);line-height:1.5;transition:var(--t)}
.svc-arrow{font-size:1.5rem;color:var(--blue);transition:var(--t)}

/* SERVICES DETAIL */
.svc-detail{padding:0 0 var(--gap)}
.sd-block{padding:4rem 0;border-top:1px solid var(--gray-lt)}
.sd-block:last-child{border-bottom:1px solid var(--gray-lt)}
.sd-top{display:flex;align-items:baseline;gap:2rem;margin-bottom:3rem}
.sd-num{font-size:.75rem;font-weight:800;letter-spacing:.15em;color:var(--blue);flex-shrink:0;padding-top:.5rem}
.sd-title{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.0;letter-spacing:-.03em;color:var(--dark)}
.sd-body{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.sd-left{display:flex;flex-direction:column;gap:2rem}
.sd-lead{font-size:1.05rem;font-weight:600;line-height:1.7;color:var(--dark)}
.sd-list{display:flex;flex-direction:column;gap:1rem}
.sd-list li{font-size:.95rem;color:var(--gray);padding-left:1.5rem;position:relative;line-height:1.55}
.sd-list li::before{content:'—';position:absolute;left:0;color:var(--blue);font-weight:700}

/* PORTFOLIO COMING SOON */
.pf-soon-sec{padding:var(--gap) 0;background:var(--off)}

.pf-coming-statement{
  display:grid;grid-template-columns:200px 1fr;gap:4rem;
  padding:4rem 0;border-top:1px solid var(--gray-lt);
  border-bottom:1px solid var(--gray-lt);margin-bottom:5rem;
}
.pf-cs-label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-mid);display:block;margin-bottom:.75rem}
.pf-cs-status{font-size:1.1rem;font-weight:800;color:var(--blue)}
.pf-cs-title{font-size:clamp(2rem,4vw,3.75rem);font-weight:800;line-height:1.0;letter-spacing:-.03em;color:var(--dark);margin-bottom:1.25rem}
.pf-cs-sub{font-size:1rem;color:var(--gray);max-width:500px;line-height:1.75}

.pf-teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-lt);margin-bottom:5rem}

.pf-teaser{
  background:var(--dark);padding:2.5rem;
  display:flex;flex-direction:column;gap:auto;
  min-height:260px;position:relative;
  transition:var(--t);overflow:hidden;
}
.pf-teaser::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 80% 80% at 50% 100%,rgba(25,68,241,.15) 0%,transparent 70%);
  transition:var(--t);
}
.pf-teaser:hover::before{background:radial-gradient(ellipse 80% 80% at 50% 100%,rgba(25,68,241,.35) 0%,transparent 70%)}
.pf-teaser:hover{background:#0a0a0a}

.pf-teaser-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;padding-bottom:2rem}
.pf-t-num{font-size:.75rem;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.2)}
.pf-t-lock{
  display:inline-flex;align-items:center;gap:.4rem;
  font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.15);
  padding:.25rem .6rem;border-radius:100px;
}

.pf-teaser-body{margin-top:auto}
.pf-t-cat{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.75rem}
.pf-t-title{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1}

.pf-teaser-foot{
  margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);
  font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.2);
}

.pf-cta-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem 0;border-top:1px solid var(--gray-lt)}
.pf-cta-row p{font-size:1.1rem;font-weight:600;color:var(--dark)}

/* CTA BAND */
.cta-band{padding:7rem 0;background:var(--dark)}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.cta-title{font-size:clamp(2.5rem,5vw,5.5rem);font-weight:800;line-height:.95;letter-spacing:-.04em;color:#fff}
.cta-right p{color:rgba(255,255,255,.5);margin-bottom:2rem;font-size:1rem}

/* ABOUT */
.about-story{padding:var(--gap) 0;background:#fff}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;margin-bottom:5rem}
.about-right p{font-size:1.05rem}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--gray-lt);padding-top:4rem;gap:2rem}
.ab-stat{border-left:1px solid var(--gray-lt);padding-left:2rem}
.ab-n{display:block;font-size:clamp(2.5rem,5vw,5rem);font-weight:800;letter-spacing:-.04em;color:var(--dark);line-height:1}
.ab-l{display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-mid);margin-top:.5rem}

.team-sec{padding:var(--gap) 0;background:var(--off)}
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gray-lt)}
.team-card{background:#fff;display:flex;gap:2.5rem;padding:3rem;transition:var(--t);align-items:flex-start}
.team-card:hover{background:var(--dark)}
.team-card:hover h3,.team-card:hover p{color:#fff}
.team-card:hover .team-role{color:var(--blue)}
.team-photo{flex-shrink:0;width:100px;height:100px;border-radius:3px;overflow:hidden;background:var(--gray-lt)}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transform:scale(1.3);transform-origin:center 20%;filter:grayscale(100%);transition:var(--t)}
.team-card:hover .team-photo img{filter:grayscale(0)}
.team-info h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:.25rem;transition:var(--t)}
.team-role{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}
.team-info p{font-size:.9rem;transition:var(--t)}

.values-sec{padding:var(--gap) 0;background:#fff}
.val-list{display:flex;flex-direction:column}
.val-row{display:grid;grid-template-columns:80px 1fr;gap:2rem;padding:2.5rem 0;border-top:1px solid var(--gray-lt);align-items:start}
.val-row:last-child{border-bottom:1px solid var(--gray-lt)}
.val-n{font-size:.75rem;font-weight:800;letter-spacing:.08em;color:var(--blue);padding-top:.3rem}
.val-row h3{font-size:1.3rem;font-weight:800;color:var(--dark);margin-bottom:.5rem;letter-spacing:-.02em}
.val-row p{font-size:.95rem}

/* CONTACT */
.quick-links-sec{padding:4rem 0;background:#fff;border-bottom:1px solid var(--gray-lt)}
.ql-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gray-lt)}
.ql-card{background:var(--off);display:flex;align-items:center;gap:1rem;padding:2rem;color:var(--dark);transition:var(--t)}
.ql-card:hover{background:var(--dark);color:#fff}
.ql-lbl{font-size:.95rem;font-weight:700;flex:1}
.ql-arr{font-size:1.2rem;color:var(--gray-lt);transition:var(--t)}
.ql-card:hover .ql-arr{color:#fff;transform:translate(3px,-3px)}

.contact-sec{padding:var(--gap) 0;background:var(--off)}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:6rem;align-items:start}
.contact-left .sec-h{margin-bottom:1.5rem}
.contact-left p{font-size:1rem;margin-bottom:1.5rem}
.contact-email{display:inline-block;font-size:1rem;font-weight:700;color:var(--blue);border-bottom:2px solid var(--blue);padding-bottom:2px;margin-bottom:2rem}
.contact-email:hover{color:var(--dark);border-color:var(--dark)}
.contact-social{display:flex;gap:1rem;color:var(--gray-mid)}
.contact-social a:hover{color:var(--dark)}
.contact-right{background:#fff;padding:3rem;border-top:3px solid var(--blue)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
.f-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}
.f-row .f-group{margin-bottom:0}
label{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--dark);text-transform:uppercase}
input,textarea,select{width:100%;padding:.875rem 1rem;border:1px solid var(--gray-lt);border-radius:2px;font-size:.95rem;color:var(--dark);background:var(--off);transition:var(--t);appearance:none}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);background:#fff}
textarea{resize:vertical;min-height:130px}
.form-msg{padding:1rem 1.25rem;font-size:.9rem;font-weight:600;margin-bottom:1.25rem}
.form-ok{background:#ecfdf5;color:#065f46;border-left:3px solid #34d399}
.form-err{background:#fef2f2;color:#991b1b;border-left:3px solid #f87171}

.social-foot{padding:5rem 0;background:#fff;border-top:1px solid var(--gray-lt)}
.sf-label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gray-mid);margin-bottom:1.5rem}
.sf-links{display:flex;gap:3rem}
.sf-links a{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--gray-mid);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:var(--t)}
.sf-links a:hover{color:var(--dark)}

/* FOOTER */
.site-footer{background:var(--dark);color:#fff}
.footer-top{display:grid;grid-template-columns:1fr 2fr;gap:5rem;padding:5rem var(--pad) 4rem;max-width:var(--max);margin:0 auto}
.footer-logo{height:48px;width:auto;display:block;margin-bottom:1.5rem}
.footer-brand p{font-size:.9rem;color:rgba(255,255,255,.35)}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.footer-col{display:flex;flex-direction:column;gap:.75rem}
.fc-label{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.5rem}
.footer-col a{font-size:.875rem;color:rgba(255,255,255,.5);transition:var(--t)}
.footer-col a:hover{color:#fff;transform:translateX(4px)}
.footer-bottom{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:1.5rem var(--pad);border-top:1px solid rgba(255,255,255,.07);font-size:.8rem;color:rgba(255,255,255,.25)}
.footer-social{display:flex;gap:1rem;color:rgba(255,255,255,.35)}
.footer-social a:hover{color:#fff}

/* RESPONSIVE */
@media(max-width:1024px){
  .svc-row{grid-template-columns:60px 1fr auto}.svc-desc{display:none}
  .cta-inner,.about-grid,.pf-coming-statement{grid-template-columns:1fr;gap:2.5rem}
  .ql-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .pf-teasers{grid-template-columns:1fr 1fr}
  .footer-top{grid-template-columns:1fr;gap:3rem}
}
@media(max-width:768px){
  :root{--gap:4rem;--pad:1.25rem}
  .hdr-nav{display:none}.hamburger{display:flex}.mob-nav{display:flex}
  .hero{padding:7rem var(--pad) 3.5rem}
  .hero-bottom{flex-direction:column;gap:1.5rem;align-items:flex-start}
  .hero-title{font-size:clamp(3rem,14vw,6rem)}
  .pg-hero{padding:8rem var(--pad) 4rem}
  .step-row{grid-template-columns:50px 1fr;gap:1rem}.step-link{display:none}
  .svc-row{grid-template-columns:50px 1fr auto;gap:1rem}
  .sd-body{grid-template-columns:1fr;gap:2.5rem}
  .pf-teasers{grid-template-columns:1fr}
  .pf-coming-statement{grid-template-columns:1fr;gap:1.5rem}
  .pf-cta-row{flex-direction:column;align-items:flex-start;gap:1.5rem}
  .team-grid{grid-template-columns:1fr}
  .team-card{flex-direction:row;gap:1.5rem;padding:2rem}
  .team-photo{width:80px;height:80px}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .about-stats{grid-template-columns:1fr}
  .ab-stat:first-child{border-left:none;padding-left:0}
  .val-row{grid-template-columns:1fr;gap:.75rem}
  .f-row{grid-template-columns:1fr}
  .contact-right{padding:2rem}
  .ql-grid{grid-template-columns:1fr}
  .footer-top{padding:3.5rem var(--pad) 3rem}
  .footer-cols{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
  .sf-links{gap:2rem}
}
@media(max-width:480px){
  .hero-title{font-size:clamp(2.75rem,16vw,5rem)}
  .pg-title{font-size:clamp(2.5rem,12vw,5rem)}
  .footer-cols{grid-template-columns:1fr}
}
