/* BV Solution Marketplace – Process Simulate Engineering */
:root{
  --ink:#0f171d; --navy:#14222c; --navy-2:#1c2e39; --accent:#00a99d; --accent-dark:#007d75;
  --paper:#fff; --mist:#f2f4f4; --line:#d9dfe1; --muted:#5f6b72; --soft:#e9eeee; --danger:#b3261e; --max:1920px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - clamp(56px,6vw,128px)));margin:0 auto}
.hidden{display:none!important}
.visually-hidden{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-visible{outline:2px solid var(--accent);outline-offset:2px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#04110f;padding:10px 14px;z-index:100;font-size:12px;font-weight:700}
.skip-link:focus{left:10px;top:10px}
.text-link{color:var(--accent-dark);border-bottom:1px solid currentColor}

/* header */
.topbar{background:#091218;color:#c7d0d4;font-size:11px;letter-spacing:.04em}
.topbar .container{height:32px;display:flex;align-items:center;justify-content:space-between}
.topbar strong{color:#fff}
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{height:72px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:stretch;min-width:295px}
.brand-mark{width:5px;background:var(--accent);margin-right:16px}
.brand-title{display:block;font-size:15px;font-weight:700;letter-spacing:.02em}
.brand-sub{display:block;font-size:10px;color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-top:6px}
.nav{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.nav a{padding:28px 0 25px;border-bottom:3px solid transparent;color:var(--ink)}
.nav a:hover,.nav a.active{border-color:var(--accent)}
.header-cta{background:var(--navy);color:#fff;border:0;padding:13px 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.header-cta:hover{background:var(--navy-2)}
.menu-btn{display:none;background:none;border:0;font-weight:700;text-transform:uppercase;font-size:11px;padding:10px 0}
.mobile-nav{border-top:1px solid var(--line);background:#fff}
.mobile-nav .container{display:grid;padding:10px 0 16px;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase}
.mobile-nav a:not(.btn){padding:10px 0;border-bottom:1px solid var(--soft)}

/* hero */
.hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}
.hero:after{content:"";position:absolute;right:-12%;top:-30%;width:52%;height:160%;border-left:1px solid rgba(255,255,255,.11);transform:skewX(-14deg);background:linear-gradient(180deg,rgba(0,169,157,.08),transparent)}
.hero-grid{min-height:550px;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(340px,.83fr);position:relative;z-index:1}
.hero-copy{padding:88px 72px 80px 0;display:flex;flex-direction:column;justify-content:center}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#bac6cb}
.eyebrow:before{content:"";width:42px;height:2px;background:var(--accent)}
h1{font-size:clamp(43px,5.7vw,76px);line-height:.99;letter-spacing:-.045em;margin:24px 0 24px;max-width:860px}
.hero p{font-size:17px;line-height:1.62;color:#d6dfe2;max-width:720px;margin:0}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:34px}
.btn{min-height:48px;padding:0 21px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:none;color:inherit}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-primary{background:var(--accent);color:#04110f}
.btn-primary:hover{background:#10bbb0}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--navy-2)}
.btn-outline{border-color:#7a8990;color:#fff;background:transparent}
.btn-outline:hover{border-color:#fff}
.btn-light-outline{border-color:#aeb9bd;background:#fff;color:var(--ink)}
.btn-light-outline:hover{border-color:var(--ink)}
.btn-danger{border-color:#e3b4b1;background:#fff;color:var(--danger)}
.btn-danger:hover{border-color:var(--danger)}
.btn-sm{min-height:34px;padding:0 12px;font-size:10px}
.hero-panel{border-left:1px solid rgba(255,255,255,.13);display:flex;align-items:flex-end;padding:0 0 52px 48px}
.hero-panel-inner{width:100%;max-width:420px}
.hero-stat{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:18px 0;border-top:1px solid rgba(255,255,255,.22)}
.hero-stat .num{font-size:27px;font-weight:700}
.hero-stat .label{font-size:11px;line-height:1.5;color:#b9c5ca;text-transform:uppercase;letter-spacing:.08em}

/* sections */
.section{padding:80px 0}
.section.alt{background:var(--mist)}
.section-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:14px}
.kicker-light{color:#35d0c3}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:70px;align-items:end;margin-bottom:38px}
h2{font-size:clamp(34px,4vw,55px);line-height:1.03;letter-spacing:-.035em;margin:0}
.h2-sm{font-size:38px}
.section-head p,.lead{font-size:15px;line-height:1.65;color:var(--muted);margin:0}
.video-lead{margin:20px 0 27px}

/* toolbar + list */
.toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:20px;align-items:center;border-top:1px solid var(--ink);padding:18px 0 14px}
.search{position:relative}
.search input{width:100%;border:1px solid var(--line);border-radius:0;padding:13px 44px 13px 14px;background:#fff}
.search span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px}
.filters{display:flex;gap:7px;flex-wrap:wrap}
.filter{border:1px solid #aeb8bc;background:#fff;padding:9px 11px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.filter:hover{border-color:var(--ink)}
.filter.active{background:var(--navy);border-color:var(--navy);color:#fff}
.solution-list{border-top:1px solid var(--ink)}
.loading-row,.empty-row{padding:28px 0;color:var(--muted);font-size:13px}
.solution{display:grid;grid-template-columns:190px minmax(0,1.15fr) minmax(200px,.62fr) 150px;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);transition:background .15s ease;cursor:pointer}
.solution:hover{background:linear-gradient(90deg,rgba(0,169,157,.052),transparent 72%)}
.solution-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#172630,#0d171d);border:1px solid #25363f;position:relative;overflow:hidden}
.solution-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.solution:hover .solution-thumb img{transform:scale(1.04)}
.solution-thumb.placeholder:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px}
.solution-thumb.placeholder span{position:absolute;left:12px;bottom:10px;color:#b9c5ca;font-size:20px;font-weight:700}
.solution-thumb.placeholder:after{content:"";position:absolute;border:1px solid rgba(0,169,157,.85);width:46%;height:40%;right:12%;top:22%;transform:skewX(-9deg)}
.solution-index{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.solution h3{font-size:23px;line-height:1.12;margin:0 0 8px;letter-spacing:-.02em}
.solution h3 a:hover,.related-card .h4 a:hover{color:var(--accent-dark)}
.solution p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.tags{display:flex;gap:7px;flex-wrap:wrap}
.tag{border:1px solid #bac4c7;background:#fff;padding:6px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.solution-link{justify-self:end;border:0;border-bottom:2px solid var(--accent);background:none;padding:0 0 5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.status-pill{display:inline-block;margin-left:8px;padding:3px 6px;border:1px solid var(--accent-dark);color:var(--accent-dark);font-size:9px;letter-spacing:.06em;vertical-align:1px}
.status-pill.muted{border-color:#aeb8bc;color:var(--muted)}

/* feature band */
.feature-band{background:#0a1319;color:#fff}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;min-height:440px}
.feature-copy{padding:70px 74px 70px 0;display:flex;flex-direction:column;justify-content:center}
.feature-copy h2{margin-bottom:18px}
.feature-copy p{font-size:15px;line-height:1.65;color:#c4d0d4;max-width:570px}
.feature-visual{border-left:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(0,169,157,.13),transparent 42%),linear-gradient(180deg,#172833,#0d171d)}
.feature-visual .feature-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.visual-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to left,black 35%,transparent);-webkit-mask-image:linear-gradient(to left,black 35%,transparent)}
.machine{position:absolute;right:9%;bottom:11%;width:76%;height:60%;border:1px solid rgba(255,255,255,.32);transform:skewX(-8deg)}
.machine:before,.machine:after{content:"";position:absolute;border:1px solid rgba(0,169,157,.85)}
.machine:before{left:12%;top:15%;width:32%;height:52%}
.machine:after{right:13%;bottom:14%;width:28%;height:36%}
.feature-label{position:absolute;top:10%;right:9%;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#bdc8cd;z-index:1}

/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.process-step{min-height:180px;padding:27px 26px 30px 0;border-right:1px solid var(--line)}
.process-step:not(:first-child){padding-left:26px}
.process-step:last-child{border-right:0}
.process-step .n{font-size:10px;color:var(--accent-dark);font-weight:700;letter-spacing:.12em}
.process-step h3{font-size:18px;margin:22px 0 9px}
.process-step p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}

/* video */
.video-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;align-items:center}
.video-frame{aspect-ratio:16/9;background:#101820;border:1px solid #263641;position:relative;overflow:hidden;width:100%}
.video-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,169,157,.14),transparent 48%),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 19px)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.video-frame .video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
button.video-frame{padding:0;display:block;text-align:left;color:#fff}
button.video-frame:hover .play{background:var(--accent);border-color:var(--accent);color:#04110f}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:1px solid rgba(255,255,255,.7);display:grid;place-items:center;color:#fff;font-size:22px;transition:.15s ease;z-index:1}
.video-note{position:absolute;left:20px;right:20px;bottom:18px;color:#c7d1d5;font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;z-index:1}

/* footer */
footer{background:#0a1319;color:#b9c5ca;padding:52px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:58px;padding-bottom:40px;border-bottom:1px solid #2c3b43}
.footer-grid p{font-size:12px;line-height:1.7}
.footer-title{font-size:17px;color:#fff;font-weight:700;margin-bottom:10px}
.footer-h{font-size:10px;line-height:1.4;color:#fff;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px}
.footer-col a{font-size:11px;line-height:1.7;color:#aebbc0}
.footer-col a:hover{color:#fff}
.footer-links{display:grid;gap:7px}
.legal{font-size:10px;line-height:1.65;color:#829198;padding-top:20px;max-width:1000px}
.legal-meta{padding-top:10px}

/* detail */
.page-hero{background:var(--navy);color:#fff;padding:48px 0 50px}
.breadcrumb{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#aebbc0;margin-bottom:26px}
.breadcrumb a:hover{color:#fff}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:72px}
.detail-title h1{font-size:clamp(38px,5vw,62px);margin:20px 0 20px;max-width:880px}
.detail-title p{font-size:16px;line-height:1.65;color:#d5dfe2;max-width:760px}
.detail-meta{border-top:1px solid rgba(255,255,255,.24);align-self:end}
.meta-row{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:11px}
.meta-row span:first-child{color:#aebbc0;text-transform:uppercase;letter-spacing:.07em}
.meta-row strong{font-weight:600}
.detail-cover-wrap{background:linear-gradient(var(--navy) 50%,var(--paper) 50%)}
.detail-cover{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;border:1px solid var(--line);background:var(--mist);cursor:zoom-in;padding:0}
.detail-cover img{width:100%;height:100%;object-fit:cover}
.detail-content{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:72px}
.content-block{padding:0 0 30px;border-bottom:1px solid var(--line);margin-bottom:32px}
.content-block:last-child{border-bottom:0}
.content-block .h3{font-size:22px;line-height:1.2;letter-spacing:-.01em;margin:0 0 14px}
.content-block p{font-size:14px;line-height:1.7;color:var(--muted)}
.feature-lines{border-top:1px solid var(--ink);list-style:none;margin:0;padding:0}
.feature-line{display:grid;grid-template-columns:36px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}
.feature-line .plus{color:var(--accent-dark);font-weight:700}
.side-panel{border-top:3px solid var(--accent);padding-top:20px;position:sticky;top:100px}
.side-panel .h3{font-size:20px;line-height:1.2;letter-spacing:-.01em;margin:0 0 12px}
.side-panel p{font-size:13px;line-height:1.6;color:var(--muted)}
.side-panel .btn{width:100%;margin-top:15px}
.specs{margin-top:26px;border-top:1px solid var(--ink)}
.spec{padding:12px 0;border-bottom:1px solid var(--line)}
.spec small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}
.spec strong{font-size:12px}
.detail-tags{margin-top:20px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.gallery-item{position:relative;padding:0;border:1px solid var(--line);background:var(--mist);aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}
.gallery-item:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(transparent,rgba(10,19,25,.85));color:#e3eaec;font-size:11px;line-height:1.4;text-align:left}
.gallery.count-1{grid-template-columns:1fr}
.gallery.count-1 .gallery-item:first-child{grid-column:auto;grid-row:auto;aspect-ratio:16/9}
.gallery.count-2{grid-template-columns:1fr 1fr}
.gallery.count-2 .gallery-item:first-child{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
.media-video{margin-top:22px}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--ink);padding-top:22px}
.related-card{display:grid;gap:12px;cursor:pointer}
.related-card .h4{font-size:16px;margin:0;line-height:1.25}
.related-card p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}

/* request */
.request-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px}
.request-intro{position:sticky;top:120px;align-self:start}
.request-intro h2{margin-bottom:16px}
.request-intro p{font-size:14px;line-height:1.7;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field.full,.full{grid-column:1/-1}
label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#3a474e}
.field small,.hint{font-size:11px;line-height:1.5;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}
input,textarea,select{width:100%;border:1px solid #bfc8cb;border-radius:0;background:#fff;padding:13px;color:var(--ink);outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--accent-dark);box-shadow:0 0 0 1px var(--accent-dark)}
input[type=checkbox]{width:16px;height:16px;padding:0;flex:none;accent-color:var(--accent-dark)}
textarea{min-height:135px;resize:vertical;line-height:1.55}
.check{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.5;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;cursor:pointer}
.check input{margin-top:1px}
.notice{border-left:3px solid var(--accent);background:var(--mist);padding:14px 16px;font-size:11px;line-height:1.55;color:var(--muted);grid-column:1/-1}
.notice-block{margin-top:22px}
.notice.warn{border-color:#d29b1d;background:#fbf6ea}
.success{border:1px solid var(--accent-dark);background:#edf8f7;padding:22px;margin-top:20px;font-size:13px;line-height:1.6}
.success strong{display:block;margin-bottom:6px}
.form-message{padding:12px 14px;font-size:12px;line-height:1.5;border-left:3px solid var(--accent);background:#edf8f7}
.form-message.error{border-color:var(--danger);background:#fbeeed;color:#6d1a15}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* legal */
.legal-page{max-width:860px}
.legal-page h2{font-size:17px;line-height:1.3;letter-spacing:0;margin:30px 0 8px}
.legal-page p{font-size:14px;line-height:1.75;color:#334048}
.legal-page a{color:var(--accent-dark);border-bottom:1px solid currentColor}

/* admin */
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 104px)}
.admin-side{background:#0e1a21;color:#c3cdd1;padding:28px 20px;display:flex;flex-direction:column}
.admin-side h3{font-size:12px;color:#fff;margin:0 0 22px;text-transform:uppercase;letter-spacing:.09em}
.admin-nav{display:grid;gap:5px}
.admin-nav a,.admin-nav button{border:0;background:none;text-align:left;color:#aebbc0;padding:10px 8px;font-size:12px;display:flex;justify-content:space-between;align-items:center;border-left:3px solid transparent}
.admin-nav a:hover,.admin-nav button:hover{color:#fff}
.admin-nav a.active{background:#1a2a33;color:#fff;border-left-color:var(--accent)}
.admin-user{margin-top:auto;padding-top:24px;border-top:1px solid #22343e;font-size:11px;line-height:1.5;color:#8b9ba2;word-break:break-all}
.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent);color:#04110f;font-size:10px;font-weight:700}
.admin-main{background:#f4f6f6;padding:34px;min-width:0}
.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
.admin-top h2{font-size:34px}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-card{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:20px}
.admin-card h3{margin:0 0 16px;font-size:17px}
.admin-card h3 small{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-grid .field.full{grid-column:1/-1}
.admin-grid textarea{min-height:110px}
.admin-table-wrap{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:12px}
.admin-table th,.admin-table td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table th{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap}
.admin-table td.actions{white-space:nowrap;text-align:right}
.admin-table td.actions .btn{margin-left:4px}
.admin-table input,.admin-table select{padding:8px 9px;font-size:12px}
.admin-table .thumb{width:72px;aspect-ratio:16/10;object-fit:cover;border:1px solid var(--line);background:var(--mist)}
.admin-table .thumb.empty{display:block}
.status{display:inline-block;padding:5px 7px;border:1px solid #b7c1c4;font-size:9px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.status.live{border-color:var(--accent-dark);color:var(--accent-dark)}
.status.draft{border-style:dashed;color:var(--muted)}
.status.new{background:var(--accent);border-color:var(--accent);color:#04110f}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:11px;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.admin-note{font-size:12px;line-height:1.6;color:var(--muted)}
.admin-note code,.setup-list code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;background:var(--soft);padding:1px 5px}
.login-wrap{min-height:calc(100vh - 104px);display:grid;place-items:center;background:#f4f6f6;padding:40px 18px}
.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);padding:30px}
.login-card h2{font-size:30px;margin-bottom:10px}
.login-card p{font-size:13px;line-height:1.6;color:var(--muted)}
.login-card form{display:grid;gap:16px;margin-top:22px}
.login-card .btn{width:100%}
.link-btn{background:none;border:0;padding:0;color:var(--accent-dark);font-size:12px;border-bottom:1px solid currentColor;justify-self:start}
.setup-list{margin:0;padding-left:20px;font-size:13px;line-height:1.8;color:#334048}
.check-list{display:grid;gap:8px;font-size:13px}
.check-list div{display:flex;gap:10px;align-items:flex-start}
.check-list .ok{color:var(--accent-dark);font-weight:700}
.check-list .bad{color:var(--danger);font-weight:700}

/* image manager */
.upload{border:1px dashed #9da9ae;background:#fafbfb;min-height:120px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;line-height:1.5;padding:16px;cursor:pointer;transition:.15s ease}
.upload:hover,.upload.drag{border-color:var(--accent-dark);background:#edf8f7}
.upload input{display:none}
.upload strong{color:var(--ink);display:block;margin-bottom:4px}
.hero-box{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:start}
.hero-preview{aspect-ratio:16/9;border:1px solid var(--line);background:var(--mist);position:relative;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:12px}
.hero-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-manager{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:14px}
.media-item{border:1px solid var(--line);background:#fff;display:grid;grid-template-rows:auto auto auto}
.media-item .img{aspect-ratio:16/10;background:var(--mist);position:relative;overflow:hidden}
.media-item img{width:100%;height:100%;object-fit:cover}
.media-item .pos{position:absolute;left:6px;top:6px;background:rgba(10,19,25,.8);color:#fff;font-size:9px;padding:3px 6px;text-transform:uppercase;letter-spacing:.06em}
.media-item .new-flag{position:absolute;right:6px;top:6px;background:var(--accent);color:#04110f;font-size:9px;padding:3px 6px;text-transform:uppercase;font-weight:700}
.media-item input{border:0;border-top:1px solid var(--line);padding:9px 10px;font-size:12px}
.media-item .tools{display:flex;border-top:1px solid var(--line)}
.media-item .tools button{flex:1;border:0;border-right:1px solid var(--line);background:#fff;padding:8px 4px;font-size:11px}
.media-item .tools button:last-child{border-right:0;color:var(--danger)}
.media-item .tools button:hover{background:var(--mist)}
.media-item .tools button:disabled{opacity:.35;cursor:default}
.video-preview{margin-top:12px;max-width:420px}
.inquiry{border:1px solid var(--line);background:#fff;margin-bottom:12px}
.inquiry summary{list-style:none;display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;cursor:pointer}
.inquiry summary::-webkit-details-marker{display:none}
.inquiry summary:hover{background:#fafbfb}
.inquiry .date{font-size:11px;color:var(--muted)}
.inquiry .who strong{display:block;font-size:14px}
.inquiry .who span{font-size:12px;color:var(--muted)}
.inquiry-body{padding:4px 18px 20px;border-top:1px solid var(--line)}
.inquiry-body dl{display:grid;grid-template-columns:160px 1fr;gap:8px 18px;font-size:13px;margin:16px 0}
.inquiry-body dt{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding-top:2px}
.inquiry-body dd{margin:0;white-space:pre-wrap;word-break:break-word}
.inquiry-body .admin-grid{margin-top:12px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}

/* lightbox */
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.lightbox::backdrop{background:rgba(6,12,16,.92)}
.lightbox[open]{display:grid;place-items:center}
.lightbox figure{margin:0;max-width:min(1400px,92vw);display:grid;gap:12px}
.lightbox img{max-width:100%;max-height:82vh;object-fit:contain;margin:0 auto}
.lightbox figcaption{color:#d6dfe2;font-size:13px;text-align:center;min-height:1em}
.lb-close,.lb-nav{position:fixed;background:rgba(20,34,44,.7);border:1px solid rgba(255,255,255,.3);color:#fff;width:48px;height:48px;font-size:26px;line-height:1;display:grid;place-items:center}
.lb-close:hover,.lb-nav:hover{background:var(--accent);color:#04110f}
.lb-close{top:18px;right:18px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--navy);color:#fff;padding:13px 18px;font-size:12px;opacity:0;pointer-events:none;transition:.2s ease;z-index:200;max-width:calc(100% - 32px);border-left:3px solid var(--accent)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.error{border-left-color:#ff6b61}

/* large desktop screens: use the width, scale type and media up a little */
@media(min-width:1500px){
  .hero-grid{min-height:600px}
  .hero p{font-size:18px;max-width:780px}
  h1{max-width:980px}
  .section-head{gap:110px}
  .section-head p,.lead{font-size:16px}
  .solution{grid-template-columns:260px minmax(0,1.3fr) minmax(220px,.7fr) 160px;gap:40px;padding:28px 0}
  .solution h3{font-size:26px}
  .solution p{font-size:14px;max-width:820px}
  .process-step{min-height:200px}
  .process-step h3{font-size:20px}
  .process-step p{font-size:13px}
  .detail-grid,.detail-content{gap:110px}
  .detail-title h1{max-width:1080px}
  .detail-title p{font-size:17px;max-width:900px}
  .content-block p{font-size:15px}
  .feature-line{font-size:14px}
  .gallery{gap:14px}
  .related{gap:32px}
  .request-layout{gap:120px}
  .footer-grid{gap:90px}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:980px){
  .container{width:min(100% - 36px,var(--max))}
  .nav{display:none}.menu-btn{display:block;margin-left:auto}.header-cta{display:none}.brand{min-width:0}
  .hero-grid{grid-template-columns:1fr}.hero-copy{padding:68px 0 54px}
  .hero-panel{border-left:0;border-top:1px solid rgba(255,255,255,.13);padding:24px 0 34px}
  .hero-panel-inner{max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hero-stat{grid-template-columns:1fr}
  .section{padding:62px 0}
  .section-head,.detail-grid,.detail-content,.video-layout,.request-layout{grid-template-columns:1fr;gap:32px}
  .solution{grid-template-columns:150px 1fr 130px}.solution .tags{display:none}
  .feature-grid{grid-template-columns:1fr}.feature-copy{padding:56px 0}.feature-visual{min-height:360px;border-left:0;border-top:1px solid rgba(255,255,255,.13)}
  .process{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.process-step:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .process-step:nth-child(3){padding-left:0}
  .request-intro,.side-panel{position:static}
  .admin-shell{grid-template-columns:minmax(0,1fr)}.admin-side{min-width:0}
  .admin-side{padding:16px 18px}.admin-side h3{margin-bottom:10px}.admin-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto}
  .admin-nav a.active{border-left-color:transparent;border-bottom:3px solid var(--accent)}.admin-user{display:none}
  .admin-main{padding:24px}
  .hero-box{grid-template-columns:1fr}
  .related{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .container{width:calc(100% - 32px)}
  .topbar .container{height:29px;font-size:9px}.topbar span:last-child{display:none}
  .header-inner{height:64px}.brand-mark{margin-right:11px}.brand-title{font-size:13px}.brand-sub{font-size:8px}
  .hero-copy{padding:50px 0 42px}h1{font-size:42px}.hero p{font-size:15px}.hero-actions{margin-top:26px}
  .hero-actions .btn,.request-layout .btn{width:100%}
  .hero-panel-inner{grid-template-columns:1fr}.hero-stat{grid-template-columns:58px 1fr}
  .section{padding:50px 0}h2,.h2-sm{font-size:34px}.section-head{margin-bottom:26px}
  .toolbar{grid-template-columns:1fr}.filters{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}
  .solution{grid-template-columns:1fr;gap:12px;padding:22px 0}.solution h3{font-size:22px}.solution .tags{display:flex}.solution-link{justify-self:start;margin-top:3px}
  .feature-copy{padding:48px 0}
  .process{grid-template-columns:1fr}.process-step,.process-step:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.process-step:last-child{border-bottom:0}
  .detail-title h1{font-size:40px}.meta-row{grid-template-columns:105px 1fr}
  .detail-cover{aspect-ratio:16/10}
  .gallery,.gallery.count-2{grid-template-columns:1fr 1fr}.gallery-item:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/10}
  .related{grid-template-columns:1fr}
  .form-grid,.admin-grid{grid-template-columns:1fr}.field.full,.full,.notice{grid-column:auto}
  .admin-main{padding:16px}.admin-top{align-items:flex-start;flex-direction:column}.admin-card{padding:18px}
  .inquiry summary{grid-template-columns:1fr;gap:6px}.inquiry-body dl{grid-template-columns:1fr;gap:2px}.inquiry-body dd{margin-bottom:8px}
  .lb-nav{top:auto;bottom:18px;transform:none}
  .footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}
}
