:root{
  --ivory:#f7f3ea;
  --paper:#fffdf8;
  --blue:#143a59;
  --blue-soft:#2e6280;
  --mist:#c8dce3;
  --sage:#9fb6a7;
  --sage-dark:#6f8f7a;
  --sand:#ddd0b8;
  --sand-deep:#cbb792;
  --stone:#68757c;
  --ink:#18303f;
  --line:#d9ddd8;
  --shadow:0 24px 60px rgba(20,58,89,.10);
  --radius:22px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--ivory);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.55;
}
a{color:inherit}
.wrap{width:min(calc(100% - 32px),var(--max));margin:auto}

.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(247,243,234,.90);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(20,58,89,.08)
}
.nav{
  min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px
}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none}
.brand strong{
  display:block;font-family:Georgia,"Times New Roman",serif;
  font-size:1.75rem;letter-spacing:-.025em;color:var(--blue);line-height:1
}
.brand small{
  display:block;margin-top:5px;font-size:.67rem;text-transform:uppercase;
  letter-spacing:.13em;color:var(--stone)
}
nav{display:flex;align-items:center;gap:24px}
nav a{text-decoration:none;font-weight:650;font-size:.95rem}
.nav-cta{
  padding:11px 17px;border-radius:999px;background:var(--blue);color:white
}

