/* Sambo 3D site styles. Taken from the approved homepage mockup (v28). */
:root{
  --navy:#0B1422;--navy2:#111D2E;--navy3:#14223A;--ink:#132033;
  --orange:#F28C28;--orange-hi:#FFB066;--orange-dk:#A85A0E;
  --light:#F3F5F8;--white:#FFFFFF;
  --line:#1C2A3F;--line2:#2A3D59;--line-lt:#DCE2EA;
  --txt:#E8EDF4;--txt-soft:#B7C4D6;--txt-mute:#9FB0C6;--txt-dk:#4A5A70;--txt-dim:#5E7190;
  --field:#0D1726;--field-line:#2C3E57;
  --err:#D7263D;--err-lt:#FFE9EC;--ok:#1E7B4F;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);font-family:'Archivo',system-ui,sans-serif;color:var(--txt);line-height:1.5;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--orange)}a:hover{color:var(--orange-hi)}
input,button,select,textarea{font:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.mono{font-family:'IBM Plex Mono',monospace}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--orange);flex:0 0 auto}
.eyebrow.dk{color:var(--orange-dk)}
h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.015em;line-height:1.15}
h2{font-size:40px;line-height:1.1}
h3{font-size:20px;line-height:1.25}
p{margin:0}
.lead{font-size:18px;line-height:1.55;color:var(--txt-dk)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;border:0;transition:transform .15s,box-shadow .15s,background .15s}
.btn-primary{background:var(--orange);color:var(--navy);box-shadow:0 10px 30px rgba(242,140,40,.28)}
.btn-primary:hover{background:var(--orange-hi);color:var(--navy);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid #3A4B63;color:var(--txt);background:transparent}
.btn-ghost:hover{border-color:var(--orange);color:var(--white)}
.light .btn-ghost,.white .btn-ghost{border-color:#8A9AB0;color:var(--ink)}
.light .btn-ghost:hover,.white .btn-ghost:hover{border-color:var(--orange-dk);color:var(--ink)}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* focus + skip link */
:focus-visible{outline:3px solid var(--orange-hi);outline-offset:3px}
.light :focus-visible,.white :focus-visible{outline-color:var(--orange-dk)}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--orange);color:var(--navy);font-weight:700;padding:12px 18px;border-radius:8px;text-decoration:none}
.skip:focus{top:12px}

