:root{
  --qingnian:#F6F6EA;
  --contactsheet:#3E4036;
  --newglow:#6A4696;
  --ngdeep:#2C2C22;
  --lamppanel:#E0DCCE;
  --glowtile:#C6AE49;
  --deskmat:#A8B8A8;
  --qingnian-soft:#EFEEDF;
  --panel-edge:#CFC9B8;
  --glow-mark:#7C57A8;
  --deep-soft:#3A3A2E;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  font-size:16px;
  font-family:Georgia,'Times New Roman',serif;
  background:var(--qingnian);
  color:var(--contactsheet);
  overflow-x:hidden;
  line-height:1.7;
}

.lamprow,
.glowdesk,
.contactsheetrow,
.lamparcband,
.deskdrawer{
  font-family:Georgia,'Times New Roman',serif;
}

h1,h2,h3,h4{
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.2;
  margin:0 0 0.6em;
  color:var(--ngdeep);
  letter-spacing:0.01em;
}

p{margin:0 0 1.1em;}
a{color:var(--newglow);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}

/* ============ LAMP ROW NAV ============ */
.lamprow{
  position:fixed;
  top:0;
  right:0;
  width:200px;
  height:100vh;
  background:var(--ngdeep);
  z-index:60;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:0;
  border-left:3px solid var(--newglow);
}

.lamprow-shelf{
  flex:1;
  background:var(--lamppanel);
  margin:0;
  padding:70px 0 20px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:12px;
  position:relative;
  border-bottom:6px solid var(--ngdeep);
}

.lamprow-shelf::before,
.lamprow-shelf::after{
  content:"";
  position:absolute;
  bottom:-6px;
  width:14px;
  height:26px;
  background:var(--ngdeep);
}
.lamprow-shelf::before{left:18px;}
.lamprow-shelf::after{right:18px;}

.lamprow .lamp{
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
}

.lamprow .lamp-stem{
  width:5px;
  height:46px;
  background:var(--ngdeep);
}

.lamprow .lamp-shade{
  width:56px;
  min-height:74px;
  background:var(--lamppanel);
  border:2px solid var(--ngdeep);
  border-radius:6px 6px 30px 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:8px 4px;
  box-shadow:0 -6px 0 -2px var(--newglow) inset;
}

.lamprow .lamp--a .lamp-stem{height:46px;}
.lamprow .lamp--b .lamp-stem{height:34px;}
.lamprow .lamp--c .lamp-stem{height:62px;}
.lamprow .lamp--d .lamp-stem{height:40px;}
.lamprow .lamp--e .lamp-stem{height:54px;}

.lamprow .lamp-shade a{
  display:block;
  color:var(--ngdeep);
  font-size:12px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  line-height:1.25;
  font-family:Georgia,serif;
}

.lamprow .lamp-shade a:hover{
  color:var(--newglow);
  text-decoration:none;
}

.lamprow .lamp--active .lamp-shade{
  background:var(--newglow);
  border-color:var(--ngdeep);
  box-shadow:0 0 0 3px var(--glowtile);
}
.lamprow .lamp--active .lamp-shade a{
  color:var(--qingnian);
  font-weight:bold;
}

.lamprow-baseplate{
  background:var(--ngdeep);
  padding:18px 14px 22px;
  color:var(--qingnian);
  font-size:12px;
  line-height:1.4;
  letter-spacing:0.03em;
  border-top:3px solid var(--newglow);
}
.lamprow-baseplate strong{
  display:block;
  color:var(--glowtile);
  font-size:12.5px;
  margin-bottom:6px;
}
.lamprow-baseplate span{
  display:block;
  color:var(--lamppanel);
  font-size:11px;
}

.lamprow-toggle{
  display:none;
}

/* ============ PAGE COLUMN ============ */
.pagecol{
  margin-right:200px;
  min-height:100vh;
}

/* ============ GLOW DESK HERO ============ */
.glowdesk{
  display:grid;
  grid-template-columns:58% 42%;
  min-height:86vh;
  background:var(--qingnian);
  border-bottom:5px solid var(--ngdeep);
}

