:root{
  --pg-bg:#0f1720;
  --pg-bg-soft:#162230;
  --pg-text:#eef7ff;
  --pg-text-soft:#cdd9e6;
  --pg-accent:#7fd6ff;
  --pg-accent-2:#9ff3d7;
  --pg-glass:rgba(255,255,255,0.10);
  --pg-glass-border:rgba(255,255,255,0.18);
  --pg-shadow:0 18px 60px rgba(0,0,0,0.28);
  --pg-radius:24px;
  --pg-container:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--pg-text);
  background:
    radial-gradient(circle at top left, rgba(127,214,255,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(159,243,215,.15), transparent 24%),
    linear-gradient(180deg, #071018 0%, #0f1720 45%, #13202c 100%);
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.pg-container{
  width:min(100% - 32px, var(--pg-container));
  margin:0 auto;
}
.pg-section{
  padding:84px 0;
}
.pg-glass{
  background:var(--pg-glass);
  border:1px solid var(--pg-glass-border);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-radius:var(--pg-radius);
  box-shadow:var(--pg-shadow);
}
.pg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(135deg, rgba(127,214,255,.25), rgba(159,243,215,.20));
  color:#fff;
  font-weight:600;
  transition:.2s ease;
}
.pg-btn:hover{transform:translateY(-1px)}
.pg-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(7,16,24,.45);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pg-header__inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.pg-logo{
  font-size:22px;
  font-weight:800;
  letter-spacing:.4px;
}
.pg-nav{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.pg-hero{
  padding:110px 0 84px;
}
.pg-hero__grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:28px;
}
.pg-card{
  padding:28px;
}
.pg-title{
  margin:0 0 18px;
  font-size:clamp(34px,6vw,66px);
  line-height:1.02;
}
.pg-subtitle{
  margin:0 0 26px;
  color:var(--pg-text-soft);
  font-size:18px;
  line-height:1.7;
}
.pg-list{
  margin:0;
  padding-left:18px;
  color:var(--pg-text-soft);
}
.pg-grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.pg-footer{
  padding:40px 0 60px;
  color:var(--pg-text-soft);
}
@media (max-width: 980px){
  .pg-hero__grid,
  .pg-grid-3{
    grid-template-columns:1fr;
  }
}

.pg-card h2,.pg-card h3{margin-top:0}
.pg-card p{line-height:1.7;color:var(--pg-text-soft)}

.pg-header a,.pg-footer a{opacity:.96}
.pg-header a:hover,.pg-footer a:hover{opacity:1}
.pg-footer .pg-card{padding:26px}
.pg-nav a{color:var(--pg-text-soft)}
.pg-nav a:hover{color:var(--pg-text)}

.pg-nav a{
  position:relative;
  padding-bottom:2px;
}
.pg-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:1px;
  background:rgba(255,255,255,.8);
  transition:.2s ease;
}
.pg-nav a:hover::after{width:100%}

.pg-calc-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:22px;
}
.pg-label{
  display:block;
  margin-bottom:8px;
  color:var(--pg-text-soft);
  font-size:14px;
}
.pg-input{
  width:100%;
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  padding:0 14px;
  outline:none;
}
.pg-input option{color:#111}
.pg-calc-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:24px;
}
.pg-calc-result{
  margin-top:26px;
  padding:22px;
  border-radius:20px;
}
.pg-calc-result__label{
  color:var(--pg-text-soft);
  margin-bottom:8px;
}
.pg-calc-result__value{
  font-size:34px;
  font-weight:800;
  line-height:1.1;
  margin-bottom:10px;
}
.pg-calc-result__note{
  color:var(--pg-text-soft);
  line-height:1.6;
}
@media (max-width: 980px){
  .pg-calc-grid{
    grid-template-columns:1fr;
  }
}

.pg-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.pg-textarea{
  min-height:120px;
  padding:14px;
  resize:vertical;
}
.pg-form-success{
  margin-bottom:16px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(159,243,215,.12);
  border:1px solid rgba(159,243,215,.22);
}
.pg-faq-item{
  border-top:1px solid rgba(255,255,255,.10);
  padding:14px 0;
}
.pg-faq-item:first-of-type{
  border-top:none;
}
.pg-faq-q{
  width:100%;
  background:transparent;
  border:none;
  color:#fff;
  text-align:left;
  font:inherit;
  font-weight:700;
  padding:0;
  cursor:pointer;
}
.pg-faq-a{
  display:none;
  margin-top:10px;
  color:var(--pg-text-soft);
  line-height:1.7;
}
.pg-faq-item.active .pg-faq-a{
  display:block;
}
@media (max-width:980px){
  .pg-form-grid{
    grid-template-columns:1fr;
  }
}

.pg-links-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px 22px;
  margin-top:18px;
}
.pg-links-list a{
  color:var(--pg-text-soft);
}
.pg-links-list a:hover{
  color:var(--pg-text);
}
@media (max-width:980px){
  .pg-links-list{
    grid-template-columns:1fr;
  }
}

