:root{--ink:#172033;--muted:#667085;--navy:#111b2e;--navy2:#24334b;--accent:#ff5938;--accent2:#e84727;--paper:#fff;--soft:#f5f6f8;--line:#e4e7ec;--warm:#fff1ec;--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:inherit}
img{max-width:100%;height:auto}
.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:2}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{text-decoration:none;font-weight:850;font-size:1.13rem;letter-spacing:-.03em;line-height:1.2}
.brand small{display:block;font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-top:5px}
.nav-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav-links a{text-decoration:none;color:#344054;font-weight:700;font-size:.93rem}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--accent2)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:var(--accent);color:#fff!important;text-decoration:none!important;font-weight:850;padding:13px 21px;box-shadow:0 8px 22px #ff593833;transition:transform .18s,background .18s}
.nav-cta:hover,.btn:hover{background:var(--accent2);transform:translateY(-2px)}
main{min-height:60vh}
.hero{background:linear-gradient(125deg,var(--navy),var(--navy2));color:#fff;padding:clamp(54px,8vw,100px) 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px}
.eyebrow{color:#ffab91;font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px}
h1{font-size:clamp(2.5rem,5.7vw,4.8rem);line-height:1.04;letter-spacing:-.055em;margin:0 0 22px}
h2{font-size:clamp(1.85rem,3.3vw,2.8rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 16px}
h3{font-size:1.2rem;line-height:1.25;margin:0 0 10px}
.lead{font-size:clamp(1.08rem,1.7vw,1.28rem);color:#e2e8f0;max-width:720px;line-height:1.75;margin:0}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:30px}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff70;border-radius:999px;padding:12px 19px;color:#fff;text-decoration:none;font-weight:750}
.hero-art{min-height:330px;border:1px solid #ffffff36;border-radius:28px;background:radial-gradient(circle at 50% 35%,#ff9a6b44,transparent 45%),#ffffff0d;display:grid;place-items:center;padding:28px;text-align:center}
.hero-art .circle{width:220px;height:220px;border:1px solid #ffad8e;border-radius:50%;display:grid;place-items:center;position:relative}
.hero-art .circle:before,.hero-art .circle:after{content:"";position:absolute;inset:17px;border:1px solid #ffffff55;border-radius:50%}
.hero-art .circle:after{inset:38px;border-color:#ffad8e80}
.hero-art strong{font-size:1.1rem;letter-spacing:.2em}
.hero-art p{color:#dce3ed;max-width:250px;margin:20px 0 0}
.section{padding:72px 0}
.section-intro{max-width:760px;margin-bottom:30px}
.section-intro p,.muted{color:var(--muted)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:27px;background:#fff;box-shadow:0 12px 34px #15213a0a}
.card .number{color:var(--accent);font-weight:900;letter-spacing:.12em;font-size:.78rem;display:block;margin-bottom:24px}
.card p{color:var(--muted);margin:0}
.price{font-weight:900;font-size:1.45rem;letter-spacing:-.03em;color:var(--accent2);margin:14px 0 5px}
.price small{font-size:.85rem;font-weight:650;color:var(--muted);letter-spacing:0}
.price-note{font-size:.85rem;color:var(--muted)}
.band{background:var(--soft);padding:62px 0}
.band-warm{background:var(--warm);padding:48px;border:1px solid #ffd6c8;border-radius:var(--radius)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}
.steps{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:17px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.steps b{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#ffe2d8;color:#bd3e21;display:grid;place-items:center}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
table{border-collapse:collapse;width:100%;min-width:660px}
th,td{text-align:left;padding:17px 19px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#f8f9fb;font-size:.84rem;color:#475467}
td strong{color:var(--ink)}
tr:last-child td{border-bottom:0}
.notice{padding:17px 20px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;color:#7c3f13}
.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--warm);border:1px solid #ffd6c8;border-radius:var(--radius);padding:32px}
.cta-panel p{margin:0;color:var(--muted)}
.form-shell{max-width:780px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,38px);box-shadow:0 16px 48px #15213a0c}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:750;font-size:.93rem}
input,select,textarea{width:100%;font:inherit;color:var(--ink);border:1px solid #cfd4dc;border-radius:11px;padding:12px 13px;background:#fff}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid #ff59382b;border-color:var(--accent)}
.checkline{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:#475467}
.checkline input{width:auto;margin-top:6px}
.form-message{display:none;margin-top:17px;padding:14px 16px;border-radius:12px}
.form-message.show{display:block}
.form-message.success{background:#ecfdf3;color:#05603a}
.form-message.error{background:#fef3f2;color:#b42318}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-footer{background:#111827;color:#d0d5dd;padding:48px 0 24px;margin-top:70px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.site-footer h3{color:#fff}
.site-footer p,.site-footer a{color:#c2c9d4}
.site-footer a:hover{color:#fff}
.footer-links{display:grid;gap:8px}
.footer-links a{text-decoration:none}
.copyright{border-top:1px solid #ffffff20;margin-top:32px;padding-top:18px;font-size:.84rem;color:#98a2b3}
.legal{max-width:880px;padding:58px 0 20px}
.legal h1{font-size:clamp(2.2rem,4vw,3.5rem)}
.legal h2{font-size:1.45rem;margin-top:30px}
.legal p,.legal li{color:#475467}
@media(max-width:850px){.hero-grid,.split{grid-template-columns:1fr}.hero-art{min-height:270px}.grid-3{grid-template-columns:1fr 1fr}.nav-wrap{align-items:flex-start;padding:18px 0;flex-direction:column}.nav-links{gap:12px 18px}}
@media(max-width:600px){.container{width:min(100% - 28px,1160px)}.grid-3,.grid-2,.form-grid,.footer-grid{grid-template-columns:1fr}.hero{padding:54px 0}.hero-art{min-height:230px}.hero-art .circle{width:175px;height:175px}.section{padding:52px 0}.cta-panel{align-items:flex-start;flex-direction:column}.field.full{grid-column:auto}}


/* Homepage hero: full-width brand banner using the supplied stage photograph */
.hero-banner{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(560px,58vw,740px);padding:0;overflow:hidden;background:#07101b}
.hero-banner-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%}
.hero-banner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,8,16,.96) 0%,rgba(3,8,16,.82) 38%,rgba(3,8,16,.34) 70%,rgba(3,8,16,.25) 100%),linear-gradient(0deg,rgba(3,8,16,.48),transparent 42%)}
.hero-banner-content{position:relative;z-index:2;padding-top:82px;padding-bottom:54px}
.hero-banner .eyebrow{color:#ffc0a8;letter-spacing:.16em}
.hero-banner h1{max-width:790px;font-size:clamp(2.8rem,6.2vw,5.4rem);text-wrap:balance}
.hero-banner .lead{max-width:660px;color:#f0f2f5}
.hero-banner .hero-actions{margin-top:34px}
.hero-contact-strip{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:46px;padding-top:18px;border-top:1px solid #ffffff55;color:#e2e8f0;font-size:.9rem;font-weight:650}
.hero-contact-strip a{color:#fff;text-decoration:none}
.hero-contact-strip a:hover{text-decoration:underline}
@media(max-width:850px){
  .hero-banner{min-height:690px;align-items:flex-end}
  .hero-banner-image{object-position:56% center}
  .hero-banner::after{background:linear-gradient(0deg,rgba(3,8,16,.97) 0%,rgba(3,8,16,.86) 43%,rgba(3,8,16,.25) 100%)}
  .hero-banner-content{padding-top:120px;padding-bottom:32px}
  .hero-banner h1{max-width:620px}
  .hero-contact-strip{gap:8px;flex-direction:column;align-items:flex-start;margin-top:30px}
}


/* Homepage hero: compact two-column layout with the original high-resolution photo */
.hero-home {
  padding: clamp(54px, 7vw, 88px) 0;
  background:
    radial-gradient(ellipse at 82% 48%, rgba(255, 111, 76, .13), transparent 38%),
    linear-gradient(125deg, var(--navy), var(--navy2));
}
.hero-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  align-items: center;
  gap: clamp(34px, 5vw, 66px);
}
.hero-home-content { min-width: 0; }
.hero-home h1 {
  max-width: 660px;
  font-size: clamp(2.55rem, 4.7vw, 4.45rem);
  text-wrap: balance;
}
.hero-home .lead { max-width: 610px; }
.hero-home .hero-actions { margin-top: 28px; }
.hero-home-visual {
  width: 100%;
  max-width: 570px;
  justify-self: end;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
  background: #080e18;
  box-shadow: 0 28px 70px rgba(0,0,0,.38), 0 5px 18px rgba(0,0,0,.2);
}
.hero-home-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1376 / 768;
  object-fit: contain;
}
.hero-home .hero-contact-strip {
  gap: 10px 22px;
  margin-top: 30px;
  padding-top: 16px;
  font-size: .84rem;
}
@media (max-width: 850px) {
  .hero-home { padding: 58px 0 54px; }
  .hero-home-grid { grid-template-columns: 1fr; gap: 34px; }
  .hero-home-visual { justify-self: start; max-width: 650px; }
  .hero-home h1 { max-width: 700px; }
}
@media (max-width: 600px) {
  .hero-home { padding: 48px 0; }
  .hero-home-grid { gap: 28px; }
  .hero-home-visual { border-radius: 15px; }
  .hero-home .hero-contact-strip { flex-direction: column; align-items: flex-start; }
}