.glowdesk-text{
  padding:90px 60px 70px 64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.glowdesk-eyebrow{
  font-size:13px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--newglow);
  margin-bottom:22px;
  font-weight:bold;
}

.glowdesk h1{
  font-size:52px;
  line-height:1.08;
  color:var(--ngdeep);
  margin-bottom:18px;
}

.glowdesk h1 .glow-word{
  display:block;
  font-size:96px;
  color:var(--newglow);
  letter-spacing:-0.02em;
  line-height:0.95;
  margin-top:6px;
  font-style:italic;
}

.glowdesk-lede{
  font-size:18px;
  color:var(--contactsheet);
  max-width:640px;
  margin-bottom:26px;
}

.glowdesk-cta{
  display:block;
  background:var(--newglow);
  color:var(--qingnian);
  font-size:18px;
  letter-spacing:0.04em;
  padding:20px 28px;
  text-align:center;
  border:3px solid var(--ngdeep);
  font-weight:bold;
  margin-top:10px;
  max-width:640px;
}
.glowdesk-cta:hover{
  background:var(--ngdeep);
  color:var(--glowtile);
  text-decoration:none;
}

.glowdesk-scene{
  background:var(--lamppanel);
  position:relative;
  border-left:5px solid var(--ngdeep);
  overflow:hidden;
  min-height:520px;
}

.desk-surface{
  position:absolute;
  left:0;right:0;bottom:0;
  height:44%;
  background:var(--lamppanel);
  border-top:4px solid var(--ngdeep);
}

.desk-riser{
  position:absolute;
  left:8%;right:8%;bottom:44%;
  height:60px;
  background:var(--glowtile);
  border:3px solid var(--ngdeep);
}
.desk-riser::after{
  content:"";
  position:absolute;
  right:14px;
  top:14px;
  width:64px;
  height:26px;
  background:var(--ngdeep);
  border-radius:2px;
}
.desk-letter-slot{
  position:absolute;
  right:16px;
  top:19px;
  width:60px;
  height:16px;
  background:var(--ngdeep);
  border-bottom:3px solid var(--glowtile);
  z-index:2;
}

.desk-lamp{
  position:absolute;
  left:52%;
  bottom:44%;
  z-index:5;
}
.desk-lamp-base{
  width:78px;
  height:14px;
  background:var(--ngdeep);
  border-radius:7px;
  margin:0 auto;
}
.desk-lamp-arm{
  width:8px;
  height:150px;
  background:var(--ngdeep);
  margin:0 auto;
  transform:rotate(-16deg);
  transform-origin:bottom center;
}
.desk-lamp-head{
  width:96px;
  height:56px;
  background:var(--newglow);
  border:4px solid var(--ngdeep);
  border-radius:14px 14px 48px 48px;
  margin-left:-44px;
  margin-top:-10px;
  position:relative;
}
.desk-lamp-head::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-72px;
  transform:translateX(-50%);
  width:0;height:0;
  border-left:70px solid transparent;
  border-right:70px solid transparent;
  border-top:78px solid var(--glowtile);
  z-index:-1;
}

.desk-contactsheet{
  position:absolute;
  left:16%;
  bottom:15%;
  width:150px;
  height:96px;
  background:var(--qingnian);
  border:3px solid var(--ngdeep);
  padding:8px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,1fr);
  gap:4px;
  transform:rotate(-4deg);
}
.desk-contactsheet span{
  background:var(--deskmat);
  border:1px solid var(--ngdeep);
}
.desk-contactsheet span:nth-child(2),
.desk-contactsheet span:nth-child(5){
  background:var(--newglow);
}

.desk-mug{
  position:absolute;
  right:18%;
  bottom:15%;
  width:44px;
  height:52px;
  background:var(--ngdeep);
  border-radius:4px 4px 12px 12px;
}
.desk-mug::after{
  content:"";
  position:absolute;
  right:-16px;
  top:12px;
  width:18px;
  height:24px;
  border:5px solid var(--ngdeep);
  border-radius:50%;
}