.pg-section + .pg-section{
  padding-top:0;
}

/* STEP 23 PREMIUM LIGHT GLASS OVERRIDES */
:root{
  --pg-bg:#eef3f7;
  --pg-bg-2:#f7fafc;
  --pg-surface:rgba(255,255,255,.56);
  --pg-surface-strong:rgba(255,255,255,.74);
  --pg-border:rgba(158,175,191,.28);
  --pg-border-strong:rgba(140,160,178,.40);
  --pg-text:#18222d;
  --pg-text-soft:#566473;
  --pg-accent:#1f3547;
  --pg-accent-2:#30495f;
  --pg-shadow:0 18px 60px rgba(40,62,82,.08);
}

html,body{
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.34)),
    radial-gradient(circle at top left, rgba(255,255,255,.98), rgba(232,240,246,.82) 48%, rgba(222,232,239,.78) 100%);
  color:var(--pg-text);
}

body{
  font-family:Inter, Arial, sans-serif;
  letter-spacing:.01em;
}

.pg-container{
  max-width:1240px;
}

.pg-header{
  position:sticky;
  top:0;
  z-index:40;
  backdrop-filter:blur(16px);
  background:rgba(247,250,252,.72);
  border-bottom:1px solid rgba(160,176,192,.16);
}

.pg-header__inner{
  min-height:78px;
}

.pg-logo{
  color:var(--pg-text);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.pg-nav{
  gap:24px;
}

.pg-nav a{
  color:var(--pg-text-soft);
  font-weight:600;
}

.pg-nav a:hover{
  color:var(--pg-text);
}

.pg-hero{
  padding:44px 0 26px;
}

.pg-hero__grid{
  gap:18px;
}

.pg-section{
  padding:24px 0;
}

.pg-glass{
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.48));
  border:1px solid var(--pg-border);
  backdrop-filter:blur(16px);
  box-shadow:var(--pg-shadow);
}

.pg-card{
  border-radius:16px !important;
  padding:24px !important;
}

.pg-grid-3{
  gap:18px;
}

.pg-title{
  color:var(--pg-text);
  font-size:clamp(32px, 4vw, 52px);
  line-height:1.02;
  letter-spacing:-.03em;
  margin:0 0 16px;
}

.pg-subtitle{
  color:var(--pg-text-soft);
  font-size:17px;
  line-height:1.75;
  max-width:760px;
}

.pg-badge{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:10px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(167,182,197,.34);
  color:var(--pg-text-soft);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
}

.pg-actions-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.pg-btn{
  min-height:46px;
  padding:0 18px;
  border-radius:12px;
  background:linear-gradient(180deg, #243a4c, #1a2c3b);
  color:#fff;
  border:1px solid rgba(16,30,42,.18);
  box-shadow:0 10px 30px rgba(24,40,56,.14);
  font-weight:700;
}

.pg-btn:hover{
  filter:brightness(1.02);
}

.pg-btn--ghost{
  background:rgba(255,255,255,.62) !important;
  color:var(--pg-text) !important;
  border:1px solid rgba(155,171,187,.32) !important;
  box-shadow:none !important;
}

.pg-list{
  margin:0;
  padding-left:18px;
}

.pg-list li{
  color:var(--pg-text-soft);
  line-height:1.8;
}

.pg-footer{
  padding:28px 0 36px;
}

.pg-footer .pg-card{
  border-radius:16px !important;
}

.pg-input{
  min-height:48px;
  border-radius:12px;
  border:1px solid rgba(158,175,191,.32);
  background:rgba(255,255,255,.72);
  color:var(--pg-text);
}

.pg-input::placeholder{
  color:#7b8896;
}

.pg-textarea{
  border-radius:12px;
}

.pg-calc-result{
  border-radius:14px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(161,177,192,.28);
}

.pg-faq-item{
  border-top:1px solid rgba(162,177,191,.18);
}

.pg-faq-q{
  color:var(--pg-text);
}

.pg-faq-a{
  color:var(--pg-text-soft);
}

.pg-form-success{
  background:rgba(230,239,246,.76);
  border:1px solid rgba(155,175,193,.28);
  color:var(--pg-text);
  border-radius:12px;
}

.pg-links-list a{
  color:var(--pg-text-soft);
  font-weight:600;
}

.pg-links-list a:hover{
  color:var(--pg-text);
}

.pg-card .pg-card{
  border-radius:14px !important;
  padding:20px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.42));
  border:1px solid rgba(161,176,191,.22);
  box-shadow:none;
}

@media (max-width: 980px){
  .pg-card{
    padding:20px !important;
    border-radius:14px !important;
  }

  .pg-header__inner{
    min-height:auto;
    padding:14px 0;
  }

  .pg-nav{
    gap:14px;
    flex-wrap:wrap;
  }

  .pg-title{
    font-size:32px;
  }
}

