@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@500;600;700&family=Albert+Sans:wght@400;500;600&display=swap');


:root{
  --surface-base:#0a1512;
  --surface-raised:#112019;
  --surface-inset:#0d1a16;
  --surface-overlay:rgba(8,16,13,0.94);
  --border-subtle:rgba(255,255,255,0.09);
  --text-primary:#f3ede2;
  --text-secondary:#b9c4bc;
  --text-muted:#889690;
  --accent-amber:#ffb454;
  --accent-teal:#3fe8c9;
  --accent-coral:#ff7a68;
  --gradient-1:linear-gradient(135deg,#ffb454,#ff7a68 55%,#3fe8c9);
  --gradient-2:linear-gradient(120deg,#3fe8c9,#ffb454);
  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:26px;
  --radius-xl:40px;
  --shadow-sm:0 2px 10px rgba(0,0,0,0.35);
  --shadow-md:0 14px 34px rgba(0,0,0,0.45),0 2px 8px rgba(0,0,0,0.3);
  --shadow-glow-amber:0 10px 32px rgba(255,180,84,0.28),0 0 0 1px rgba(255,180,84,0.1);
  --shadow-glow-teal:0 10px 32px rgba(63,232,201,0.26),0 0 0 1px rgba(63,232,201,0.1);
  --space-section:clamp(4rem,9vw,8rem);
  --space-card:clamp(1.25rem,2.6vw,2.1rem);
  --container-w:min(1200px,92vw);
  --transition:0.35s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--surface-base);
  color:var(--text-secondary);
  font-family:'Albert Sans',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden;}
img{max-width:100%;display:block;border-radius:var(--radius-md);}
a{color:inherit;}
ul,ol{margin:0;padding:0;}
button{font-family:inherit;}


.text-display{
  font-family:'Crimson Pro',serif;
  color:var(--text-primary);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-0.01em;
  margin:0 0 0.6em;
}
h1.text-display{font-size:clamp(2.6rem,6vw,5rem);}
h2.text-display{font-size:clamp(2rem,4.4vw,3.1rem);}
h3.text-display{font-size:clamp(1.25rem,2.1vw,1.6rem);}
blockquote.text-display{font-size:clamp(1.5rem,2.8vw,2.3rem);font-weight:500;margin:0;}

.text-body{
  font-family:'Albert Sans',sans-serif;
  color:var(--text-secondary);
  line-height:1.75;
  font-size:clamp(1rem,1vw + 0.6rem,1.08rem);
  margin:0 0 1em;
}
.text-caption{
  font-family:'Albert Sans',sans-serif;
  color:var(--text-muted);
  font-size:0.8rem;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-weight:600;
  margin:0 0 0.8em;
  display:block;
}


.surface{background:var(--surface-base);}
.surface-raised{
  background:var(--surface-raised);
  border:1px solid var(--border-subtle);
  box-shadow:var(--shadow-md);
  border-radius:var(--radius-lg);
}
.surface-inset{background:var(--surface-inset);}

.space-section{
  padding-block:var(--space-section);
  padding-inline:max(1.25rem,(100% - var(--container-w)) / 2);
}
.space-card{padding:var(--space-card);}


.action-primary{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:0.95rem 1.9rem;border-radius:var(--radius-md);
  background:var(--gradient-1);color:#0a1512;font-weight:600;
  text-decoration:none;border:none;cursor:pointer;
  transition:var(--transition);box-shadow:var(--shadow-glow-amber);
  font-size:0.98rem;min-height:48px;
}
.action-primary:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(255,122,104,0.4),var(--shadow-glow-teal);}
.action-primary:active{transform:translateY(-1px);}

.action-ghost{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:0.9rem 1.8rem;border-radius:var(--radius-md);
  background:transparent;border:1px solid var(--border-subtle);
  color:var(--text-primary);text-decoration:none;font-weight:600;
  transition:var(--transition);font-size:0.98rem;min-height:48px;
}
.action-ghost:hover{border-color:var(--accent-teal);color:var(--accent-teal);box-shadow:var(--shadow-glow-teal);transform:translateY(-3px);}