.desk-coaster{
  position:absolute;
  right:9%;
  bottom:12%;
  width:34px;
  height:34px;
  background:var(--glowtile);
  border:3px solid var(--ngdeep);
  border-radius:50%;
}

.desk-drawerunit{
  position:absolute;
  right:4%;
  bottom:44%;
  width:74px;
  height:150px;
  background:var(--ngdeep);
  border:3px solid var(--ngdeep);
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:6px;
  z-index:4;
}
.desk-drawerunit span{
  flex:1;
  background:var(--lamppanel);
  border:2px solid var(--glowtile);
  position:relative;
}
.desk-drawerunit span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:18px;
  height:5px;
  background:var(--newglow);
}

.desk-keyboard{
  position:absolute;
  left:38%;
  bottom:6%;
  width:150px;
  height:34px;
  background:var(--deskmat);
  border:3px solid var(--ngdeep);
  border-radius:4px;
  z-index:3;
}
.desk-keyboard::after{
  content:"";
  position:absolute;
  left:8px;right:8px;top:8px;
  height:18px;
  background:
    repeating-linear-gradient(90deg,var(--ngdeep) 0 4px,transparent 4px 12px);
}

/* ============ CONTENT WRAP ============ */
.contentwrap{
  max-width:1080px;
  margin:0 auto;
  padding:0 48px;
}

/* ============ INTRO PROSE ============ */
.studioprose{
  padding:84px 0 60px;
}
.studioprose h2{
  font-size:36px;
  color:var(--ngdeep);
}
.studioprose .prose-rule{
  width:120px;
  height:5px;
  background:var(--newglow);
  margin:0 0 30px;
}
.studioprose p{
  font-size:17.5px;
  color:var(--contactsheet);
}
.studioprose .lede-cap{
  font-size:20px;
  color:var(--ngdeep);
}

/* ============ CONTACT SHEET ROWS ============ */
.contactsheetrow{
  padding:70px 0 90px;
  background:var(--qingnian-soft);
  border-top:4px solid var(--panel-edge);
  border-bottom:4px solid var(--panel-edge);
}

.contactsheetrow-head{
  max-width:1080px;
  margin:0 auto 44px;
  padding:0 48px;
}
.contactsheetrow-head h2{
  font-size:38px;
  color:var(--ngdeep);
}
.contactsheetrow-head p{
  font-size:17px;
  max-width:760px;
  color:var(--contactsheet);
}

.sheet-rail{
  max-width:1120px;
  margin:0 auto;
  padding:0 40px;
  position:relative;
}
.sheet-rail::before{
  content:"";
  position:absolute;
  left:40px;
  right:40px;
  top:50%;
  height:5px;
  background:var(--lamppanel);
  border-top:2px solid var(--ngdeep);
  border-bottom:2px solid var(--ngdeep);
  z-index:0;
}
.sheet-clip{
  position:absolute;
  left:24px;
  top:calc(50% - 22px);
  width:20px;
  height:44px;
  background:var(--ngdeep);
  border-radius:4px;
  z-index:2;
}

.sheet-row{
  display:flex;
  align-items:stretch;
  gap:22px;
  position:relative;
  z-index:1;
  margin-bottom:26px;
  flex-wrap:wrap;
}
.sheet-row--second{
  justify-content:flex-end;
}

.contactsheet{
  background:var(--lamppanel);
  border:3px solid var(--ngdeep);
  padding:22px 22px 24px;
  position:relative;
  box-shadow:8px 8px 0 var(--panel-edge);
}
.contactsheet--w1{flex:0 0 300px;transform:rotate(-1.4deg);}
.contactsheet--w2{flex:0 0 360px;transform:rotate(0.8deg);}
.contactsheet--w3{flex:0 0 280px;transform:rotate(-0.6deg);}
.contactsheet--w4{flex:0 0 330px;transform:rotate(1.2deg);}
.contactsheet--w5{flex:0 0 300px;transform:rotate(-0.9deg);}
.contactsheet--w6{flex:0 0 350px;transform:rotate(0.5deg);}

