.pd-page{
  --pd-navy:#07182b;
  --pd-navy-2:#0f243c;
  --pd-orange:#f97316;
  --pd-orange-deep:#ea580c;
  --pd-blue:#2884ff;
  --pd-teal:#14967f;
  --pd-violet:#7c5ce0;
  --pd-rose:#f16075;
  --pd-border:#dde6f1;
  --pd-text:#112033;
  --pd-muted:#607086;
  --pd-shadow:0 24px 48px rgba(8,20,40,.12);
  --pd-radius:24px;
  --pd-section-width:1440px;
  color:var(--pd-text);
  background:#f8fafc;
}

.pd-page [hidden]{
  display:none !important;
}

.pd-page *{box-sizing:border-box}
.pd-page .pd-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

.pd-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(3,11,24,.95) 0%, rgba(5,18,34,.9) 34%, rgba(7,21,39,.7) 64%, rgba(7,21,39,.5) 100%),
    radial-gradient(circle at 74% 13%, rgba(249,115,22,.22), transparent 30%),
    url("https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?auto=format&fit=crop&w=1800&q=80") 62% center/cover no-repeat;
  border-top:4px solid var(--pd-orange);
}

.pd-hero-inner,.pd-section-inner{
  width:min(var(--pd-section-width), calc(100% - 56px));
  margin:0 auto;
}

.pd-hero-grid{
  display:grid;
  grid-template-columns:minmax(500px,.9fr) minmax(740px,1.1fr);
  gap:20px;
  align-items:start;
  padding:28px 0 12px;
}

.pd-hero-copy{
  color:#fff;
  padding:4px 6px 22px 0;
}

.pd-breadcrumbs{
  display:flex;
  gap:12px;
  align-items:center;
  font-size:.95rem;
  color:rgba(255,255,255,.88);
}

.pd-breadcrumbs a{
  color:inherit;
  text-decoration:none;
}

.pd-hero-copy h1{
  margin:22px 0 14px;
  max-width:7.5ch;
  font-size:clamp(3.55rem,5.8vw,5.5rem);
  line-height:.9;
  font-weight:900;
  letter-spacing:-.05em;
}

.pd-hero-subtitle{
  margin:0 0 14px;
  font-size:1.15rem;
  line-height:1.45;
  font-weight:800;
  max-width:25ch;
}

.pd-hero-body{
  margin:0;
  max-width:29ch;
  font-size:1rem;
  line-height:1.7;
  color:rgba(255,255,255,.84);
}

.pd-hero-actions,.pd-dashboard-actions,.pd-inline-actions,.pd-cta-actions,.pd-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.pd-hero-actions{margin-top:30px}

.pd-hero-actions .pd-btn{
  min-width:210px;
  justify-content:center;
}

.pd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  appearance:none;
  border:1px solid transparent;
  border-radius:10px;
  padding:13px 18px;
  font:inherit;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.pd-btn:hover{transform:translateY(-1px)}
.pd-btn:focus-visible,.pd-sidebar-link:focus-visible,.pd-feature-card:focus-visible,.pd-date-chip:focus-visible,.pd-inline-link:focus-visible{
  outline:3px solid rgba(40,132,255,.35);
  outline-offset:2px;
}

.pd-btn-primary{
  background:linear-gradient(180deg, #ff8a2a, var(--pd-orange));
  color:#fff;
  box-shadow:0 10px 22px rgba(249,115,22,.24);
}

.pd-btn-secondary{
  background:linear-gradient(180deg, rgba(28,42,62,.95), rgba(16,29,47,.95));
  color:#fff;
  border-color:rgba(255,255,255,.18);
}

.pd-btn-ghost{
  background:#fff;
  color:var(--pd-navy-2);
  border-color:var(--pd-border);
}

.pd-trust-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:18px;
  color:#dce7f1;
  font-size:.97rem;
}

.pd-dashboard-card{
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.8);
  border-radius:18px;
  box-shadow:var(--pd-shadow);
  overflow:hidden;
  backdrop-filter:blur(6px);
}

.pd-dashboard-shell{
  display:grid;
  grid-template-columns:144px minmax(0,1fr);
  min-height:420px;
}

.pd-dashboard-sidebar{
  background:linear-gradient(180deg, #fff7f1, #fff);
  border-right:1px solid var(--pd-border);
  padding:14px 12px 12px;
}

.pd-sidebar-brand{
  display:none;
}

.pd-sidebar-nav{
  display:grid;
  gap:8px;
}

.pd-sidebar-link{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--pd-text);
  padding:10px 10px;
  text-align:left;
  cursor:pointer;
  font:inherit;
  font-size:.92rem;
  font-weight:700;
}

