/* Minuteman Precision Engravings - v2 additions (pricing, coming soon, size compare, assistant, desktop hero panel). Tokens only. */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-media video{object-position:50% 45%}
.hero-copy{padding-top:36svh}

/* desktop hero: vertical video in a framed panel beside the headline */
@media (min-width:900px){
  .hero{min-height:min(860px,calc(100svh - 64px - 28px));align-items:center}
  .hero-media{inset:50% max(32px,calc((100vw - 1120px)/2 + 32px)) auto auto;transform:translateY(-50%);height:auto;width:min(38vw,440px);aspect-ratio:4/5;border-radius:var(--mm-sys-shape-corner-large);overflow:hidden;border:1px solid rgb(245 184 61 / .35);box-shadow:var(--mm-sys-elevation-2),0 0 80px rgb(245 184 61 / .12);z-index:0}
  .hero-media video{object-position:50% 50%}
  .hero-scrim{background:linear-gradient(180deg,transparent 60%,rgb(11 14 19 / .35))}
  .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 78% 50%,rgb(245 184 61 / .14),transparent 70%),radial-gradient(50% 60% at 0% 100%,rgb(255 90 54 / .12),transparent 70%)}
  .hero-copy{padding-top:var(--mm-sys-space-16);padding-bottom:var(--mm-sys-space-16);position:relative;z-index:1}
  .hero-copy > *{max-width:min(560px,calc(100vw - min(38vw,440px) - max(32px,calc((100vw - 1120px)/2 + 32px)) * 2 - 56px))}
  .hero h1{font-size:clamp(3rem,4.6vw,4.4rem)}
}