.hero{
  position:relative;
  overflow:hidden;
  min-height:720px;
  background:
    linear-gradient(90deg,
      rgba(247,243,234,.98) 0%,
      rgba(247,243,234,.95) 34%,
      rgba(247,243,234,.72) 49%,
      rgba(247,243,234,.18) 68%,
      rgba(247,243,234,.02) 100%),
    url("marina-dunes-hero.png") center right / cover no-repeat;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:120px;
  background:linear-gradient(180deg,rgba(247,243,234,0),var(--ivory));
  pointer-events:none;
}
.hero-grid{
  position:relative;
  z-index:5;
  min-height:700px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.62fr);
  gap:72px;
  align-items:center;
  padding:78px 0 105px;
}
.hero-copy-block{max-width:760px}
.eyebrow{
  margin:0 0 12px;color:var(--sage-dark);font-weight:850;
  text-transform:uppercase;letter-spacing:.14em;font-size:.77rem
}
h1,h2,h3{margin-top:0}
h1,h2{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--blue);letter-spacing:-.04em;line-height:1.02
}
h1{font-size:clamp(3rem,6.5vw,5.9rem);margin-bottom:24px}
h2{font-size:clamp(2.25rem,4.8vw,4.1rem);margin-bottom:34px}
h3{color:var(--blue);line-height:1.15}
.hero-copy{max-width:720px;margin:0;color:#526b78;font-size:clamp(1.08rem,2vw,1.3rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin:32px 0 14px}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:52px;padding:0 21px;border-radius:999px;text-decoration:none;font-weight:800
}
.primary{background:var(--blue);color:white;box-shadow:0 10px 24px rgba(20,58,89,.16)}
.secondary{border:1px solid var(--sage-dark);background:rgba(255,255,255,.48);color:var(--blue)}
.micro{font-size:.9rem;color:#6d7d83}

.hero-card{
  align-self:center;max-width:380px;justify-self:end;
  padding:30px 32px;border:1px solid rgba(20,58,89,.12);border-radius:var(--radius);
  background:rgba(255,253,248,.94);box-shadow:var(--shadow)
}
.card-kicker{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;color:var(--blue);font-weight:800;font-size:1.15rem}
.hero-card ul{list-style:none;margin:0;padding:0}
.hero-card li{position:relative;padding:10px 0 10px 34px;color:#47606f}
.hero-card li::before{
  content:"✓";position:absolute;left:0;top:8px;width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;background:var(--sage-dark);color:white;font-size:.78rem;font-weight:900
}



.section{padding:92px 0}
.cards,.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card,.example-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 34px rgba(20,58,89,.04)
}
.service-card p,.example-card p{color:#667983}
.service-card ul{padding-left:18px;margin-bottom:0}
.service-card li+li{margin-top:7px}
.num{
  display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:#e2ebe5;color:var(--blue);font-weight:900;font-size:.78rem;margin-bottom:28px
}

.examples{background:linear-gradient(180deg,#eef2ee,#e7efef)}
.pill{
  display:inline-block;padding:7px 10px;border-radius:999px;background:#dde8e3;color:var(--blue);
  font-weight:850;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;margin-bottom:34px
}



footer{padding:30px 0 42px}
.footer-inner{display:flex;justify-content:space-between;gap:24px;color:#68777c;font-size:.9rem}
.footer-inner strong{display:block;color:var(--blue)}
.footer-inner div span{display:block;margin-top:3px}

@media (max-width:900px){
  .hero{min-height:auto}
  .hero-grid{grid-template-columns:1fr;min-height:auto;padding:72px 0 160px}
  .hero-card{justify-self:start;max-width:520px}
      .cards,.example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fit-grid,    }
@media (max-width:650px){
  .nav{min-height:68px}
    .brand strong{font-size:1.4rem}
  .brand small{font-size:.56rem}
  nav a:not(.nav-cta){display:none}
  .hero-grid{padding:58px 0 140px}
  h1{font-size:clamp(2.7rem,14vw,4rem)}
  .hero-card{padding:24px}
      .section{padding:68px 0}
  .cards,.example-grid{grid-template-columns:1fr}
    .footer-inner{flex-direction:column}
}


.hero-card{
  backdrop-filter:blur(12px);
  background:rgba(255,253,248,.92);
  border:1px solid rgba(20,58,89,.14);
  box-shadow:0 20px 48px rgba(20,58,89,.13);
}
.hero-copy-block{
  padding:8px 0 18px;
}
.hero-copy{
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}
@media (max-width:900px){
  .hero{
    background:
      linear-gradient(180deg,
        rgba(247,243,234,.97) 0%,
        rgba(247,243,234,.94) 42%,
        rgba(247,243,234,.62) 72%,
        rgba(247,243,234,.28) 100%),
      url("marina-dunes-hero.png") 68% center / cover no-repeat;
  }
  .hero-grid{
    grid-template-columns:1fr;
    min-height:auto;
    padding:64px 0 120px;
    gap:34px;
  }
  .hero-card{
    justify-self:start;
    max-width:520px;
  }
}

.hero-card .card-kicker{
  margin-top:0;
  padding-top:0;
}

.brand-logo{
  width:54px;
  height:54px;
  object-fit:contain;
  flex:0 0 auto;
}
@media (max-width:650px){
  .brand-logo{width:42px;height:42px}
}

/* Personal brand refinements */
.brand{
  gap:18px;
}
.brand-logo{
  width:82px !important;
  height:64px !important;
  object-fit:contain;
  object-position:center;
}
.brand strong{
  font-size:1.72rem !important;
  text-transform:lowercase;
}
.audience-note{
  max-width:720px;
  margin:18px 0 0;
  padding-left:16px;
  border-left:3px solid var(--sage);
  color:#48616e;
  font-size:1rem;
  line-height:1.62;
}
.hero-copy-block{
  max-width:800px;
}
.hero-copy-block h1{
  max-width:840px;
}
@media (max-width:650px){
  .brand{gap:10px}
  .brand-logo{
    width:58px !important;
    height:48px !important;
  }
  .brand strong{
    font-size:1.22rem !important;
  }
  .audience-note{
    font-size:.94rem;
    padding-left:12px;
  }
}


/* Improved scope + contact sections */
.fit{
  padding-top:78px;
}
.fit-panel{
  background:linear-gradient(180deg,rgba(255,253,248,.92),rgba(255,250,243,.98));
  border:1px solid var(--line);
  border-radius:30px;
  padding:46px;
  box-shadow:0 18px 46px rgba(20,58,89,.05);
}
.fit-intro{
  max-width:860px;
  margin-bottom:28px;
}
.scope-copy{
  max-width:860px;
  color:#5b6f79;
  font-size:1.04rem;
  line-height:1.7;
}
.fit-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.fit-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:24px;
  padding:26px 26px 22px;
}
.fit-card h3{
  margin:0 0 16px;
  font-size:1.36rem;
  color:var(--blue);
}
.fit-label{
  margin:0 0 12px;
  color:var(--sage-dark);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.74rem;
}
.fit-bullets{
  list-style:none;
  margin:0;
  padding:0;
}
.fit-bullets li{
  position:relative;
  margin:0;
  padding:12px 0 12px 30px;
  border-top:1px solid rgba(20,58,89,.09);
  color:#45606d;
  font-weight:650;
}
.fit-bullets li:first-child{
  border-top:none;
  padding-top:0;
}
.fit-bullets li::before{
  content:"•";
  position:absolute;
  left:8px;
  top:10px;
  color:var(--sage-dark);
  font-size:1.05rem;
}
.fit-card-alt{
  background:#f8f7f2;
}
.muted-list li{
  color:#5a6d77;
  font-weight:560;
}

.contact{
  padding-top:34px;
}
.contact-shell{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.72fr);
  gap:26px;
  align-items:stretch;
  background:var(--blue);
  color:white;
  border-radius:34px;
  padding:48px;
}
.contact-copy h2{
  color:white;
  margin-bottom:18px;
}
.contact-lead{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.72;
}
.light{
  color:#bfd1c5;
}
.contact-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0 22px;
}
.contact-tags span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.12);
  color:white;
  font-weight:650;
  font-size:.92rem;
}
.scope-note{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.94);
  font-weight:650;
  line-height:1.65;
}
.contact-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
}
.contact-panel-label{
  margin:0 0 10px;
  color:#bfd1c5;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.74rem;
}
.contact-panel h3{
  margin:0 0 16px;
  color:white;
  font-size:1.65rem;
}
.contact-steps{
  margin:0 0 24px 0;
  padding-left:20px;
  color:rgba(255,255,255,.82);
}
.contact-steps li + li{
  margin-top:10px;
}
.light-button{
  background:white;
  color:var(--blue);
}
.contact-main-button{
  align-self:flex-start;
  min-width:160px;
}
.light-micro{
  margin-top:14px;
  color:rgba(255,255,255,.7);
  text-align:left;
}