.pd-sidebar-link.is-active{
  color:var(--pd-orange-deep);
  background:#fff;
  border-color:#ffd9bf;
  box-shadow:0 8px 18px rgba(249,115,22,.1);
}

.pd-dashboard-main{
  padding:14px 16px 8px;
  display:grid;
  align-content:start;
  gap:12px;
  background:linear-gradient(180deg,#ffffff,#fdfefe);
}

.pd-dashboard-topbar{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}

.pd-dashboard-topbar h2{
  margin:0;
  font-size:1.15rem;
  line-height:1.2;
}

.pd-dashboard-topbar p{
  display:none;
}

.pd-date-chip{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--pd-border);
  border-radius:10px;
  background:#fff;
  padding:9px 14px;
  color:var(--pd-text);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  min-width:176px;
  justify-content:space-between;
}

.pd-inline-status{
  border-radius:14px;
  border:1px solid #d7e8ff;
  background:#f5f9ff;
  color:#20436d;
  padding:12px 14px;
}

.pd-panel{display:none}
.pd-panel.is-active{display:grid;gap:14px}

.pd-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}

.pd-stat-card,.pd-summary-panel,.pd-value-card,.pd-feature-card{
  background:#fff;
  border:1px solid var(--pd-border);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(15,36,60,.06);
}

.pd-stat-card{
  padding:13px 15px;
  display:grid;
  gap:6px;
}

.pd-stat-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}

.pd-stat-card span{
  color:var(--pd-muted);
  font-size:.74rem;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.05em;
}

.pd-stat-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:1rem;
}

