/* Quantra v2: photo-led website, bento features, richer forms and billing. Loaded after quantra.css. */

/* ---------- hero with photograph ---------- */
.hero-photo{position:relative;min-height:600px;display:flex;align-items:center;color:#fff;overflow:hidden;background:#0B1F4B}
.hero-photo .bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;transform:scale(1.03)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,31,75,.95) 0%,rgba(11,31,75,.80) 46%,rgba(14,116,144,.40) 100%)}
.hero-photo .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center;padding-top:70px;padding-bottom:70px}
.hero-photo h1{color:#fff}
.hero-photo p.lead{color:#CBD5E1;font-size:1.15rem}
.hero-photo .eyebrow{background:rgba(255,255,255,.12);color:#A7F3D0;border:1px solid rgba(255,255,255,.18)}
.hero-photo .hero-points span{color:#E2E8F0}
.btn-light{background:#fff;color:var(--navy);box-shadow:0 12px 28px -12px rgba(0,0,0,.45)}
.btn-light:hover{color:var(--navy);text-decoration:none;filter:none}
.btn-outline-light{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-outline-light:hover{color:#fff;background:rgba(255,255,255,.08);text-decoration:none}
.glass{background:rgba(255,255,255,.10);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:26px;color:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.glass h3{color:#fff}
.glass p,.glass li{color:#DBEAFE;font-size:.95rem}
.glass .row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.glass .row:last-child{border-bottom:0}
.glass .row b{color:#fff}
.glass .tag{display:inline-block;background:rgba(167,243,208,.18);color:#A7F3D0;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.04em}

/* ---------- trust strip ---------- */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;gap:26px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;color:var(--muted);font-weight:600;font-size:.92rem}
.trust .item{display:flex;align-items:center;gap:10px}
.trust .item svg{width:20px;height:20px;color:var(--teal)}

/* ---------- photo cards ---------- */
.photo-card{position:relative;border-radius:24px;overflow:hidden;min-height:340px;color:#fff;box-shadow:var(--shadow);isolation:isolate;display:flex;align-items:flex-end}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .6s ease}
.photo-card:hover img{transform:scale(1.05)}
.photo-card .cap{padding:26px;background:linear-gradient(0deg,rgba(11,31,75,.94) 0%,rgba(11,31,75,.45) 55%,rgba(11,31,75,0) 100%);width:100%}
.photo-card h3{color:#fff;margin-bottom:6px;font-size:1.25rem}
.photo-card p{color:#E2E8F0;margin:0;font-size:.95rem}
.photo-card.tall{min-height:500px}

/* ---------- bento features ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.bento>*{grid-column:span 2}
.bento .wide{grid-column:span 4}
.bento .tall{grid-row:span 2}
.feature{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;height:100%}
.feature:hover{transform:translateY(-3px);box-shadow:0 22px 44px -20px rgba(15,23,42,.28)}
.feature .icon-bubble{margin-bottom:18px}
.feature p{margin:0}
.feature.dark{background:linear-gradient(140deg,#0B1F4B,#0E4D64);border-color:transparent}
.feature.dark h3{color:#fff}
.feature.dark p{color:#CBD5E1}
.feature.dark .icon-bubble{background:rgba(255,255,255,.12);color:#A7F3D0}

/* ---------- split sections ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split img{border-radius:24px;box-shadow:var(--shadow);width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.check-list{list-style:none;padding:0;margin:18px 0 0}
.check-list li{padding:12px 0 12px 36px;position:relative;color:var(--slate);border-bottom:1px solid var(--line)}
.check-list li:last-child{border-bottom:0}
.check-list li::before{content:"";position:absolute;left:0;top:14px;width:22px;height:22px;border-radius:50%;background:var(--grad)}
.check-list li::after{content:"";position:absolute;left:8px;top:19px;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}

/* ---------- step cards ---------- */
.step-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 28px;box-shadow:var(--shadow);height:100%}
.step-card .big{font-size:3rem;font-weight:800;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.step-card h3{margin-top:14px}
.step-card p{margin:0}

/* ---------- pricing (excl. GST) ---------- */
.price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 32px;box-shadow:var(--shadow);width:380px;max-width:100%}
.price-card.featured{background:linear-gradient(160deg,#0B1F4B,#0E4D64);color:#E2E8F0;border:0;transform:translateY(-12px)}
.price-card.featured h3{color:#fff}
.price-card.featured .amount,.price-card.featured .amount small{color:#fff}
.price-card.featured p,.price-card.featured li{color:#CBD5E1}
.price-card.featured li{border-bottom-color:rgba(255,255,255,.14)}
.price-card .amount{font-size:2.8rem;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1.1;margin:10px 0 4px}
.price-card .amount small{font-size:1rem;font-weight:600;color:var(--muted)}
.price-card ul{list-style:none;padding:0;margin:18px 0 24px}
.price-card li{padding:9px 0 9px 28px;position:relative;color:var(--slate);border-bottom:1px dashed var(--line)}
.price-card li::before{content:"\2713";position:absolute;left:0;color:var(--mint);font-weight:800}
.gst-note{display:flex;gap:10px;align-items:flex-start;background:#F0FDFA;border:1px solid #99F6E4;border-radius:14px;padding:14px 16px;font-size:.9rem;color:#134E4A;margin-top:18px}
.gst-note b{color:#0F766E}
.price-card.featured .gst-note{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#E2E8F0}
.price-card.featured .gst-note b{color:#A7F3D0}
.toggle button.on{background:#fff}

/* ---------- gst breakdown (billing, checkout) ---------- */
.gst-break{width:100%;border-collapse:collapse;margin-top:10px}
.gst-break td{padding:9px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.gst-break td.r{text-align:right;font-variant-numeric:tabular-nums}
.gst-break tr.total td{font-weight:800;color:var(--navy);border-bottom:0;font-size:1.05rem;padding-top:14px}
.supply-chip{display:inline-flex;align-items:center;gap:8px;background:#EEF4FF;color:var(--indigo);font-weight:700;font-size:.82rem;padding:6px 12px;border-radius:999px}

/* ---------- dark band / CTA ---------- */
.dark-band{background:linear-gradient(135deg,#0B1F4B 0%,#0E4D64 100%);color:#E2E8F0;border-radius:30px;padding:60px;position:relative;overflow:hidden}
.dark-band::after{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(20,184,166,.35),transparent 70%)}
.dark-band h2{color:#fff}
.dark-band p{color:#CBD5E1}
.dark-band>*{position:relative;z-index:1}

/* ---------- credibility numbers ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fact{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow);text-align:left}
.fact b{display:block;font-size:1.9rem;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.fact span{color:var(--muted);font-size:.9rem}

/* ---------- forms ---------- */
.form-section{margin-bottom:28px}
.form-section h3{font-size:1rem;color:var(--navy);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.form-section h3 .n{width:26px;height:26px;border-radius:50%;background:var(--grad);color:#fff;display:inline-grid;place-items:center;font-size:.8rem;font-weight:800}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-grid .full{grid-column:1/-1}
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.radio-cards label{border:1.5px solid #CBD5E1;border-radius:14px;padding:14px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy);margin:0;transition:all .15s;background:#fff}
.radio-cards label:hover{border-color:#94A3B8}
.radio-cards label:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.12);background:#F5F9FF}
.radio-cards input{width:auto;margin:0;accent-color:var(--blue)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--slate);margin:12px 0}
.check input{width:auto;margin-top:4px;accent-color:var(--blue)}
.check a{font-weight:600}
.hint{font-size:.8rem;color:var(--muted);margin-top:-8px;margin-bottom:14px}
.auth-art{border-radius:26px;overflow:hidden;position:relative;min-height:520px;color:#fff;box-shadow:var(--shadow);isolation:isolate;display:flex;align-items:flex-end}
.auth-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.auth-art .cap{padding:30px;background:linear-gradient(0deg,rgba(11,31,75,.95),rgba(11,31,75,.1))}
.auth-art h3{color:#fff;font-size:1.4rem}
.auth-art p{color:#E2E8F0}

/* ---------- portal extras ---------- */
.verify-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:#FFFBEB;border:1px solid #FDE68A;color:#78350F;border-radius:16px;padding:16px 20px;margin-bottom:22px}
.verify-banner form{margin:0}
.welcome-hero{position:relative;border-radius:26px;overflow:hidden;color:#fff;margin-bottom:26px;min-height:200px;display:flex;align-items:flex-end;isolation:isolate}
.welcome-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.welcome-hero .cap{padding:28px 30px;width:100%;background:linear-gradient(90deg,rgba(11,31,75,.92),rgba(11,31,75,.35))}
.welcome-hero h1{color:#fff;font-size:1.8rem;margin:0}
.welcome-hero p{color:#DBEAFE;margin:6px 0 0}
.credit-list{font-size:.9rem;color:var(--slate)}
.credit-list li{margin-bottom:12px}

@media (max-width:980px){
  .hero-photo .wrap,.split{grid-template-columns:1fr}
  .hero-photo{min-height:auto}
  .bento{grid-template-columns:1fr}
  .bento>*,.bento .wide{grid-column:auto}
  .bento .tall{grid-row:auto}
  .facts{grid-template-columns:1fr 1fr}
  .form-grid,.radio-cards{grid-template-columns:1fr}
  .dark-band{padding:34px 26px}
  .price-card.featured{transform:none}
}
