
:root{
  --ink:#111820;
  --ink-2:#18242d;
  --ink-3:#22313b;
  --paper:#f7f5f0;
  --paper-2:#eeece6;
  --white:#ffffff;
  --text:#17202a;
  --muted:#65717b;
  --line:rgba(17,24,32,.12);
  --gold:#d7a94b;
  --gold-2:#f0c96f;
  --teal:#2d8c8b;
  --teal-soft:#dceceb;
  --danger:#7d4b50;
  --radius:24px;
  --shadow:0 22px 60px rgba(9,16,22,.12);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--paper);
  line-height:1.58;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.site-header{
  position:sticky;top:0;z-index:100;
  min-height:76px;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:rgba(17,24,32,.94);backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.09);color:white;
}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.brand-mark{
  width:34px;height:34px;border-radius:8px;
  background:
    linear-gradient(90deg,transparent 43%,var(--gold) 43% 57%,transparent 57%),
    linear-gradient(0deg,transparent 43%,var(--gold) 43% 57%,transparent 57%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 0 26px rgba(215,169,75,.24);
}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{font-size:.94rem;letter-spacing:.08em}
.brand-copy span{font-size:.67rem;color:rgba(255,255,255,.58);letter-spacing:.09em;margin-top:5px}
.main-nav{display:flex;align-items:center;gap:20px;font-size:.91rem}
.main-nav>a:not(.btn){color:rgba(255,255,255,.78)}
.main-nav>a:not(.btn):hover{color:white}
.lang{color:rgba(255,255,255,.52);font-size:.82rem;border-left:1px solid rgba(255,255,255,.14);padding-left:18px}
.nav-toggle{display:none;border:0;background:transparent;color:white;font-size:1.65rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:46px;padding:0 22px;border-radius:999px;border:1px solid transparent;
  background:var(--gold);color:#161616;font-weight:800;
  transition:.2s ease;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);background:var(--gold-2)}