/* STEP 24 SEA-WAVE PREMIUM OVERRIDES */
:root{
  --pg-bg:#dcefee;
  --pg-bg-2:#edf8f7;
  --pg-surface:rgba(234,247,245,.54);
  --pg-surface-strong:rgba(241,252,250,.70);
  --pg-border:rgba(72,128,132,.20);
  --pg-border-strong:rgba(54,113,118,.30);
  --pg-text:#18363a;
  --pg-text-soft:#47686b;
  --pg-accent:#1f6f73;
  --pg-accent-2:#2d8a8f;
  --pg-shadow:0 20px 60px rgba(26,88,92,.10);
}

html,body{
  background:
    radial-gradient(circle at top left, rgba(244,255,253,.92), rgba(220,239,238,.94) 44%, rgba(205,232,231,.96) 100%),
    linear-gradient(180deg, rgba(245,255,253,.90), rgba(220,239,238,.88));
  color:var(--pg-text);
}

.pg-header{
  background:rgba(233,248,246,.70);
  border-bottom:1px solid rgba(72,128,132,.12);
  box-shadow:0 8px 30px rgba(35,95,98,.05);
}

.pg-logo{
  color:#15383b;
}

.pg-nav a{
  color:#4b696d;
}

.pg-nav a:hover{
  color:#1e5f63;
}

.pg-glass{
  background:
    linear-gradient(180deg, rgba(246,255,253,.58), rgba(224,243,241,.42)),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(147,205,201,.08));
  border:1px solid rgba(73,129,133,.18);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 50px rgba(28,93,97,.08);
}

.pg-card{
  border-radius:15px !important;
}

.pg-card .pg-card{
  border-radius:12px !important;
  background:
    linear-gradient(180deg, rgba(247,255,253,.54), rgba(227,244,242,.38));
  border:1px solid rgba(70,125,129,.16);
}

.pg-title{
  color:#15363a;
}

.pg-subtitle,
.pg-list li,
.pg-faq-a,
.pg-calc-result__note,
.pg-calc-result__label,
.pg-label,
.pg-links-list a,
.pg-footer p{
  color:#4d6d71 !important;
}

.pg-badge{
  background:rgba(241,252,250,.72);
  border:1px solid rgba(72,128,132,.18);
  color:#4c6d70;
  border-radius:9px;
}

.pg-btn{
  background:linear-gradient(180deg, #2b8b90, #1f7075);
  border:1px solid rgba(22,89,94,.18);
  box-shadow:0 12px 30px rgba(31,112,117,.18);
  color:#fff;
}

.pg-btn:hover{
  filter:brightness(1.03);
}

.pg-btn--ghost{
  background:rgba(239,251,249,.70) !important;
  color:#1e5e62 !important;
  border:1px solid rgba(73,129,133,.20) !important;
}

.pg-input{
  background:rgba(244,255,253,.78);
  border:1px solid rgba(80,135,139,.22);
  color:#17373b;
}

.pg-input::placeholder{
  color:#6c888b;
}

.pg-calc-result{
  background:rgba(240,251,249,.72);
  border:1px solid rgba(73,129,133,.18);
}

.pg-faq-q{
  color:#17373b;
}

.pg-form-success{
  background:rgba(232,247,245,.78);
  border:1px solid rgba(79,133,137,.18);
  color:#18363a;
}

.pg-nav a::after{
  background:rgba(34,118,122,.72);
}

.pg-links-list a:hover{
  color:#1f666b;
}

.pg-footer{
  background:transparent;
}

.pg-footer .pg-card{
  background:
    linear-gradient(180deg, rgba(244,255,253,.56), rgba(225,243,241,.40));
  border:1px solid rgba(75,130,134,.16);
}

.pg-calc-actions .pg-btn[style]{
  background:rgba(239,251,249,.70) !important;
  color:#1d5e62 !important;
  border:1px solid rgba(73,129,133,.20) !important;
  box-shadow:none !important;
}

.pg-form-success{
  margin-bottom:18px;
  font-weight:600;
}

.pg-portfolio-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}
.pg-portfolio-card{
  display:block;
}
.pg-portfolio-meta{
  display:grid;
  gap:8px;
  margin:14px 0;
  color:var(--pg-text-soft);
  font-size:14px;
}
@media (max-width:980px){
  .pg-portfolio-list{
    grid-template-columns:1fr;
  }
}

.pg-header{
  position:sticky;
  top:0;
  z-index:60;
}

.pg-header-cta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width:1180px){
  .pg-header__inner{
    gap:14px;
  }
  .pg-header-cta{
    width:100%;
    justify-content:flex-start;
  }
}

.pg-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
@media (max-width:980px){
  .pg-contact-grid{
    grid-template-columns:1fr;
  }
}