@media (max-width:900px){
  .fit-columns,
  .contact-shell{
    grid-template-columns:1fr;
  }
  .fit-panel,
  .contact-shell{
    padding:32px 24px;
  }
}
@media (max-width:650px){
  .fit-card,
  .contact-panel{
    padding:22px 20px;
  }
  .contact-tags span{
    width:100%;
    justify-content:center;
  }
}


/* v8 — compact three-part contact section */
.contact{
  padding-top:28px;
  padding-bottom:48px;
}

.contact-trio{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(360px,1.15fr) minmax(250px,.68fr);
  min-height:410px;
  background:var(--blue);
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 22px 54px rgba(20,58,89,.10);
}

.contact-image{
  min-height:410px;
  overflow:hidden;
  position:relative;
  background:#ddd;
}

.contact-image img{
  width:100%;
  height:100%;
  min-height:410px;
  display:block;
  object-fit:cover;
  object-position:48% center;
}

.contact-image::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:22%;
  background:linear-gradient(90deg,rgba(20,58,89,0),rgba(20,58,89,.22));
  pointer-events:none;
}

.contact-message{
  padding:42px 38px;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.contact-message h2{
  color:white;
  margin-bottom:16px;
  font-size:clamp(2rem,3.7vw,3.55rem);
}

.contact-lead{
  margin:0;
  max-width:650px;
  color:rgba(255,255,255,.82);
  font-size:1rem;
  line-height:1.68;
}

.contact-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0 20px;
}