.nav-bar{position:relative;z-index:100;}
.nav-container{
  max-width:var(--container-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.3rem 1.25rem;
}
.nav-logo{display:flex;align-items:center;gap:0.7rem;text-decoration:none;}
.nav-logo span{font-family:'Crimson Pro',serif;font-size:1.35rem;color:var(--text-primary);font-weight:600;}
.nav-logo em{color:var(--accent-teal);font-style:normal;}
.nav-links{display:none;gap:1.9rem;align-items:center;}
.nav-link{
  text-decoration:none;color:var(--text-secondary);font-weight:500;
  font-size:0.95rem;position:relative;transition:var(--transition);
}
.nav-link::after{
  content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;
  background:var(--gradient-1);transition:width var(--transition);
}
.nav-link:hover{color:var(--text-primary);}
.nav-link:hover::after{width:100%;}

.nav-toggle{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;background:transparent;border:1px solid var(--border-subtle);
  border-radius:var(--radius-sm);cursor:pointer;position:relative;z-index:210;
}
.nav-toggle span{
  display:block;width:20px;height:2px;margin:0 auto;background:var(--text-primary);
  transition:var(--transition);
}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.is-active span:nth-child(2){opacity:0;}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-progress{height:2px;width:100%;background:rgba(255,255,255,0.06);}
.nav-progress__fill{height:100%;width:0%;background:var(--gradient-1);transition:width 0.15s linear;}


.mobile-overlay{
  position:fixed;inset:0;z-index:200;
  background:linear-gradient(155deg,var(--surface-raised),var(--surface-base) 70%);
  clip-path:polygon(100% 0%,100% 0%,100% 0%,100% 0%);
  transition:clip-path 0.65s cubic-bezier(.65,0,.35,1);
  pointer-events:none;
  display:flex;align-items:center;justify-content:center;
}
.mobile-overlay.is-open{
  clip-path:polygon(0% 0%,100% 0%,100% 100%,0% 100%);
  pointer-events:auto;
}
.mobile-overlay__links{
  display:flex;flex-direction:column;align-items:center;gap:1.6rem;
  opacity:0;transition:opacity 0.4s ease;
}
.mobile-overlay.is-open .mobile-overlay__links{opacity:1;transition-delay:0.5s;}
.mobile-overlay__links a{
  text-decoration:none;color:var(--text-primary);font-family:'Crimson Pro',serif;
  font-size:1.7rem;font-weight:600;
}
.mobile-overlay__links a:hover{color:var(--accent-teal);}


.hero{position:relative;overflow:hidden;}
.hero::before{
  content:'';position:absolute;top:-20%;right:-10%;width:60vw;height:60vw;
  background:radial-gradient(circle,rgba(255,180,84,0.16),transparent 65%);
  pointer-events:none;
}
.hero::after{
  content:'';position:absolute;bottom:-25%;left:-15%;width:55vw;height:55vw;
  background:radial-gradient(circle,rgba(63,232,201,0.14),transparent 65%);
  pointer-events:none;
}
.hero__content{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:2;}
.hero__eyebrow{text-align:center;}
.hero__title{margin-bottom:0.5em;}
.hero__subtitle{max-width:600px;margin:0 auto 2em;}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}
.hero__image{
  max-width:900px;margin:3.5rem auto 0;position:relative;z-index:2;
  border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);
}
.hero__image img{border-radius:var(--radius-xl);}
.hero__trust{
  max-width:var(--container-w);margin:3.5rem auto 0;display:flex;flex-wrap:wrap;
  gap:1.5rem 2rem;justify-content:center;position:relative;z-index:2;
  padding-top:2.2rem;border-top:1px solid var(--border-subtle);
}
.trust-item{display:flex;align-items:center;gap:0.6rem;font-size:0.9rem;color:var(--text-secondary);}
.trust-item i{color:var(--accent-amber);font-size:1.05rem;}


.section-head{max-width:720px;margin:0 auto 3rem;text-align:center;}
.section-head .text-caption{text-align:center;}


.feature-grid{
  display:grid;grid-template-columns:1fr;gap:var(--space-card);
  max-width:var(--container-w);margin:0 auto;
}
.feature-card{overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);}
.feature-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,0.5),var(--shadow-glow-teal);}
.feature-card img{width:100%;height:220px;object-fit:cover;margin-bottom:1.2rem;}
.feature-card--hero img{height:320px;}
.feature-card__body{padding:0 0.2rem;}

@media(min-width:860px){
  .feature-grid{
    grid-template-columns:repeat(4,1fr);
    grid-template-areas:"hero hero b c" "hero hero d e";
  }
  .feature-card--hero{grid-area:hero;display:flex;flex-direction:column;}
  .feature-card--hero img{height:100%;flex:1;min-height:260px;}
  .feature-grid > .feature-card:nth-of-type(2){grid-area:b;}
  .feature-grid > .feature-card:nth-of-type(3){grid-area:c;}
  .feature-grid > .feature-card:nth-of-type(4){grid-area:d;}
  .feature-grid > .feature-card:nth-of-type(5){grid-area:e;}
}