/* header */
.topline{height:3px;background:linear-gradient(90deg,var(--orange) 0,var(--orange) 40%,var(--line) 40%)}
.hdr{border-bottom:1px solid var(--line);background:var(--navy);position:relative;z-index:20}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;padding-bottom:18px;position:relative}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;color:var(--white);text-decoration:none}
.brand:hover{color:var(--white)}
.brand .logo{display:block;height:40px;width:auto;flex:0 0 auto}  /* Sambo 3D logo: never under 120px wide (BRAND.md) */
.nav{display:flex;gap:28px;font-size:15px;font-weight:500}
.nav a{color:#C9D4E3;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current=page]{color:var(--white);border-bottom-color:var(--orange)}
.hdr-right{display:flex;align-items:center;gap:12px}
.callpill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1.5px solid var(--orange);border-radius:999px;color:var(--orange);text-decoration:none;font-weight:700;font-size:15px;white-space:nowrap}
.callpill:hover{background:var(--orange);color:var(--navy)}
.mnav{display:none;position:static}
.mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:8px;border:1.5px solid #3A4B63;display:flex;align-items:center;justify-content:center;color:var(--white)}
.mnav summary::-webkit-details-marker{display:none}
.mnav[open] summary{border-color:var(--orange)}
.mnav nav{position:absolute;left:0;right:0;top:100%;background:var(--navy2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;padding:8px 0;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.mnav nav a{color:var(--white);text-decoration:none;font-weight:600;font-size:17px;padding:14px 16px;border-left:3px solid transparent}
.mnav nav a:hover,.mnav nav a[aria-current=page]{border-left-color:var(--orange);background:#16243A}

/* hero */
.hero{position:relative;background-color:var(--navy);
  background-image:linear-gradient(rgba(44,62,87,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(44,62,87,.55) 1px,transparent 1px),linear-gradient(rgba(44,62,87,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(44,62,87,.22) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 520px at 78% 30%,rgba(242,140,40,.16),transparent 60%),linear-gradient(180deg,rgba(11,20,34,0) 0%,rgba(11,20,34,0) 60%,var(--navy) 100%);pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center;padding-top:88px;padding-bottom:132px}
.hero-copy{display:flex;flex-direction:column;gap:26px}
.hero h1{font-size:74px;line-height:.98;font-weight:900;color:var(--white);letter-spacing:-.025em}
.hero h1 em{font-style:normal;color:var(--orange);background:linear-gradient(transparent 72%,rgba(242,140,40,.22) 72%)}
.hero-sub{font-size:20px;line-height:1.55;color:var(--txt-soft);max-width:520px}
.hero-sub strong{color:var(--white)}
.ph-only{display:none !important}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero-ways{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-mute)}
.hero-ways span{display:inline-flex;align-items:center;gap:8px}
.hero-ways span::before{content:"";width:6px;height:6px;background:var(--orange);transform:rotate(45deg)}

/* quote card (home) */
.qcard{position:relative;background:linear-gradient(180deg,var(--navy3) 0%,var(--navy2) 100%);border:1px solid var(--line2);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 80px rgba(0,0,0,.5),0 0 0 1px rgba(242,140,40,.08)}
.qcard::before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:2px;background:linear-gradient(90deg,var(--orange),rgba(242,140,40,0))}
.tick{position:absolute;width:14px;height:14px;border:2px solid var(--orange);pointer-events:none}
.tick.tl{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:4px 0 0 0}
.tick.tr{right:-1px;top:-1px;border-left:0;border-bottom:0;border-radius:0 4px 0 0}
.tick.bl{left:-1px;bottom:-1px;border-right:0;border-top:0;border-radius:0 0 0 4px}
.tick.br{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 4px 0}
.qhead{display:flex;align-items:center;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-mute)}
.qhead b{color:var(--orange);font-weight:600}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:168px;border:2px dashed #3A4B63;border-radius:12px;cursor:pointer;text-align:center;padding:20px;background:rgba(11,20,34,.45);transition:border-color .15s,background .15s}
.drop:hover{border-color:var(--orange);background:rgba(242,140,40,.06)}
.drop:focus-within{outline:3px solid var(--orange-hi);outline-offset:3px}
.drop .ic{width:52px;height:52px;border-radius:12px;background:rgba(242,140,40,.12);display:flex;align-items:center;justify-content:center}
.drop .t1{font-weight:700;font-size:17px;color:var(--white)}
.drop .t2{font-size:13px;line-height:1.5;color:var(--txt-mute);max-width:380px}
.drop .files{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--orange-hi)}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.pill{position:relative}
.pill input{position:absolute;opacity:0;width:1px;height:1px}
.pill span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;border-radius:8px;border:1px solid var(--field-line);background:var(--field);color:#C9D4E3;font-size:14px;font-weight:600;cursor:pointer;text-align:center}
.pill span:hover{border-color:var(--txt-dim)}
.pill input:checked + span{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.pill input:focus-visible + span{outline:3px solid var(--orange-hi);outline-offset:2px}
.pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.field{min-height:48px;padding:0 14px;border-radius:8px;border:1px solid var(--field-line);background:var(--field);color:var(--txt);width:100%}
.field:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
.lbl{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-mute);font-weight:600}
.fset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.fset legend{padding:0;margin-bottom:10px}
.stack{display:flex;flex-direction:column;gap:8px}

/* stats band */
.stats{position:relative;z-index:2;margin-top:-72px}
.stats .band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy2);border:1px solid var(--line2);border-radius:16px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.stat{position:relative;padding:28px 26px 26px;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat::before{content:attr(data-n);position:absolute;top:12px;right:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--txt-dim)}
.stat b{font-size:30px;white-space:nowrap;font-weight:800;line-height:1.05;color:var(--white);letter-spacing:-.02em}
.stat b i{font-style:normal;color:var(--orange)}
.stat span{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-mute)}