.contact-tags span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.11);
  color:white;
  font-size:.83rem;
  font-weight:650;
}

.scope-note{
  margin:0;
  max-width:650px;
  color:rgba(255,255,255,.92);
  font-size:.93rem;
  line-height:1.58;
  font-weight:620;
}

.contact-start{
  margin:24px 24px 24px 0;
  padding:26px 24px;
  border-radius:22px;
  background:rgba(255,255,255,.085);
  border:1px solid rgba(255,255,255,.12);
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.contact-panel-label{
  margin:0 0 8px;
  color:#bfd1c5;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.70rem;
}

.contact-start h3{
  color:white;
  margin:0 0 18px;
  font-size:1.35rem;
}

.contact-steps{
  list-style:none;
  counter-reset:step;
  margin:0 0 22px;
  padding:0;
}

.contact-steps li{
  counter-increment:step;
  position:relative;
  padding:0 0 16px 40px;
}

.contact-steps li:last-child{
  padding-bottom:0;
}

.contact-steps li::before{
  content:counter(step);
  position:absolute;
  left:0;
  top:0;
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#dfe9dd;
  color:var(--blue);
  font-weight:900;
  font-size:.78rem;
}

.contact-steps strong{
  display:block;
  color:white;
  font-size:.92rem;
  margin-bottom:2px;
}

.contact-steps span{
  display:block;
  color:rgba(255,255,255,.69);
  font-size:.82rem;
  line-height:1.4;
}

.light{
  color:#bfd1c5;
}

.light-button{
  background:white;
  color:var(--blue);
}

.contact-main-button{
  width:100%;
  min-height:48px;
}

.light-micro{
  margin:12px 0 0;
  color:rgba(255,255,255,.66);
  text-align:center;
  font-size:.82rem;
}

/* Hide older contact layout styles if still present */
.contact-shell,
.contact-feature,
.contact-box{
  /* overridden by .contact-trio in this version */
}

footer{
  padding-top:16px;
}

@media (max-width:1050px){
  .contact-trio{
    grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);
  }

  .contact-start{
    grid-column:1 / -1;
    margin:0 24px 24px;
  }

  .contact-steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }

  .contact-steps li{
    padding:38px 0 0;
  }

  .contact-steps li::before{
    top:0;
  }

  .contact-main-button{
    width:auto;
    align-self:flex-start;
    min-width:180px;
  }

  .light-micro{
    text-align:left;
  }
}

@media (max-width:760px){
  .contact-trio{
    grid-template-columns:1fr;
  }

  .contact-image,
  .contact-image img{
    min-height:300px;
  }

  .contact-image::after{
    width:100%;
    height:24%;
    inset:auto 0 0;
    background:linear-gradient(180deg,rgba(20,58,89,0),rgba(20,58,89,.18));
  }

  .contact-message{
    padding:30px 24px 24px;
  }

  .contact-start{
    grid-column:auto;
    margin:0 18px 18px;
  }

  .contact-steps{
    display:block;
  }

  .contact-steps li{
    padding:0 0 16px 40px;
  }
}


/* v9 secure deployment contact options */
.contact-action-stack{
  display:grid;
  gap:10px;
}

.telegram-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.58);
  color:white;
  background:rgba(255,255,255,.06);
  text-decoration:none;
  font-weight:800;
}

.telegram-button:hover{
  background:rgba(255,255,255,.12);
}

.contact-action-stack .light-micro{
  margin-top:4px;
  line-height:1.5;
}


/* v3 branding — user-selected nc monogram */
.brand-logo{
  width:64px;
  height:64px;
  object-fit:contain;
  object-position:center;
  flex:0 0 64px;
}

@media (max-width:700px){
  .brand-logo{
    width:52px;
    height:52px;
    flex-basis:52px;
  }
}
