/* Assisted Startups Ltd Global Styles */
:root {
  --color-primary:#FF6B35;
  --color-secondary:#F7931E;
  --color-bg:#FAFAFA;
  --color-soft:#FCE4EC;
  --color-text:#2C3E50;
  --color-text-secondary:#7F8C8D;
  --color-success:#27AE60;
  --color-danger:#D64541;
  --color-warning:#F1C40F;
  --gradient-accent:linear-gradient(135deg,#FF6B35 0%,#F7931E 100%);
  --radius-sm:6px; --radius-md:12px; --radius-lg:28px; --radius-pill:999px;
  --shadow-sm:0 2px 4px rgba(0,0,0,.08); --shadow-md:0 8px 24px rgba(0,0,0,.12); --shadow-lg:0 16px 48px rgba(0,0,0,.16);
  --ease: cubic-bezier(.4,.0,.2,1);
  --font-stack:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --max-width:1360px;
}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {
  margin:0; font-family:var(--font-stack); background:var(--color-bg); color:var(--color-text); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img {max-width:100%; display:block;}
svg {display:block;}

/* Typography scale */
.h-xxl {font-size:clamp(3.5rem,8vw,6rem); font-weight:800; line-height:1.05; letter-spacing:-.02em;}
.h-xl {font-size:clamp(2.75rem,6vw,4.5rem); font-weight:800; line-height:1.1;}
.h-lg {font-size:clamp(2rem,4.5vw,3.25rem); font-weight:700; line-height:1.15;}
.h-md {font-size:clamp(1.5rem,3.5vw,2.25rem); font-weight:600;}
.h-sm {font-size:1.25rem; font-weight:600;}
.lead {font-size:1.25rem; line-height:1.5; font-weight:500;}
.text-muted {color:var(--color-text-secondary);} 

p {line-height:1.6;}
strong {font-weight:600;}

/* Layout helpers */
.container {width:100%; margin:0 auto; max-width:var(--max-width); padding:0 3rem;}
.grid {display:grid; gap:2.5rem;}
.flex {display:flex;} .flex-center {display:flex; justify-content:center; align-items:center;} .between {display:flex; justify-content:space-between; align-items:center;}
.stack > * + * {margin-top:var(--stack-space,1rem);} 
.section {padding:6rem 0; position:relative;} 
.section-alt {background:var(--color-soft);} 

/* Header */
.site-header {position:sticky; top:0; z-index:1000; backdrop-filter:blur(14px); background:rgba(250,250,250,.72); border-bottom:1px solid rgba(0,0,0,.06);}
.nav {display:flex; align-items:center; gap:2rem;}
.nav a {position:relative; text-decoration:none; font-weight:500; color:var(--color-text); padding:.75rem .5rem;}
.nav a:after {content:""; position:absolute; left:0; bottom:.35rem; height:2px; width:0; background:var(--color-primary); transition:width .35s var(--ease);}
.nav a:hover:after,.nav a:focus:after {width:100%;}
.logo {display:flex; align-items:center; gap:.75rem; font-weight:800; font-size:1.4rem; letter-spacing:-.01em;}

/* Buttons */
.btn {cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-weight:600; border:none; border-radius:var(--radius-pill); padding:.95rem 1.65rem; font-size:1rem; position:relative; overflow:hidden; text-decoration:none;}
.btn-primary {background:var(--gradient-accent); color:#fff; box-shadow:var(--shadow-sm);} 
.btn-primary:hover {box-shadow:var(--shadow-md); transform:translateY(-2px);} 
.btn-outline {background:#fff; color:var(--color-text); border:1px solid rgba(0,0,0,.15);} .btn-outline:hover {border-color:var(--color-primary); color:var(--color-primary);} 
.btn-soft {background:var(--color-soft); color:var(--color-text);} .btn-soft:hover {background:#fff; box-shadow:var(--shadow-sm);} 

/* Hero */
.hero {min-height:84vh; display:grid; grid-template-columns:repeat(auto-fit,minmax(480px,1fr)); align-items:center; gap:4rem; padding-top:4rem;}
.hero-visual {position:relative;}
.hero-visual .shape {position:absolute; inset:0; background:radial-gradient(circle at 30% 40%,rgba(255,107,53,.5),transparent 60%), radial-gradient(circle at 70% 60%,rgba(247,147,30,.55),transparent 65%); filter:blur(60px); opacity:.65; animation:float 12s ease-in-out infinite alternate;}
@keyframes float {from {transform:translateY(-20px);} to {transform:translateY(20px);} }

/* Services */
.services-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:2rem;}
.service-card {background:#fff; padding:2rem; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); position:relative; overflow:hidden; display:flex; flex-direction:column; gap:1rem; transition:box-shadow .4s var(--ease), transform .4s var(--ease);} 
.service-card:before {content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,107,53,.12),rgba(247,147,30,.12)); opacity:0; transition:opacity .5s var(--ease);} 
.service-card:hover {box-shadow:var(--shadow-md); transform:translateY(-6px);} .service-card:hover:before {opacity:1;} 
.service-icon {width:48px; height:48px; display:grid; place-items:center; border-radius:var(--radius-md); background:var(--color-soft); color:var(--color-primary); font-weight:700; font-size:1.1rem;}

/* Metrics */
.metrics {display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2rem; margin-top:3rem;}
.metric {background:#fff; padding:1.75rem 1.5rem; border-radius:var(--radius-md); box-shadow:var(--shadow-sm); position:relative; overflow:hidden;}
.metric h3 {margin:0; font-size:2.25rem; font-weight:700; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent;}
.metric span {display:block; margin-top:.35rem; font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; color:var(--color-text-secondary);}

/* Testimonials Carousel */
.carousel {position:relative; overflow:hidden;}
.carousel-track {display:flex; gap:2rem; transition:transform .8s var(--ease);}
.testimonial {flex:0 0 420px; background:#fff; padding:2rem; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); position:relative; display:flex; flex-direction:column; gap:1rem;}
.testimonial:before {content:"\201C"; position:absolute; top:.5rem; left:1rem; font-size:4rem; line-height:1; color:rgba(0,0,0,.07); font-weight:700;}
.carousel-controls {display:flex; gap:.75rem; margin-top:1rem;}
.carousel-controls button {width:42px; height:42px; border-radius:50%; border:none; background:var(--color-soft); cursor:pointer; font-weight:600; color:var(--color-primary); box-shadow:var(--shadow-sm);} 
.carousel-controls button:hover {background:#fff;}

/* Pricing Preview */
.pricing-preview {display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:2rem; margin-top:3rem;}
.price-card {background:#fff; padding:2.25rem 2rem 2.75rem; border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); position:relative; display:flex; flex-direction:column; gap:1rem;}
.price-card.popular {border:2px solid var(--color-primary);} .badge-popular {position:absolute; top:1rem; right:1rem; background:var(--gradient-accent); color:#fff; padding:.4rem .75rem; font-size:.75rem; font-weight:600; border-radius:var(--radius-pill); animation:pulse 3s infinite;} @keyframes pulse {0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
.price-card h4 {margin:0; font-size:1.45rem; font-weight:700;}
.price {font-size:2rem; font-weight:800; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent;}

/* Contact Form */
.contact-form {display:grid; gap:1.25rem; max-width:720px; margin:2.5rem auto 0;}
.contact-form .row {display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.field {display:flex; flex-direction:column; gap:.4rem;}
.field label {font-size:.8rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--color-text-secondary);} 
.field input,.field select,.field textarea {padding:.85rem 1rem; border:1px solid rgba(0,0,0,.15); border-radius:var(--radius-md); background:#fff; font-size:.95rem; font-family:var(--font-stack); resize:vertical; transition:border-color .3s var(--ease), box-shadow .3s var(--ease);} 
.field input:focus,.field select:focus,.field textarea:focus {outline:none; border-color:var(--color-primary); box-shadow:0 0 0 4px rgba(255,107,53,.15);} 
.submit-wrap {text-align:center;}

/* Enhanced selects for Service Interest & Budget */
.select-enhanced {
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237F8C8D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .9rem center; background-size:16px;
  padding-right:2.5rem;
}
.select-enhanced:hover {border-color: var(--color-primary);} 
.select-enhanced:focus {border-color: var(--color-primary); box-shadow:0 0 0 4px rgba(255,107,53,.15);} 

/* Blinking CTA animation for send button */
@keyframes blinkGlow { 0%,100% { box-shadow: 0 0 0 0 rgba(255,107,53,0.0); } 50% { box-shadow: 0 0 0 10px rgba(255,107,53,0.15); } }
.btn-blink { animation: blinkGlow 2.6s var(--ease) infinite; }
@media (prefers-reduced-motion: reduce){ .btn-blink { animation: none; } }

/* Cookie Consent */
.cookie-banner {position:fixed; bottom:1rem; left:50%; transform:translateX(-50%) translateY(160%); width:clamp(300px,90%,680px); background:#fff; border-radius:var(--radius-lg); box-shadow:var(--shadow-lg); padding:1.75rem 2rem; z-index:1200; display:flex; flex-direction:column; gap:1rem; transition:transform .8s var(--ease);} 
.cookie-banner.active {transform:translateX(-50%) translateY(0);} 
.cookie-actions {display:flex; flex-wrap:wrap; gap:.75rem;} 
.cookie-banner h4 {margin:0; font-size:1.15rem; font-weight:700;}

/* Footer */
.site-footer {background:#fff; border-top:1px solid rgba(0,0,0,.08); padding:4rem 0 2.5rem; margin-top:6rem; position:relative;}
.footer-grid {display:grid; gap:3rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.footer-col h5 {margin:0 0 1rem; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; color:var(--color-text-secondary);}
.footer-col a {display:block; text-decoration:none; color:var(--color-text); padding:.35rem 0; font-size:.9rem;}
.footer-col a:hover {color:var(--color-primary);} 
.copy {margin-top:3rem; font-size:.75rem; text-align:center; color:var(--color-text-secondary);} 
.back-top {position:absolute; right:2rem; top:-1.5rem;}
.back-top button {background:var(--gradient-accent); color:#fff; border:none; width:54px; height:54px; border-radius:50%; cursor:pointer; box-shadow:var(--shadow-md); font-weight:700;}

/* Reveal Animations */
.reveal {opacity:0; transform:translateY(32px); transition:opacity .9s var(--ease), transform .9s var(--ease);} 
.reveal.visible {opacity:1; transform:translateY(0);} 

/* Custom Cursor */
.cursor {position:fixed; top:0; left:0; width:28px; height:28px; border:2px solid var(--color-primary); border-radius:50%; pointer-events:none; transform:translate(-50%,-50%); z-index:2000; mix-blend-mode:difference; transition:width .25s var(--ease), height .25s var(--ease), background .25s var(--ease);} 
.cursor.active {background:var(--color-primary); width:50px; height:50px;}

/* Responsive */
@media (max-width:900px){
  .hero {grid-template-columns:1fr;}
  .nav {gap:1rem;}
  .site-header {padding:.5rem 0;}
}
@media (max-width:600px){
  .h-xxl {font-size:3rem;} .h-xl {font-size:2.5rem;} .h-lg {font-size:2rem;} .lead {font-size:1.05rem;}
  .section {padding:4rem 0;}
  .hero {min-height:auto;}
  .cookie-banner {padding:1.25rem 1.25rem;}
}

/* Accessibility */
:focus-visible {outline:3px solid var(--color-primary); outline-offset:2px;}
.skip-link {position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;} .skip-link:focus {left:0; top:0; width:auto; height:auto; padding:1rem; background:#000; color:#fff; z-index:3000;}

/* Utility */
.gradient-text {background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent;}
.xl-space {margin-top:5rem;}
.center {text-align:center;}
.center-page {text-align:center;}
.center-page p, .center-page ul, .center-page table {margin-left:auto; margin-right:auto;}

/* Legal pages layout: 20% / 60% / 20% columns */
.legal-layout {display:grid; grid-template-columns:1fr minmax(0,3fr) 1fr; gap:2rem;}
.legal-content {max-width:900px; margin:0 auto;}
.legal-content p, .legal-content li {text-align:justify;}
.legal-content h2 {margin-top:3rem;}

/* Hero inner spacing for CTA block */
.hero-actions {padding:0 2.5rem 0 2.5rem;}

/* Phone accent */
.phone-accent {margin-top:2rem; font-size:1.35rem; font-weight:700; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:.5px; display:inline-flex; align-items:center; gap:.65rem;}
.phone-accent a {text-decoration:none; color:inherit;}
.phone-accent:before {content:"☎"; font-size:1.1rem; color:var(--color-primary); filter:drop-shadow(0 2px 3px rgba(0,0,0,.15));}

@media (max-width:1100px){
  .legal-layout {grid-template-columns:.5fr minmax(0,4fr) .5fr;}
}
@media (max-width:800px){
  .legal-layout {grid-template-columns:1fr;}
  .legal-content {max-width:100%;}
}