.sheet-mark{
  position:absolute;
  top:-10px;
  right:-10px;
  width:34px;
  height:34px;
  background:var(--newglow);
  border:3px solid var(--ngdeep);
  border-radius:50%;
  z-index:3;
}
.sheet-mark::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:10px;
  height:10px;
  background:var(--glowtile);
  border-radius:50%;
}

.sheet-letter{
  font-size:13px;
  letter-spacing:0.3em;
  color:var(--newglow);
  font-weight:bold;
  text-transform:uppercase;
  display:block;
  margin-bottom:6px;
  background:var(--deskmat);
  display:inline-block;
  padding:1px 8px;
  border:2px solid var(--ngdeep);
}

.contactsheet h3{
  font-size:21px;
  color:var(--ngdeep);
  margin-bottom:8px;
}
.contactsheet p{
  font-size:15.5px;
  color:var(--contactsheet);
  margin:0;
}

/* ============ DEEP STORY SECTION ============ */
.fieldstory{
  padding:80px 0;
  background:var(--qingnian);
}
.fieldstory .contentwrap{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:50px;
  align-items:start;
}
.fieldstory h2{
  font-size:34px;
  color:var(--ngdeep);
}
.fieldstory .field-mark{
  width:70px;
  height:70px;
  background:var(--newglow);
  border:4px solid var(--ngdeep);
  border-radius:50%;
  margin-bottom:24px;
  position:relative;
}
.fieldstory .field-mark::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:22px;height:22px;
  background:var(--glowtile);
  border-radius:50%;
}
.fieldstory p{
  font-size:17px;
  color:var(--contactsheet);
}
.fieldstory .field-link{
  display:inline-block;
  margin-top:8px;
  font-weight:bold;
  border-bottom:3px solid var(--newglow);
  padding-bottom:2px;
}

/* ============ LAMP ARC BAND ============ */
.lamparcband{
  background:var(--ngdeep);
  padding:54px 0;
}
.lamparcband .band-inner{
  max-width:1080px;
  margin:0 auto;
  padding:0 48px;
  display:flex;
  align-items:center;
  gap:44px;
}
.band-arc{
  flex:0 0 auto;
  position:relative;
  width:120px;
  height:120px;
}
.band-arc-pole{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:6px;
  height:70px;
  background:var(--lamppanel);
}
.band-arc-head{
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:70px;
  height:38px;
  background:var(--lamppanel);
  border:none;
  border-radius:12px 12px 34px 34px;
}
.band-arc-head::after{
  content:"";
  position:absolute;
  left:50%;
  top:-10px;
  transform:translateX(-50%);
  width:18px;
  height:18px;
  background:var(--newglow);
  border-radius:50%;
}
.band-arc-tile{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:52px;
  height:14px;
  background:var(--glowtile);
  border-radius:2px;
}
.lamparcband p{
  color:var(--qingnian);
  font-size:20px;
  margin:0;
  line-height:1.5;
}

/* ============ APPROACH / PROCESS ============ */
.processrow{
  padding:84px 0;
  background:var(--qingnian-soft);
  border-top:4px solid var(--panel-edge);
}
.processrow h2{
  font-size:36px;
  color:var(--ngdeep);
}
.process-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
  margin-top:34px;
}
.process-item{
  background:var(--lamppanel);
  border-left:8px solid var(--newglow);
  border-top:2px solid var(--ngdeep);
  border-right:2px solid var(--ngdeep);
  border-bottom:2px solid var(--ngdeep);
  padding:24px 26px;
}
.process-item .pstep{
  font-size:13px;
  letter-spacing:0.2em;
  color:var(--newglow);
  text-transform:uppercase;
  font-weight:bold;
  margin-bottom:8px;
}
.process-item h3{
  font-size:21px;
  color:var(--ngdeep);
  margin-bottom:8px;
}
.process-item p{
  margin:0;
  font-size:15.5px;
}

