/* Lasserowo public site. Deliberately independent of the office/shop styles. */
.laserowo { --accent:#ec5b28; --accent-deep:#ca4315; --ink:#202321; --muted:#656963; --line:#dedfd8; --bg:#f5f5f0; --font:Arial,Helvetica,sans-serif; background:var(--bg); font-family:var(--font); letter-spacing:-.015em; }
.laserowo [hidden] { display:none !important; }
.laserowo :focus-visible { outline:3px solid #ec5b28; outline-offset:5px; }
.laserowo .top { padding:22px 5%; background:#151719; border-bottom:1px solid #333638; position:relative; }
.laserowo .logo { display:inline-flex; align-items:center; gap:10px; font-size:30px; letter-spacing:-1.5px; text-transform:none; font-weight:800; color:#f5f5f0; }
.laserowo .logo svg { width:34px; height:34px; }
.laserowo .logo span { color:#ff713c; margin-left:-9px; }
.laserowo .nav { gap:28px; font-size:13px; text-transform:none; letter-spacing:0; font-weight:500; color:#c6cbc8; }
.laserowo .btn { border-radius:4px; padding:16px 23px; font-size:14px; font-weight:700; letter-spacing:0; gap:24px; box-shadow:none; }
.laserowo .btn-primary { color:#fff; background:#dc4c1a; }
.laserowo .btn-primary:hover { background:#ba3c12; box-shadow:none; }
.laserowo .btn-sm { padding:13px 18px; text-transform:none; }
.laserowo .eyebrow { color:#777d76; font:600 11px/1.5 monospace; letter-spacing:1.5px; margin:0 0 24px; }
.laserowo .eyebrow::before { display:none; }
.laserowo h1,.laserowo h2,.laserowo h3 { letter-spacing:-.045em; line-height:1.06; }
.laserowo h1 { font-size:clamp(48px,6.6vw,94px); font-weight:750; margin:0 0 28px; }
.laserowo h1 span { color:#ff713c; }
.laserowo h2 { font-size:clamp(34px,4vw,56px); margin:0 0 24px; }
.laserowo h3 { font-size:23px; margin:0 0 14px; }
.laserowo p { line-height:1.65; }
.landing-hero { background:#151719; color:#f5f5f0; display:grid; grid-template-columns:1.1fr 1fr; padding:80px 5% 0; gap:42px; overflow:hidden; }
.hero-message { align-self:center; padding:0 0 26px; }
.hero-message .eyebrow { color:#a5aea6; display:flex; align-items:center; gap:10px; }
.status-dot { width:6px; height:6px; background:#ff713c; border-radius:50%; display:inline-block; }
.hero-description { font-size:18px; color:#b9c0bd; max-width:470px; }
.hero-buttons { margin-top:34px; display:flex; align-items:flex-start; flex-direction:column; gap:22px; }
.text-link { font-size:14px; font-weight:600; display:inline-block; border-bottom:1px solid #9b9e95; padding-bottom:4px; }
.hero-small { font-size:11px; color:#a6aea8; margin-top:26px; }
.hero-small span { color:#ff713c; padding:0 9px; }
.hero-bottom { grid-column:1/-1; display:flex; justify-content:space-between; padding:24px 0; border-top:1px solid #363b3b; font:10px/1.5 monospace; letter-spacing:1.5px; color:#a5ada9; }
.part-scene { min-width:0; align-self:center; }
.scene-top,.scene-bottom { display:flex; justify-content:space-between; gap:12px; font:10px/1.5 monospace; letter-spacing:1px; color:#a6aea9; padding:12px 0; }
.scene-bottom { border-top:1px solid #394140; }
.scene-bottom button { padding:0; color:inherit; background:none; border:0; text-decoration:underline; font:inherit; cursor:pointer; }
.live-dot { color:#ff9b76; }
.part-drawing { width:100%; height:auto; display:block; }
.floating-part { animation:float-part 7s ease-in-out infinite; transform-origin:center; }
.cut-trace { stroke-dasharray:22 78; animation:trace 7s linear infinite; }
@keyframes float-part { 50% { transform:translateY(-10px); } }
@keyframes trace { to { stroke-dashoffset:-100; } }
.motion-paused .floating-part,.motion-paused .cut-trace { animation-play-state:paused; }
.capability-strip { display:flex; justify-content:space-between; gap:18px; align-items:center; background:#e6e8dd; padding:25px 5%; color:#444a40; font:600 12px/1.5 monospace; letter-spacing:1px; }
.capability-strip i { font-style:normal; color:#c84f21; font-size:21px; }
.quote-section,.services-section,.process-section,.faq-section { padding:95px 5%; max-width:1600px; margin:auto; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:40px; }
.section-heading h2 { margin-bottom:0; }
.laserowo[data-page="wycena"] .section-heading h1 { font-size:clamp(40px,5vw,64px); margin-bottom:0; }
.laserowo .legal-prose { max-width:850px; margin:auto; padding:60px 5%; }
.laserowo .legal-prose h2 { font-size:26px; margin-top:35px; }
.section-heading>p { max-width:390px; font-size:15px; color:#656963; }
.laserowo .calc-card { display:grid; grid-template-columns:1.15fr 1fr; gap:0; padding:0; border:1px solid #d6d9cf; border-radius:8px; overflow:hidden; box-shadow:none; background:#fff; }
.laserowo .calc-form,.laserowo .calc-result { border:0; padding:34px; margin:0; border-radius:0; box-shadow:none; }
.laserowo .calc-form { background:#fff; color:#202321; }
.laserowo .calc-result { background:#e9ece2; color:#252a24; display:flex; flex-direction:column; }
.laserowo .calc-kicker { font:600 11px/1.5 monospace; letter-spacing:1.5px; color:#656d61; margin:0 0 22px; }
.laserowo .calc-head { align-items:flex-start; }
.laserowo .pill { background:#eff0eb; color:#636b5e; border:0; font:11px monospace; border-radius:3px; }
.laserowo .drop { min-height:155px; border:1px dashed #adb5a3; border-radius:5px; background:#fafbf7; padding:25px 16px; cursor:pointer; }
.laserowo .drop::before { content:'↥'; color:#c64a1d; font-size:30px; background:none; border:0; margin:0; box-shadow:none; width:auto; height:auto; }
.laserowo .drop strong { font-size:15px; color:#333b2e; }
.laserowo .drop span { font-size:12px; color:#70776a; }
.laserowo .drop:focus-within { outline:3px solid #ec5b28; }
.laserowo .drop input[type=file] { display:block; position:absolute; width:100%; height:100%; inset:0; opacity:0; cursor:pointer; }
.laserowo .drop-pick { display:none; }
.laserowo .row-2 { grid-template-columns:minmax(0,1fr) 100px; gap:16px; margin:24px 0; }
.laserowo .field { gap:8px; }
.laserowo .field>span { color:#5d6558; font-size:12px; font-weight:600; }
.laserowo .field input,.laserowo .field select,.laserowo .field textarea { min-height:48px; border:1px solid #d1d6c9; border-radius:4px; background:#fff; color:#252a24; width:100%; min-width:0; box-shadow:none; padding:12px; }
.laserowo .field small { font-weight:400; }
.laserowo .price-line { border-color:#ccd2c3; font-size:15px; padding:12px 0; }
.laserowo .price-line strong { color:#303a2b; font-size:27px; }
.laserowo .price-line.total strong { font-size:39px; color:#273121; letter-spacing:-2px; }
.laserowo .price-line.total { margin-top:0; }
.laserowo .meta { font-size:12px; line-height:1.6; color:#606957; padding-left:16px; margin:20px 0; }
.laserowo .quote-warn {
  list-style: none;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #d9c4a4;
  background: #f7f1e7;
  color: #3d3428;
}
.laserowo .quote-warn.trust-ok { border-color: #b7c9b4; background: #eef5ee; color: #2f5d3a; }
.laserowo .quote-warn.trust-bad { border-color: #d9aea6; background: #f8ece9; color: #7a3228; }
.laserowo .quote-warn-list { margin: 6px 0 0; padding-left: 16px; }
.laserowo .lead-success-next {
  margin: 10px 0 14px;
  font-size: 13px;
  line-height: 1.45;
  color: #606957;
}
.laserowo .materials-section { margin: 0 5% 70px; }
.laserowo .materials-table-wrap {
  overflow-x: auto;
  border: 1px solid #d8ddd4;
  border-radius: 10px;
  background: #f7f6f1;
}
.laserowo .materials-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.laserowo .materials-table th,
.laserowo .materials-table td {
  text-align: left;
  padding: 11px 14px;
  border-bottom: 1px solid #e1e5db;
  white-space: nowrap;
}
.laserowo .materials-table th {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6d7566;
}
.laserowo .materials-table tr:last-child td { border-bottom: 0; }
.laserowo .materials-note { margin-top: 10px; color: #6d7566; }
.laserowo .tiny { font-size:11px; color:#69715f; margin-top:auto; padding-top:16px; }
.laserowo .calc-result.ready { background:#e2ebd6; }
.laserowo .form-note { font-size:12px; min-height:0; }
.laserowo .form-note:empty { margin:0; }
.quote-footnote { font-size:11px; color:#71776c; margin-top:16px; }
.services-section { border-top:1px solid #dedfd8; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid #cfd3c7; }
.service { padding:32px 30px 32px 0; border-bottom:1px solid #cfd3c7; display:flex; flex-direction:column; align-items:flex-start; }
.service:not(:nth-child(3n+1)) { padding-left:30px; border-left:1px solid #cfd3c7; }
.service-number { font:12px monospace; color:#bc4b26; margin-bottom:44px; }
.service h3 { font-size:27px; }
.service p { font-size:14px; color:#697062; max-width:300px; margin:0 0 30px; }
.service a { font-size:12px; font-weight:700; margin-top:auto; display:flex; justify-content:space-between; width:100%; padding-right:10px; }
.process-section { display:grid; grid-template-columns:1fr 1fr; gap:8%; background:#202622; color:#f1f3ed; max-width:none; }
.process-section>div>p { color:#aeb8ac; font-size:15px; }
.process-section .eyebrow { color:#aeb8ac; }
.process-list { list-style:none; padding:0; margin:0; }
.process-list li { display:flex; gap:25px; border-top:1px solid #465044; padding:25px 0; }
.process-list li>span { font:12px monospace; color:#ff976b; padding-top:6px; }
.process-list p { font-size:14px; color:#aeb8ac; margin:0; }
.process-list h3 { font-size:21px; }
.faq-section { display:grid; grid-template-columns:1fr 1.1fr; gap:8%; }
.laserowo .faq { margin:0; }
.laserowo .faq details { border:0; border-bottom:1px solid #d1d5c9; border-radius:0; background:none; padding:20px 0; box-shadow:none; }
.laserowo .faq summary { font-size:16px; }
.laserowo .faq p { color:#626c5c; font-size:14px; }
.closing-cta { padding:75px 5%; background:#e8ebdf; text-align:center; }
.closing-cta h2 { font-size:clamp(45px,6vw,80px); }
.closing-cta .text-link { display:block; width:fit-content; margin:20px auto 0; }
.laserowo .footer { padding:65px 5%; grid-template-columns:1.2fr 1fr 1fr; background:#151719; color:#b3bbb4; border:0; font-size:13px; gap:40px; }
.footer .footer-label { font:10px monospace; letter-spacing:1px; color:#828e83; margin:0 0 24px; }
.footer-bottom { background:#151719; color:#929d93; display:flex; justify-content:space-between; padding:20px 5%; border-top:1px solid #343a34; font:10px monospace; }
.intro-section { padding:75px 5% 65px; background:#151719; color:#f4f4ee; }
.intro-section h1 { font-size:clamp(42px,6vw,76px); }
.intro-section>p:last-child { max-width:650px; color:#b5bdb5; }
.laserowo .section.contact { padding:70px 5%; max-width:1600px; }
.laserowo .contact-form { background:#fff; border:1px solid #d6d9cf; padding:30px; border-radius:6px; box-shadow:none; }
.contact-detail { margin-bottom:42px; }
.contact-detail h2 { font-size:37px; }
.contact-list>p,.contact-detail>p:not(.eyebrow) { font-size:14px; color:#626c5c; }
.laserowo .modal-card { border-radius:8px; background:#f7f8f3; color:#202321; width:min(560px,calc(100vw - 24px)); max-height:90dvh; overflow-y:auto; }
.laserowo .modal-card h3 { font-size:29px; max-width:90%; }
.laserowo .modal-card #lead-desc { font-size:14px; color:#626c5c; }
.laserowo .lead-quote-mini { border-radius:4px; background:#e9ede1; border:0; }
.laserowo .consent-row,.laserowo .privacy-note { font-size:11px; }
.laserowo .toast { background:#202622; color:#fff; }
.laserowo .scroll-progress,.laserowo .back-top,.laserowo .mobile-fab { display:none; }
@media(min-width:1500px) { .landing-hero {padding-left:calc((100% - 1400px)/2);padding-right:calc((100% - 1400px)/2);} }
@media(max-width:1050px) { .laserowo .nav {gap:15px;font-size:12px;} .landing-hero {gap:25px;padding-top:55px;} .hero-description {font-size:16px;} }
@media(max-width:800px) {
 .laserowo {padding-bottom:0;} .laserowo .top {padding:16px 5%;position:relative;} .laserowo .logo {font-size:25px;} .laserowo .logo svg {width:28px;height:28px;}
 .laserowo .menu-btn {display:block;width:40px;height:40px;} .laserowo .top-actions {gap:10px;} .laserowo .btn-sm {font-size:12px;padding:12px;gap:10px;}
 .laserowo .nav {display:none;} .laserowo .nav.open {display:flex;position:absolute;inset:73px 0 auto;flex-direction:column;background:#151719;padding:25px 5%;gap:25px;border-bottom:1px solid #434a42;font-size:16px;z-index:50;}
 .landing-hero {grid-template-columns:1fr;padding-top:45px;gap:10px;} .hero-message {padding-bottom:0;} .hero-message h1 {font-size:clamp(52px,11vw,80px);} .hero-description {max-width:90%;}
 .hero-buttons {margin-top:25px;gap:18px;} .hero-buttons .btn {width:100%;max-width:420px;justify-content:space-between;}
 .landing-hero .part-scene {max-width:480px;width:100%;margin:auto;} .part-drawing {max-height:320px;}
 .hero-bottom {font-size:9px;margin-top:20px;} .hero-bottom>span {display:none;}
 .capability-strip {flex-wrap:wrap;gap:12px 20px;justify-content:center;font-size:10px;padding:20px;} .capability-strip i {display:none;}
 .quote-section,.services-section,.process-section,.faq-section {padding:60px 5%;} .section-heading {display:block;margin-bottom:28px;} .section-heading>p {max-width:100%;margin-top:22px;}
 .laserowo .calc-card {grid-template-columns:1fr;} .laserowo .calc-form,.laserowo .calc-result {padding:24px;} .laserowo .price-line.total strong {font-size:32px;}
 .services-grid {grid-template-columns:1fr 1fr;} .service {padding:25px 20px 25px 0;} .service:not(:nth-child(3n+1)) {padding-left:0;border-left:0;} .service:nth-child(even) {padding-left:20px;border-left:1px solid #cfd3c7;} .service-number {margin-bottom:25px;} .service h3 {font-size:23px;}
 .process-section,.faq-section {grid-template-columns:1fr;gap:35px;} .laserowo .footer {grid-template-columns:1fr;gap:24px;padding:45px 5%;} .intro-section {padding:50px 5%;} .laserowo .contact-grid {grid-template-columns:1fr;}
}
@media(max-width:420px) { .laserowo .row-2 {grid-template-columns:minmax(0,1fr) 75px;gap:10px;} .hero-small {font-size:10px;} .hero-small span {padding:0 4px;} .services-grid {grid-template-columns:1fr;} .service:nth-child(even) {padding-left:0;border-left:0;} .laserowo .logo {gap:6px;} .scene-top,.scene-bottom {font-size:8px;} }
/* Public order status */
.laserowo .nav a.is-active { color:#fff; }
.laserowo .order-status-panel { border:1px solid var(--line); border-radius:8px; background:#fff; padding:1.2rem 1.25rem; }
.laserowo .order-lookup-title { margin:0 0 .35rem; font-size:1.35rem; letter-spacing:-.03em; }
.laserowo .order-lookup-lead { margin:0 0 1rem; color:var(--muted); font-size:.95rem; }
.laserowo .order-status-now { margin:0 0 1rem; padding:1rem 1.05rem; border:1px solid #f0c8b4; background:#fff4ee; border-radius:6px; }
.laserowo .order-status-now strong { display:block; font-size:1.35rem; letter-spacing:-.03em; margin:.15rem 0 .35rem; }
.laserowo .order-status-now span { color:var(--muted); font-size:.92rem; }
.laserowo .order-status-now small { display:block; margin-top:.45rem; color:#8a4b2f; font-weight:600; }
.laserowo .order-status-received {
  margin:0;
  padding:1.6rem 1.25rem;
  border:1px solid #b9e0c8;
  background:#f1faf4;
  border-radius:8px;
  text-align:center;
}
.laserowo .order-status-received strong {
  display:block;
  font-size:1.65rem;
  letter-spacing:-.03em;
  color:#1f6b45;
  margin:0 0 .35rem;
}
.laserowo .order-status-received span {
  color:#3d6b52;
  font-size:.95rem;
}
.laserowo .public-order-timeline { list-style:none; margin:0 0 1.2rem; padding:0; display:grid; gap:.55rem; }
.laserowo .public-order-timeline li { display:grid; grid-template-columns:18px 1fr auto; gap:.65rem; align-items:center; padding:.55rem .7rem; border:1px solid var(--line); border-radius:6px; color:var(--muted); background:#fafaf7; }
.laserowo .public-order-timeline li.is-done { color:#1f6b45; border-color:#b9e0c8; background:#f1faf4; }
.laserowo .public-order-timeline li.is-active { color:var(--ink); border-color:#ec5b28; background:#fff8f4; font-weight:700; box-shadow:inset 3px 0 0 #ec5b28; }
.laserowo .public-order-timeline li.is-failed { color:#b91c1c; border-color:#f3c1c1; background:#fff5f5; }
.laserowo .public-order-timeline-dot { width:10px; height:10px; border-radius:50%; background:currentColor; opacity:.45; }
.laserowo .public-order-timeline li.is-active .public-order-timeline-dot,
.laserowo .public-order-timeline li.is-done .public-order-timeline-dot { opacity:1; }
.laserowo .public-order-timeline-badge { font:700 10px/1 monospace; letter-spacing:.08em; text-transform:uppercase; color:#ec5b28; }
.laserowo .order-status-list { list-style:none; margin:0; padding:0; display:grid; gap:.2rem; }
.laserowo .order-status-list li { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-bottom:1px solid var(--line); }
.laserowo .order-status-list li:last-child { border-bottom:0; }
.laserowo .order-status-list span { color:var(--muted); }
.laserowo .order-status-actions { display:flex; flex-wrap:wrap; gap:.55rem; }
.laserowo .order-recover { margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--line); }
.laserowo .order-recover h3 { margin:0 0 .35rem; font-size:1.05rem; }
.laserowo .order-recover p { margin:0 0 .8rem; color:var(--muted); font-size:.92rem; }
.laserowo .order-recover-form { display:grid; gap:.7rem; }
.laserowo .order-saved-list { list-style:none; margin:.8rem 0 0; padding:0; display:grid; gap:.45rem; }
.laserowo .order-saved-list a { display:flex; justify-content:space-between; gap:1rem; padding:.7rem .8rem; border:1px solid var(--line); border-radius:6px; text-decoration:none; color:inherit; background:#fff; }
.laserowo .order-saved-list a:hover { border-color:#ec5b28; }
@media(prefers-reduced-motion:reduce) { html {scroll-behavior:auto;} .floating-part,.cut-trace {animation:none;} .scene-bottom button {display:none;} .laserowo *, .laserowo *::before {transition:none!important;} }
