/* Tyrian Industries Limited — site styles
   Brand: Tyrian Group. Dark Raspberry #960056, Sunflower Gold #F7C161, White, Onyx Black #151515
   Type: Archivo (variable width) for everything; Cinzel only for the "INDUSTRIES" logo sub-word. */

:root{
  --rasp:#960056;
  --rasp-deep:#6E003F;
  --violet:#3D0027;
  --gold:#F7C161;
  --gold-deep:#D99A2B;
  --onyx:#151515;
  --ink:#2A2529;
  --mute:#6B6369;
  --line:#DCD6D9;
  --mill:#F3F1F2;
  --white:#FFFFFF;
  --blue:#235789;

  --font:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --serif:"Cinzel", "Times New Roman", serif;

  --max:1280px;
  --gutter:clamp(20px, 4vw, 56px);
  --sec:clamp(64px, 9vw, 128px);
  --radius:2px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{font-family:var(--font);font-size:17px;line-height:1.6;color:var(--ink);background:var(--white);font-variation-settings:"wdth" 100;}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--onyx);color:#fff;padding:8px 14px;z-index:999}
.skip:focus{left:8px}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sec{padding-top:var(--sec);padding-bottom:var(--sec)}
.sec-tight{padding-top:calc(var(--sec)*.6);padding-bottom:calc(var(--sec)*.6)}
.mill{background:var(--mill)}
.dark{background:var(--onyx);color:#fff}
.violet{background:var(--violet);color:#fff}

/* ---------- type scale ---------- */
h1,h2,h3,h4{font-weight:600;line-height:1.05;letter-spacing:-.015em;color:var(--onyx);font-variation-settings:"wdth" 112;}
.dark h1,.dark h2,.dark h3,.violet h1,.violet h2,.violet h3{color:#fff}
h1{font-size:clamp(40px, 6vw, 84px);line-height:.98}
h2{font-size:clamp(30px, 3.8vw, 52px)}
h3{font-size:clamp(21px, 2vw, 27px);line-height:1.2}
h4{font-size:18px;line-height:1.3;font-variation-settings:"wdth" 100}
.lede{font-size:clamp(19px, 1.6vw, 23px);line-height:1.5;max-width:38em;color:var(--ink);font-weight:400}
.dark .lede,.violet .lede{color:rgba(255,255,255,.85)}
p{max-width:62ch}
.kicker{font-size:15px;color:var(--rasp);font-weight:600;margin-bottom:14px;display:block}
.dark .kicker,.violet .kicker{color:var(--gold)}
.sec-head{max-width:760px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{margin-bottom:18px}
.sec-head p{font-size:18px;color:var(--mute)}
.dark .sec-head p,.violet .sec-head p{color:rgba(255,255,255,.72)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 26px;font-weight:600;font-size:15.5px;border:1.5px solid var(--rasp);color:var(--rasp);background:transparent;border-radius:var(--radius);transition:background .2s,color .2s,border-color .2s;cursor:pointer;line-height:1.1}
.btn:hover{background:var(--rasp);color:#fff}
.btn-solid{background:var(--rasp);color:#fff}
.btn-solid:hover{background:var(--rasp-deep);border-color:var(--rasp-deep)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--onyx)}
.btn-gold:hover{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--onyx)}
.btn-white{border-color:#fff;color:#fff}
.btn-white:hover{background:#fff;color:var(--rasp)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.link{font-weight:600;color:var(--rasp);border-bottom:1.5px solid var(--gold);padding-bottom:2px;transition:border-color .2s}
.link:hover{border-color:var(--rasp)}
.dark .link,.violet .link{color:#fff}

/* ---------- header ---------- */
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;height:82px;gap:24px}
.logo{display:flex;align-items:center;gap:12px}
.logo .icon{height:44px;width:auto}
.logo .word{display:flex;flex-direction:column;line-height:1}
.logo .word img{height:15px;width:auto}
.logo .word .sub{font-family:var(--serif);font-weight:500;font-size:11.5px;letter-spacing:.42em;color:var(--onyx);margin-top:6px;padding-left:2px}
.logo-white .word .sub{color:#fff}
.nav{display:flex;align-items:center;gap:6px}
.nav > li{position:relative}
.nav > li > a{display:block;padding:12px 14px;font-size:15.5px;font-weight:500;color:var(--onyx);border-bottom:2px solid transparent;transition:border-color .2s}
.nav > li > a:hover,.nav > li > a[aria-current="page"]{border-bottom-color:var(--gold)}
.nav .has-menu > a{padding-right:28px;position:relative}
.nav .has-menu > a::after{content:"";position:absolute;right:11px;top:50%;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.menu{position:absolute;left:0;top:100%;background:#fff;border:1px solid var(--line);border-top:2px solid var(--rasp);min-width:280px;padding:10px 0;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;box-shadow:0 18px 40px -20px rgba(21,21,21,.35)}
.has-menu:hover .menu,.has-menu:focus-within .menu,.has-menu.open .menu{opacity:1;visibility:visible;transform:translateY(0)}
.menu a{display:block;padding:10px 20px;font-size:15px;color:var(--ink)}
.menu a:hover{background:var(--mill);color:var(--rasp)}
.menu small{display:block;font-size:13px;color:var(--mute);margin-top:2px}
.nav-cta{margin-left:10px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;cursor:pointer;border-radius:var(--radius);position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;width:20px;height:2px;background:var(--onyx);content:"";transition:transform .2s}
.burger span{top:21px}
.burger span::before{left:0;top:-6px}
.burger span::after{left:0;top:6px}
.group-bar{background:var(--violet);color:rgba(255,255,255,.85);font-size:13px}
.group-bar .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
.group-bar a{color:#fff;font-weight:500}
.group-bar a:hover{color:var(--gold)}

@media (max-width:1020px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px 0 20px;gap:0;max-height:calc(100vh - 116px);overflow:auto}
  .nav.open{display:flex}
  .nav > li > a{padding:14px var(--gutter);border-bottom:1px solid var(--line)}
  .nav .has-menu > a::after{right:var(--gutter)}
  .menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;display:none;padding:4px 0 8px;background:var(--mill)}
  .has-menu.open .menu{display:block}
  .has-menu:hover .menu{display:none}
  .has-menu.open:hover .menu{display:block}
  .menu a{padding:10px calc(var(--gutter) + 16px)}
  .nav-cta{margin:16px var(--gutter) 0}
  .burger{display:block}
  .burger.open span{background:transparent}
  .burger.open span::before{transform:translateY(6px) rotate(45deg)}
  .burger.open span::after{transform:translateY(-6px) rotate(-45deg)}
  .group-bar .tag{display:none}
}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;min-height:min(78vh, 760px);display:flex;align-items:flex-end;background:var(--onyx);overflow:hidden}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,21,21,.10) 0%,rgba(21,21,21,.35) 55%,rgba(21,21,21,.78) 100%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:clamp(120px,14vw,200px);padding-bottom:clamp(48px,6vw,88px)}
.hero h1{color:#fff;max-width:14ch}
.hero .lede{color:rgba(255,255,255,.9);margin-top:22px}
.hero-sub{min-height:min(56vh,520px)}
.hero-sub h1{max-width:16ch}
.hero-strip{position:relative;z-index:1;background:var(--gold);color:var(--onyx)}
.hero-strip .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0}
.hero-strip a{display:flex;flex-direction:column;justify-content:center;padding:22px 26px 22px 0;border-right:1px solid rgba(21,21,21,.18);margin-right:26px;font-weight:600;font-size:16px;line-height:1.25}
.hero-strip a span{display:block;font-weight:400;font-size:14px;margin-top:4px;color:rgba(21,21,21,.75)}
.hero-strip a:last-child{border-right:0}
.hero-strip a:hover{color:var(--rasp)}
@media (max-width:720px){.hero-strip a{border-right:0;border-bottom:1px solid rgba(21,21,21,.18);margin-right:0;padding:16px 0}}

/* ---------- split panels (image + text) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.split.rev > .media{order:2}
.split .media{position:relative}
.split .media img{width:100%;aspect-ratio:7/5;object-fit:cover;border-radius:var(--radius)}
.split .media .tag{position:absolute;left:0;bottom:0;background:var(--gold);color:var(--onyx);font-weight:600;font-size:14px;padding:10px 16px}
.split h2{margin-bottom:20px}
.split p + p{margin-top:14px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev > .media{order:0}}

/* ---------- capability list (index + capabilities) ---------- */
.cap-list{border-top:1px solid var(--line)}
.cap-row{display:grid;grid-template-columns:72px 1.1fr 1.4fr;gap:clamp(20px,3vw,48px);padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
.cap-row .num{font-size:15px;font-weight:600;color:var(--rasp);padding-top:6px}
.cap-row h3{margin-bottom:6px}
.cap-row .strap{color:var(--mute);font-size:15.5px}
.cap-row p{color:var(--ink)}
.cap-row .link{display:inline-block;margin-top:14px;font-size:15px}
@media (max-width:820px){.cap-row{grid-template-columns:48px 1fr}.cap-row > :nth-child(3){grid-column:2}}

/* ---------- sector grid ---------- */
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.sector{padding:28px 24px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px;display:flex;flex-direction:column;gap:14px;transition:background .2s}
.sector:hover{background:var(--mill)}
.sector svg{width:36px;height:36px;stroke:var(--rasp);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sector h3{font-size:19px}
.sector p{font-size:14.5px;color:var(--mute);line-height:1.5}
@media (max-width:980px){.sector-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.sector-grid{grid-template-columns:1fr}}

/* ---------- production line (industrial model) ---------- */
.line-wrap{overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}
.line{display:grid;grid-template-columns:repeat(9,minmax(128px,1fr));position:relative;min-width:1160px;padding-top:34px}
.line::before{content:"";position:absolute;left:12px;right:12px;top:0;height:6px;background:repeating-linear-gradient(90deg,var(--gold) 0 26px,transparent 26px 34px);border-radius:3px}
.line::after{content:"";position:absolute;left:0;right:0;top:-6px;height:18px;border:1.5px solid rgba(255,255,255,.28);border-radius:9px}
.station{padding:0 14px 0 0;position:relative}
.station i{display:block;width:12px;height:12px;border-radius:50%;background:var(--gold);margin-bottom:18px;position:relative}
.station i::before{content:"";position:absolute;left:5px;top:-40px;width:2px;height:36px;background:rgba(255,255,255,.28)}
.station b{display:block;font-weight:600;font-size:16px;line-height:1.25;color:#fff;margin-bottom:6px}
.station span{display:block;font-size:13.5px;color:rgba(255,255,255,.66);line-height:1.45}
.station.end b{color:var(--gold)}

/* ---------- growth stages (staircase) ---------- */
.stages{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:end;margin-top:12px}
.stage{border-top:4px solid var(--rasp);padding:22px 20px 0 0;margin-right:16px;position:relative}
.stage:nth-child(1){padding-bottom:0}
.stage:nth-child(2){padding-bottom:28px}
.stage:nth-child(3){padding-bottom:56px}
.stage:nth-child(4){padding-bottom:84px}
.stage:nth-child(5){padding-bottom:112px;border-top-color:var(--gold)}
.stage small{display:block;font-size:14px;font-weight:600;color:var(--rasp);margin-bottom:8px}
.stage h3{font-size:19px;margin-bottom:8px}
.stage p{font-size:14.5px;color:var(--mute);line-height:1.5}
@media (max-width:900px){.stages{grid-template-columns:1fr 1fr}.stage{padding-bottom:0!important;margin-bottom:28px}}
@media (max-width:520px){.stages{grid-template-columns:1fr}}

/* ---------- value / plain lists ---------- */
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,3vw,48px)}
.cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px)}
@media (max-width:960px){.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cols-3,.cols-2,.cols-4{grid-template-columns:1fr}}
.value{border-top:2px solid var(--rasp);padding-top:18px}
.value h3{font-size:20px;margin-bottom:8px}
.value p{font-size:15.5px;color:var(--mute)}
.dark .value,.violet .value{border-top-color:var(--gold)}
.dark .value p,.violet .value p{color:rgba(255,255,255,.72)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid var(--line);padding:7px 13px;font-size:14px;border-radius:var(--radius);background:#fff;color:var(--ink)}
.mill .chips li{background:#fff}
.dark .chips li,.violet .chips li{border-color:rgba(255,255,255,.22);background:transparent;color:#fff}
.tick{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 32px}
.tick li{position:relative;padding-left:26px;font-size:15.5px}
.tick li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:7px;border-left:2px solid var(--rasp);border-bottom:2px solid var(--rasp);transform:rotate(-45deg)}
.dark .tick li::before,.violet .tick li::before{border-color:var(--gold)}
@media (max-width:600px){.tick{grid-template-columns:1fr}}

/* ---------- product category blocks ---------- */
.prod{display:grid;grid-template-columns:.9fr 1.6fr;gap:clamp(20px,3vw,48px);padding:36px 0;border-top:1px solid var(--line)}
.prod:last-child{border-bottom:1px solid var(--line)}
.prod h3{font-size:23px}
.prod .note{font-size:13.5px;color:var(--mute);margin-top:12px}
@media (max-width:720px){.prod{grid-template-columns:1fr}}

/* ---------- capability detail sections ---------- */
.cap-detail{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);padding:var(--sec) 0;border-top:1px solid var(--line)}
.cap-detail:first-of-type{border-top:0;padding-top:0}
.cap-detail .num{font-size:15px;color:var(--rasp);font-weight:600;margin-bottom:12px;display:block}
.cap-detail h2{font-size:clamp(28px,3vw,40px);margin-bottom:8px}
.cap-detail .strap{font-size:19px;color:var(--mute);margin-bottom:22px}
.cap-detail p + p{margin-top:14px}
.cap-detail .media img{width:100%;aspect-ratio:7/5;object-fit:cover;margin-bottom:28px}
.cap-detail h4{margin-bottom:12px;color:var(--onyx)}
@media (max-width:860px){.cap-detail{grid-template-columns:1fr}}

/* ---------- leadership ---------- */
.leaders{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.leader{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start}
.leader img{width:100%;aspect-ratio:4/5;object-fit:cover}
.leader h3{margin-bottom:2px}
.leader .role{color:var(--rasp);font-weight:600;font-size:15px;margin-bottom:12px}
.leader p{font-size:15.5px}
@media (max-width:860px){.leaders{grid-template-columns:1fr}}
@media (max-width:480px){.leader{grid-template-columns:1fr}.leader img{max-width:200px}}

/* ---------- stats-free "facts" band (plain, restrained) ---------- */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid rgba(255,255,255,.18);padding-top:28px;margin-top:48px}
.facts b{display:block;font-size:17px;font-weight:600;color:var(--gold);margin-bottom:4px}
.facts span{font-size:14.5px;color:rgba(255,255,255,.7)}
@media (max-width:700px){.facts{grid-template-columns:1fr}}

/* ---------- CTA band ---------- */
.cta{position:relative;color:#fff;background:var(--violet);overflow:hidden}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.cta .wrap{position:relative;z-index:1;padding-top:clamp(64px,8vw,110px);padding-bottom:clamp(64px,8vw,110px);display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.cta h2{color:#fff;margin-bottom:14px}
.cta p{color:rgba(255,255,255,.82);font-size:18px}
.cta .btn-row{margin-top:0;justify-content:flex-end}
@media (max-width:820px){.cta .wrap{grid-template-columns:1fr}.cta .btn-row{justify-content:flex-start;margin-top:8px}}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,6vw,96px)}
.addr{font-style:normal;line-height:1.7;font-size:17px}
.addr b{display:block;font-weight:600;color:var(--onyx);margin-top:22px;margin-bottom:4px}
.addr b:first-child{margin-top:0}
.addr a{color:var(--rasp);font-weight:500}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--onyx)}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--rasp);outline:none;box-shadow:0 0 0 3px rgba(150,0,86,.15)}
.form textarea{min-height:150px;resize:vertical}
.form .help{font-size:13.5px;color:var(--mute);margin-top:6px}
.form .status{font-size:15px;color:var(--rasp);font-weight:500;padding:12px 0}
.map{width:100%;aspect-ratio:16/8;background:var(--mill);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:15px;margin-top:40px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.form{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.footer{background:var(--onyx);color:rgba(255,255,255,.78);font-size:15px}
.footer .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding:72px 0 56px;border-bottom:1px solid rgba(255,255,255,.14)}
.footer .top p{margin-top:22px;max-width:40ch;line-height:1.6}
.footer h4{color:#fff;margin-bottom:16px;font-size:15px}
.footer li{margin-bottom:9px}
.footer a:hover{color:var(--gold)}
.footer .bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:24px 0;font-size:13.5px;color:rgba(255,255,255,.55)}
.footer .bottom a{margin-left:20px}
.footer .group-note{margin-top:18px;font-size:13.5px;color:rgba(255,255,255,.55)}
.footer .group-note a{color:var(--gold)}
.footer .group-links{display:flex;flex-wrap:wrap;gap:6px 0;margin-top:10px;font-size:13.5px;color:rgba(255,255,255,.55)}
.footer .group-links li{margin:0;padding-right:12px;margin-right:12px;border-right:1px solid rgba(255,255,255,.22);line-height:1.3}
.footer .group-links li:last-child{border-right:0;padding-right:0;margin-right:0}
.footer .group-links a{color:rgba(255,255,255,.72)}
.footer .group-links a:hover{color:var(--gold)}
@media (max-width:900px){.footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer .top{grid-template-columns:1fr}}

/* ---------- misc ---------- */
.eyebrow-num{font-size:15px;color:var(--rasp);font-weight:600;display:block;margin-bottom:10px}
.rule{height:1px;background:var(--line);border:0}
.note{font-size:14.5px;color:var(--mute)}
.two-col-text{columns:2;column-gap:48px}
.two-col-text p{break-inside:avoid;margin-bottom:14px;max-width:none}
@media (max-width:760px){.two-col-text{columns:1}}