/* figure frame with corner ticks */
.fig{position:relative;border-radius:14px;background:var(--navy2);padding:10px}
.fig img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.fig .cap{position:absolute;left:22px;top:22px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--white);background:rgba(11,20,34,.78);padding:6px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.08)}
.fig .tick.tl{left:-2px;top:-2px}.fig .tick.tr{right:-2px;top:-2px}.fig .tick.bl{left:-2px;bottom:-2px}.fig .tick.br{right:-2px;bottom:-2px}

/* recent job */
.job{background:var(--navy);padding:96px 0 104px}
.job .wrap{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.callouts{position:absolute;left:10px;top:10px;right:10px;bottom:10px;pointer-events:none}
.callouts svg{position:absolute;inset:0;width:100%;height:100%}
.co{position:absolute;display:flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:6px;background:rgba(11,20,34,.88);border:1px solid rgba(242,140,40,.55);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--white);white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.co b{color:var(--orange);font-weight:600}
.co small{font-size:10.5px;color:#C9D4E3;letter-spacing:.06em}
.job-copy{display:flex;flex-direction:column;gap:18px}
.job-copy h2{color:var(--white)}
.job-copy p{font-size:18px;line-height:1.55;color:var(--txt-soft)}
.job-copy p strong{color:var(--white)}
.spec{display:flex;flex-direction:column;border-top:1px solid #24364F;margin-top:6px}
.spec div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #24364F;font-family:'IBM Plex Mono',monospace;font-size:13px}
.spec div span:first-child{color:var(--txt-dim);letter-spacing:.12em;text-transform:uppercase;font-size:11px;padding-top:2px}
.spec div span:last-child{color:var(--white)}
.spec.lt{border-color:var(--line-lt)}.spec.lt div{border-color:var(--line-lt)}.spec.lt div span:last-child{color:var(--ink)}

/* section tones */
.light{background:var(--light);color:var(--ink)}
.white{background:var(--white);color:var(--ink)}
.light a:not(.btn):not(.chip),.white a:not(.btn):not(.chip){color:var(--orange-dk)}
.light a:not(.btn):not(.chip):hover,.white a:not(.btn):not(.chip):hover{color:#7A3F06}
.mid{background:var(--navy2);color:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mid .lead{color:var(--txt-soft)}
.mid .ind{background:transparent;border-color:#22324A}
.mid .ind > div{border-color:#22324A}
.mid .ind > div:hover{background:#16243A}
.mid .ind .ico{background:rgba(242,140,40,.12)}
.mid .ind .ico svg{stroke:var(--orange)}
.mid .ind span{color:var(--white)}
.mid .ind .indcta{background:var(--orange)}
.mid .ind .indcta:hover{background:#F59A3E}
.mid .ind .indcta small{color:var(--navy)}
.mid .ind .indcta a{color:var(--navy);border-bottom-color:var(--navy)}
.mid.faq details,.mid.faq details:first-of-type{border-color:#22324A}
.mid.faq summary{color:var(--white)}
.mid.faq summary::after{border-color:var(--field-line);color:var(--orange)}
.mid.faq details[open] summary::after{background:var(--orange);color:var(--navy);border-color:var(--orange)}
.mid.faq details p{color:var(--txt-soft)}
.sec{padding:96px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:44px}
.sec-head .l{display:flex;flex-direction:column;gap:14px}
.sec-head .lead{max-width:420px}

/* what we make cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{position:relative;background:var(--white);border:1px solid var(--line-lt);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(19,32,51,.14);border-color:#C9D4E3}
.card:hover::after{transform:scaleX(1)}
.card .ph{position:relative;overflow:hidden}
.card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .4s}
.card:hover img{transform:scale(1.04)}
.card .num{position:absolute;left:16px;top:16px;width:40px;height:40px;border-radius:8px;background:var(--navy);color:var(--orange);font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;border:1px solid rgba(242,140,40,.5)}
.card .body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:8px}
.card .body p{color:var(--txt-dk);line-height:1.5;font-size:16px}

/* industries */
.ind{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-lt);border-radius:16px;overflow:hidden;background:var(--white)}
.ind > div{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:28px 26px;border-right:1px solid var(--line-lt);border-bottom:1px solid var(--line-lt);min-height:150px;transition:background .15s}
.ind > div:nth-child(4n){border-right:0}
.ind > div:nth-child(n+5){border-bottom:0}
.ind > div:hover{background:var(--light)}
.ind .ico{width:48px;height:48px;border-radius:50%;background:#FFF1E3;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ind span{font-weight:700;font-size:16px;line-height:1.3}
.ind p{font-size:15px;line-height:1.5;color:var(--txt-soft);margin-top:-6px}
.ind .indcta{background:var(--navy);color:var(--white);justify-content:center;gap:10px}
.ind .indcta:hover{background:var(--navy2)}
.ind .indcta small{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.ind .indcta a{color:var(--white);text-decoration:none;font-weight:700;font-size:17px;border-bottom:2px solid var(--orange)}
.ind.ind-2{grid-template-columns:repeat(2,1fr)}
.ind.ind-2 > div:nth-child(4n){border-right:1px solid #22324A}
.ind.ind-2 > div:nth-child(2n){border-right:0}
.ind.ind-2 > div:nth-child(n+5){border-bottom:1px solid #22324A}
.ind.ind-2 > div:nth-child(n+7){border-bottom:0}

/* how it works */
.how{background:var(--navy);padding:104px 0;position:relative;background-image:linear-gradient(rgba(44,62,87,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(44,62,87,.18) 1px,transparent 1px);background-size:24px 24px}
.how::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,rgba(242,140,40,0) 0%,var(--orange) 20%,var(--orange) 80%,rgba(242,140,40,0) 100%)}
.how .wrap{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start}
.how .head{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.how h2{color:var(--white)}
.how .head p{color:var(--txt-soft);font-size:18px;line-height:1.5;max-width:480px}
.tline{position:relative;display:flex;flex-direction:column;gap:0;padding-left:0}
.tline::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:linear-gradient(180deg,var(--orange) 0%,var(--orange) 55%,#24364F 100%)}
.step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:22px;padding:0 0 34px}
.step:last-child{padding-bottom:0}
.step .n{width:48px;height:48px;border-radius:50%;background:var(--navy);border:2px solid var(--orange);color:var(--orange);font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;box-shadow:0 0 0 6px var(--navy)}
.step:last-child .n{background:var(--orange);color:var(--navy)}
.step .t{display:flex;flex-direction:column;gap:8px;padding-top:9px}
.step h3{color:var(--white);font-size:22px}
.step p{color:var(--txt-soft);line-height:1.55;font-size:16px}
.how .fig{margin-top:8px}
.how .figwrap{position:sticky;top:24px}

/* get your part to us */
.send .sec-head{align-items:center}
.maxdim{display:flex;align-items:center;gap:14px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dk);background:var(--white);border:1px solid var(--line-lt);border-radius:999px;padding:12px 18px}
.maxdim svg{display:block}
.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.way{position:relative;background:var(--white);border:1px solid var(--line-lt);border-radius:16px;padding:30px 28px 30px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s}
.way:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(19,32,51,.12)}
.way .ico{width:52px;height:52px;border-radius:12px;background:var(--navy);display:flex;align-items:center;justify-content:center}
.way .k{position:absolute;right:22px;top:22px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--txt-dim)}
.way p{color:var(--txt-dk);line-height:1.55;font-size:16px}
.way p b{color:var(--ink)}

/* who */
.who{background:var(--navy2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:88px 0}
.who .wrap{display:flex;gap:56px;align-items:center}
.avatar{position:relative;width:220px;height:220px;flex:0 0 auto}
.avatar .ph{width:220px;height:220px;border-radius:50%;background:#1B2B42;border:2px dashed #3A4B63;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--txt-mute);font-size:14px;box-shadow:0 0 0 8px var(--navy2),0 0 0 10px var(--orange)}
.avatar .tag{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:var(--orange);color:var(--navy);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:7px 12px;border-radius:999px;white-space:nowrap}
.who-copy{position:relative;flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.who-copy .q{position:absolute;left:-26px;top:-70px;font-size:160px;line-height:1;font-weight:900;color:rgba(242,140,40,.12);font-family:Georgia,serif;pointer-events:none}
.who-copy blockquote{margin:0;font-size:30px;line-height:1.3;font-weight:700;color:var(--white);letter-spacing:-.01em;position:relative}
.who-copy p{color:var(--txt-soft);font-size:17px;line-height:1.55;max-width:560px}
.who-copy .btn{align-self:flex-start}

/* materials (home) */
.mat .wrap{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.mat .copy{display:flex;flex-direction:column;gap:18px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:var(--white);border:1px solid var(--line-lt);font-weight:600;font-size:15px;transition:border-color .15s,transform .15s;color:var(--ink)}
.chip:hover{border-color:var(--orange);transform:translateY(-2px)}
.chip::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--navy);border:2px solid var(--orange)}
.chip.more{border-style:dashed;color:var(--orange-dk);text-decoration:none;font-weight:700}
.chip.more:hover{color:#7A3F06}
.chip.more::before{display:none}
.mat .fig{background:var(--navy)}

/* faq */
.faq .wrap{display:grid;grid-template-columns:4fr 8fr;gap:64px;align-items:start}
.faq .side{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
.faq details{border-bottom:1px solid var(--line-lt);padding:4px 0}
.faq details:first-of-type{border-top:1px solid var(--line-lt)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:19px;font-weight:700;cursor:pointer;padding:20px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-lt);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:18px;color:var(--orange-dk);transition:transform .2s,background .2s}
.faq details[open] summary::after{content:"\2212";background:var(--navy);color:var(--orange);border-color:var(--navy)}
.faq details p{margin:0 0 20px;color:var(--txt-dk);line-height:1.6;font-size:16px;max-width:620px}

/* closing cta */
.cta{position:relative;background:var(--navy);overflow:hidden;min-height:460px;display:flex;align-items:center}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.cta::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,20,34,.98) 0%,rgba(11,20,34,.9) 45%,rgba(11,20,34,.45) 100%)}
.cta .wrap{position:relative;z-index:2;display:flex;flex-direction:column;gap:26px;padding-top:96px;padding-bottom:96px}
.cta h2{font-size:52px;color:var(--white);max-width:640px;line-height:1.05}
.cta .acts{display:flex;flex-wrap:wrap;gap:14px}

/* footer */
.ftr{background:#070D17;border-top:1px solid var(--line)}
.ftr .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center;padding-top:36px;padding-bottom:36px;font-size:15px;color:var(--txt-mute)}
.ftr .brand{font-size:17px}
.ftr nav{display:flex;flex-wrap:wrap;gap:20px}
.ftr nav a{color:var(--txt-mute);text-decoration:none}.ftr nav a:hover{color:var(--white)}
.ftr .contact a{color:var(--txt-mute);text-decoration:none}.ftr .contact a:hover{color:var(--white)}
.ftr .legal{width:100%;font-size:13px;color:var(--txt-dim);padding-top:8px;border-top:1px solid var(--line)}

/* inner page header */
.phead{position:relative;background:var(--navy);padding:72px 0 64px;background-image:linear-gradient(rgba(44,62,87,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(44,62,87,.35) 1px,transparent 1px);background-size:24px 24px}
.phead::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 400px at 80% 20%,rgba(242,140,40,.14),transparent 60%);pointer-events:none}
.phead .wrap{position:relative;display:flex;flex-direction:column;gap:18px}
.phead h1{font-size:56px;line-height:1.02;color:var(--white);letter-spacing:-.02em;max-width:820px}
.phead .lead{color:var(--txt-soft);max-width:640px}

/* prose + inner content */
.prose{max-width:720px}
.prose h2{font-size:28px;margin:40px 0 12px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:20px;margin:28px 0 8px}
.prose p,.prose li{font-size:17px;line-height:1.6;color:var(--txt-dk)}
.prose p + p{margin-top:14px}
.prose ul{padding-left:22px;margin:10px 0}
.prose li + li{margin-top:6px}
.prose strong{color:var(--ink)}
.notice{border:1px dashed var(--orange-dk);background:#FFF6EC;color:#7A3F06;padding:14px 18px;border-radius:10px;font-weight:600;font-size:15px;margin-bottom:28px}
.two{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:start}
.panel{background:var(--white);border:1px solid var(--line-lt);border-radius:16px;padding:28px}
.panel h2,.panel h3{font-size:20px;margin-bottom:12px}
.panel p{color:var(--txt-dk);font-size:16px;line-height:1.55}
.panel p + p{margin-top:10px}
.panel .btn{margin-top:16px}
.dl{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;margin:0;font-size:16px}
.dl dt{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim);padding-top:4px}
.dl dd{margin:0;color:var(--ink);font-weight:600}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.list-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.list-cards .way h3{font-size:19px}
.steps-expanded{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.steps-expanded .way{gap:10px}
.steps-expanded .k{color:var(--orange-dk);font-size:13px}
.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 32px;padding:0;margin:0;list-style:none}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:17px;line-height:1.5;color:var(--txt-dk)}
.checklist li::before{content:"";flex:0 0 auto;width:10px;height:10px;margin-top:9px;background:var(--navy);border:2px solid var(--orange);border-radius:50%}
.nogo li::before{background:var(--err);border-color:var(--err)}

/* materials table */
.mtable{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line-lt);border-radius:16px;overflow:hidden;font-size:16px}
.mtable th,.mtable td{text-align:left;vertical-align:top;padding:16px 18px;border-bottom:1px solid var(--line-lt)}
.mtable th{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim);background:var(--light);font-weight:600}
.mtable tr:last-child td{border-bottom:0}
.mtable td.name b{display:block;color:var(--ink)}
.mtable td.name code{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--orange-dk)}
.mtable td.heat{white-space:nowrap;font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--ink)}
.mtable td{color:var(--txt-dk)}
.fn{font-size:14px;color:var(--txt-dk);margin-top:14px;max-width:720px}
.tbl-wrap{border-radius:16px;border:1px solid var(--line-lt);overflow:hidden}
.tbl-wrap .mtable{border:0;border-radius:0}
.ds-gap+.ds-gap{margin-top:20px}
.mtable.dsheet td.name{width:34%}
.ds-src{overflow-wrap:anywhere}

/* forms (quote page) */
.qform{display:flex;flex-direction:column;gap:28px}
.qform .grp{background:var(--white);border:1px solid var(--line-lt);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:18px}
.qform .grp > h2{font-size:20px;margin:0 0 4px}
.qform label.lbl,.qform legend.lbl{color:var(--txt-dk)}
.qform .field{background:var(--white);border-color:#B9C4D2;color:var(--ink);min-height:48px}
.qform textarea.field{min-height:120px;padding:12px 14px;resize:vertical}
.qform select.field{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234A5A70' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.qform .field:focus{outline:2px solid var(--orange-dk);border-color:var(--orange-dk)}
.qform .field[aria-invalid=true]{border-color:var(--err);box-shadow:0 0 0 2px var(--err-lt)}
.qform .pill span{background:var(--light);border-color:#B9C4D2;color:var(--ink)}
.qform .pill input:checked + span{background:var(--orange);border-color:var(--orange);color:var(--navy)}
.qform .pill input:focus-visible + span{outline-color:var(--orange-dk)}
.qform .hint{font-size:14px;color:var(--txt-dk);line-height:1.5}
.qform .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.qform .row3{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.qform .drop{background:var(--light);border-color:#B9C4D2;color:var(--ink)}
.qform .drop:hover{border-color:var(--orange-dk);background:#FFF6EC}
.qform .drop:focus-within{outline-color:var(--orange-dk)}
.qform .drop .t1{color:var(--ink)}
.qform .drop .t2{color:var(--txt-dk)}
.qform .drop .files{color:var(--orange-dk)}
.qform .drops{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.qform .drop.cam{min-height:120px}
.qform .checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}
.qform .check{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink);cursor:pointer}
.qform .check input{width:20px;height:20px;accent-color:var(--orange-dk);margin:0;flex:0 0 auto}
.qform .radios{display:flex;flex-wrap:wrap;gap:10px 24px}
.qform .radio{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink);cursor:pointer}
.qform .radio input{width:20px;height:20px;accent-color:var(--orange-dk);margin:0}
.qform .err{display:none;color:var(--err);font-size:14px;font-weight:600;line-height:1.4}
.qform .err.on{display:block}
.qform .note{display:none;border:1px solid var(--err);background:var(--err-lt);color:#7A1020;padding:14px 16px;border-radius:10px;font-size:15px;line-height:1.5}
.qform .note.on{display:block}
.qform .ok-note{border:1px solid var(--line-lt);background:var(--light);color:var(--txt-dk);padding:14px 16px;border-radius:10px;font-size:15px;line-height:1.5}
.qform .req{color:var(--err)}
.qform .submit{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.qform .progress{display:none;width:100%;max-width:420px;height:8px;background:var(--line-lt);border-radius:999px;overflow:hidden}
.qform .progress.on{display:block}
.qform .progress i{display:block;height:100%;width:0;background:var(--orange)}
.qform .status{font-size:15px;color:var(--txt-dk);min-height:1.5em}
.errsum{display:none;border:1px solid var(--err);background:var(--err-lt);color:#7A1020;padding:18px 20px;border-radius:12px}
.errsum.on{display:block}
.errsum h2{font-size:18px;margin:0 0 8px}
.errsum ul{margin:0;padding-left:20px}
.errsum a{color:#7A1020;font-weight:600}
.side-contact{display:flex;flex-direction:column;gap:18px;position:sticky;top:24px}
.side-contact .panel .lbl{display:block;margin-bottom:6px}
.side-contact .big{font-size:22px;font-weight:800;color:var(--ink);text-decoration:none;word-break:break-word}
.side-contact .big:hover{color:var(--orange-dk)}

/* 404 */
.nf{min-height:50vh;display:flex;align-items:center;padding:96px 0}
.nf .wrap{display:flex;flex-direction:column;gap:20px}
.nf h1{font-size:64px;color:var(--white)}
.nf p{font-size:18px;color:var(--txt-soft)}

/* phone */
@media (max-width:900px){
  .cards{grid-template-columns:1fr 1fr}
  .ind{grid-template-columns:1fr 1fr}
  .ind > div:nth-child(4n){border-right:1px solid var(--line-lt)}
  .ind > div:nth-child(2n){border-right:0}
  .ind > div:nth-child(n+5){border-bottom:1px solid var(--line-lt)}
  .ind > div:nth-child(n+7){border-bottom:0}
  .two{grid-template-columns:1fr;gap:32px}
  .side-contact{position:static}
  .list-cards,.steps-expanded{grid-template-columns:1fr}
  .hero h1{font-size:56px}
  .hero .wrap{grid-template-columns:1fr;gap:36px}
  .ph-only{display:inline-flex !important}
  .how .wrap,.mat .wrap,.faq .wrap{grid-template-columns:1fr;gap:36px}
  .how .figwrap,.faq .side{position:static}
  .job .wrap{grid-template-columns:1fr;gap:32px}
  .ways{grid-template-columns:1fr}
}
@media (max-width:720px){
  .wrap{padding:0 16px}
  .nav{display:none}
  .mnav{display:block}
  .callpill{padding:0 10px;gap:6px;font-size:13px;min-height:40px}
  .hdr .wrap{gap:8px;padding-top:14px;padding-bottom:14px}
  .hdr-right{gap:8px}
  .hdr .brand{font-size:15px;gap:8px;white-space:nowrap;min-width:0}
  .hdr .brand .logo{height:36px}
  .mnav summary{width:40px;height:40px}
  h2{font-size:30px}
  .sec{padding:64px 0}
  .sec-head{margin-bottom:28px}
  .hero .wrap{grid-template-columns:1fr;gap:36px;padding-top:40px;padding-bottom:96px}
  .hero h1{font-size:42px}
  .hero-sub{font-size:17px}
  .hero-ways{gap:8px 16px;font-size:11.5px}
  .qcard{padding:20px}
  .stats{margin-top:-56px}
  .stats .band{grid-template-columns:1fr 1fr}
  .stat{padding:20px 18px;border-left:0}
  .stat:nth-child(even){border-left:1px solid var(--line)}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .stat b{font-size:22px;white-space:normal}
  .stat::before{display:none}
  .job{padding:64px 0}
  .callouts{display:none}
  .spec div{grid-template-columns:110px 1fr}
  .cards{grid-template-columns:1fr 1fr;gap:12px}
  .card img{aspect-ratio:4/3}
  .card .num{left:8px;top:8px;width:30px;height:30px;font-size:11px}
  .card .body{padding:12px 12px 14px;gap:6px}
  .card h3{font-size:15px;min-height:2.5em}
  .card .body p{font-size:13.5px;line-height:1.45}
  .ind > div{padding:20px 16px;min-height:0}
  .how{padding:64px 0}
  .step{grid-template-columns:40px 1fr;gap:16px;padding-bottom:28px}
  .step .n{width:40px;height:40px;font-size:13px}
  .tline::before{left:19px}
  .who{padding:64px 0}
  .who .wrap{flex-direction:column;align-items:flex-start;gap:44px}
  .who-copy{flex-basis:auto}
  .who-copy blockquote{font-size:23px}
  .who-copy .q{left:-6px;top:-40px;font-size:120px}
  .faq summary{font-size:17px}
  .cta{min-height:0}
  .cta .wrap{padding-top:72px;padding-bottom:72px}
  .cta h2{font-size:34px}
  .cta::after{background:linear-gradient(180deg,rgba(11,20,34,.96) 0%,rgba(11,20,34,.85) 100%)}
  .ftr nav{display:grid;grid-template-columns:auto auto;gap:10px 28px}
  .phead{padding:48px 0 44px}
  .phead h1{font-size:36px}
  .prose h2{font-size:24px}
  .checklist{grid-template-columns:1fr}
  .dl{grid-template-columns:1fr;gap:2px 0}
  .dl dd{margin-bottom:10px}
  .qform .grp{padding:18px}
  .qform .row,.qform .row3,.qform .drops,.qform .checks{grid-template-columns:1fr}
  .nf h1{font-size:44px}
  /* stacked materials table */
  .mtable thead{display:none}
  .mtable,.mtable tbody,.mtable tr,.mtable td{display:block;width:100%}
  .mtable tr{border-bottom:1px solid var(--line-lt);padding:6px 0}
  .mtable tr:last-child{border-bottom:0}
  .mtable td{border:0;padding:8px 16px}
  .mtable td::before{content:attr(data-label);display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-dim);margin-bottom:2px}
  .mtable td.heat{white-space:normal}
  .mtable.dsheet td.name{width:100%}.mtable.dsheet td.name::before{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important}
}

/* card as a link */
.light a.card,.light a.card:hover,.white a.card{color:var(--ink);text-decoration:none}
.card h3{color:var(--ink)}