/* ============ CTA PANEL ============ */
.ctapanel{
  padding:80px 0;
  background:var(--qingnian);
}
.ctapanel .contentwrap{
  background:var(--ngdeep);
  padding:52px 48px;
  border-top:6px solid var(--newglow);
}
.ctapanel h2{
  color:var(--qingnian);
  font-size:34px;
  margin-bottom:14px;
}
.ctapanel p{
  color:var(--lamppanel);
  font-size:17px;
  max-width:720px;
}
.cta-bar{
  display:inline-block;
  background:var(--newglow);
  color:var(--qingnian);
  padding:16px 34px;
  font-weight:bold;
  letter-spacing:0.04em;
  border:3px solid var(--glowtile);
}
.cta-bar:hover{
  background:var(--glowtile);
  color:var(--ngdeep);
  text-decoration:none;
}

/* ============ DESK DRAWER FOOTER ============ */
.deskdrawer{
  background:var(--ngdeep);
  color:var(--qingnian);
  border-top:4px solid var(--newglow);
}
.drawer-bank{
  display:flex;
  gap:6px;
  padding:0 6px;
  background:var(--lamppanel);
  border-bottom:5px solid var(--ngdeep);
  align-items:flex-end;
  height:64px;
}
.drawer-bank .drawer{
  background:var(--lamppanel);
  border:3px solid var(--ngdeep);
  border-bottom:none;
  position:relative;
  height:56px;
}
.drawer-bank .drawer::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:34px;
  height:8px;
  background:var(--newglow);
  border-radius:4px;
}
.drawer-bank .drawer--d1{flex:0 0 22%;}
.drawer-bank .drawer--d2{flex:0 0 14%;}
.drawer-bank .drawer--d3{flex:0 0 30%;}
.drawer-bank .drawer--d4{flex:0 0 18%;}
.drawer-bank .drawer--d5{flex:0 0 10%;height:38px;}

.drawer-body{
  max-width:1080px;
  margin:0 auto;
  padding:56px 48px 40px;
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:56px;
}
.drawer-brand h2{
  color:var(--glowtile);
  font-size:26px;
  margin-bottom:14px;
}
.drawer-brand p{
  color:var(--lamppanel);
  font-size:15.5px;
  max-width:520px;
}
.drawer-contact{
  margin-top:22px;
}
.drawer-contact span{
  display:block;
  color:var(--qingnian);
  font-size:15px;
  margin-bottom:8px;
  padding-left:16px;
  border-left:3px solid var(--newglow);
}
.drawer-contact a{
  color:var(--qingnian);
}
.drawer-contact a:hover{
  color:var(--glowtile);
}

.drawer-links h3{
  color:var(--lamppanel);
  font-size:14px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.drawer-links ul{
  list-style:none;
  margin:0;
  padding:0;
}
.drawer-links li{
  margin-bottom:12px;
}
.drawer-links a{
  color:var(--qingnian);
  font-size:17px;
  border-bottom:2px solid var(--deep-soft);
  padding-bottom:2px;
}
.drawer-links a:hover{
  color:var(--glowtile);
  border-bottom-color:var(--glowtile);
  text-decoration:none;
}

.drawer-baseline{
  border-top:2px solid var(--deep-soft);
  padding:18px 48px;
  max-width:1080px;
  margin:0 auto;
  color:var(--lamppanel);
  font-size:13.5px;
  display:flex;
  align-items:center;
  gap:10px;
}
.drawer-baseline .lampglyph{
  display:inline-block;
  width:14px;
  height:14px;
  background:var(--glowtile);
  border-radius:50% 50% 4px 4px;
  margin-right:4px;
}

/* ============ SERVICES PAGE ============ */
.pagehero{
  background:var(--lamppanel);
  border-bottom:5px solid var(--ngdeep);
  padding:96px 0 64px;
}
.pagehero .contentwrap h1{
  font-size:50px;
  color:var(--ngdeep);
  max-width:820px;
}
.pagehero .pagehero-eyebrow{
  font-size:13px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--newglow);
  font-weight:bold;
  margin-bottom:18px;
}
.pagehero p{
  font-size:18px;
  max-width:760px;
  color:var(--contactsheet);
}