/* depth: plain-words 2.5D explainer + size comparison */
.explain{max-width:52ch;margin:var(--mm-sys-space-2) 0 var(--mm-sys-space-4);padding:12px 14px;border-left:3px solid #B5401F;background:rgb(20 17 11 / .05);border-radius:0 10px 10px 0;color:var(--mm-sys-color-inverse-on-surface-variant)}
.explain b{color:var(--mm-sys-color-inverse-on-surface)}
.size-compare{display:flex;align-items:flex-end;justify-content:center;gap:clamp(16px,6vw,48px);margin:var(--mm-sys-space-6) 0 0;padding:20px 12px 14px;border:1px solid rgb(20 17 11 / .12);border-radius:var(--mm-sys-shape-corner-large);background:rgb(255 255 255 / .35)}
.size-compare figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.size-compare figcaption{font:var(--mm-sys-type-label);text-align:center;display:flex;flex-direction:column}
.size-compare figcaption small{font:var(--mm-sys-type-caption);color:var(--mm-sys-color-inverse-on-surface-variant)}
.sc{--px:3.2px;display:block;border-radius:50%;width:calc(var(--d) * var(--px));height:calc(var(--d) * var(--px))}
.sc-q{--d:24.26;background:radial-gradient(circle at 35% 30%,#E7E9EC,#9EA4AB 60%,#6C727A);box-shadow:inset 0 0 0 3px rgb(0 0 0 / .12)}
.sc-h{--d:30.61;background:radial-gradient(circle at 35% 30%,#ECEEF0,#A2A8AF 60%,#6C727A);box-shadow:inset 0 0 0 3px rgb(0 0 0 / .12)}
.sc-mm{--d:30;background:radial-gradient(circle at 38% 32%,#E9C987,#A07A3A 55%,#4A3617);box-shadow:inset 0 0 0 4px rgb(43 33 16 / .5),0 0 0 2px rgb(181 64 31 / .55)}
.sc-mm50{--d:50}
.size-compare{gap:clamp(10px,3.5vw,40px)}
@media (max-width:767px){.sc{--px:2.1px}}
.size-note{margin-top:8px}
@media (min-width:768px){.sc{--px:4px}}

/* pricing / ways to order */
.pricing{background:radial-gradient(80% 60% at 100% 0%,rgb(245 184 61 / .08),transparent 60%)}
.plans{list-style:none;padding:0;margin:var(--mm-sys-space-6) 0 0;display:grid;gap:12px}
.plan{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--mm-comp-card-shape);background:var(--mm-comp-card-container-color);border:1px solid var(--mm-sys-color-outline)}
.plan h3{font-size:1.25rem}
.plan .badge{position:absolute;top:16px;right:16px}
.plan-for{color:var(--mm-sys-color-on-surface-variant);margin:0 0 6px}
.plan .btn{margin-top:auto}
.plan-feature{border-color:rgb(245 184 61 / .6);background:radial-gradient(100% 80% at 0% 0%,rgb(245 184 61 / .14),transparent 60%),var(--mm-comp-card-container-color);box-shadow:var(--mm-sys-elevation-2)}
.ticks{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.ticks li{position:relative;padding-left:24px;font-size:.95rem}
.ticks li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid var(--mm-sys-color-primary);border-bottom:2px solid var(--mm-sys-color-primary);transform:rotate(-45deg)}
.design-fee{display:grid;gap:1px;margin-top:var(--mm-sys-space-5);border-radius:var(--mm-sys-shape-corner-large);overflow:hidden;border:1px solid rgb(61 139 255 / .35);background:rgb(61 139 255 / .35)}
.design-fee div{display:flex;flex-direction:column;gap:2px;padding:16px 18px;background:#111722}
.design-fee b{font:700 1.05rem/1.25 var(--mm-ref-font-display);font-stretch:112%;color:var(--mm-sys-color-on-surface)}
.design-fee span{color:var(--mm-sys-color-on-surface-variant)}
.design-fee div:first-child b{color:var(--mm-sys-color-success)}
@media (min-width:768px){.plans{grid-template-columns:repeat(4,1fr)}.design-fee{grid-template-columns:1fr 1fr}}
@media (min-width:560px) and (max-width:767px){.plans{grid-template-columns:1fr 1fr}}

/* quote form additions */
.product-one{display:flex;align-items:center;gap:10px;font:var(--mm-sys-type-label);font-size:1.05rem;margin:0}
.chips.stack{flex-direction:column;align-items:stretch}
.chips.stack .chip span{min-height:48px}
.other-field{margin-top:10px}
.other-field.invalid input{border-color:var(--mm-sys-color-error)}
.other-field.invalid .err{display:block}
.opt-note{margin-top:8px}
.fee-hint.on{color:var(--mm-sys-color-primary)}
.qty-field{display:block}
input[type=email],input[type=tel]{width:100%;min-height:var(--mm-comp-field-height);background:var(--mm-comp-field-container-color);color:var(--mm-sys-color-on-surface);border:1px solid var(--mm-sys-color-outline);border-radius:var(--mm-sys-shape-corner-medium);padding:0 14px;font:var(--mm-sys-type-body)}

/* coming soon products */
.soon{background:linear-gradient(180deg,#10141B,var(--mm-sys-color-background))}
.soon-grid{list-style:none;padding:0;margin:var(--mm-sys-space-5) 0 0;display:grid;gap:10px}
.soon-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--mm-sys-shape-corner-medium);background:var(--mm-sys-color-surface);border:1px dashed var(--mm-sys-color-outline)}
.soon-card h3{font-size:1.02rem;margin:0}
.soon-card p{margin:2px 0 0;font:var(--mm-sys-type-caption);color:var(--mm-sys-color-on-surface-variant)}
.soon-btn{cursor:pointer;font:var(--mm-sys-type-label);font-size:.82rem;padding:0 12px;min-height:40px}
@media (min-width:768px){.soon-grid{grid-template-columns:1fr 1fr}}
button.contact-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:1px solid rgb(61 139 255 / .45)}

/* sticky CTA leaves room for the chat bubble */
.sticky-cta{right:84px}
@media (min-width:768px){.sticky-cta{right:96px}}
body.ma-open .sticky-cta{transform:translateY(140%);opacity:0}

/* ===== assistant ===== */
.mm-assist{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:60}
.ma-bubble{display:flex;align-items:center;gap:8px;height:58px;min-width:58px;padding:0 18px 0 17px;border-radius:999px;border:1px solid rgb(255 255 255 / .2);background:var(--mm-sys-color-primary);color:var(--mm-sys-color-on-primary);font:var(--mm-sys-type-label);box-shadow:var(--mm-sys-glow-primary),var(--mm-sys-elevation-2);cursor:pointer;transition:transform var(--mm-sys-motion-duration-short) var(--mm-sys-motion-easing)}
.ma-bubble:active{transform:scale(.95)}
.ma-bubble svg{width:24px;height:24px;fill:currentColor}
.ma-bubble-txt{display:none}
@media (min-width:768px){.mm-assist{right:24px;bottom:24px}.ma-bubble-txt{display:inline}}
.mm-assist.is-open .ma-bubble{display:none}
.ma-panel{position:fixed;right:10px;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));height:min(560px,calc(100svh - 90px));display:flex;flex-direction:column;background:var(--mm-sys-color-surface);border:1px solid rgb(245 184 61 / .4);border-radius:var(--mm-sys-shape-corner-large);box-shadow:0 20px 60px rgb(0 0 0 / .6);overflow:hidden}
.ma-panel[hidden]{display:none}
@media (min-width:560px){.ma-panel{left:auto;right:24px;bottom:24px;width:380px}}
@media (prefers-reduced-motion:no-preference){.ma-panel:not([hidden]){animation:maIn .28s var(--mm-sys-motion-easing)}}
@keyframes maIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.ma-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 16px;background:linear-gradient(180deg,rgb(245 184 61 / .1),transparent);border-bottom:1px solid var(--mm-sys-color-outline)}
.ma-head div{flex:1;min-width:0}
.ma-head h2{font:700 1rem/1.2 var(--mm-ref-font-display);font-stretch:112%;margin:0}
.ma-head small{font:var(--mm-sys-type-caption);color:var(--mm-sys-color-on-surface-variant)}
.ma-x{width:40px;height:40px;border-radius:50%;border:0;background:rgb(255 255 255 / .06);color:var(--mm-sys-color-on-surface);font-size:1.5rem;cursor:pointer}
.ma-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
.ma-msg{max-width:86%;padding:10px 13px;border-radius:16px;font-size:.94rem;line-height:1.45;white-space:pre-wrap}
.ma-bot{align-self:flex-start;background:var(--mm-sys-color-surface-container-high);border-bottom-left-radius:6px}
.ma-me{align-self:flex-end;background:var(--mm-sys-color-primary);color:var(--mm-sys-color-on-primary);border-bottom-right-radius:6px}
.ma-typing{display:flex;gap:4px;padding:14px}
.ma-typing i{width:6px;height:6px;border-radius:50%;background:var(--mm-sys-color-on-surface-variant);animation:maDot 1s infinite}
.ma-typing i:nth-child(2){animation-delay:.15s}.ma-typing i:nth-child(3){animation-delay:.3s}
@keyframes maDot{0%,80%,100%{opacity:.3}40%{opacity:1}}
.ma-summary{white-space:normal;border:1px solid rgb(245 184 61 / .35)}
.ma-summary ul{margin:0 0 10px;padding-left:18px;display:grid;gap:3px}
.ma-actions{display:flex;gap:8px;flex-wrap:wrap}
.ma-chips{display:flex;gap:6px;overflow-x:auto;padding:0 12px 8px;scrollbar-width:none}
.ma-chips:empty{display:none}
.ma-chips .chip{min-height:36px;padding:0 12px;font:var(--mm-sys-type-label);font-size:.82rem;cursor:pointer;white-space:nowrap}
.ma-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--mm-sys-color-outline)}
.ma-input input{flex:1;min-height:46px!important;border-radius:999px!important}
.ma-send{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--mm-sys-color-primary);color:var(--mm-sys-color-on-primary);cursor:pointer;display:grid;place-items:center}
.ma-send svg{width:20px;height:20px;fill:currentColor}
@media (min-width:900px){.hero .hero-media video{animation:none}}