.carousel{max-width:var(--container-w);margin:0 auto;}
.carousel__track{
  display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:1.2rem;-webkit-overflow-scrolling:touch;
}
.carousel__track::-webkit-scrollbar{height:6px;}
.carousel__track::-webkit-scrollbar-thumb{background:var(--accent-teal);border-radius:10px;}
.carousel__card{
  scroll-snap-align:start;flex:0 0 84%;overflow:hidden;
  transition:transform var(--transition);
}
.carousel__card:hover{transform:translateY(-5px);}
.carousel__card img{width:100%;height:220px;object-fit:cover;}
.carousel__body{padding:1.4rem;}
@media(min-width:640px){.carousel__card{flex:0 0 46%;}}
@media(min-width:1024px){.carousel__card{flex:0 0 27%;}}


.process-steps{
  max-width:var(--container-w);margin:0 auto;list-style:none;
  display:grid;grid-template-columns:1fr;gap:2rem;
}
.process-steps li{position:relative;padding-left:3.6rem;}
.process-steps__num{
  position:absolute;left:0;top:-0.2rem;font-family:'Crimson Pro',serif;
  font-size:2.1rem;font-weight:700;background:var(--gradient-1);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@media(min-width:860px){.process-steps{grid-template-columns:repeat(4,1fr);}}


.cta-minimal{text-align:center;}
.cta-minimal h2{max-width:680px;margin:0 auto 1.6em;}


.site-footer{border-top:1px solid var(--border-subtle);}
.footer-quote{max-width:820px;margin:0 auto;text-align:center;}
.footer-quote__attr{text-align:center;margin-top:1rem;}
.footer-grid{
  max-width:var(--container-w);margin:0 auto;display:grid;
  grid-template-columns:1fr;gap:2.4rem;border-top:1px solid var(--border-subtle);
}
.footer-col{display:flex;flex-direction:column;gap:0.6rem;}
.footer-col a{text-decoration:none;color:var(--text-secondary);transition:color var(--transition);font-size:0.95rem;}
.footer-col a:hover{color:var(--accent-teal);}
.footer-col__title{margin-bottom:0.3rem;}
.footer-bottom{
  max-width:var(--container-w);margin:0 auto;padding:1.5rem 1.25rem;
  text-align:center;border-top:1px solid var(--border-subtle);
}
@media(min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;padding-inline:1.25rem;}}