.servicelist{
  padding:70px 0;
}
.servicelist .contentwrap{
  max-width:1000px;
}
.serviceblock{
  border-top:4px solid var(--panel-edge);
  padding:40px 0;
}
.serviceblock:first-child{
  border-top:none;
  padding-top:0;
}
.serviceblock-head{
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-bottom:14px;
}
.serviceblock-head .service-letter{
  flex:0 0 auto;
  background:var(--newglow);
  color:var(--qingnian);
  font-size:14px;
  font-weight:bold;
  letter-spacing:0.1em;
  padding:3px 12px;
  border:2px solid var(--ngdeep);
}
.serviceblock h2{
  font-size:30px;
  color:var(--ngdeep);
  margin:0;
}
.serviceblock p{
  font-size:17px;
  color:var(--contactsheet);
  max-width:820px;
}
.serviceblock .service-link{
  font-weight:bold;
  border-bottom:3px solid var(--newglow);
}

/* ============ CONTACT PAGE ============ */
.contactgrid{
  padding:70px 0 40px;
}
.contactgrid .contentwrap{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:56px;
  align-items:start;
}
.contactform fieldset{
  border:3px solid var(--ngdeep);
  background:var(--lamppanel);
  padding:30px 28px;
  margin:0;
}
.contactform legend{
  font-size:22px;
  color:var(--ngdeep);
  padding:0 12px;
  font-weight:bold;
}
.formfield{
  margin-bottom:20px;
}
.formfield label{
  display:block;
  font-size:14px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--ngdeep);
  font-weight:bold;
  margin-bottom:6px;
}
.formfield input,
.formfield textarea,
.formfield select{
  width:100%;
  font-family:Georgia,serif;
  font-size:16px;
  padding:12px 14px;
  border:2px solid var(--ngdeep);
  background:var(--qingnian);
  color:var(--contactsheet);
}
.formfield textarea{
  min-height:150px;
  resize:vertical;
}
.formfield input:focus,
.formfield textarea:focus,
.formfield select:focus{
  outline:3px solid var(--newglow);
  outline-offset:1px;
}
.formsubmit{
  background:var(--newglow);
  color:var(--qingnian);
  border:3px solid var(--ngdeep);
  font-family:Georgia,serif;
  font-size:17px;
  font-weight:bold;
  letter-spacing:0.04em;
  padding:16px 32px;
  cursor:pointer;
}
.formsubmit:hover{
  background:var(--ngdeep);
  color:var(--glowtile);
}
.formnote{
  font-size:14px;
  margin-top:14px;
  color:var(--contactsheet);
}

.contactinfo{
  background:var(--ngdeep);
  padding:36px 34px;
  border-top:6px solid var(--newglow);
}
.contactinfo h2{
  color:var(--qingnian);
  font-size:26px;
  margin-bottom:20px;
}
.contactinfo dl{
  margin:0;
}
.contactinfo dt{
  color:var(--glowtile);
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-top:18px;
  font-weight:bold;
}
.contactinfo dd{
  margin:4px 0 0;
  color:var(--qingnian);
  font-size:16px;
}
.contactinfo a{
  color:var(--qingnian);
  border-bottom:2px solid var(--newglow);
}
.contactinfo a:hover{
  color:var(--glowtile);
  text-decoration:none;
}

.hourslist{
  margin-top:22px;
  border-top:2px solid var(--deep-soft);
  padding-top:18px;
}
.hourslist span{
  display:block;
  color:var(--lamppanel);
  font-size:15px;
  margin-bottom:6px;
}