/* price ladder (data from v2-build/pricing.py) */
.ptables{display:grid;gap:12px;margin:var(--mm-sys-space-5) 0 0}
.ptable-card{padding:18px 18px 8px;border-radius:var(--mm-comp-card-shape);background:var(--mm-comp-card-container-color);border:1px solid rgb(245 184 61 / .6);box-shadow:var(--mm-sys-elevation-2)}
.ptable-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.ptable-head h3{font-size:1.25rem}
.ptable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.ptable th,.ptable td{padding:12px 4px;border-top:1px solid var(--mm-sys-color-outline);text-align:left}
.ptable thead th{border-top:0;padding-top:4px;font:var(--mm-sys-type-label);color:var(--mm-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}
.ptable td{text-align:right}
.ptable td b{font:800 1.35rem/1 var(--mm-ref-font-display);color:var(--mm-sys-color-on-surface)}
.ptable td small{color:var(--mm-sys-color-on-surface-variant)}
.ptable tbody th{font-weight:600}
.ptable tr.best td b{color:var(--mm-sys-color-primary)}
.ptable-soon{border-color:var(--mm-sys-color-outline);box-shadow:none;padding-bottom:18px;display:flex;flex-direction:column;gap:10px}
.ptable-soon-txt{margin:0;color:var(--mm-sys-color-on-surface-variant)}
.ptable-soon-txt b{color:var(--mm-sys-color-on-surface)}
.ptable-soon .btn{margin-top:auto}
.ptable-note{margin-top:10px}
.plan-price{margin:2px 0 0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.plan-price b{font:800 1.6rem/1 var(--mm-ref-font-display);color:var(--mm-sys-color-primary)}
.plan-price small{color:var(--mm-sys-color-on-surface-variant)}
@media (min-width:768px){.ptables{grid-template-columns:3fr 2fr}}

/* size drawing: one shared baseline. Circles sit on row 1 (bottom-aligned), labels on row 2 (top-aligned),
   so caption line wraps can't shift a circle. Scale stays var(--d) mm x var(--px). */
.size-compare{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;grid-template-columns:repeat(4,auto);justify-content:space-evenly;align-items:end;column-gap:clamp(8px,3vw,40px);row-gap:0;position:relative}
.size-compare figure{display:contents}
.size-compare .sc{grid-row:1;align-self:end;justify-self:center;position:relative;z-index:1}
.size-compare figcaption{grid-row:2;align-self:start;justify-self:center;padding-top:10px;max-width:96px}
.size-compare::before{content:"";grid-row:1;grid-column:1 / -1;align-self:end;height:2px;margin:0 -4px -1px;background:rgb(20 17 11 / .35)}
.size-compare figcaption{width:0;min-width:0;max-width:none;align-items:center;white-space:nowrap}
@media (max-width:767px){.size-compare{column-gap:14px;padding-left:8px;padding-right:8px}.size-compare figcaption{font-size:.82rem}}
.size-compare figure:nth-of-type(1)>*{grid-column:1}.size-compare figure:nth-of-type(2)>*{grid-column:2}.size-compare figure:nth-of-type(3)>*{grid-column:3}.size-compare figure:nth-of-type(4)>*{grid-column:4}
.size-compare::before{z-index:0}
.size-compare .sc-mm{box-shadow:inset 0 0 0 2px rgb(181 64 31 / .7),inset 0 0 0 5px rgb(43 33 16 / .5)}
.ptable thead th:last-child{text-align:right}
.plan-price-alt{margin:0;font-size:.85rem;color:var(--mm-sys-color-on-surface-variant)}
@media (min-width:768px){.ptables{grid-template-columns:1fr 1fr}}
.ma-msg{white-space:pre-line}
.bigstat .num{font-size:clamp(4rem,21vw,10rem)}

/* ===== Flat engraving vs 2.5D relief (v2-build/texture.py) ===== */
.relief-viz{margin:var(--mm-sys-space-6) 0}
.rv-title{font:800 1.3rem/1.15 var(--mm-ref-font-display);font-stretch:112%;margin:0 0 12px;color:var(--mm-sys-color-inverse-on-surface)}
.rv-pair{display:grid;gap:12px}
.rv-panel{margin:0;padding:16px 14px 10px;border-radius:var(--mm-sys-shape-corner-large);background:#161B23;color:#F3EFE6;border:1px solid rgb(243 239 230 / .08);box-shadow:0 10px 30px rgb(11 14 19 / .18)}
.rv-deep{background:radial-gradient(120% 90% at 50% 0%,rgb(245 184 61 / .16),transparent 60%),#0B0E13;border-color:rgb(245 184 61 / .45)}
.rv-panel figcaption{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}
.rv-tag{font:600 .7rem/1 var(--mm-ref-font-body);letter-spacing:.12em;text-transform:uppercase;color:rgb(243 239 230 / .6)}
.rv-deep .rv-tag{color:#F5B83D}
.rv-panel figcaption b{font:800 1.15rem/1.15 var(--mm-ref-font-display);font-stretch:112%}
.rv-panel figcaption small{font-size:.86rem;line-height:1.4;color:rgb(243 239 230 / .72)}
.rv-svg{display:block;width:100%;height:auto;overflow:visible}
.rv-callout path{stroke:#FF5A36;stroke-width:1.2;fill:none}
.rv-callout circle{fill:#FF5A36;stroke:#0B0E13;stroke-width:1.2}
.rv-callout text{font:600 12.5px var(--mm-ref-font-body),system-ui,sans-serif;fill:#F3EFE6}
.rv-flat .rv-callout path{stroke:rgb(243 239 230 / .55)}.rv-flat .rv-callout circle{fill:rgb(243 239 230 / .8)}
.rv-levels path{stroke:#F5B83D;stroke-width:1.5;opacity:.7}
.rv-note{margin:10px 0 0}
.tx-row{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:var(--mm-sys-space-4) calc(var(--mm-sys-gutter) * -1) 0;padding:0 var(--mm-sys-gutter) 8px;scroll-padding:0 var(--mm-sys-gutter);scrollbar-width:none}
.tx-row::-webkit-scrollbar{display:none}
.tx-photo{margin:0;scroll-snap-align:start}
.tx-frame{position:relative;border-radius:var(--mm-sys-shape-corner-large);overflow:hidden;background:#0B0E13;aspect-ratio:1}
.tx-frame img{display:block;width:100%;height:100%;object-fit:cover}
.tx-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(11 14 19 / .35));pointer-events:none}
.tx-mark{position:absolute;left:var(--x);top:var(--y);z-index:1;display:flex;align-items:center;gap:6px;transform:translate(-7px,-50%);pointer-events:none}
.tx-mark i{flex:none;width:14px;height:14px;border-radius:50%;background:#FF5A36;box-shadow:0 0 0 3px rgb(255 90 54 / .35),0 0 0 6px rgb(255 90 54 / .15)}
.tx-mark b{font:700 .78rem/1.1 var(--mm-ref-font-body);color:#F3EFE6;background:rgb(11 14 19 / .82);padding:5px 8px;border-radius:999px;white-space:nowrap;border:1px solid rgb(245 184 61 / .5)}
.tx-l{flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}
.tx-photo figcaption{display:flex;flex-direction:column;gap:2px;padding:10px 2px 0}
.tx-photo figcaption b{font:700 1rem/1.2 var(--mm-ref-font-display);color:var(--mm-sys-color-inverse-on-surface)}
.tx-photo figcaption small{color:var(--mm-sys-color-inverse-on-surface-variant);font-size:.86rem}
@media (min-width:768px){
  .rv-pair{grid-template-columns:1fr 1fr;gap:16px}
  .rv-panel{padding:20px 20px 12px}
  .tx-row{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);grid-auto-columns:auto;overflow:visible;margin:var(--mm-sys-space-5) 0 0;padding:0}
}
/* tightened 2.5D section (old macro-row strip removed) */
.depth .relief-viz{margin:var(--mm-sys-space-4) 0 var(--mm-sys-space-5)}
.depth .rv-title{margin-bottom:10px}
.depth .tx-row{margin-top:12px;padding-bottom:4px}
.depth .relief-viz+.spec-grid{margin-top:0}
.depth .size-compare{margin-top:var(--mm-sys-space-4)}
.depth .section-cta{margin-top:var(--mm-sys-space-5)}
@media (min-width:768px){.spec-grid{grid-template-columns:repeat(3,1fr)}}