.back-to-top{
  position:fixed;bottom:1.8rem;right:1.8rem;width:52px;height:52px;
  border-radius:50%;background:var(--gradient-1);color:#0a1512;border:none;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:var(--shadow-glow-amber);opacity:0;visibility:hidden;
  transform:translateY(10px);transition:var(--transition);z-index:150;font-size:1.1rem;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{box-shadow:0 14px 36px rgba(63,232,201,0.4);transform:translateY(-3px);}


.contact-form{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:1.3rem;}
.form-row{display:flex;flex-direction:column;gap:0.5rem;}
.form-row input,.form-row select,.form-row textarea{
  background:var(--surface-inset);border:1px solid var(--border-subtle);
  border-radius:var(--radius-sm);padding:0.85rem 1rem;color:var(--text-primary);
  font-family:'Albert Sans',sans-serif;font-size:1rem;transition:var(--transition);min-height:48px;
}
.form-row textarea{min-height:120px;resize:vertical;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{
  outline:none;border-color:var(--accent-teal);box-shadow:0 0 0 3px rgba(63,232,201,0.18);
}
.form-row input.is-invalid,.form-row select.is-invalid,.form-row textarea.is-invalid{border-color:var(--accent-coral);}
.form-check{display:flex;align-items:flex-start;gap:0.7rem;font-size:0.9rem;color:var(--text-secondary);}
.form-check input{width:20px;height:20px;flex-shrink:0;margin-top:2px;accent-color:var(--accent-teal);}
.form-check a{color:var(--accent-teal);}
.form-check.is-invalid{color:var(--accent-coral);}
.iti,#phone{width:100%;}


.team-section{display:grid;grid-template-columns:1fr;gap:2.4rem;max-width:var(--container-w);margin:0 auto;align-items:center;}
.team-section img{width:100%;max-width:340px;margin:0 auto;height:340px;object-fit:cover;}
@media(min-width:860px){.team-section{grid-template-columns:340px 1fr;}}

.map-wrap{max-width:var(--container-w);margin:0 auto;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.map-wrap iframe{width:100%;height:380px;border:0;display:block;}

.contact-info-grid{
  max-width:var(--container-w);margin:0 auto 3rem;display:grid;
  grid-template-columns:1fr;gap:1.2rem;
}
.contact-info-card{display:flex;align-items:center;gap:1rem;}
.contact-info-card i{
  width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;background:var(--surface-inset);
  color:var(--accent-teal);font-size:1.1rem;
}
@media(min-width:700px){.contact-info-grid{grid-template-columns:repeat(3,1fr);}}


.page-hero{text-align:center;}
.page-hero__inner{max-width:760px;margin:0 auto;}


.timeline{max-width:var(--container-w);margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.8rem;}
.timeline__item{display:grid;grid-template-columns:60px 1fr;gap:1.2rem;}
.timeline__marker{
  width:60px;height:60px;border-radius:50%;background:var(--surface-inset);
  border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;
  font-family:'Crimson Pro',serif;font-weight:700;font-size:1.3rem;color:var(--accent-amber);
}
@media(min-width:760px){.timeline__item{grid-template-columns:60px 1fr;}}


.checklist{list-style:none;max-width:var(--container-w);margin:0 auto;display:grid;grid-template-columns:1fr;gap:1rem;}
.checklist li{display:flex;gap:0.9rem;align-items:flex-start;}
.checklist i{color:var(--accent-teal);margin-top:0.25rem;}
@media(min-width:760px){.checklist{grid-template-columns:1fr 1fr;}}


.faq{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.2rem;}
.faq__item{border-bottom:1px solid var(--border-subtle);padding-bottom:1.2rem;}


.legal{max-width:820px;margin:0 auto;}
.legal h2{margin-top:2.2em;}
.legal h3{margin-top:1.4em;color:var(--text-primary);font-family:'Crimson Pro',serif;font-size:1.2rem;}
.legal ul{margin:0 0 1.2em 1.3rem;}
.legal li{margin-bottom:0.5em;color:var(--text-secondary);}
.legal table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:0.92rem;}
.legal th,.legal td{border:1px solid var(--border-subtle);padding:0.7rem 0.9rem;text-align:left;color:var(--text-secondary);}
.legal th{color:var(--text-primary);background:var(--surface-inset);}
.legal .legal-updated{color:var(--accent-teal);font-weight:600;}


.thanks-wrap{
  min-height:60vh;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 30% 20%,rgba(255,180,84,0.1),transparent 55%),
             radial-gradient(circle at 80% 80%,rgba(63,232,201,0.1),transparent 55%);
}
.thanks-card{max-width:480px;text-align:center;}
.thanks-card i{
  width:70px;height:70px;border-radius:50%;background:var(--gradient-1);
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;color:#0a1512;
  margin:0 auto 1.5rem;
}


.cookie-card{
  position:fixed;top:1.4rem;left:-360px;width:320px;max-width:88vw;z-index:300;
  background:var(--surface-raised);border:1px solid var(--border-subtle);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.4rem;
  transition:left 0.55s cubic-bezier(.4,0,.2,1);
}
.cookie-card.is-visible{left:1.4rem;}
.cookie-card__icon{
  width:38px;height:38px;border-radius:50%;background:var(--surface-inset);
  display:flex;align-items:center;justify-content:center;color:var(--accent-teal);margin-bottom:0.8rem;
}
.cookie-card__text{margin-bottom:0.6rem;text-transform:none;letter-spacing:0;font-size:0.85rem;color:var(--text-secondary);font-weight:500;}
.cookie-card__actions{display:flex;gap:0.6rem;margin-top:1rem;flex-wrap:wrap;}
.cookie-card__actions button{padding:0.65rem 1.1rem;font-size:0.85rem;min-height:40px;}

.cookie-modal{
  position:fixed;inset:0;z-index:310;background:rgba(6,12,10,0.75);
  display:flex;align-items:center;justify-content:center;padding:1.5rem;
  opacity:0;visibility:hidden;transition:opacity 0.3s ease;
}
.cookie-modal.is-open{opacity:1;visibility:visible;}
.cookie-modal__panel{max-width:520px;width:100%;position:relative;max-height:88vh;overflow-y:auto;}
.cookie-modal-close{
  position:absolute;top:1rem;right:1.2rem;background:none;border:none;color:var(--text-secondary);
  font-size:1.6rem;cursor:pointer;line-height:1;
}
.cookie-modal__category{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1rem 0;border-top:1px solid var(--border-subtle);
}
.cookie-modal__category input{width:20px;height:20px;accent-color:var(--accent-teal);margin-top:0.3rem;}
.cookie-modal__actions{display:flex;gap:0.8rem;flex-wrap:wrap;margin-top:1.2rem;}


.center-text{text-align:center;}