.btn.secondary{background:transparent;border-color:rgba(215,169,75,.7);color:inherit}
.btn.dark{background:var(--ink);color:white}
.btn.small{min-height:38px;padding:0 16px;font-size:.84rem}
.btn.ghost{background:white;border-color:var(--line);color:var(--text)}
.wrap{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.narrow{width:min(calc(100% - 48px),820px);margin:0 auto}
.section{padding:92px 0}
.section.tight{padding:68px 0}
.eyebrow{
  margin:0 0 13px;color:var(--teal);font-weight:900;text-transform:uppercase;
  letter-spacing:.13em;font-size:.76rem
}
.dark .eyebrow,.hero .eyebrow{color:var(--gold-2)}
h1,h2,h3,h4{line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(2.65rem,6vw,5.7rem);letter-spacing:-.055em}
h2{font-size:clamp(2rem,4vw,3.55rem);letter-spacing:-.04em}
h3{font-size:1.42rem}
p{margin:0 0 16px}
.lead{font-size:clamp(1.14rem,2vw,1.48rem);max-width:760px}
.muted{color:var(--muted)}
.hero{
  color:white;
  background:
    radial-gradient(circle at 74% 25%,rgba(45,140,139,.27),transparent 30%),
    radial-gradient(circle at 11% 35%,rgba(215,169,75,.18),transparent 28%),
    linear-gradient(135deg,#0d141b,#17242c 62%,#141b21);
  min-height:calc(92vh - 76px);
  display:grid;align-items:center;
}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:66px;align-items:center}
.hero h1{max-width:820px}
.hero .lead{color:rgba(255,255,255,.78)}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.chip{
  border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.055);
  padding:9px 13px;border-radius:999px;font-size:.82rem;color:rgba(255,255,255,.78)
}
.hero-board{
  border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:22px;
  background:rgba(255,255,255,.055);box-shadow:0 30px 80px rgba(0,0,0,.28)
}
.board-window{background:#f8f7f2;color:var(--text);border-radius:20px;overflow:hidden}
.board-head{background:#1d4650;color:white;padding:13px 17px;font-size:.78rem;display:flex;justify-content:space-between}
.board-body{padding:18px}
.board-kicker{color:var(--teal);font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.scene-visual{
  margin:13px 0 17px;height:235px;border-radius:14px;
  background:
    radial-gradient(circle at 52% 65%,rgba(224,85,178,.55),transparent 21%),
    linear-gradient(180deg,#4b375c 0 44%,#2f3d45 45% 57%,#171b20 58%);
  position:relative;overflow:hidden;
}
.scene-visual:before{
  content:"";position:absolute;left:14%;right:14%;bottom:29px;height:48px;
  border-radius:50% 50% 12px 12px;background:rgba(20,20,22,.75)
}
.scene-visual:after{
  content:"";position:absolute;width:10px;height:70px;background:#111;left:49%;bottom:26px;border-radius:8px 8px 0 0;
  box-shadow:-90px 18px 0 -1px #151515,90px 18px 0 -1px #151515;
}
.board-lines{display:grid;gap:8px}
.board-lines i{height:8px;background:#d9dfdf;border-radius:5px;display:block}
.board-lines i:nth-child(2){width:82%}.board-lines i:nth-child(3){width:64%}
.board-footer{display:flex;gap:10px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}
.board-tag{font-size:.7rem;background:var(--teal-soft);padding:6px 9px;border-radius:999px;font-weight:800;color:#275f63}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid div{padding:22px 24px;border-right:1px solid var(--line);font-size:.88rem}
.trust-grid div:last-child{border:0}
.trust-grid strong{display:block;margin-bottom:3px}
.center{text-align:center}
.section-head{max-width:820px;margin:0 auto 44px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.problem-card,.panel,.service-card,.sample-card{
  background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px rgba(10,18,23,.05)
}
.problem-card{padding:31px}
.problem-card.alt{background:var(--ink);color:white}
.problem-card.alt .muted{color:rgba(255,255,255,.64)}
.big-quote{font-size:clamp(1.45rem,3vw,2.35rem);font-weight:850;line-height:1.2;letter-spacing:-.025em}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.service-card{padding:30px;position:relative;overflow:hidden}
.service-card:before{content:"";position:absolute;right:-45px;top:-45px;width:130px;height:130px;border-radius:50%;background:var(--teal-soft);opacity:.6}
.service-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.service-type{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:900}
.price{font-size:1.55rem;font-weight:900;color:var(--ink)}
.price small{font-size:.72rem;color:var(--muted);font-weight:700}
.clean-list{list-style:none;padding:0;margin:20px 0}
.clean-list li{padding:7px 0 7px 25px;position:relative}
.clean-list li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}
.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.adapt{
  background:linear-gradient(135deg,#153039,#1d4650);color:white
}
.adapt-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}
.function-diagram{display:grid;gap:13px}
.function-row{display:grid;grid-template-columns:135px 1fr;gap:14px;align-items:center}
.function-row strong{font-size:.84rem;color:var(--gold-2)}
.function-line{height:42px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.06);position:relative;overflow:hidden}
.function-line:after{content:"";position:absolute;left:12px;top:11px;height:18px;width:var(--w,72%);border-radius:8px;background:linear-gradient(90deg,rgba(215,169,75,.75),rgba(45,140,139,.75))}
.samples-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sample-card{overflow:hidden}
.sample-thumb{height:205px;padding:16px;background:#dfe6e5}
.doc-mini{height:100%;background:white;border-radius:9px;box-shadow:0 10px 24px rgba(0,0,0,.14);overflow:hidden}
.doc-mini-top{height:24px;background:#1e5960}
.doc-mini-body{padding:12px;display:grid;gap:8px}
.doc-mini-scene{height:80px;border-radius:6px;background:linear-gradient(160deg,#544866,#22343b 60%,#181d20)}
.doc-mini-line{height:6px;background:#d7dddd;border-radius:5px}
.doc-mini-line.short{width:63%}
.sample-copy{padding:20px}
.sample-copy p{font-size:.9rem;color:var(--muted)}
.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{padding:25px;background:white;border:1px solid var(--line);border-radius:20px}
.step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);margin-bottom:17px}
.cta-band{background:var(--ink);color:white}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.cta-inner p{color:rgba(255,255,255,.7);max-width:690px}
.footer{background:#0d1319;color:white;padding:58px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.footer a{display:block;color:rgba(255,255,255,.67);margin:8px 0}
.footer p{color:rgba(255,255,255,.62)}
.footer-bottom{margin-top:35px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;color:rgba(255,255,255,.45);font-size:.84rem}

/* Service detail */
.service-hero{padding:88px 0 72px;background:linear-gradient(135deg,#eff1ec,#f9f8f4)}
.service-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}
.service-hero h1{font-size:clamp(2.7rem,5vw,4.9rem)}
.price-card{background:var(--ink);color:white;border-radius:28px;padding:28px;box-shadow:var(--shadow)}
.price-card .price{color:var(--gold-2);font-size:2rem}
.price-card .clean-list{color:rgba(255,255,255,.78)}
.price-card .clean-list li:before{color:var(--gold-2)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.panel{padding:30px}
.panel.dark{background:var(--ink);color:white}
.panel.dark .muted{color:rgba(255,255,255,.65)}
.carousel-wrap{position:relative}
.carousel{
  display:grid;grid-auto-flow:column;grid-auto-columns:min(88%,760px);gap:20px;
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 2px 18px
}
.carousel::-webkit-scrollbar{display:none}
.slide{
  scroll-snap-align:start;background:white;border:1px solid var(--line);border-radius:24px;
  overflow:hidden;box-shadow:0 16px 42px rgba(10,18,23,.08)
}
.slide-preview{background:#dfe6e5;padding:22px;min-height:390px;display:grid;place-items:center}
.mock-document{
  width:min(100%,560px);height:340px;background:white;border-radius:8px;box-shadow:0 15px 40px rgba(0,0,0,.18);overflow:hidden
}
.mock-head{height:38px;background:#20545e;color:white;padding:9px 15px;font-size:.76rem;font-weight:800;letter-spacing:.06em}
.mock-page{padding:18px}
.mock-title{font-size:1.22rem;font-weight:900;margin-bottom:12px}
.mock-visual{height:145px;border-radius:8px;background:linear-gradient(150deg,#65526d,#283a42 58%,#181c20);position:relative;overflow:hidden}
.mock-visual.gold{background:linear-gradient(150deg,#dac596,#40525a 58%,#182026)}
.mock-visual.blue{background:linear-gradient(150deg,#6e89aa,#243d49 58%,#141c22)}
.mock-visual.table{background:
  repeating-linear-gradient(0deg,#fff 0 28px,#e4e8e7 29px 30px),
  repeating-linear-gradient(90deg,transparent 0 170px,#d5dbda 171px 172px)}
.mock-bars{display:grid;gap:8px;margin-top:14px}
.mock-bars i{display:block;height:7px;background:#d7dddd;border-radius:5px}
.mock-bars i:nth-child(2){width:88%}.mock-bars i:nth-child(3){width:72%}
.slide-copy{padding:23px}
.slide-copy p{color:var(--muted);margin:0}
.carousel-controls{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.carousel-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:white;cursor:pointer;font-size:1.3rem}
.sample-note{
  margin-top:28px;padding:22px;border-radius:18px;background:var(--teal-soft);border:1px solid rgba(45,140,139,.2)
}
.path{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:10px}
.path-node{padding:12px 14px;border-radius:14px;background:white;border:1px solid var(--line);font-weight:800;font-size:.84rem;text-align:center}
.path-arrow{color:var(--teal);font-weight:900}
.form-shell{background:white;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.progress{display:flex;gap:8px;margin-bottom:28px}
.progress i{height:6px;flex:1;border-radius:99px;background:#e3e4e1}
.progress i.active{background:var(--teal)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-weight:800;font-size:.88rem}
input,textarea,select{
  width:100%;border:1px solid var(--line);border-radius:12px;background:#fbfbf9;padding:13px 14px;color:var(--text)
}
.form-note{font-size:.82rem;color:var(--muted);margin-top:18px}
.prototype-badge{
  position:fixed;right:16px;bottom:16px;z-index:90;
  background:#fff;border:1px solid var(--line);box-shadow:0 8px 28px rgba(0,0,0,.1);
  border-radius:999px;padding:8px 12px;font-size:.72rem;color:var(--muted)
}

@media(max-width:980px){
  .nav-toggle{display:block}
  .main-nav{
    position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;
    background:var(--ink);padding:18px 28px 28px;gap:0
  }
  .main-nav.open{display:flex}
  .main-nav>a,.lang{padding:11px 0;border-left:0}
  .hero-grid,.service-hero-grid,.adapt-grid{grid-template-columns:1fr}
  .hero{min-height:auto;padding:70px 0}
  .hero-board{max-width:680px}
  .trust-grid,.workflow,.samples-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .path{grid-template-columns:1fr}.path-arrow{transform:rotate(90deg);text-align:center}
}
@media(max-width:700px){
  .wrap,.narrow{width:min(calc(100% - 32px),var(--max))}
  .section{padding:68px 0}.section.tight{padding:52px 0}
  .split,.services-grid,.detail-grid,.trust-grid,.workflow,.samples-grid,.footer-grid,.form-grid{grid-template-columns:1fr}
  .trust-grid div{border-right:0;border-bottom:1px solid var(--line)}
  .cta-inner{align-items:flex-start;flex-direction:column}
  .service-top{flex-direction:column}
  .carousel{grid-auto-columns:94%}
  .slide-preview{min-height:310px;padding:13px}
  .mock-document{height:285px}.mock-visual{height:110px}
  .footer-bottom{flex-direction:column;gap:8px}
  .brand-copy span{display:none}
}

/* =========================================================
   V2 - QUIETER EDITORIAL DIRECTION
   Less UI chrome, more hierarchy and whitespace
   ========================================================= */
:root{--radius:16px;--shadow:0 14px 38px rgba(9,16,22,.06)}
body{background:#f8f7f3}
.site-header{min-height:72px;background:rgba(15,21,27,.97);border-bottom:1px solid rgba(255,255,255,.06)}
.hero{min-height:auto;padding:108px 0 104px;background:radial-gradient(circle at 76% 28%,rgba(45,140,139,.16),transparent 32%),linear-gradient(135deg,#0f161d,#18232a 68%,#151c22)}
.hero-grid{gap:82px}.hero .lead{max-width:690px;font-size:1.28rem}.hero-actions{margin-top:34px}
.hero-proof,.trust-strip,.board-footer,.prototype-badge{display:none!important}
.hero-board{padding:0;border:0;background:transparent;box-shadow:none}.board-window{border-radius:12px;box-shadow:0 24px 68px rgba(0,0,0,.22)}.scene-visual{height:285px;border-radius:7px}
.eyebrow{font-size:.7rem;letter-spacing:.16em;margin-bottom:15px}.section{padding:108px 0}.section.tight{padding:86px 0}.section-head{margin-bottom:56px}.section-head.center{max-width:900px}
.problem-card,.problem-card.alt,.panel,.service-card,.sample-card,.step{border:0;box-shadow:none;border-radius:0}
.split{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.problem-card,.problem-card.alt{background:transparent;color:var(--text);padding:42px 42px 42px 0}.problem-card.alt{padding-left:42px;border-left:1px solid var(--line)}.problem-card.alt .muted{color:var(--muted)}.problem-card .eyebrow,.problem-card.alt .eyebrow{color:var(--teal)}
.services-grid{grid-template-columns:1fr;gap:0}.service-card{padding:38px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:28px 42px}.service-card:last-child{border-bottom:1px solid var(--line)}.service-card:before{display:none}
.service-card .service-top{display:block}.service-card .price{margin-top:10px;font-size:1.2rem}.service-card>p{align-self:start;margin-top:28px;max-width:610px}.service-card .clean-list{grid-column:1/2;margin:0;display:flex;flex-wrap:wrap;gap:7px 28px}.service-card .clean-list li{padding:0;color:var(--muted);font-size:.9rem}.service-card .clean-list li:before{display:none}.service-card .card-actions{grid-column:2/3;grid-row:2/3;margin:0;justify-content:flex-end;align-items:flex-end}
.adapt{background:#172a31}.adapt-grid{gap:90px}.function-diagram{border-left:1px solid rgba(255,255,255,.16);padding-left:34px}.function-row{grid-template-columns:120px 1fr}.function-line{height:18px;border:0;background:rgba(255,255,255,.07);border-radius:0}.function-line:after{top:0;left:0;height:100%;border-radius:0;background:linear-gradient(90deg,rgba(215,169,75,.52),rgba(45,140,139,.58))}
.samples-grid{grid-template-columns:repeat(2,1fr);gap:58px 34px}.sample-card{background:transparent}.sample-thumb{height:300px;padding:22px;background:#e7e8e4;border-radius:9px}.sample-copy{padding:18px 0 0}.sample-copy p{max-width:500px}
.workflow{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}.step{background:transparent;padding:34px 28px 24px 0;border-right:1px solid var(--line)}.step:not(:first-child){padding-left:28px}.step:last-child{border-right:0}.step b{width:auto;height:auto;display:block;background:transparent;color:var(--teal);margin-bottom:18px;font-size:.8rem;letter-spacing:.14em}
.cta-band{background:#111820}.footer{background:#0f151b}
.service-hero{padding:104px 0 94px;background:#f3f1eb}.service-hero-grid{gap:90px}.price-card{background:transparent;color:var(--text);border-radius:0;padding:0 0 0 42px;box-shadow:none;border-left:1px solid var(--line)}.price-card .eyebrow{color:var(--teal)}.price-card .price{color:var(--text)}.price-card .clean-list{color:var(--muted)}.price-card .clean-list li:before{color:var(--teal)}.price-card p[style]{color:var(--muted)!important}
.detail-grid{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.panel{background:transparent;padding:42px 42px 42px 0}.panel.dark{background:transparent;color:var(--text);padding-left:42px;border-left:1px solid var(--line)}.panel.dark .muted{color:var(--muted)}.panel.dark .eyebrow{color:var(--teal)}
.carousel{gap:24px;grid-auto-columns:min(82%,820px)}.slide{border:0;box-shadow:none;border-radius:0;background:transparent}.slide-preview{min-height:440px;background:#e7e8e4;border-radius:9px}.slide-copy{padding:18px 0 0;max-width:700px}.carousel-btn{border:0;background:transparent;font-size:1.55rem}.sample-note{background:transparent;border:0;border-left:3px solid var(--teal);border-radius:0;padding:8px 0 8px 18px;max-width:850px}
#dance.panel,#theatre.panel,#assessment.panel,#pld.panel{border-top:1px solid var(--line);padding:48px 0;margin-top:0!important}#pld.panel{border-bottom:1px solid var(--line)}
.form-shell{border:0;border-radius:0;box-shadow:none;padding:0;background:transparent}input,textarea,select{border-radius:5px;background:white}
.btn{border-radius:6px;min-height:44px;padding:0 19px}.btn.ghost{background:transparent}
@media(max-width:980px){.service-card{grid-template-columns:1fr}.service-card>p,.service-card .clean-list,.service-card .card-actions{grid-column:auto;grid-row:auto}.service-card .card-actions{justify-content:flex-start}}
@media(max-width:700px){.hero{padding:76px 0}.section{padding:76px 0}.section.tight{padding:64px 0}.split,.detail-grid{border:0}.problem-card,.problem-card.alt,.panel,.panel.dark{padding:28px 0;border-left:0;border-top:1px solid var(--line)}.samples-grid{grid-template-columns:1fr;gap:42px}.workflow{grid-template-columns:1fr}.step,.step:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.service-card{padding:30px 0}.service-hero{padding:76px 0}.price-card{padding:28px 0 0;border-left:0;border-top:1px solid var(--line)}.carousel{grid-auto-columns:94%}.slide-preview{min-height:330px}}


/* =========================================================
   V3 - SERVICE POSITIONING
   Production Lighting Design leads the brand.
   Defined-scope services are secondary but equally professional.
   ========================================================= */
.primary-service{padding-top:118px;padding-bottom:118px}
.feature-service{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:92px;
  align-items:center;
}
.feature-service h2{max-width:760px}
.feature-service .lead{max-width:760px}
.feature-document{max-width:540px;justify-self:end;width:100%}
.feature-doc{height:420px;background:white;box-shadow:0 24px 65px rgba(10,18,23,.12)}
.feature-doc .doc-mini-body{padding:22px}
.feature-doc .doc-mini-scene{height:230px}
.feature-caption{font-size:.82rem;margin-top:14px;line-height:1.45}

.assessment-row{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:90px;
  align-items:start;
}
.assessment-row h2{max-width:570px}

.defined-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.defined-service{
  padding:46px 46px 46px 0;
}
.defined-service + .defined-service{
  padding-left:46px;
  border-left:1px solid var(--line);
}
.defined-service .clean-list{
  margin:24px 0;
}
.defined-service .clean-list li{
  color:var(--muted);
}
.scope-price-note{
  margin-top:18px;
  color:var(--muted);
  font-size:.86rem;
}
.text-link{
  display:inline-block;
  margin-top:8px;
  font-weight:800;
  color:var(--teal);
}
.text-link:hover{text-decoration:underline}

@media(max-width:900px){
  .feature-service,.assessment-row{grid-template-columns:1fr;gap:48px}
  .feature-document{justify-self:start;max-width:650px}
}
@media(max-width:700px){
  .defined-grid{grid-template-columns:1fr;border:0}
  .defined-service,.defined-service + .defined-service{
    padding:32px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .defined-service:last-child{border-bottom:1px solid var(--line)}
  .feature-doc{height:340px}
  .feature-doc .doc-mini-scene{height:170px}
}


/* =========================================================
   V4 - CLEAR PRODUCT ARCHITECTURE
   ========================================================= */

.nav-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.nav-dropdown-toggle{
  border:0;
  background:transparent;
  color:rgba(255,255,255,.78);
  padding:0;
  cursor:pointer;
  font:inherit;
}
.nav-dropdown-toggle:after{
  content:"▾";
  margin-left:6px;
  font-size:.72em;
}
.nav-dropdown-menu{
  display:none;
  position:absolute;
  top:calc(100% + 18px);
  left:-18px;
  min-width:285px;
  padding:10px;
  background:#151d24;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 50px rgba(0,0,0,.28);
  border-radius:10px;
}
.nav-dropdown.open .nav-dropdown-menu{
  display:block;
}
.nav-dropdown-menu a{
  display:block;
  padding:11px 12px;
  color:rgba(255,255,255,.76);
  border-radius:6px;
}
.nav-dropdown-menu a:hover{
  background:rgba(255,255,255,.06);
  color:#fff;
}

.services-overview{
  padding-top:100px;
  padding-bottom:100px;
}
.service-overview-list{
  border-top:1px solid var(--line);
}
.service-overview-row{
  display:grid;
  grid-template-columns:1fr 1.45fr .55fr;
  gap:40px;
  align-items:start;
  padding:34px 0;
  border-bottom:1px solid var(--line);
}
.service-overview-row.featured{
  padding-top:42px;
  padding-bottom:42px;
}
.service-overview-name h3{
  margin-bottom:0;
  font-size:1.55rem;
}
.service-overview-copy p{
  margin:0;
  color:var(--muted);
}
.service-overview-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  text-align:right;
}
.service-overview-meta span{
  font-weight:800;
  font-size:.9rem;
  color:var(--text);
}
.service-overview-meta .text-link{
  margin-top:0;
}

@media(max-width:980px){
  .nav-dropdown{
    display:block;
    width:100%;
  }
  .nav-dropdown-toggle{
    width:100%;
    text-align:left;
    padding:11px 0;
  }
  .nav-dropdown-menu{
    position:static;
    min-width:0;
    margin:0 0 8px;
    padding:0 0 0 14px;
    border:0;
    box-shadow:none;
    background:transparent;
  }
  .nav-dropdown-menu a{
    padding:8px 0;
  }
  .service-overview-row{
    grid-template-columns:1fr 1.5fr;
  }
  .service-overview-meta{
    grid-column:1/-1;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:left;
  }
}
@media(max-width:700px){
  .service-overview-row{
    grid-template-columns:1fr;
    gap:14px;
    padding:28px 0;
  }
  .service-overview-meta{
    grid-column:auto;
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V6 - STRONGER SERVICE / CATEGORY LABELS
   ========================================================= */

/* Green category headings are informational hierarchy,
   not decorative micro-labels. */
.eyebrow{
  font-size:.84rem;
  line-height:1.25;
  font-weight:950;
  letter-spacing:.105em;
  color:#197b7a;
}

.service-type{
  font-size:.84rem;
  line-height:1.25;
  font-weight:950;
  letter-spacing:.095em;
  color:#197b7a;
}

/* Homepage service architecture: give category labels more presence */
.services-overview .section-head > .eyebrow{
  font-size:1rem;
  letter-spacing:.08em;
  margin-bottom:18px;
}

.service-overview-name .service-type{
  font-size:.88rem;
  margin-bottom:12px;
}

/* Other main service-section headings */
.primary-service .eyebrow,
.assessment-highlight .eyebrow,
.defined-scope-home .eyebrow,
.service-hero .eyebrow{
  font-size:.9rem;
  letter-spacing:.09em;
}

/* Keep dark-background labels strong and legible */
.dark .eyebrow,
.hero .eyebrow{
  color:#e1b85b;
}


/* =========================================================
   V7 - REAL HERO IMAGE
   Only the homepage hero visual was changed.
   ========================================================= */
.hero-image-wrap{
  margin:0;
  width:100%;
  align-self:center;
}
.hero-image{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center center;
  border-radius:12px;
  box-shadow:0 28px 74px rgba(0,0,0,.32);
  background:#050607;
}
.hero-image-wrap figcaption{
  margin-top:13px;
  color:rgba(255,255,255,.60);
  font-size:.78rem;
  letter-spacing:.015em;
}
.hero-image-wrap figcaption strong{
  color:rgba(255,255,255,.82);
  font-weight:750;
}
@media(max-width:980px){
  .hero-image-wrap{max-width:760px;}
}
@media(max-width:700px){
  .hero-image{
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:62% center;
    border-radius:8px;
  }
  .hero-image-wrap figcaption{font-size:.72rem;}
}


/* =========================================================
   V8 - HOMEPAGE PRODUCTION LIGHTING DESIGN SHOWCASE
   Larger desktop-first manual slideshow for real deliverables.
   ========================================================= */
.primary-service .wrap{
  width:min(calc(100% - 48px),1280px);
}
.primary-service .feature-service{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:72px;
  align-items:center;
}
.primary-service .feature-document{
  max-width:none;
  width:100%;
  justify-self:stretch;
  min-width:0;
}
.pld-showcase{
  width:100%;
  outline:none;
}
.pld-showcase-viewport{
  width:100%;
}
.pld-showcase-slide{
  margin:0;
}
.pld-showcase-slide[hidden]{
  display:none !important;
}
.pld-showcase-image-link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:500px;
  padding:10px;
  background:#fff;
  border:1px solid rgba(17,24,32,.08);
  box-shadow:0 22px 58px rgba(10,18,23,.10);
  cursor:zoom-in;
}
.pld-showcase-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.pld-showcase-slide figcaption{
  display:grid;
  gap:4px;
  margin-top:15px;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.45;
}
.pld-showcase-slide figcaption strong{
  color:var(--text);
  font-size:.96rem;
}
.pld-showcase-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:14px;
}
.pld-showcase-arrow{
  width:38px;
  height:38px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
}
.pld-showcase-arrow:hover{
  color:var(--teal);
}
.pld-showcase-counter{
  min-width:44px;
  text-align:center;
  color:var(--muted);
  font-size:.84rem;
  font-weight:800;
}

@media(max-width:1100px){
  .primary-service .feature-service{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:48px;
  }
  .pld-showcase-image-link{
    height:430px;
  }
}

@media(max-width:900px){
  .primary-service .wrap{
    width:min(calc(100% - 48px),var(--max));
  }
  .primary-service .feature-service{
    grid-template-columns:1fr;
    gap:48px;
  }
  .pld-showcase-image-link{
    height:520px;
  }
}

@media(max-width:700px){
  .primary-service .wrap{
    width:min(calc(100% - 32px),var(--max));
  }
  .pld-showcase-image-link{
    height:330px;
    padding:6px;
  }
  .pld-showcase-slide figcaption{
    font-size:.8rem;
  }
  .pld-showcase-controls{
    justify-content:space-between;
    margin-top:10px;
  }
  .pld-showcase-arrow{
    width:44px;
    height:44px;
  }
}


/* =========================================================
   V9 - PROJECT EXAMPLE CONTEXT
   ========================================================= */
.pld-showcase-context{
  margin:0 0 16px;
}
.pld-showcase-context strong{
  display:block;
  font-size:1.05rem;
  line-height:1.25;
  color:var(--text);
  margin-bottom:4px;
}
.pld-showcase-context span{
  display:block;
  font-size:.88rem;
  line-height:1.45;
  color:var(--muted);
}
\n\n/* =========================================================\n   V10 - COMPACT SHOWCASE NAVIGATION\n   Controls sit immediately below the visible image.\n   ========================================================= */\n.primary-service .pld-showcase-image-link{\n  height:auto;\n  min-height:0;\n  padding:0;\n  background:transparent;\n  border:0;\n  box-shadow:none;\n}\n.primary-service .pld-showcase-slide img{\n  width:100%;\n  height:auto;\n  max-height:500px;\n  object-fit:contain;\n  object-position:center;\n  background:#fff;\n  border:1px solid rgba(17,24,32,.08);\n  box-shadow:0 22px 58px rgba(10,18,23,.10);\n}\n.primary-service .pld-showcase-controls{\n  margin-top:8px;\n}\n.pld-showcase-caption{\n  display:grid;\n  gap:4px;\n  margin-top:7px;\n  color:var(--muted);\n  font-size:.86rem;\n  line-height:1.45;\n}\n.pld-showcase-caption strong{\n  color:var(--text);\n  font-size:.96rem;\n}\n@media(max-width:1100px){\n  .primary-service .pld-showcase-slide img{max-height:430px;}\n}\n@media(max-width:900px){\n  .primary-service .pld-showcase-slide img{max-height:520px;}\n}\n@media(max-width:700px){\n  .primary-service .pld-showcase-slide img{max-height:330px;}\n  .primary-service .pld-showcase-controls{margin-top:6px;}\n  .pld-showcase-caption{font-size:.8rem;margin-top:5px;}\n}\n

/* =========================================================
   V11 - PRODUCTION LIGHTING DESIGN DETAIL SHOWCASE
   One large real deliverable at a time.
   ========================================================= */

.pld-detail-samples .section-head{
  max-width:920px;
}

.pld-detail-showcase{
  width:min(100%,1080px);
  margin:0 auto;
  outline:none;
}

.pld-detail-stage{
  width:100%;
  min-height:560px;
  display:grid;
  place-items:center;
  background:#e5e5e1;
  border-radius:10px;
  overflow:hidden;
  padding:24px;
}

.pld-detail-slide{
  width:100%;
  height:100%;
  min-height:512px;
  display:grid;
  place-items:center;
  cursor:zoom-in;
}

.pld-detail-slide[hidden]{
  display:none !important;
}

.pld-detail-slide img{
  display:block;
  max-width:100%;
  max-height:680px;
  width:auto;
  height:auto;
  object-fit:contain;
  background:white;
  box-shadow:0 14px 36px rgba(10,18,23,.13);
}

.pld-detail-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:14px 0 0;
}

.pld-detail-arrow{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,24,32,.38);
  border-radius:50%;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-size:1.25rem;
  transition:.18s ease;
}

.pld-detail-arrow:hover,
.pld-detail-arrow:focus-visible{
  background:var(--ink);
  color:white;
  border-color:var(--ink);
}

.pld-detail-counter{
  min-width:54px;
  text-align:center;
  font-size:.9rem;
  color:var(--muted);
}

.pld-detail-counter strong{
  color:var(--text);
}

.pld-detail-caption{
  max-width:880px;
  margin:18px auto 0;
  text-align:center;
}

.pld-detail-caption h3{
  margin-bottom:8px;
}

.pld-detail-caption p{
  margin:0 auto;
  color:var(--muted);
  max-width:790px;
}

.pld-detail-enlarge{
  display:block;
  margin-top:9px;
  color:var(--muted);
  font-size:.78rem;
}

.pld-detail-samples .sample-note{
  max-width:980px;
  margin:34px auto 0;
}

.pld-detail-samples .card-actions{
  justify-content:center;
}

@media(max-width:980px){
  .pld-detail-stage{
    min-height:470px;
    padding:18px;
  }
  .pld-detail-slide{
    min-height:434px;
  }
  .pld-detail-slide img{
    max-height:600px;
  }
}

@media(max-width:700px){
  .pld-detail-stage{
    min-height:0;
    padding:10px;
    border-radius:7px;
  }
  .pld-detail-slide{
    min-height:0;
  }
  .pld-detail-slide img{
    max-height:520px;
    box-shadow:0 8px 22px rgba(10,18,23,.10);
  }
  .pld-detail-controls{
    margin-top:10px;
    gap:18px;
  }
  .pld-detail-arrow{
    width:42px;
    height:42px;
  }
  .pld-detail-caption{
    text-align:left;
    margin-top:15px;
  }
  .pld-detail-samples .card-actions{
    justify-content:flex-start;
  }
}


/* =========================================================
   V13 - PRODUCTION LIGHTING ASSESSMENT AS ONE REPORT
   ========================================================= */

.assessment-report-preview .section-head{
  max-width:900px;
}

.assessment-report-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:64px;
  align-items:start;
}

.assessment-report-copy{
  padding-top:8px;
}

.assessment-report-list{
  margin-top:18px;
}

.assessment-report-list li{
  padding-top:6px;
  padding-bottom:6px;
}

.assessment-report-figure{
  margin:0;
}

.assessment-report-figure a{
  display:block;
  background:#e3e4df;
  padding:16px;
  border-radius:10px;
  cursor:zoom-in;
}

.assessment-report-figure img{
  display:block;
  width:100%;
  height:auto;
  background:white;
  box-shadow:0 16px 38px rgba(10,18,23,.12);
}

.assessment-report-figure figcaption{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:2px;
  color:var(--muted);
  font-size:.84rem;
}

.assessment-report-figure figcaption strong{
  color:var(--text);
  font-size:.9rem;
}

.assessment-report-preview .sample-note{
  margin-top:36px;
  max-width:980px;
}

@media(max-width:900px){
  .assessment-report-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .assessment-report-copy{
    padding-top:0;
  }
}

@media(max-width:700px){
  .assessment-report-figure a{
    padding:8px;
    border-radius:7px;
  }
}


/* =========================================================
   V14 - LIGHTING DESIGN FOR DANCE REAL DELIVERABLE EXAMPLES
   ========================================================= */

.dance-detail-samples .section-head{
  max-width:900px;
}

.dance-detail-showcase{
  width:min(100%,1000px);
  margin:0 auto;
  outline:none;
}

.dance-detail-stage{
  width:100%;
  min-height:520px;
  display:grid;
  place-items:center;
  background:#e5e5e1;
  border-radius:10px;
  overflow:hidden;
  padding:22px;
}

.dance-detail-slide{
  width:100%;
  min-height:476px;
  display:grid;
  place-items:center;
  cursor:zoom-in;
}

.dance-detail-slide[hidden]{
  display:none !important;
}

.dance-detail-slide img{
  display:block;
  max-width:100%;
  max-height:650px;
  width:auto;
  height:auto;
  object-fit:contain;
  background:white;
  box-shadow:0 14px 36px rgba(10,18,23,.12);
}

.dance-detail-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:12px 0 0;
}

.dance-detail-arrow{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,24,32,.38);
  border-radius:50%;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-size:1.25rem;
}

.dance-detail-arrow:hover,
.dance-detail-arrow:focus-visible{
  background:var(--ink);
  color:white;
  border-color:var(--ink);
}

.dance-detail-counter{
  min-width:54px;
  text-align:center;
  font-size:.9rem;
  color:var(--muted);
}

.dance-detail-counter strong{
  color:var(--text);
}

.dance-detail-caption{
  max-width:820px;
  margin:16px auto 0;
  text-align:center;
}

.dance-detail-caption h3{
  margin-bottom:8px;
}

.dance-detail-caption p{
  margin:0 auto;
  max-width:760px;
  color:var(--muted);
}

.dance-detail-enlarge{
  display:block;
  margin-top:9px;
  font-size:.78rem;
  color:var(--muted);
}

.dance-detail-samples .sample-note{
  max-width:930px;
  margin:34px auto 0;
}

.dance-detail-samples .card-actions{
  justify-content:center;
}

@media(max-width:900px){
  .dance-detail-stage{
    min-height:450px;
    padding:16px;
  }
  .dance-detail-slide{
    min-height:418px;
  }
}

@media(max-width:700px){
  .dance-detail-stage{
    min-height:0;
    padding:8px;
    border-radius:7px;
  }
  .dance-detail-slide{
    min-height:0;
  }
  .dance-detail-slide img{
    max-height:520px;
    box-shadow:0 8px 22px rgba(10,18,23,.10);
  }
  .dance-detail-controls{
    margin-top:10px;
    gap:18px;
  }
  .dance-detail-caption{
    text-align:left;
    margin-top:14px;
  }
  .dance-detail-samples .card-actions{
    justify-content:flex-start;
  }
}


/* =========================================================
   V15 - LIGHTING DESIGN FOR SCENIC THEATRE REAL EXAMPLES
   ========================================================= */

.theatre-detail-samples .section-head{
  max-width:920px;
}

.theatre-detail-showcase{
  width:min(100%,1020px);
  margin:0 auto;
  outline:none;
}

.theatre-detail-stage{
  width:100%;
  min-height:540px;
  display:grid;
  place-items:center;
  background:#e5e5e1;
  border-radius:10px;
  overflow:hidden;
  padding:22px;
}

.theatre-detail-slide{
  width:100%;
  min-height:496px;
  display:grid;
  place-items:center;
  cursor:zoom-in;
}

.theatre-detail-slide[hidden]{
  display:none !important;
}

.theatre-detail-slide img{
  display:block;
  max-width:100%;
  max-height:680px;
  width:auto;
  height:auto;
  object-fit:contain;
  background:white;
  box-shadow:0 14px 36px rgba(10,18,23,.12);
}

.theatre-detail-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:12px 0 0;
}

.theatre-detail-arrow{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(17,24,32,.38);
  border-radius:50%;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-size:1.25rem;
}

.theatre-detail-arrow:hover,
.theatre-detail-arrow:focus-visible{
  background:var(--ink);
  color:white;
  border-color:var(--ink);
}

.theatre-detail-counter{
  min-width:54px;
  text-align:center;
  font-size:.9rem;
  color:var(--muted);
}

.theatre-detail-counter strong{
  color:var(--text);
}

.theatre-detail-caption{
  max-width:840px;
  margin:16px auto 0;
  text-align:center;
}

.theatre-detail-caption h3{
  margin-bottom:8px;
}

.theatre-detail-caption p{
  margin:0 auto;
  max-width:780px;
  color:var(--muted);
}

.theatre-detail-enlarge{
  display:block;
  margin-top:9px;
  font-size:.78rem;
  color:var(--muted);
}

.theatre-detail-samples .sample-note{
  max-width:950px;
  margin:34px auto 0;
}

.theatre-detail-samples .card-actions{
  justify-content:center;
}

@media(max-width:900px){
  .theatre-detail-stage{
    min-height:460px;
    padding:16px;
  }
  .theatre-detail-slide{
    min-height:428px;
  }
}

@media(max-width:700px){
  .theatre-detail-stage{
    min-height:0;
    padding:8px;
    border-radius:7px;
  }
  .theatre-detail-slide{
    min-height:0;
  }
  .theatre-detail-slide img{
    max-height:520px;
    box-shadow:0 8px 22px rgba(10,18,23,.10);
  }
  .theatre-detail-controls{
    margin-top:10px;
    gap:18px;
  }
  .theatre-detail-caption{
    text-align:left;
    margin-top:14px;
  }
  .theatre-detail-samples .card-actions{
    justify-content:flex-start;
  }
}


/* =========================================================
   V16 - BROWSER-BASED FULL DEMO VIEWER
   ========================================================= */

.demo-viewer-page{
  margin:0;
  overflow:hidden;
  background:#111820;
  color:#fff;
}

.demo-viewer-shell{
  height:100vh;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:#111820;
}

.demo-viewer-header{
  min-height:64px;
  padding:10px 18px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  background:#111820;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.demo-viewer-back,
.demo-viewer-fullscreen{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:7px 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
  color:#fff;
  background:transparent;
  cursor:pointer;
  font-size:.86rem;
}

.demo-viewer-back:hover,
.demo-viewer-back:focus-visible,
.demo-viewer-fullscreen:hover,
.demo-viewer-fullscreen:focus-visible{
  border-color:var(--gold);
  color:var(--gold-2);
}

.demo-viewer-title{
  min-width:0;
  display:flex;
  flex-direction:column;
  line-height:1.2;
}

.demo-viewer-title strong{
  font-size:1.08rem;
  letter-spacing:.01em;
}

.demo-viewer-eyebrow{
  margin-bottom:3px;
  color:#9faab2;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.demo-document-nav{
  display:flex;
  gap:4px;
  overflow-x:auto;
  padding:8px 14px;
  background:#18242d;
  border-bottom:1px solid rgba(255,255,255,.08);
  scrollbar-width:thin;
}

.demo-document-tab{
  flex:0 0 auto;
  padding:8px 13px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#c6ced3;
  cursor:pointer;
  font-size:.82rem;
  font-weight:650;
  white-space:nowrap;
}

.demo-document-tab:hover,
.demo-document-tab:focus-visible{
  color:#fff;
}

.demo-document-tab.is-active{
  color:#fff;
  border-bottom-color:var(--gold);
}

.demo-viewer-notice{
  padding:7px 18px;
  background:#26343e;
  color:#c8d0d5;
  font-size:.74rem;
  line-height:1.35;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.demo-viewer-notice strong{
  color:#fff;
}

.demo-pdf-area{
  position:relative;
  min-height:0;
  flex:1 1 auto;
  background:#343a3e;
}

.demo-pdf-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#343a3e;
}

.demo-pdf-loading{
  position:absolute;
  z-index:2;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  padding:7px 12px;
  border-radius:6px;
  background:rgba(17,24,32,.86);
  color:#d5dadd;
  font-size:.75rem;
  pointer-events:none;
  transition:opacity .2s ease;
}

.demo-pdf-loading.is-hidden{
  opacity:0;
}

@media(max-width:700px){
  .demo-viewer-header{
    min-height:58px;
    grid-template-columns:auto 1fr;
    gap:10px;
    padding:8px 10px;
  }

  .demo-viewer-fullscreen{
    display:none;
  }

  .demo-viewer-title strong{
    font-size:.95rem;
  }

  .demo-viewer-eyebrow{
    font-size:.59rem;
  }

  .demo-viewer-back{
    min-height:34px;
    padding:5px 9px;
    font-size:.78rem;
  }

  .demo-document-nav{
    padding:6px 8px;
  }

  .demo-document-tab{
    padding:7px 10px;
    font-size:.76rem;
  }

  .demo-viewer-notice{
    padding:6px 10px;
    font-size:.67rem;
  }
}


/* =========================================================
   V19 - SINGLE-DOCUMENT ASSESSMENT DEMO VIEWER
   ========================================================= */

.demo-single-document-label{
  padding:9px 18px;
  background:#18242d;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#fff;
  font-size:.82rem;
  font-weight:650;
}

@media(max-width:700px){
  .demo-single-document-label{
    padding:7px 10px;
    font-size:.76rem;
  }
}


/* =========================================================
   V21 - FREE INITIAL PROJECT REVIEW / ONLINE QUESTIONNAIRE
   ========================================================= */

.project-review-section{
  background:#f3f1ec;
}

.project-review-form{
  width:min(100%,980px);
  margin:0 auto;
  background:#fff;
  padding:42px 46px;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 18px 44px rgba(12,20,27,.06);
}

.review-progress{
  margin-bottom:42px;
}

.review-progress-bar{
  height:4px;
  background:#e1dfd9;
  overflow:hidden;
  border-radius:999px;
}

.review-progress-bar span{
  display:block;
  width:20%;
  height:100%;
  background:var(--teal);
  transition:width .24s ease;
}

.review-progress-meta{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:9px;
  color:var(--muted);
  font-size:.78rem;
}

.review-progress-meta span:last-child{
  color:var(--text);
  font-weight:700;
}

.review-step[hidden]{
  display:none !important;
}

.review-step-intro{
  max-width:790px;
  margin-bottom:30px;
  color:var(--muted);
  font-size:1.02rem;
}

.review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 24px;
}

.review-grid .full{
  grid-column:1 / -1;
}

.project-review-form .field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.project-review-form label,
.project-review-form legend{
  font-weight:750;
  color:var(--text);
}

.project-review-form input[type="text"],
.project-review-form input[type="email"],
.project-review-form input[type="date"],
.project-review-form input[type="number"],
.project-review-form input[type="file"],
.project-review-form textarea,
.project-review-form select{
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #d6d8d9;
  border-radius:7px;
  background:#fff;
  color:var(--text);
  outline:none;
}

.project-review-form textarea{
  resize:vertical;
  min-height:108px;
}

.project-review-form input:focus,
.project-review-form textarea:focus,
.project-review-form select:focus{
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(45,140,139,.10);
}

.project-review-form .is-invalid{
  border-color:#aa5555 !important;
  box-shadow:0 0 0 3px rgba(170,85,85,.08) !important;
}

.required-mark{
  color:#9b3f47;
}

.field-help,
.fieldset-help{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  font-weight:400;
}

.choice-group{
  min-width:0;
  margin:28px 0 0;
  padding:0;
  border:0;
}

.choice-group legend{
  width:100%;
  margin-bottom:11px;
  font-size:.95rem;
}

.choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 12px;
}

.choice-grid.three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.choice{
  min-height:48px;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:11px 12px;
  border:1px solid #dde0e0;
  border-radius:7px;
  background:#fbfbfa;
  cursor:pointer;
  font-weight:500 !important;
}

.choice:hover{
  border-color:#bfc7c7;
  background:#fff;
}

.choice input{
  flex:0 0 auto;
  margin-top:3px;
  accent-color:var(--teal);
}

.choice:has(input:checked){
  border-color:rgba(45,140,139,.62);
  background:rgba(45,140,139,.055);
}

.scope-heading,
.scope-generic{
  margin:25px 0 4px;
  padding:22px 24px;
  border-left:3px solid var(--teal);
  background:#f5f8f7;
}

.scope-heading h3,
.scope-generic h3{
  margin-bottom:7px;
}

.scope-heading p,
.scope-generic p{
  margin:0;
  color:var(--muted);
}

.review-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:34px;
}

.review-actions.split{
  justify-content:space-between;
}

.review-error-summary{
  margin:-10px 0 28px;
  padding:12px 14px;
  border-left:3px solid #a44950;
  background:#fbf2f2;
  color:#702e34;
  font-size:.9rem;
}

.what-next-box{
  margin-top:30px;
  padding:25px 27px;
  background:#f5f3ed;
  border:1px solid var(--line);
}

.what-next-box h3{
  margin-bottom:9px;
}

.what-next-box p:last-child{
  margin-bottom:0;
}

.privacy-review-notice{
  margin-top:28px;
  padding:25px 27px;
  border:1px solid var(--line);
  background:#fafafa;
}

.privacy-review-notice h3{
  margin-bottom:10px;
}

.privacy-review-notice p{
  font-size:.9rem;
}

.privacy-review-notice p:last-child{
  margin-bottom:0;
}

.legal-consents{
  display:grid;
  gap:12px;
  margin-top:22px;
}

.legal-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 0;
  font-size:.88rem;
  font-weight:500 !important;
  line-height:1.45;
}

.legal-check input{
  margin-top:4px;
  accent-color:var(--teal);
}

.legal-check a{
  text-decoration:underline;
  text-underline-offset:2px;
}

.spam-protection{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:28px;
  align-items:end;
  margin-top:30px;
  padding:22px 24px;
  background:#eef4f3;
  border:1px solid rgba(45,140,139,.22);
}

.spam-protection h3{
  margin-bottom:6px;
}

.captcha-row{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.honeypot{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  left:-10000px !important;
}

.review-submit-result{
  margin-top:22px;
  padding:16px 18px;
  background:#eef6f2;
  border-left:3px solid #3c7e64;
  color:#24553f;
}

.review-submit-result.is-error{
  background:#fbf2f2;
  border-left-color:#a44950;
  color:#702e34;
}

@media(max-width:820px){
  .project-review-form{
    padding:32px 28px;
  }

  .review-grid{
    grid-template-columns:1fr;
  }

  .review-grid .full{
    grid-column:auto;
  }

  .choice-grid,
  .choice-grid.three{
    grid-template-columns:1fr;
  }

  .spam-protection{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .project-review-section{
    padding-top:52px;
  }

  .project-review-form{
    padding:25px 18px;
    border-radius:10px;
  }

  .review-progress-meta{
    flex-direction:column;
    gap:2px;
  }

  .review-actions,
  .review-actions.split{
    flex-direction:column-reverse;
    align-items:stretch;
  }

  .review-actions .btn{
    width:100%;
  }

  .scope-heading,
  .scope-generic,
  .what-next-box,
  .privacy-review-notice,
  .spam-protection{
    padding:19px 17px;
  }
}


/* =========================================================
   V22 - QUESTIONNAIRE CHOICE LABEL LAYOUT FIX
   ========================================================= */

/*
  V21's questionnaire choice cards inherited older global form-label
  behaviour. These scoped overrides keep the radio/checkbox and its
  wording inside the same card and allow long labels to wrap normally.
*/

.project-review-form .choice{
  position:relative;
  width:100%;
  min-width:0;
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px;
  text-align:left;
  overflow:hidden;
}

.project-review-form .choice input[type="radio"],
.project-review-form .choice input[type="checkbox"]{
  position:static !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  margin:4px 0 0 0 !important;
  padding:0 !important;
  flex:0 0 auto !important;
  transform:none !important;
}

.project-review-form .choice > span{
  position:static !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  flex:1 1 auto !important;
  line-height:1.38;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

.project-review-form .choice-grid{
  align-items:stretch;
}

.project-review-form .choice-grid > .choice{
  height:100%;
}

@media(max-width:820px){
  .project-review-form .choice{
    min-height:46px;
  }
}


/* V23 - Defined-scope helper text */
.project-review-form .scope-definition-help{
  margin-top:10px;
  max-width:820px;
}


/* =========================================================
   V24 - LIVE PROJECT REVIEW SUBMISSION
   ========================================================= */

.project-review-form .customer-copy-option{
  margin-top:28px;
  padding:14px 18px;
  background:#f2f7f6;
  border:1px solid rgba(45,140,139,.24);
  border-radius:7px;
}

.project-review-form .customer-copy-option .legal-check{
  padding:0;
}

.project-review-form button:disabled{
  opacity:.58;
  cursor:not-allowed;
  transform:none !important;
}


/* =========================================================
   V25 - SERVICE FEE / TAX COMMUNICATION
   ========================================================= */

.pricing-legal-note{
  margin-top:28px;
  padding:22px 24px;
  border-left:3px solid var(--teal);
  background:#f5f8f7;
  max-width:980px;
}

.pricing-legal-note .eyebrow{
  margin-bottom:8px;
}

.pricing-legal-note p{
  margin-bottom:8px;
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted);
}

.pricing-legal-note p:last-child{
  margin-bottom:0;
  color:var(--text);
}

.price-card .price-tax-note{
  margin:12px 0 16px;
  font-size:.78rem;
  line-height:1.45;
  color:rgba(255,255,255,.66);
}

@media(max-width:700px){
  .pricing-legal-note{
    padding:18px 18px;
  }
}


/* =========================================================
   V26 - PUBLIC LEGAL PAGES
   ========================================================= */

.legal-hero{
  padding:78px 0 52px;
  background:#111b23;
  color:#fff;
}

.legal-hero h1{
  max-width:900px;
  font-size:clamp(2.4rem,5vw,4.7rem);
}

.legal-hero .lead{
  color:rgba(255,255,255,.72);
  max-width:800px;
}

.legal-version{
  margin-top:22px;
  color:rgba(255,255,255,.48);
  font-size:.82rem;
}

.legal-section{
  padding-top:66px;
}

.legal-document{
  color:#263038;
}

.legal-document h2{
  margin-top:52px;
  padding-top:14px;
  font-size:clamp(1.55rem,2.8vw,2.25rem);
  letter-spacing:-.025em;
  border-top:1px solid var(--line);
}

.legal-document h2:first-child{
  margin-top:0;
  border-top:0;
  padding-top:0;
}

.legal-document h3{
  margin-top:32px;
  font-size:1.28rem;
  color:#1c5260;
}

.legal-document h4{
  margin-top:26px;
}

.legal-document p,
.legal-document li{
  line-height:1.68;
}

.legal-document a{
  color:var(--teal);
  text-decoration:underline;
  text-underline-offset:2px;
}

.legal-list{
  margin:0 0 22px 1.25rem;
  padding:0;
}

.legal-list li{
  margin-bottom:8px;
  padding-left:4px;
}

.legal-callout{
  margin:24px 0 30px;
  padding:20px 22px;
  border-left:3px solid var(--teal);
  background:#f3f7f6;
  line-height:1.65;
}

.legal-table-wrap{
  overflow-x:auto;
  margin:20px 0 30px;
}

.legal-table{
  width:100%;
  border-collapse:collapse;
  font-size:.92rem;
}

.legal-table th,
.legal-table td{
  padding:11px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
  line-height:1.5;
}

.legal-table th{
  width:34%;
  color:#173d4a;
  font-weight:750;
  background:#f7f7f5;
}

.privacy-review-notice a,
.form-note a{
  color:var(--teal);
  text-decoration:underline;
  text-underline-offset:2px;
}

@media(max-width:700px){
  .legal-hero{
    padding:58px 0 40px;
  }

  .legal-section{
    padding-top:46px;
  }

  .legal-document h2{
    margin-top:40px;
  }

  .legal-table th,
  .legal-table td{
    min-width:150px;
  }
}


/* =========================================================
   V27 - ABOUT MARC SCHNEIDER
   ========================================================= */

.about-hero{
  padding:82px 0 86px;
  background:#f1efe9;
}

.about-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);
  gap:76px;
  align-items:center;
}

.about-hero-copy h1{
  max-width:820px;
  font-size:clamp(3rem,5.4vw,5.75rem);
}

.about-hero-copy .lead{
  max-width:790px;
}

.about-role-line{
  margin-top:28px;
  color:var(--muted);
  font-size:.84rem;
  font-weight:700;
  letter-spacing:.045em;
}

.about-portrait{
  margin:0;
  width:min(100%,430px);
  justify-self:end;
}

.about-portrait img{
  display:block;
  width:100%;
  height:auto;
  border-radius:3px;
  box-shadow:0 28px 60px rgba(12,20,27,.15);
}

.about-portrait figcaption{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:15px 2px 0;
}

.about-portrait figcaption strong{
  font-size:1.05rem;
}

.about-portrait figcaption span{
  color:var(--muted);
  font-size:.88rem;
}

.about-story-section{
  background:#fff;
}

.about-story-grid,
.about-teaching-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:80px;
  align-items:start;
}

.about-story-grid h2,
.about-teaching-grid h2{
  max-width:560px;
}

.about-prose,
.about-teaching-copy{
  max-width:760px;
  font-size:1.06rem;
  line-height:1.72;
}

.about-prose p,
.about-teaching-copy p{
  margin-bottom:20px;
}

.about-philosophy-section{
  background:#111b23;
  color:#fff;
}

.about-philosophy-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:72px;
  align-items:start;
}

.about-philosophy-main{
  max-width:760px;
}

.about-philosophy-main .lead{
  color:rgba(255,255,255,.82);
}

.about-philosophy-main > p:not(.eyebrow):not(.lead){
  color:rgba(255,255,255,.72);
  font-size:1.02rem;
  line-height:1.68;
}

.about-implementation{
  padding:30px 32px;
  border-left:2px solid var(--gold);
  background:rgba(255,255,255,.05);
}

.about-implementation h3{
  font-size:1.75rem;
}

.about-implementation p{
  color:rgba(255,255,255,.72);
  line-height:1.65;
}

.about-implementation p strong{
  color:#fff;
}

.about-experience-section{
  background:#f3f1ec;
}

.about-experience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:44px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.about-experience-grid article{
  padding:30px 30px 32px 0;
}

.about-experience-grid article + article{
  padding-left:30px;
  border-left:1px solid var(--line);
}

.about-experience-grid h3{
  margin-bottom:12px;
}

.about-experience-grid p:last-child{
  color:var(--muted);
  line-height:1.62;
}

.about-principles-section{
  background:#fff;
}

.about-principles-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:80px;
  align-items:center;
}

.about-principles-list{
  border-top:1px solid var(--line);
}

.about-principles-list > div{
  display:grid;
  grid-template-columns:30px 1fr;
  gap:12px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid var(--line);
}

.about-principles-list span{
  color:var(--teal);
  font-weight:900;
  font-size:1.15rem;
}

.about-principles-list strong{
  font-size:1rem;
}

.about-teaching-section{
  background:#ece9e1;
}

.about-teaching-copy{
  border-left:3px solid var(--teal);
  padding-left:28px;
}

.about-cta .cta-inner{
  align-items:center;
}

@media(max-width:950px){
  .about-hero-grid{
    grid-template-columns:1fr .66fr;
    gap:42px;
  }

  .about-story-grid,
  .about-teaching-grid,
  .about-philosophy-grid,
  .about-principles-grid{
    gap:46px;
  }

  .about-experience-grid{
    grid-template-columns:1fr;
  }

  .about-experience-grid article{
    padding:25px 0;
  }

  .about-experience-grid article + article{
    padding-left:0;
    border-left:0;
    border-top:1px solid var(--line);
  }
}

@media(max-width:760px){
  .about-hero{
    padding:58px 0 64px;
  }

  .about-hero-grid,
  .about-story-grid,
  .about-teaching-grid,
  .about-philosophy-grid,
  .about-principles-grid{
    grid-template-columns:1fr;
  }

  .about-portrait{
    width:min(100%,390px);
    justify-self:start;
  }

  .about-role-line{
    line-height:1.6;
  }

  .about-implementation{
    padding:24px 24px;
  }

  .about-teaching-copy{
    padding-left:20px;
  }
}


/* =========================================================
   V28 - LIGHTPILOT LEGACY ROUTING / LAUNCH CLEANUP
   ========================================================= */

.lightpilot-legacy-bar{
  position:relative;
  z-index:101;
  background:#d7a94b;
  color:#15191d;
  font-size:.82rem;
  line-height:1.3;
}

.lightpilot-legacy-inner{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
}

.lightpilot-legacy-bar strong{
  font-weight:900;
}

.lightpilot-legacy-bar a{
  color:#15191d;
  font-weight:900;
  white-space:nowrap;
  text-decoration:none;
  border-bottom:1px solid rgba(21,25,29,.38);
}

.lightpilot-legacy-bar a:hover,
.lightpilot-legacy-bar a:focus-visible{
  border-bottom-color:#15191d;
}

.footer-bottom{
  justify-content:flex-start;
}

@media(max-width:620px){
  .lightpilot-legacy-inner{
    min-height:0;
    padding:8px 0;
    flex-direction:column;
    gap:3px;
    align-items:flex-start;
    text-align:left;
  }

  .lightpilot-legacy-bar{
    font-size:.76rem;
  }
}


/* =========================================================
   V29 - PROSENIQ / LIGHTPILOT LEGACY LINK
   ========================================================= */

.lightpilot-legacy-inner{
  gap:16px;
}

.lightpilot-brand-badge{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:78px;
  padding:4px 9px 3px;
  background:#111820;
  border:1px solid rgba(17,24,32,.18);
  border-radius:4px;
  color:#fff !important;
  text-decoration:none !important;
  line-height:1;
  border-bottom:0 !important;
}

.lightpilot-brand-main{
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.11em;
}

.lightpilot-brand-sub{
  margin-top:3px;
  font-size:.53rem;
  font-weight:800;
  letter-spacing:.08em;
  color:#d7a94b;
}

.lightpilot-legacy-copy{
  color:#15191d;
}

.lightpilot-legacy-link{
  color:#15191d !important;
  font-weight:900;
  white-space:nowrap;
  text-decoration:none !important;
  border-bottom:1px solid rgba(21,25,29,.38);
}

.lightpilot-legacy-link:hover,
.lightpilot-legacy-link:focus-visible{
  border-bottom-color:#15191d;
}

@media(max-width:720px){
  .lightpilot-legacy-inner{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:6px 10px;
    justify-content:start;
    text-align:left;
  }

  .lightpilot-brand-badge{
    grid-row:1 / span 2;
    align-self:center;
  }

  .lightpilot-legacy-copy{
    align-self:end;
  }

  .lightpilot-legacy-link{
    justify-self:start;
    align-self:start;
  }
}

@media(max-width:460px){
  .lightpilot-legacy-inner{
    grid-template-columns:1fr;
  }

  .lightpilot-brand-badge{
    grid-row:auto;
    width:max-content;
  }
}


/* V30 - SEO / launch branding */
.error-page{min-height:58vh;display:flex;align-items:center;background:#f3f1ec}.error-page h1{max-width:780px}.error-page .lead{max-width:720px}


/* =========================================================
   V31 - SUBTLE LIGHTPILOT LEGACY PRESENTATION
   ========================================================= */

.lightpilot-home-note{
  background:#f5f3ed;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.lightpilot-home-note-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding-top:11px;
  padding-bottom:11px;
}

.lightpilot-home-note-inner > div{
  display:flex;
  align-items:baseline;
  gap:10px;
  min-width:0;
}

.lightpilot-home-note-inner strong{
  color:var(--text);
  font-size:.88rem;
  white-space:nowrap;
}

.lightpilot-home-note-inner span{
  color:var(--muted);
  font-size:.86rem;
}

.lightpilot-home-note-inner > a{
  color:var(--teal);
  font-size:.86rem;
  font-weight:850;
  white-space:nowrap;
  text-decoration:none;
  border-bottom:1px solid rgba(45,140,139,.32);
}

.lightpilot-home-note-inner > a:hover,
.lightpilot-home-note-inner > a:focus-visible{
  border-bottom-color:var(--teal);
}

.footer .footer-lightpilot-link{
  margin-top:9px;
  color:rgba(255,255,255,.68);
  font-size:.82rem;
}

.footer .footer-lightpilot-link:hover{
  color:#fff;
}

@media(max-width:700px){
  .lightpilot-home-note-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
    padding-top:14px;
    padding-bottom:14px;
  }

  .lightpilot-home-note-inner > div{
    display:block;
  }

  .lightpilot-home-note-inner strong{
    display:block;
    margin-bottom:3px;
  }
}


/* =========================================================
   V32 - HEADER BRAND MARK + LIGHTPILOT FEATURE STRIP
   ========================================================= */

/* Replace the former CSS cross with the selected favicon mark. */
.brand-mark-image{
  display:block;
  width:32px;
  height:32px;
  flex:0 0 32px;
  object-fit:contain;
  border-radius:7px;
}

.footer .brand-mark-image{
  width:34px;
  height:34px;
  flex-basis:34px;
}

/* Homepage-only LightPilot feature strip. */
.lightpilot-home-note-featured{
  background:
    linear-gradient(90deg, rgba(225,185,84,.16), rgba(225,185,84,.08)),
    #f7f1df;
  border-top:1px solid rgba(183,142,48,.24);
  border-bottom:1px solid rgba(183,142,48,.30);
}

.lightpilot-home-note-grid{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding-top:15px;
  padding-bottom:15px;
}

.lightpilot-mini-brand{
  min-width:126px;
  padding:9px 12px 8px;
  border-radius:8px;
  background:#0f151b;
  box-shadow:0 7px 18px rgba(15,21,27,.13);
  line-height:1;
}

.lightpilot-mini-brand-top{
  font-size:.54rem;
  font-weight:900;
  letter-spacing:.12em;
  color:#d8a83f;
}

.lightpilot-mini-brand-main{
  margin-top:4px;
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.02em;
  color:#fff;
}

.lightpilot-mini-brand-sub{
  margin-top:4px;
  font-size:.48rem;
  font-weight:700;
  letter-spacing:.04em;
  color:rgba(255,255,255,.58);
}

.lightpilot-home-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.lightpilot-home-copy strong{
  color:var(--text);
  font-size:.91rem;
}

.lightpilot-home-copy span{
  color:var(--muted);
  font-size:.85rem;
}

.lightpilot-home-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:6px;
  background:#d9aa45;
  color:#15191d !important;
  font-size:.84rem;
  font-weight:900;
  text-decoration:none !important;
  white-space:nowrap;
  border:1px solid rgba(150,110,29,.24);
}

.lightpilot-home-cta:hover,
.lightpilot-home-cta:focus-visible{
  background:#e4b851;
}

@media(max-width:760px){
  .lightpilot-home-note-grid{
    grid-template-columns:auto 1fr;
    gap:12px 14px;
  }

  .lightpilot-home-cta{
    grid-column:2;
    justify-self:start;
  }
}

@media(max-width:520px){
  .lightpilot-home-note-grid{
    grid-template-columns:1fr;
  }

  .lightpilot-mini-brand{
    width:max-content;
  }

  .lightpilot-home-cta{
    grid-column:auto;
  }
}


/* =========================================================
   V33 - LIGHT SERVICE CARD TEXT CONTRAST FIX
   ========================================================= */

/*
  The service price cards were changed from dark to light in the later
  visual redesign, but one legacy rule still rendered small explanatory
  text in translucent white. These final scoped rules restore readable
  contrast on all service pages.
*/

.service-hero .price-card .price-tax-note{
  color:#58656f !important;
  opacity:1 !important;
}

.service-hero .price-card > p[style]{
  color:#58656f !important;
}

.service-hero .price-card .clean-list{
  color:#66737d;
}


/* =========================================================
   V34 - LARGER HOMEPAGE HERO VISUAL
   ========================================================= */

@media(min-width:981px){
  .hero > .wrap{
    width:min(calc(100% - 48px),1320px);
  }

  .hero-grid{
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
    gap:72px;
  }

  .hero-image-wrap{
    max-width:780px;
  }
}


/* =========================================================
   V35 - AI & CREATIVE RESPONSIBILITY
   ========================================================= */

.about-ai-section{
  background:#f4f2ec;
}

.about-ai-grid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:80px;
  align-items:start;
}

.about-ai-copy{
  max-width:800px;
  font-size:1.02rem;
  line-height:1.7;
}

.about-ai-copy > p{
  margin-bottom:20px;
}

.about-ai-list{
  margin:0 0 28px 1.2rem;
  padding:0;
}

.about-ai-list li{
  margin-bottom:9px;
  padding-left:4px;
  color:var(--muted);
}

.about-ai-texture-note{
  margin:30px 0;
  padding:24px 26px;
  border-left:3px solid var(--teal);
  background:#fff;
}

.about-ai-texture-note h3{
  margin-bottom:12px;
  font-size:1.22rem;
}

.about-ai-texture-note p{
  margin-bottom:14px;
  color:var(--muted);
  line-height:1.66;
}

.about-ai-texture-note p:last-child{
  margin-bottom:0;
}

.about-ai-texture-note strong{
  color:var(--text);
}

.footer .footer-ai-link{
  font-size:.82rem;
  color:rgba(255,255,255,.68);
}

.footer .footer-ai-link:hover{
  color:#fff;
}

@media(max-width:760px){
  .about-ai-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  .about-ai-texture-note{
    padding:20px 20px;
  }
}


/* =========================================================
   V39 - SAMPLE DELIVERABLES DISCOVERY
   ========================================================= */

.service-hero-actions{
  align-items:center;
}

.service-hero-actions .sample-cta{
  background:var(--gold);
  color:#15191d;
  border:1px solid rgba(138,98,22,.24);
  box-shadow:0 8px 20px rgba(157,112,25,.12);
}

.service-hero-actions .sample-cta:hover,
.service-hero-actions .sample-cta:focus-visible{
  background:#e2b34f;
  transform:translateY(-1px);
}

.hero-sample-hint{
  margin:12px 0 0;
  max-width:590px;
  color:#66737d;
  font-size:.82rem;
  line-height:1.5;
}

@media(max-width:700px){
  .service-hero-actions .sample-cta,
  .service-hero-actions .btn.dark{
    width:100%;
  }

  .hero-sample-hint{
    font-size:.8rem;
  }
}


/* =========================================================
   V40 - RELATED PROJECTS / ECOSYSTEM LINKS
   ========================================================= */

.about-related-projects{
  background:#ece9e1;
}

.about-related-projects-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:80px;
  align-items:start;
}

.about-related-projects-list{
  border-top:1px solid var(--line);
}

.about-related-project{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  color:var(--text);
  text-decoration:none;
}

.about-related-project span{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.about-related-project strong{
  font-size:1.05rem;
}

.about-related-project small{
  color:var(--muted);
  font-size:.89rem;
  line-height:1.5;
}

.about-related-project b{
  color:var(--teal);
  font-size:1.15rem;
}

.about-related-project:hover strong,
.about-related-project:focus-visible strong{
  color:var(--teal);
}

.footer-ecosystem-links{
  margin-top:17px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer .footer-ecosystem-links a{
  margin:6px 0;
  color:rgba(255,255,255,.58);
  font-size:.78rem;
}

.footer .footer-ecosystem-links a:hover{
  color:#fff;
}

@media(max-width:760px){
  .about-related-projects-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
}