/* ============ FAQ ============ */
.faqblock{
  padding:60px 0 90px;
}
.faqblock .contentwrap{
  max-width:900px;
}
.faqblock h2{
  font-size:34px;
  color:var(--ngdeep);
  margin-bottom:26px;
}
.faq-item{
  border:3px solid var(--ngdeep);
  background:var(--lamppanel);
  margin-bottom:16px;
}
.faq-q{
  width:100%;
  text-align:left;
  background:var(--lamppanel);
  border:none;
  padding:20px 24px;
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:bold;
  color:var(--ngdeep);
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.faq-q:hover{
  background:var(--glowtile);
}
.faq-q .faq-sign{
  flex:0 0 auto;
  width:26px;
  height:26px;
  background:var(--newglow);
  color:var(--qingnian);
  border-radius:50%;
  text-align:center;
  line-height:26px;
  font-size:18px;
}
.faq-a{
  padding:0 24px;
  max-height:0;
  overflow:hidden;
  transition:max-height 0.3s ease, padding 0.3s ease;
}
.faq-item.is-open .faq-a{
  max-height:400px;
  padding:0 24px 22px;
}
.faq-a p{
  font-size:16px;
  color:var(--contactsheet);
  margin:0;
}

/* ============ REVEAL ANIMATION ============ */
.reveal{
  opacity:1;
  transform:none;
}
.reveal.is-hidden{
  opacity:1;
  transform:none;
}
.js-reveal .reveal{
  transform:translateY(26px);
  transition:transform 0.6s ease;
}
.js-reveal .reveal.is-shown{
  transform:translateY(0);
}

/* ============ COUNT STATS (plain, non-metric) ============ */
.worknote{
  padding:64px 0;
  background:var(--qingnian);
  border-top:4px solid var(--panel-edge);
}
.worknote .contentwrap{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
}
.worknote h2{
  font-size:30px;
  color:var(--ngdeep);
}
.worknote p{
  font-size:16.5px;
}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .glowdesk h1{font-size:42px;}
  .glowdesk h1 .glow-word{font-size:76px;}
}

@media (max-width:900px){
  .lamprow{
    position:static;
    width:auto;
    height:auto;
    flex-direction:column;
    border-left:none;
    border-bottom:4px solid var(--newglow);
  }
  .lamprow-shelf{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    align-items:flex-end;
    padding:16px 12px;
    gap:8px;
  }
  .lamprow-shelf::before,
  .lamprow-shelf::after{display:none;}
  .lamprow .lamp-stem{height:10px;}
  .lamprow .lamp-shade{min-height:0;padding:10px 6px;border-radius:6px;}
  .lamprow-baseplate{display:none;}
  .pagecol{margin-right:0;}
  .glowdesk{
    grid-template-columns:1fr;
  }
  .glowdesk-text{padding:50px 28px 40px;}
  .glowdesk-scene{border-left:none;border-top:5px solid var(--ngdeep);min-height:420px;}
  .fieldstory .contentwrap{grid-template-columns:1fr;gap:0;}
  .process-list{grid-template-columns:1fr;}
  .drawer-body{grid-template-columns:1fr;gap:34px;padding:40px 28px;}
  .drawer-baseline{padding:18px 28px;}
  .contactgrid .contentwrap{grid-template-columns:1fr;gap:38px;}
  .worknote .contentwrap{grid-template-columns:1fr;}
  .contentwrap{padding:0 28px;}
  .contactsheetrow-head{padding:0 28px;}
  .sheet-rail{padding:0 28px;}
  .sheet-rail::before{left:28px;right:28px;}
  .lamparcband .band-inner{flex-direction:column;text-align:center;gap:24px;padding:0 28px;}
  .pagehero{padding:60px 0 44px;}
  .pagehero .contentwrap h1{font-size:36px;}
}

@media (max-width:520px){
  .glowdesk h1{font-size:32px;}
  .glowdesk h1 .glow-word{font-size:60px;}
  .contactsheet--w1,
  .contactsheet--w2,
  .contactsheet--w3,
  .contactsheet--w4,
  .contactsheet--w5,
  .contactsheet--w6{flex:1 1 100%;transform:none;}
  .sheet-row{gap:16px;}
  .drawer-bank .drawer--d5{display:none;}
}