.pd-stat-icon-blue{background:#eef5ff;color:#2474ff}
.pd-stat-icon-green{background:#edf9f1;color:#1f9a54}
.pd-stat-icon-violet{background:#f4efff;color:#7c5ce0}
.pd-stat-icon-orange{background:#fff3e9;color:#f97316}

.pd-stat-card strong{
  font-size:1.22rem;
  line-height:1;
}

.pd-stat-card small{
  color:var(--pd-muted);
  font-size:.88rem;
}

.pd-panel-grid{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(258px,.84fr);
  gap:12px;
  align-items:stretch;
}

.pd-summary-panel{
  padding:14px 16px;
  display:grid;
  gap:12px;
}

.pd-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.pd-panel-head h3{
  margin:0;
  font-size:1rem;
}

.pd-panel-head span{
  color:#16804f;
  font-weight:800;
}

.pd-breakdown-list{
  margin:0;
  display:grid;
  gap:7px;
}

.pd-breakdown-list div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-bottom:8px;
  border-bottom:1px solid #eef3f8;
}

.pd-breakdown-list dt,.pd-breakdown-list dd{margin:0}
.pd-breakdown-list dt{color:var(--pd-muted)}
.pd-breakdown-list dd{font-weight:800}
.pd-breakdown-list .pd-total-row dd{color:#16804f}

.pd-source-note,.pd-muted-note,.pd-estimate-note{
  margin:0;
  color:var(--pd-muted);
  line-height:1.55;
  font-size:.9rem;
}

.pd-estimate-note{
  border:1px solid #cae8d5;
  background:#eef9f1;
  color:#247448;
  border-radius:14px;
  padding:10px 12px;
}

.pd-select-wrap select,.pd-field select,.pd-field input,.pd-field textarea{
  width:100%;
  border:1px solid var(--pd-border);
  border-radius:14px;
  padding:13px 14px;
  font:inherit;
  color:var(--pd-text);
  background:#fff;
}

.pd-custom-days{
  display:grid;
  gap:8px;
}

.pd-features-section,.pd-value-panels,.pd-cta-band{
  padding:20px 0 0;
  background:#fff;
}

.pd-section-header{
  text-align:center;
  margin-bottom:16px;
}

.pd-section-header h2,.pd-cta-band h2{
  margin:0;
  font-size:clamp(2rem,2.8vw,2.55rem);
  line-height:1.08;
}

.pd-cta-band h2{
  font-size:clamp(1.25rem,2.2vw,2rem);
  line-height:1.06;
  white-space:nowrap;
}

.pd-section-accent{
  width:40px;
  height:3px;
  border-radius:999px;
  background:var(--pd-orange);
  margin:12px auto 0;
}

.pd-feature-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:16px;
}

.pd-feature-card{
  padding:16px 16px;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:10px;
  text-align:center;
  cursor:pointer;
  font:inherit;
  color:inherit;
}

.pd-feature-card strong{font-size:1rem}
.pd-feature-card span:last-child{color:var(--pd-muted);line-height:1.55;font-size:.95rem}
.pd-feature-icon{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(180deg, #4aa0ff, #1664f5);
  font-size:1.1rem;
}
.pd-feature-card:nth-child(2) .pd-feature-icon{background:linear-gradient(180deg,#56c97d,#1f8a4d)}
.pd-feature-card:nth-child(3) .pd-feature-icon{background:linear-gradient(180deg,#ff9e4a,#f97316)}
.pd-feature-card:nth-child(4) .pd-feature-icon{background:linear-gradient(180deg,#9c85f0,#7054db)}
.pd-feature-card:nth-child(5) .pd-feature-icon{background:linear-gradient(180deg,#45b7c9,#1387a0)}
.pd-feature-card:nth-child(6) .pd-feature-icon{background:linear-gradient(180deg,#ff8ea2,#ef476f)}

.pd-value-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px;
}

.pd-value-card{
  padding:18px 22px;
  min-height:228px;
}

.pd-value-card h3{
  margin:0 0 14px;
  font-size:1.18rem;
}

.pd-value-card-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) 356px;
  gap:12px;
  align-items:center;
}

.pd-testimonial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) 230px;
  gap:20px;
  align-items:center;
}

.pd-value-card ul{
  margin:0;
  padding-left:0;
  display:grid;
  gap:10px 20px;
  color:var(--pd-muted);
  list-style:none;
}

.pd-check-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.pd-check-list li{
  position:relative;
  padding-left:22px;
}

.pd-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.42rem;
  width:11px;
  height:11px;
  border-radius:50%;
  border:2px solid #1f9a54;
  box-shadow:inset 0 0 0 2px #fff;
  background:#d7f3e3;
}

.pd-map-visual{
  min-height:220px;
  border-radius:18px;
  background:radial-gradient(circle at 64% 56%, rgba(249,115,22,.14), transparent 18%);
  position:relative;
  opacity:.98;
}

.pd-map-shape{
  position:absolute;
  inset:14px 8px 14px 0;
  opacity:.34;
  filter:sepia(.24) saturate(.72) hue-rotate(22deg) brightness(1.08);
}

.pd-map-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.pd-map-pin{
  position:absolute;
  right:17%;
  top:44%;
  width:38px;
  height:38px;
  border-radius:50% 50% 50% 0;
  background:linear-gradient(180deg,#ff9c45,#f97316);
  transform:rotate(-45deg);
  box-shadow:0 18px 30px rgba(249,115,22,.28);
}

.pd-map-pin::after{
  content:"";
  position:absolute;
  inset:9px;
  background:#fff;
  border-radius:50%;
}

.pd-testimonial-card{
  background:linear-gradient(180deg,#f8fbff,#f4f8ff);
}

.pd-quote-block{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

.pd-quote-mark{
  color:#5b95ff;
  font-size:3.5rem;
  line-height:1;
  font-weight:900;
  margin-top:-10px;
}

.pd-testimonial-card blockquote{
  margin:0 0 18px;
  color:#28415f;
  font-size:1rem;
  line-height:1.85;
}

.pd-person-row{
  display:flex;
  align-items:center;
  gap:14px;
  grid-column:2;
}

.pd-avatar-mark{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.3rem;
  color:#f97316;
  background:linear-gradient(180deg,#fff1df,#ffd7ae);
  border:1px solid #ffd6b3;
}

.pd-check-list-plain{
  grid-template-columns:1fr;
}

.pd-benefit-list{
  display:grid;
  gap:16px;
}

.pd-benefit-item{
  display:flex;
  align-items:center;
  gap:14px;
  color:#3b516d;
  font-weight:600;
}

.pd-benefit-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf4ff;
  color:#5b95ff;
  flex:0 0 auto;
}

.pd-testimonial-meta{
  margin:0;
  font-weight:700;
  line-height:1.5;
}

.pd-cta-band-inner{
  background:linear-gradient(180deg,#fff,#f8fbff);
  border:1px solid var(--pd-border);
  border-radius:16px;
  box-shadow:0 18px 36px rgba(15,36,60,.06);
  padding:16px 24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  max-width:1240px;
  margin:0 auto;
}

.pd-cta-copy{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:16px;
  align-items:center;
}

.pd-cta-copy h2,
.pd-cta-copy p{
  grid-column:2;
}

.pd-cta-icon{
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#fff3e9;
  color:var(--pd-orange);
  font-size:1.25rem;
  grid-row:1 / span 2;
}

.pd-cta-band p{
  margin:6px 0 0;
  color:var(--pd-muted);
  font-size:.96rem;
}

.pd-cta-actions .pd-btn{
  min-width:176px;
}

.pd-cta-actions{
  flex-wrap:nowrap;
}

.pd-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.pd-compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pd-field{display:grid;gap:8px}
.pd-field-inline{align-content:end}
.pd-field-inline label{display:flex;gap:10px;align-items:center}
.pd-field-full{grid-column:1 / -1}
.pd-field textarea{min-height:120px;resize:vertical}

.pd-empty-panel,.pd-results-list{
  border:1px dashed #d9e5f2;
  border-radius:18px;
  background:#fbfdff;
  padding:18px;
}

.pd-results-list{
  display:grid;
  gap:14px;
}

.pd-result-card{
  border:1px solid var(--pd-border);
  border-radius:18px;
  padding:16px;
  display:grid;
  gap:12px;
  background:#fff;
}

.pd-result-card-top,.pd-results-toolbar,.pd-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.pd-result-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  color:var(--pd-muted);
  font-size:.95rem;
}

.pd-result-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.pd-inline-link{
  color:var(--pd-orange-deep);
  font-weight:800;
  text-decoration:none;
}

.pd-planner-legs{
  display:grid;
  gap:14px;
}

.pd-leg-card{
  border:1px solid var(--pd-border);
  border-radius:18px;
  padding:16px;
  display:grid;
  gap:14px;
  background:#fff;
}

.pd-leg-toolbar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.pd-rate-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 10px;
  background:#fff7ed;
  color:var(--pd-orange-deep);
  font-weight:800;
  font-size:.85rem;
}

.pd-rate-badge.is-changed{
  background:#eef6ff;
  color:#165ac0;
}

.pd-faq-list{
  display:grid;
  gap:12px;
}

.pd-faq-list details{
  border:1px solid var(--pd-border);
  border-radius:16px;
  background:#fff;
  padding:14px 16px;
}

.pd-faq-list summary{
  cursor:pointer;
  font-weight:800;
}

.pd-faq-list p{
  margin:12px 0 0;
  color:var(--pd-muted);
  line-height:1.7;
}

.pd-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(5,17,31,.58);
  display:grid;
  place-items:center;
  padding:24px;
  z-index:1000;
}

.pd-modal-card{
  width:min(920px,100%);
  max-height:min(90vh,980px);
  overflow:auto;
  background:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:0 30px 60px rgba(6,16,28,.28);
  position:relative;
  display:grid;
  gap:18px;
}

.pd-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  border:0;
  background:#eff4f8;
  color:var(--pd-text);
  width:40px;
  height:40px;
  border-radius:50%;
  font-size:1.4rem;
  cursor:pointer;
}

.pd-demo-steps{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
  line-height:1.7;
  color:var(--pd-muted);
}

.pd-form-errors{
  grid-column:1 / -1;
  color:#b42318;
  font-weight:700;
}

.pd-pdf-report{
  padding:30px;
  background:#fff;
  color:#111827;
}

@media (max-width: 1280px){
  .pd-hero-grid{grid-template-columns:minmax(0,1fr)}
  .pd-hero-copy{padding-right:0}
  .pd-value-card-body,.pd-testimonial-grid,.pd-cta-band-inner{grid-template-columns:1fr}
}

@media (max-width: 1120px){
  .pd-dashboard-shell{grid-template-columns:1fr}
  .pd-dashboard-sidebar{border-right:0;border-bottom:1px solid var(--pd-border)}
  .pd-sidebar-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pd-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pd-panel-grid,.pd-value-grid{grid-template-columns:1fr}
  .pd-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 820px){
  .pd-section-inner,.pd-hero-inner{width:min(calc(100% - 28px), var(--pd-section-width))}
  .pd-sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-stat-grid,.pd-form-grid,.pd-compact-grid{grid-template-columns:1fr}
  .pd-dashboard-topbar{flex-direction:column;align-items:stretch}
  .pd-check-list{grid-template-columns:1fr}
  .pd-cta-copy{grid-template-columns:1fr}
  .pd-cta-copy h2,.pd-cta-copy p{grid-column:auto}
  .pd-cta-icon{grid-row:auto}
  .pd-cta-actions{flex-wrap:wrap}
}

@media (max-width: 560px){
  .pd-hero-grid{padding-top:22px}
  .pd-hero-copy h1{font-size:clamp(2.6rem,16vw,4rem)}
  .pd-hero-subtitle{font-size:1.4rem}
  .pd-feature-grid{grid-template-columns:1fr}
  .pd-dashboard-main{padding:16px}
  .pd-sidebar-nav{grid-template-columns:1fr}
  .pd-btn{width:100%;justify-content:center}
}
