/* AO Blueprint theme — ported from 11-blueprint-v2/index.html verbatim (byte-identical rule bodies, split by section). */
/* ---- sections & sheet tags ---- */
.ao-section{position:relative;padding-block:88px;border-bottom:var(--line);box-shadow:0 1px 0 #02080F;scroll-margin-top:calc(var(--hdr-h) + var(--tools-h))}
.bp-sheet{display:flex;justify-content:flex-end;margin:0 0 40px;font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--steel)}
.bp-sheet span{padding:8px 14px;border:var(--line);border-left:0;white-space:nowrap}
.bp-sheet span:first-child{border-left:var(--line);color:var(--cyan)}
.bp-sheet span:first-child::before{content:"";display:inline-block;width:6px;height:6px;background:var(--cyan);margin-right:10px;vertical-align:1px}
@media (max-width:640px){.bp-sheet span:nth-child(n+3){display:none}}
.bp-mark{position:absolute;width:18px;height:18px;pointer-events:none}
.bp-mark::before,.bp-mark::after{content:"";position:absolute;background:var(--cyan-a50)}
.bp-mark::before{left:0;right:0;top:50%;height:1px}
.bp-mark::after{top:0;bottom:0;left:50%;width:1px}


/* ---- hero ---- */
.ao-hero{overflow:hidden;padding-block:84px 72px;border-bottom:var(--line);display:flex;flex-direction:column;justify-content:center}
@media (min-width:1024px){.ao-hero{min-height:calc(100vh - var(--hdr-h) - var(--tools-h))}}
.ao-hero__bg{position:absolute;inset:0;z-index:0}
.ao-hero__bg canvas{position:absolute;inset:0;width:100%;height:100%}
.ao-hero__bg .bp-vignette{position:absolute;inset:0;background:radial-gradient(70% 70% at 25% 30%,rgba(95,211,255,.14),transparent 70%),linear-gradient(180deg,rgba(7,20,41,0) 60%,rgba(7,20,41,.75))}
.ao-hero__bg .bp-mark{top:20px;left:20px}.ao-hero__bg .bp-mark:nth-of-type(2){left:auto;right:20px}.ao-hero__bg .bp-mark:nth-of-type(3){top:auto;bottom:20px}.ao-hero__bg .bp-mark:nth-of-type(4){top:auto;bottom:20px;left:auto;right:20px}
.ao-hero__inner{position:relative;z-index:1;display:grid;gap:0 56px;grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title" "lead" "actions" "visual"}
.ao-hero .ao-eyebrow{grid-area:eyebrow;margin-bottom:22px}
.ao-hero__title{grid-area:title;font-size:clamp(32px,4.4vw,58px);line-height:1.18;letter-spacing:-.02em;margin:0 0 22px;text-wrap:balance}
.ao-hero__lead{grid-area:lead;font-size:18px;color:var(--steel);max-width:600px;margin:0 0 36px}
.ao-hero__actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:16px 18px;align-self:start}
.ao-hero__visual{grid-area:visual;margin-top:48px;position:relative;z-index:1}
@media (min-width:1024px){
  .ao-hero__inner{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);grid-template-areas:"eyebrow visual" "title visual" "lead visual" "actions visual";align-items:center;align-content:center}
  .ao-hero__visual{margin-top:0;align-self:center}
}
.bp-coord{position:absolute;left:48px;bottom:18px;z-index:2;font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--cyan);display:none;gap:16px;padding:8px 12px;border:var(--line);background:rgba(7,20,41,.7);pointer-events:none}
.bp-coord b{font-weight:400;color:var(--steel)}
@media (min-width:1024px) and (pointer:fine){.bp-coord{display:flex}}


/* ---- drawings (svg) ---- */
.bp-svg{width:100%;height:auto;stroke:var(--cyan);fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;font-family:var(--mono);font-size:14px;letter-spacing:.02em}
.bp-svg text{fill:var(--cyan);stroke:none;font-weight:500}
.bp-svg text.dim,.bp-svg g.dim text{fill:var(--steel)}
.bp-svg .fill{fill:var(--navy)}
.bp-svg .d,.bp-svg .d>*{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1) calc(var(--i,0)*.1s + .05s)}
.bp-svg .t{opacity:1;transition:opacity .6s ease calc(var(--i,0)*.1s + .7s)}
.bp-arm [data-draw]:not(.bp-shown) .bp-svg .d,.bp-arm [data-draw]:not(.bp-shown) .bp-svg .d>*{stroke-dashoffset:1;transition:none}
.bp-arm [data-draw]:not(.bp-shown) .bp-svg .t{opacity:0;transition:none}
.bp-dwg{filter:drop-shadow(0 0 14px rgba(95,211,255,.15))}
.bp-scan{animation:bp-scan 7s linear infinite;stroke-opacity:.55}
@keyframes bp-scan{0%{transform:translateY(0)}100%{transform:translateY(504px)}}
.bp-flow{stroke-dasharray:6 6;animation:bp-flow 1.4s linear infinite}
@keyframes bp-flow{to{stroke-dashoffset:-24}}
.bp-spin{transform-origin:260px 300px;animation:bp-spin 80s linear infinite}
@keyframes bp-spin{to{transform:rotate(360deg)}}


/* ---- reveal ---- */
.bp-reveal{opacity:1;transform:none}
.bp-arm .bp-reveal:not(.bp-shown){opacity:0;transform:translateY(18px)}
.bp-reveal.bp-play{animation:bp-in .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes bp-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.bp-play:nth-child(2){animation-delay:.09s}.bp-play:nth-child(3){animation-delay:.18s}.bp-play:nth-child(4){animation-delay:.27s}


/* ---- cards ---- */
.ao-cards--3{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.ao-cards--3{grid-template-columns:1fr}}
.ao-card{position:relative;background:linear-gradient(180deg,rgba(9,26,52,.92),rgba(7,20,41,.88));border:var(--line);padding:30px 28px 32px;transition:border-color .3s,transform .3s,box-shadow .3s;box-shadow:var(--plate)}
.ao-card::before,.ao-card::after{content:"";position:absolute;width:10px;height:10px;border-color:var(--cyan);border-style:solid;border-width:0;transition:width .3s,height .3s}
.ao-card::before{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.ao-card::after{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}
.ao-card:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:var(--plate-hi)}
.ao-card:hover::before,.ao-card:hover::after{width:26px;height:26px}
.ao-card__icon{width:48px;height:48px;margin-bottom:20px}
.ao-card__icon svg{width:48px;height:48px;stroke:var(--cyan);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ao-card__title{font-size:21px;margin-bottom:10px;font-family:var(--mono);letter-spacing:-.01em}
.ao-card__desc{font-size:16px;color:var(--steel)}


/* ---- figures ---- */
.ao-figure{margin:44px 0 0;border:var(--line);background:rgba(5,14,29,.72);position:relative;box-shadow:0 1px 0 rgba(169,232,255,.22) inset,0 -1px 0 rgba(0,0,0,.6) inset,0 20px 40px -24px rgba(0,0,0,.9)}
.ao-figure .bp-svg{filter:drop-shadow(0 1px 0 rgba(2,8,15,.95))}
.ao-figure::before{content:"FIG.";position:absolute;top:-1px;left:-1px;font:500 12px/1 var(--mono);letter-spacing:.18em;color:var(--navy-950);background:var(--cyan);padding:6px 10px}
.ao-figure__media{padding:36px 28px 20px}
.ao-figure__caption{font:500 14px/1.5 var(--mono);color:var(--steel);padding:14px 20px;border-top:1px dashed var(--cyan-a35);letter-spacing:.02em}
@media (max-width:640px){
  .ao-figure__media{padding:30px 12px 10px;overflow-x:auto;overscroll-behavior-x:contain}
  .ao-figure__media>.bp-svg{min-width:600px}
  .ao-figure::after{content:"";position:absolute;top:1px;bottom:50px;right:1px;width:40px;pointer-events:none;
    background:linear-gradient(90deg,rgba(5,14,29,0),rgba(5,14,29,.92))}
}


/* ---- layers ---- */
.ao-layers__list{border-bottom:var(--line);counter-reset:ly}
.ao-layer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px 8px;border-top:var(--line);position:relative;counter-increment:ly;box-shadow:0 1px 0 rgba(2,8,15,.85) inset;transition:background-color .3s,box-shadow .3s;cursor:pointer}
.ao-layer.is-active{background:linear-gradient(90deg,rgba(95,211,255,.12),rgba(95,211,255,.02));box-shadow:0 1px 0 rgba(2,8,15,.85) inset,3px 0 0 var(--cyan) inset}
.ao-layer.is-active .ao-layer__num{color:var(--white);transform:translateX(-6px)}
.ao-layer.is-active::after{transform:scaleX(1)}
.bp-stepbtn{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font:500 13px/1 var(--mono);letter-spacing:.12em;color:var(--cyan);background:linear-gradient(180deg,rgba(95,211,255,.14),rgba(95,211,255,.04));border:1px solid var(--cyan-a35);padding:8px 12px;cursor:pointer;box-shadow:0 1px 0 rgba(169,232,255,.3) inset,0 4px 10px -4px rgba(0,0,0,.8);transition:transform .15s,box-shadow .15s,background .2s}
.bp-stepbtn i{width:8px;height:8px;border:1px solid var(--cyan);transform:rotate(45deg);transition:background .2s}
.bp-stepbtn:hover{transform:translateY(-1px);border-color:var(--cyan)}
.bp-stepbtn:active{transform:translateY(1px)}
.bp-stepbtn[aria-pressed="true"]{background:var(--cyan);color:var(--navy-950);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.bp-stepbtn[aria-pressed="true"] i{background:var(--navy-950);border-color:var(--navy-950)}
[data-slot="deliverable-icons"] .bp-step{transition:opacity .4s}
[data-slot="deliverable-icons"][data-active-step] .bp-step{opacity:.22}
[data-slot="deliverable-icons"][data-active-step="1"] .bp-step[data-step="1"],[data-slot="deliverable-icons"][data-active-step="2"] .bp-step[data-step="2"],[data-slot="deliverable-icons"][data-active-step="3"] .bp-step[data-step="3"]{opacity:1}
.ao-layer::before{content:"ITEM " counter(ly,decimal-leading-zero);position:absolute;left:8px;top:8px;font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);opacity:.75}
.ao-layer::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ao-layer:hover::after{transform:scaleX(1)}
.ao-layer__text{padding-top:10px}
.ao-layer__title{font-size:22px;margin-bottom:6px}
.ao-layer__desc{font-size:16px;color:var(--steel)}
.ao-layer__num{font:700 48px/1 var(--mono);color:var(--cyan);letter-spacing:-.02em;display:flex;align-items:baseline;gap:6px;transition:transform .3s}
.ao-layer__num::before{content:"0";font-size:32px;font-weight:400;color:var(--steel);opacity:.6}
.ao-layer:hover .ao-layer__num{transform:translateX(-6px)}


/* ---- dimension line (layers) ---- */
.bp-dim{display:none}
@media (min-width:900px){
  .ao-layer{grid-template-columns:minmax(0,1fr) minmax(120px,.85fr) auto}
  .bp-dim{display:block;position:relative;align-self:center;height:11px;transform:translateY(-4px);border-left:1px solid var(--cyan);border-right:1px solid var(--cyan);filter:drop-shadow(0 6px 8px rgba(95,211,255,.35));transition:opacity .3s,visibility .3s;
    background-image:linear-gradient(90deg,var(--cyan-a50) 0 7px,transparent 7px 14px);background-size:14px 1px;background-repeat:repeat-x;background-position:0 5px}
  .bp-dim::after{content:attr(data-dim);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--navy);padding:0 8px;font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--cyan);white-space:nowrap}
  .ao-layer:hover .bp-dim{background-image:linear-gradient(90deg,var(--cyan) 0 7px,transparent 7px 14px)}
}


/* ---- evidence ---- */
.ao-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1000px){.ao-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ao-stats{grid-template-columns:1fr}}
.ao-stat{background:linear-gradient(180deg,#0A1B36,var(--navy-900));border:var(--line);padding:30px 26px 28px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;box-shadow:var(--plate);transition:transform .3s,box-shadow .3s}
.ao-stat:hover{transform:translateY(-4px);box-shadow:var(--plate-hi)}
.ao-stat::before{content:"";position:absolute;top:14px;right:14px;width:10px;height:10px;border-top:1px solid var(--cyan);border-right:1px solid var(--cyan)}
.ao-stat::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--cyan);transform:scaleX(1);transform-origin:left;transition:transform 1s ease .2s}
.bp-arm .ao-stat:not(.bp-shown)::after{transform:scaleX(0);transition:none}
.ao-stat__value{font:700 clamp(38px,3.5vw,52px)/1 var(--mono);color:var(--cyan);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ao-stat__label{font-size:15px;color:var(--steel);line-height:1.55;flex:1}
.ao-stat__tag{align-self:flex-start;font:500 12px/1 var(--mono);letter-spacing:.14em;color:var(--cyan);border:var(--line);padding:6px 9px}
.ao-note{margin-top:28px;padding:20px 22px;border:var(--line);border-left:3px solid var(--amber);background:rgba(255,198,92,.05);color:var(--steel);font-size:16px}
.ao-note__label{color:var(--amber);font-family:var(--mono);letter-spacing:.14em;font-weight:700}
.ao-note em{color:var(--white);font-style:normal;border-bottom:1px dashed var(--cyan)}


/* ---- products ---- */
.ao-product{padding:0;display:flex;flex-direction:column;perspective:1300px;background:transparent;border-color:transparent;box-shadow:none;overflow:visible}
.ao-product:hover{border-color:transparent;box-shadow:none}
.bp-card-inner{position:relative;flex:1;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.2,1)}
.ao-product.is-flipped .bp-card-inner{transform:rotateY(180deg)}
.bp-card-front,.bp-card-back{border:var(--line);background:linear-gradient(180deg,rgba(9,26,52,.98),rgba(7,20,41,.98));backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:var(--plate)}
.bp-card-front{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;transition:border-color .3s,box-shadow .3s}
.ao-product:hover .bp-card-front{border-color:var(--cyan);box-shadow:var(--plate-hi)}
.bp-card-back{position:absolute;inset:0;transform:rotateY(180deg) translateZ(var(--T));padding:16px 18px 74px;display:flex;flex-direction:column;gap:8px;overflow:hidden;background:linear-gradient(180deg,#071630,#050E1D)}
.bp-card-back::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--cyan-a08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.bp-card-back__kicker{position:relative;font:700 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);display:flex;gap:10px;align-items:center}
.bp-card-back__kicker span{background:var(--cyan);color:var(--navy-950);padding:5px 8px;white-space:nowrap}
.bp-card-back .bp-svg{position:relative;flex:1 1 0;min-height:0;height:0;width:100%}
.bp-card-back__caption{position:relative;font:400 13px/1.5 var(--mono);color:var(--steel);border-top:1px dashed var(--cyan-a35);padding-top:10px;letter-spacing:.02em}
.bp-card-edge{position:absolute;background:linear-gradient(90deg,#0A1E3C,#061225);border:1px solid var(--cyan-a35)}
.bp-card-edge--l{left:0;top:0;bottom:0;width:var(--T);transform-origin:left;transform:rotateY(90deg)}
.bp-card-edge--r{right:0;top:0;bottom:0;width:var(--T);transform-origin:right;transform:rotateY(-90deg)}
.bp-card-edge--t{left:0;right:0;top:0;height:var(--T);transform-origin:top;transform:rotateX(-90deg)}
.bp-card-edge--b{left:0;right:0;bottom:0;height:var(--T);transform-origin:bottom;transform:rotateX(90deg)}
.bp-card-actions{position:absolute;left:1px;right:1px;bottom:1px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px 16px;border-top:1px dashed var(--cyan-a35);background:linear-gradient(180deg,rgba(6,18,37,0),rgba(6,18,37,.92) 30%)}
.bp-flip{display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);background:linear-gradient(180deg,rgba(95,211,255,.14),rgba(95,211,255,.04));border:1px solid var(--cyan-a35);padding:10px 12px;cursor:pointer;box-shadow:0 1px 0 rgba(169,232,255,.3) inset,0 4px 10px -4px rgba(0,0,0,.8);transition:transform .15s,box-shadow .15s,background .2s,color .2s}
.bp-flip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.bp-flip:hover{transform:translateY(-1px);border-color:var(--cyan)}
.bp-flip:active{transform:translateY(1px)}
.bp-flip[aria-pressed="true"]{background:var(--cyan);color:var(--navy-950);box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.bp-flip [data-flip-off],.bp-flip[aria-pressed="true"] [data-flip-on]{display:none}
.bp-flip[aria-pressed="true"] [data-flip-off]{display:inline}
.bp-card-front .ao-product__body{padding-bottom:88px}
.ao-product__media{aspect-ratio:400/220;border-bottom:var(--line);background:rgba(5,14,29,.7);padding:6px;position:relative}
.ao-product__media .bp-svg{width:100%;height:100%}
.ao-product__media .dim{opacity:.45;transition:opacity .3s}
.ao-product:hover .ao-product__media .dim{opacity:1}
.ao-product__body{padding:24px 26px 30px;display:flex;flex-direction:column;gap:10px;flex:1}
.ao-product__kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ao-product__label{font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan)}
.ao-badge{display:inline-block;font:700 12px/1 var(--mono);letter-spacing:.08em;padding:6px 9px;background:var(--cyan);color:var(--navy-950);white-space:nowrap}
.ao-badge--pilot{background:transparent;color:var(--amber);border:1px solid var(--amber)}
.ao-product__title{font-size:22px}
.ao-product__price{font:500 16px/1.4 var(--mono);color:var(--cyan-200);letter-spacing:.02em}
.ao-product__desc{font-size:16px;color:var(--steel);flex:1}
.ao-product .ao-link--arrow{margin-top:8px}
.ao-product[data-product="web"] .bp-card-front{border-color:var(--cyan-a50)}
.ao-product[data-product="web"] .ao-product__media::after{content:"FIRST";position:absolute;top:-1px;right:-1px;font:700 12px/1 var(--mono);letter-spacing:.2em;background:var(--cyan);color:var(--navy-950);padding:6px 10px}


/* ---- ripeness ---- */
.ao-ripeness__grid{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.ao-ripeness__grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);align-items:start}.ao-ripeness__grid .ao-figure{margin-top:0}}
.ao-table-wrap{position:relative;overflow-x:auto;border:var(--line);background:rgba(5,14,29,.72);box-shadow:0 1px 0 rgba(169,232,255,.22) inset,0 -1px 0 rgba(0,0,0,.6) inset,0 20px 40px -24px rgba(0,0,0,.9)}
.bp-rowbtn{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:500 16px/1.5 var(--sans);color:inherit;background:none;border:0;padding:0;cursor:pointer;word-break:keep-all}
.bp-rowbtn__dot{flex:none;width:26px;height:26px;border:1px solid var(--cyan-a50);border-radius:50%;font:700 12px/24px var(--mono);text-align:center;color:var(--cyan);background:rgba(5,14,29,.6);box-shadow:0 1px 0 rgba(169,232,255,.3) inset;transition:background-color .2s,color .2s,box-shadow .2s,border-color .2s}
.bp-rowbtn:hover .bp-rowbtn__dot,.bp-rowbtn:focus-visible .bp-rowbtn__dot{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-a15)}
.bp-rowbtn[aria-pressed="true"] .bp-rowbtn__dot{background:var(--cyan);color:var(--navy-950);border-color:var(--cyan);box-shadow:0 0 14px -2px rgba(95,211,255,.7)}
.ao-table tbody tr.is-active{background:var(--cyan-a08);box-shadow:3px 0 0 var(--cyan) inset}
.ao-table tbody tr.is-active th{color:var(--cyan)}
.bp-startmap .ao-figure__media>.bp-svg{min-width:0}
.bp-startmap{scroll-margin:calc(var(--hdr-h) + var(--tools-h) + 12px) 0 calc(var(--dock-h) + 12px)}
.bp-marker{opacity:0;transform:translateY(6px);transform-box:fill-box;transform-origin:center;transition:opacity .3s,transform .3s}
.bp-marker.is-on{opacity:1;transform:none}
.bp-marker circle{fill:var(--cyan);stroke:var(--white);stroke-width:1.5}
.bp-marker text{fill:var(--navy-950);font-weight:700}
.bp-startmap .bp-node{transition:opacity .3s}
.bp-startmap[data-active-row] .bp-node{opacity:.3}
.bp-startmap[data-active-row="1"] .bp-node[data-row~="1"],.bp-startmap[data-active-row="2"] .bp-node[data-row~="2"],.bp-startmap[data-active-row="3"] .bp-node[data-row~="3"],.bp-startmap[data-active-row="4"] .bp-node[data-row~="4"]{opacity:1}
.ao-table{width:100%;border-collapse:collapse;font-size:16px;min-width:520px}
.ao-table th,.ao-table td{padding:18px 20px;border-bottom:var(--line);text-align:left;vertical-align:middle}
.ao-table th+th,.ao-table th+td{border-left:var(--line)}
.ao-table thead th{font:500 16px/1 var(--mono);letter-spacing:.16em;color:var(--cyan);background:var(--cyan-a08)}
.ao-table tbody th{font-weight:500}
.ao-table tbody tr:last-child th,.ao-table tbody tr:last-child td{border-bottom:0}
.ao-table tbody tr{transition:background-color .25s}
.ao-table tbody tr:hover{background:var(--cyan-a04)}
.ao-table__note{font:400 14px/1.4 var(--mono);color:var(--steel);margin-left:8px}


/* ---- blog ---- */
.ao-posts{counter-reset:fig}
.ao-post{counter-increment:fig}
.ao-post__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit;border:var(--line);background:rgba(7,20,41,.6);position:relative;transition:border-color .3s,transform .3s,box-shadow .3s}
.ao-post__link:hover,.ao-post__link:focus-visible{border-color:var(--cyan);transform:translateY(-4px);box-shadow:0 24px 50px -30px var(--cyan)}
.ao-post__media{position:relative;display:block;aspect-ratio:1024/538;overflow:hidden;background:linear-gradient(135deg,#050E1D 0%,#0A2140 60%,#0E3A62 100%);border-bottom:var(--line)}
.ao-post__media .bp-svg{position:absolute;inset:0;width:100%;height:100%;padding:16px 22px 12px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ao-post__link:hover .bp-svg{transform:scale(1.04)}
.ao-post__media::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--cyan-a15) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a15) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;mix-blend-mode:screen}
.ao-post__media::before{content:"FIG. 0" counter(fig);position:absolute;z-index:2;top:0;left:0;font:700 12px/1 var(--mono);letter-spacing:.18em;background:var(--cyan);color:var(--navy-950);padding:6px 10px}
.ao-post__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px}
.ao-post__title{font-weight:700;font-size:18px;line-height:1.45;word-break:keep-all}
.ao-post__date{font:500 12px/1 var(--mono);color:var(--cyan);letter-spacing:.14em;order:-1}
.ao-post__desc{font-size:16px;color:var(--steel);line-height:1.6}


/* ---- cta ---- */
.ao-cta{overflow:hidden;text-align:center;padding-block:128px;border-bottom:0}
.ao-cta__bg{position:absolute;inset:0;z-index:0}
.ao-cta__bg canvas{position:absolute;inset:0;width:100%;height:100%}
.ao-cta__bg .bp-svg{position:absolute;inset:0;width:100%;height:100%}
.ao-cta__inner{position:relative;z-index:1;max-width:760px}
.bp-tblock{position:absolute;inset:-44px -16px;border:1px dashed var(--cyan-a35);pointer-events:none}
.bp-tblock i{position:absolute;width:18px;height:18px;border:0 solid var(--cyan)}
.bp-tblock i:nth-child(1){top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}
.bp-tblock i:nth-child(2){top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}
.bp-tblock i:nth-child(3){bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}
.bp-tblock i:nth-child(4){bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}
.bp-tblock b,.bp-tblock u{position:absolute;top:-9px;font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);background:var(--navy);padding:2px 10px;text-decoration:none}
.bp-tblock b{left:24px}
.bp-tblock u{right:24px;color:var(--steel)}
@media (max-width:640px){.bp-tblock{inset:-26px -10px}.bp-tblock u{display:none}}
.ao-cta__title{font-size:clamp(28px,3.4vw,46px);margin:0 auto 18px}
.ao-cta__lead{font-size:18px;color:var(--steel);margin:0 auto 40px;max-width:600px}


/* ---- hero sheet stack : light table (glow from below, glass sheets, taped corners, clipped zoom) ---- */
.bp-stack{position:relative;perspective:1200px}
.bp-stack::before{content:"";position:absolute;inset:-14% -10% -18%;z-index:-1;background:radial-gradient(58% 52% at 50% 62%,rgba(95,211,255,.42),rgba(95,211,255,.12) 52%,transparent 74%);pointer-events:none}
.bp-sheet--back{position:absolute;inset:0;border:1px solid rgba(95,211,255,.3);background-color:rgba(7,20,41,.72);box-shadow:0 1px 0 rgba(169,232,255,.18) inset,0 24px 44px -20px rgba(0,0,0,.95);z-index:0;pointer-events:none;will-change:transform;
  background-image:linear-gradient(var(--cyan-a08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a08) 1px,transparent 1px),linear-gradient(rgba(95,211,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(95,211,255,.16) 1px,transparent 1px);background-size:24px 24px,24px 24px,120px 120px,120px 120px;
  transform:translate(calc(var(--d)*var(--o,12px) + var(--px)*var(--d)*-7px),calc(var(--d)*var(--o,12px) + var(--py)*var(--d)*-5px)) rotate(calc(var(--d)*-.5deg))}
.bp-sheet--back::after{content:"";position:absolute;inset:8px;border:1px dashed var(--cyan-a15)}
.bp-paper{position:relative;z-index:1;background-color:rgba(6,18,37,.84);border:1px solid rgba(169,232,255,.45);
  box-shadow:0 1px 0 rgba(169,232,255,.4) inset,0 -1px 0 rgba(0,0,0,.65) inset,0 0 0 1px rgba(0,0,0,.6),0 30px 60px -24px rgba(0,0,0,.95),0 70px 120px -40px rgba(0,0,0,.9),0 0 52px -6px rgba(95,211,255,.28);will-change:transform;transform-style:flat}
@media (hover:hover) and (pointer:fine){.bp-paper{transform:rotateX(var(--tx)) rotateY(var(--ty))}}
.bp-paper::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bp-paper::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(2,8,15,.55) 100%)}
.bp-paper__clip{position:relative;overflow:hidden;background-image:linear-gradient(var(--cyan-a04) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a04) 1px,transparent 1px);background-size:24px 24px}
.bp-paper__zoom{position:relative;transform:scale(var(--zoom));transform-origin:24% 46%;transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform}
.bp-paper .bp-svg{position:relative}
.bp-shadowline{fill:none}
.bp-tape{position:absolute;z-index:2;width:62px;height:15px;background:linear-gradient(180deg,rgba(242,248,255,.2),rgba(242,248,255,.08));border:1px solid rgba(242,248,255,.12);box-shadow:0 1px 3px rgba(0,0,0,.45),0 1px 0 rgba(255,255,255,.22) inset;pointer-events:none;transform:rotate(-45deg)}
.bp-tape:nth-of-type(1){left:-24px;top:8px}
.bp-tape:nth-of-type(2){right:-24px;top:8px;transform:rotate(45deg)}
.bp-tape:nth-of-type(3){left:-24px;bottom:8px;transform:rotate(45deg)}
.bp-tape:nth-of-type(4){right:-24px;bottom:8px}
.bp-titleblock{position:relative;z-index:3;display:grid;grid-template-columns:1fr .7fr .7fr 1.1fr 1.5fr;border-top:1px solid var(--cyan-a50);background:linear-gradient(180deg,#0A1B36,#061225);font:500 12px/1 var(--mono);letter-spacing:.1em;cursor:default;box-shadow:0 1px 0 rgba(169,232,255,.2) inset}
.bp-titleblock>div{padding:7px 6px 8px 8px;border-right:1px solid var(--cyan-a15);display:flex;flex-direction:column;gap:4px;min-width:0}
.bp-titleblock>div:last-child{border-right:0}
.bp-titleblock span{color:var(--steel);font-size:12px;letter-spacing:.14em}
.bp-titleblock b{font-weight:500;color:var(--cyan);letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){
  .bp-titleblock{grid-template-columns:1fr 1fr}
  .bp-titleblock>div:nth-child(2n){border-right:0}
  .bp-titleblock>div:nth-child(n+3){border-top:1px solid var(--cyan-a15)}
  .bp-titleblock>.bp-titleblock__co{grid-column:1/-1;border-right:0}
  .bp-sheet--back{--o:6px}
  .bp-sheet--back:first-child{display:none}
  .bp-paper .bp-svg{font-size:22px;letter-spacing:0}
  .bp-paper .bp-svg text.no{font-size:16px}
  .bp-paper .bp-svg text.dim,.bp-paper .bp-svg .ico{display:none}
  .ao-cta__bg .bp-svg text{display:none}
  .bp-iso__lbl{display:none}
  .ao-product__media .bp-svg{font-size:15px}
  .ao-table{min-width:0}
  .ao-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ao-table,.ao-table tbody,.ao-table tr,.ao-table th,.ao-table td{display:block}
  .ao-table tbody th{border-bottom:0;padding:18px 18px 8px}
  .ao-table th+td{border-left:0;padding:0 18px 18px 56px}
  .ao-table tbody tr{border-bottom:var(--line)}
  .ao-table tbody tr:last-child{border-bottom:0}
  .ao-table__note{display:block;margin:6px 0 0}
}
@media (max-width:1300px) and (min-width:641px){.bp-paper .bp-svg{font-size:17px}.ao-cta__bg .bp-svg{font-size:17px}}
@media (max-width:1200px) and (min-width:901px){.ao-product__media .bp-svg,.bp-card-back .bp-svg{font-size:16px}}


/* ---- isometric plan : 3 tiers (search plate / mobile pads / design blocks) · exploded on hover / focus ---- */
.bp-iso{position:absolute;left:10.9%;top:21.2%;width:46.9%;height:51.9%;z-index:2;cursor:grab;touch-action:pan-y;perspective:900px;user-select:none;-webkit-user-select:none}
.bp-iso:active,.bp-iso.is-drag{cursor:grabbing}
.bp-iso__stage{position:absolute;left:50%;top:50%;width:280px;height:230px;margin:-115px 0 0 -147px;transform-style:preserve-3d;will-change:transform;
  transform:scale3d(var(--iso-k),var(--iso-k),var(--iso-k)) rotateX(58deg) rotateZ(var(--iso-rot));transition:transform .18s ease-out}
.bp-iso.is-drag .bp-iso__stage{transition:none}
.bp-tier{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(calc(var(--tz)*12px + var(--lift,0px)));transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.bp-tier--search{--tz:0}.bp-tier--mobile{--tz:1}.bp-tier--design{--tz:2}
.bp-iso:hover .bp-tier--mobile,.bp-iso:focus-visible .bp-tier--mobile,.bp-iso.is-exploded .bp-tier--mobile{--lift:12px}
.bp-iso:hover .bp-tier--design,.bp-iso:focus-visible .bp-tier--design,.bp-iso.is-exploded .bp-tier--design{--lift:26px}
.bp-iso__plate{position:absolute;inset:-10px;border:1px solid var(--cyan-a50);background-color:rgba(95,211,255,.03);background-image:linear-gradient(var(--cyan-a08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a08) 1px,transparent 1px);background-size:20px 20px;transform:translateZ(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 40px rgba(95,211,255,.08);transition:opacity .3s}
.bp-iso__plate::before,.bp-iso__plate::after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--cyan)}
.bp-iso__plate::before{top:-2px;left:-2px;border-right:0;border-bottom:0}
.bp-iso__plate::after{bottom:-2px;right:-2px;border-left:0;border-top:0}
.bp-tier--mobile .bp-iso__plate,.bp-tier--design .bp-iso__plate{border-style:dashed;border-color:var(--cyan-a35);background-image:none;background-color:rgba(95,211,255,.02);box-shadow:none}
.bp-tier--mobile .bp-iso__plate::before,.bp-tier--mobile .bp-iso__plate::after,.bp-tier--design .bp-iso__plate::before,.bp-tier--design .bp-iso__plate::after{display:none}
.bp-iso__tierlbl{position:absolute;left:-8px;bottom:-26px;font:500 calc(12px / var(--iso-k,1))/1 var(--mono);letter-spacing:.18em;color:var(--cyan);white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}
.bp-iso:hover .bp-iso__tierlbl,.bp-iso:focus-visible .bp-iso__tierlbl,.bp-iso.is-exploded .bp-iso__tierlbl{opacity:.9}
.bp-iso__pad{position:absolute;border:1px solid var(--cyan-a50);background:rgba(95,211,255,.07);transition:opacity .3s}
.bp-tier--mobile .bp-iso__pad{border-color:var(--cyan-200);border-style:dashed;background:rgba(169,232,255,.05)}
.bp-iso__blk{position:absolute;transform-style:preserve-3d;--fh:20px}
.bp-iso__face{position:absolute;left:0;top:0;width:100%;height:100%;border:1px solid var(--cyan);background:rgba(95,211,255,.09);backface-visibility:hidden;-webkit-backface-visibility:hidden;box-sizing:border-box;transition:opacity .3s}
.bp-iso__face--top{transform:translateZ(var(--fh));background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(169,232,255,.22))}
.bp-iso__face--n{height:var(--fh);transform-origin:top;transform:rotateX(90deg);background:rgba(95,211,255,.05)}
.bp-iso__face--s{top:auto;bottom:0;height:var(--fh);transform-origin:bottom;transform:rotateX(-90deg);background:rgba(95,211,255,.14)}
.bp-iso__face--w{width:var(--fh);transform-origin:left;transform:rotateY(-90deg);background:rgba(95,211,255,.05)}
.bp-iso__face--e{left:auto;right:0;width:var(--fh);transform-origin:right;transform:rotateY(90deg);background:rgba(95,211,255,.2)}
.bp-iso__lbl{position:absolute;font:700 calc(12px / var(--iso-k,1))/1 var(--mono);letter-spacing:.04em;color:var(--navy-950);transform:translateZ(calc(var(--fh) + 1px));left:4px;top:4px;pointer-events:none;transition:opacity .3s}
.bp-iso__hint{position:absolute;left:0;bottom:-2px;font:500 12px/1 var(--mono);letter-spacing:.16em;color:var(--steel);opacity:.8;pointer-events:none;white-space:nowrap;transition:opacity .3s}
html[data-scale]:not([data-scale="1:1"]) .bp-iso__hint,.bp-iso:hover .bp-iso__hint,.bp-iso:focus-visible .bp-iso__hint,.bp-iso.is-exploded .bp-iso__hint{opacity:0}

/* ---- page frame (2단계: 고정 페이지 공통 뼈대) ---- */
.bp-pagehead{padding-block:64px 48px}
.bp-pagehead__grid{display:grid;gap:32px;grid-template-columns:minmax(0,1fr);align-items:center;margin-bottom:32px}
@media (min-width:900px){.bp-pagehead__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.bp-pagehead__title{margin-bottom:16px}
.bp-pagehead__lead{margin:0;max-width:640px}
.bp-pagehead__fig .ao-figure{margin-top:0}
.bp-pagehead__fig .ao-figure__media{padding:24px 20px}
.bp-pagehead__fig .ao-figure__media>.bp-svg{min-width:0}
.bp-pagehead__fig{min-width:0}
.bp-pagehead__tblock{margin-top:8px}

.bp-docwrap{padding-block:0 88px}
.bp-doc{max-width:min(72ch,100%);font-size:16px;line-height:1.7;color:var(--white);word-break:keep-all;counter-reset:bpdoc}
.bp-doc>*+*{margin-top:20px}
.bp-doc h2{counter-increment:bpdoc;font-size:24px;margin:48px 0 20px;padding-top:24px;border-top:var(--line);position:relative;scroll-margin-top:calc(var(--hdr-h) + var(--tools-h) + 16px)}
.bp-doc h2:first-child{margin-top:0;padding-top:0;border-top:0}
.bp-doc h2::before{content:counter(bpdoc,decimal-leading-zero);display:block;font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);margin-bottom:10px}
.bp-doc h3{font-size:19px;margin:32px 0 12px}
.bp-doc p{margin:0}
.bp-doc ul,.bp-doc ol{margin:0;padding-left:1.4em}
.bp-doc ul{list-style:none;padding-left:0}
.bp-doc ul>li{position:relative;padding-left:1.5em}
.bp-doc ul>li::before{content:"\25C6";position:absolute;left:0;top:0;color:var(--cyan);font-size:.8em}
.bp-doc ol>li{padding-left:.3em}
.bp-doc ol,.bp-doc ul{color:var(--steel)}
.bp-doc a{color:var(--cyan-200);text-decoration:underline;text-underline-offset:3px}
.bp-doc strong{color:var(--white)}
.bp-doc blockquote{margin:0;padding:16px 20px;border-left:2px solid var(--cyan);background-image:linear-gradient(var(--cyan-a04) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a04) 1px,transparent 1px);background-size:24px 24px;color:var(--steel)}
.bp-doc figure{margin:0;border:var(--line);background:rgba(5,14,29,.72);position:relative;padding:12px}
.bp-doc figure::before{content:"";position:absolute;inset:8px;background-image:linear-gradient(var(--cyan-a08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.bp-doc figure img{position:relative;display:block;max-width:100%;height:auto}
.bp-doc svg{max-width:100%;height:auto}
.bp-doc img{max-width:100%;height:auto}
.bp-doc figcaption{margin-top:8px;font:400 13px/1.5 var(--mono);color:var(--steel)}
.bp-doc pre,.bp-doc code{font-family:var(--mono);background:var(--navy-900);border:var(--line)}
.bp-doc pre{padding:16px 18px;overflow-x:auto}
.bp-doc code{padding:.1em .35em;font-size:.92em}
.bp-doc pre code{padding:0;border:0;background:none}
.bp-doc table{width:100%;border-collapse:collapse;font-size:15px}
.bp-doc th,.bp-doc td{padding:12px 16px;border-bottom:var(--line);text-align:left}
.bp-doc thead th{font:500 13px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);background:var(--cyan-a08)}

.bp-contact-band{text-align:center;padding-block:88px}
.bp-contact-band__inner{display:flex;flex-direction:column;align-items:center;gap:28px}
.bp-contact-band__title{margin:0;max-width:600px}

/* ---- legal page : sticky toc + doc ---- */
.bp-legal__grid{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.bp-legal__grid{grid-template-columns:240px minmax(0,1fr)}}
.bp-legal__toc{align-self:start}
@media (min-width:960px){.bp-legal__toc{position:sticky;top:calc(var(--hdr-h) + var(--tools-h) + 24px)}}
.bp-legal__toc-head{font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);margin:0 0 14px}
.bp-legal__toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.bp-legal__toc li{counter-increment:toc;border-top:var(--line);padding:10px 0}
.bp-legal__toc li:first-child{border-top:0}
.bp-legal__toc a{display:flex;gap:10px;color:var(--steel);text-decoration:none;font-size:14px}
.bp-legal__toc a::before{content:counter(toc,decimal-leading-zero);color:var(--cyan);font:500 12px/1.4 var(--mono)}
.bp-legal__toc a:hover,.bp-legal__toc a.is-active{color:var(--white)}

/* ---- contact form (mu-plugin 52 마크업을 도면 언어로) ---- */
.rm-form{max-width:640px}
.rm-form__errors{margin:0 0 20px;padding:14px 18px;border:1px solid var(--amber);background:rgba(255,198,92,.08);color:var(--amber);font-size:15px}
.rm-form__row{margin-bottom:18px}
.rm-field{display:flex;flex-direction:column;gap:8px}
.rm-field label{font:500 13px/1 var(--mono);letter-spacing:.05em;color:var(--steel)}
.rm-optional{color:var(--steel);opacity:.7;font-weight:400}
.rm-field input,.rm-field select,.rm-field textarea{font:400 16px/1.5 var(--sans);color:var(--white);background:var(--navy-900);border:1px solid var(--cyan-a35);padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.rm-field textarea{min-height:140px;resize:vertical}
.rm-field input:focus-visible,.rm-field select:focus-visible,.rm-field textarea:focus-visible{outline:0;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-a15)}
.rm-form__errors ~ .rm-form__row .rm-field input,.rm-form__errors ~ .rm-form__row .rm-field textarea{border-color:var(--amber)}
.rm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rm-hp input{background:var(--navy-900);color:var(--white);border:0}
.rm-form button[type="submit"]{font:700 16px/1 var(--sans);letter-spacing:.04em;padding:16px 32px;background:var(--cyan);color:var(--navy-950);border:1px solid var(--cyan);cursor:pointer;min-height:44px;transition:background-color .2s,transform .2s}
.rm-form button[type="submit"]:hover{background:var(--white);transform:translateY(-2px)}
.rm-form label,.rm-field input,.rm-field select,.rm-field textarea,.rm-form button{min-height:44px}

/* ---- 접수 도장(done) ---- */
.rm-receipt{max-width:420px;margin:0 auto;padding:56px 32px;border:2px solid var(--cyan);border-radius:50%;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:radial-gradient(closest-side,rgba(95,211,255,.08),transparent 70%)}
.rm-receipt p{margin:0;font-size:16px;color:var(--steel)}
.rm-receipt__num{font:700 28px/1 var(--mono);color:var(--cyan);letter-spacing:.04em}
.rm-btn{display:inline-flex;align-items:center;gap:8px;font:700 15px/1 var(--sans);padding:12px 20px;text-decoration:none;min-height:44px;border:1px solid transparent;cursor:pointer;transition:background-color .2s,transform .2s,border-color .2s}
.rm-btn--outline{border-color:var(--cyan);color:var(--cyan)}
.rm-btn--outline:hover{background:var(--cyan-a15)}
.rm-btn--ghost{color:var(--cyan-200);text-decoration:underline;text-underline-offset:3px;padding-left:0;padding-right:0}
.rm-btn--ghost:hover{color:var(--white)}
.rm-btn--gold{background:linear-gradient(160deg,#5FD3FF 0%,#3FA9DB 100%);color:var(--navy-950);border-color:transparent}
.rm-btn--gold:hover{transform:translateY(-2px)}

/* ---- R2: DB 본문에 남은 옛 플러그인 클래스(51·55·59 unhook 후 맨몸) 도면 조판 ---- */

/* 폭 컨테이너 — 시각적 장식 없음 */
.rm-shell{width:min(1100px,100% - 40px);margin-inline:auto}
.rm-shell--narrow{width:min(760px,100% - 40px)}

/* 이동경로 — 모노 화살표 경로 */
.rm-breadcrumb{display:block;padding:14px 0;font:500 13px/1 var(--mono);letter-spacing:.04em;color:var(--steel)}
.rm-breadcrumb a{color:var(--cyan);text-decoration:none}
.rm-breadcrumb a:hover{text-decoration:underline}

/* 절 — 시트 번호 카운터가 붙는 구획 */
.bp-doc .rm-section{counter-increment:bpdoc;padding-block:40px;border-top:var(--line)}
.bp-doc .rm-section:first-of-type{border-top:0;padding-top:0}
.bp-doc .rm-section--alt{background:rgba(7,20,41,.5)}
.bp-doc .rm-section .rm-section__title::before{content:counter(bpdoc,decimal-leading-zero);display:block;font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);margin-bottom:10px}
.rm-section__eyebrow{display:flex;align-items:center;gap:12px;font:500 13px/1 var(--mono);letter-spacing:.24em;color:var(--cyan);margin:0 0 14px}
.rm-section__eyebrow::before{content:"";width:28px;height:1px;background:var(--cyan);flex:none}
.rm-section__title{font-size:clamp(22px,2.6vw,32px);margin:0 0 16px;line-height:1.3}
.rm-section__desc{font-size:16px;color:var(--steel);margin:0 0 24px;max-width:72ch}

/* 정의 카드 3열 — ao-def-grid */
.ao-def-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0}
@media (max-width:820px){.ao-def-grid{grid-template-columns:1fr}}
.ao-def{position:relative;padding:24px 20px 22px;border:var(--line);background:linear-gradient(180deg,rgba(9,26,52,.7),rgba(7,20,41,.6))}
.ao-def__mark{display:block;width:28px;height:28px;margin-bottom:14px;border:1px solid var(--cyan);border-radius:50%;position:relative}
.ao-def__mark::before{content:"";position:absolute;inset:8px;background:var(--cyan)}
.ao-def__mark--line{border-radius:0;display:flex;align-items:center}
.ao-def__mark--line::before{position:static;inset:auto;width:100%;height:2px;background:var(--cyan)}
.ao-def__mark--layer{border-radius:0}
.ao-def__mark--layer::before{inset:auto;position:static;width:100%;height:100%;background:repeating-linear-gradient(0deg,var(--cyan) 0 3px,transparent 3px 8px)}
.ao-def h3{font-size:17px;margin:0 0 8px;color:var(--white)}
.ao-def p{font-size:16px;color:var(--steel);margin:0}

/* 3열 역할 분담 — ao-triad */
.ao-triad{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0}
@media (max-width:820px){.ao-triad{grid-template-columns:1fr}}
.ao-triad__col{padding:18px 20px;border-top:2px solid var(--cyan);background:rgba(5,14,29,.5)}
.ao-triad__col h4{margin:0 0 8px;font-size:16px;color:var(--white)}
.ao-triad__col p{margin:0;font-size:16px;color:var(--steel)}

/* 인라인 강조 칩 */
.ao-chip{display:inline-block;font:700 13px/1 var(--mono);letter-spacing:.04em;padding:4px 10px;background:var(--cyan-a15);color:var(--cyan);border:1px solid var(--cyan-a35);margin:0 2px}

/* REV 노트(경고·단서) — 인용과 같은 어법 */
.rm-note{margin:20px 0;padding:16px 20px;border-left:2px solid var(--cyan);background-image:linear-gradient(var(--cyan-a04) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a04) 1px,transparent 1px);background-size:24px 24px;color:var(--steel);font-size:16px}
.rm-note strong{color:var(--white)}

/* 투명 원칙 콜아웃 */
.ao-callout{padding:18px 20px;border:1px dashed var(--cyan-a50);background:rgba(95,211,255,.05);margin:20px 0}
.ao-callout p{margin:0;color:var(--steel);font-style:normal}
.rm-glass{backdrop-filter:blur(6px)}
.rm-shimmer{position:relative;overflow:hidden}
@media (prefers-reduced-motion:no-preference){
  .rm-shimmer::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 40%,rgba(95,211,255,.08) 50%,transparent 60%);background-size:220% 100%;animation:bp-shimmer 5s ease-in-out infinite}
}
@keyframes bp-shimmer{0%{background-position:160% 0}100%{background-position:-60% 0}}

/* 옛 브랜드 장식 사진(금박·보석 텍스처) — 시트 머리가 이미 그 역할을 하므로 숨긴다 */
.ao-inner-hero-media{display:none !important}
.ao-inner-hero{padding-block:28px}
.ao-inner-hero .rm-shell{padding:0}
.ao-inner-hero .rm-section__title{margin:0 !important}

/* 소개 인트로(rm-hero) — 상품 페이지 상단 배지+제목+리드+버튼 */
.bp-doc .rm-hero{padding:32px 0 !important;min-height:auto !important;display:block !important;border-bottom:var(--line);margin-bottom:8px}
.rm-badge{display:inline-block;font:700 12px/1 var(--mono);letter-spacing:.1em;padding:6px 10px;background:var(--cyan);color:var(--navy-950)}
.rm-hero__title{font-size:clamp(24px,3vw,34px);margin:16px 0 12px !important;line-height:1.35}
.rm-hero__title em{color:var(--cyan);font-style:normal}
.rm-hero__desc{font-size:17px;color:var(--steel);margin:0 0 20px;max-width:68ch}
.rm-hero__actions{display:flex;flex-wrap:wrap;gap:14px}

/* 증거 통계 타일(rm-evidence) — 홈 ao-stat과 같은 어법 */
.rm-evidence{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:24px 0}
.rm-evidence__item{display:flex;flex-direction:column;gap:8px;padding:20px 18px;border:var(--line);background:linear-gradient(180deg,#0A1B36,var(--navy-900))}
.rm-evidence__num{font:700 clamp(24px,2.4vw,32px)/1 var(--mono);color:var(--cyan);letter-spacing:-.02em}
.rm-evidence__label{font-size:14px;color:var(--steel);line-height:1.5;flex:1}
.rm-evidence__grade{align-self:flex-start;font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);border:var(--line);padding:5px 8px}

/* 시안 괘선 표(rm-table) — 390 이하는 행 스택 */
.bp-doc .rm-table{width:100%;border-collapse:collapse;font-size:15px;margin:24px 0}
.bp-doc .rm-table th,.bp-doc .rm-table td{padding:14px 16px;border-bottom:var(--line);text-align:left}
.bp-doc .rm-table thead th{font:500 13px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);background:var(--cyan-a08)}
@media (max-width:640px){
  .bp-doc .rm-table--stack thead{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .bp-doc .rm-table--stack thead tr,.bp-doc .rm-table--stack thead th{display:block;width:1px;height:1px;padding:0;margin:0;border:0;overflow:hidden;box-sizing:border-box}
  .bp-doc .rm-table--stack,.bp-doc .rm-table--stack tbody,.bp-doc .rm-table--stack tr,.bp-doc .rm-table--stack td,.bp-doc .rm-table--stack th{display:block}
  .bp-doc .rm-table--stack tr{border-bottom:var(--line);padding:12px 0}
  .bp-doc .rm-table--stack td{border-bottom:0;padding:6px 0}
  .bp-doc .rm-table--stack td[data-label]::before{content:attr(data-label);display:block;font:500 11px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);margin-bottom:4px}
}

/* 강조 CTA 띠 — 본문 안에서 시안색으로 튀는 판 */
.bp-doc .rm-cta-bar{margin:40px 0 !important;padding:32px clamp(20px,4vw,40px);background:linear-gradient(180deg,rgba(95,211,255,.1),rgba(95,211,255,.02));border-top:2px solid var(--cyan);border-bottom:2px solid var(--cyan);text-align:center}
.rm-cta-bar h2{font-size:22px;margin:0 0 10px !important}
.rm-cta-bar h2::before{display:none}
.rm-cta-bar p{margin:0 0 20px;color:var(--steel)}

/* 층위 띠(ao-layers) — ai-harness 3계층 */
.ao-layers{margin:24px 0;border-top:var(--line)}
.ao-layers .ao-layer{grid-template-columns:minmax(0,1fr) auto}
.ao-layer__name{font-size:17px;font-weight:700;color:var(--white);margin:0 0 4px}
.ao-layer__count{font:700 32px/1 var(--mono);color:var(--cyan)}

/* 번호 단계 목록(rm-steps) */
.rm-steps{list-style:none;margin:24px 0;padding:0;counter-reset:rmstep}
.rm-steps>li{counter-increment:rmstep;position:relative;padding:16px 0 16px 52px;border-top:var(--line)}
.rm-steps>li:first-child{border-top:0}
.rm-steps>li::before{content:counter(rmstep,decimal-leading-zero);position:absolute;left:0;top:16px;font:700 15px/1 var(--mono);color:var(--navy-950);background:var(--cyan);width:34px;height:34px;display:flex;align-items:center;justify-content:center}
.rm-steps h4{margin:0 0 6px;font-size:16px;color:var(--white)}
.rm-steps p{margin:0;color:var(--steel);font-size:16px}

/* 카드 그리드(rm-grid-2/3 + rm-card) — 들어올린 판 */
.rm-grid-2{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0}
.rm-grid-3{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0}
@media (max-width:820px){.rm-grid-2,.rm-grid-3{grid-template-columns:1fr}}
.rm-card{position:relative;padding:24px 22px 22px;border:var(--line);background:linear-gradient(180deg,rgba(9,26,52,.92),rgba(7,20,41,.88));box-shadow:0 1px 0 rgba(169,232,255,.3) inset,0 8px 20px -12px rgba(0,0,0,.8)}
.rm-card h3{margin:8px 0 10px;font-size:18px}
.rm-card h3 a{color:var(--white);text-decoration:none}
.rm-card h3 a:hover{color:var(--cyan)}
.rm-card p{margin:0 0 8px;color:var(--steel);font-size:16px}
.rm-card p:last-child{margin-bottom:0}
.rm-card p a{color:var(--cyan-200)}
.rm-card .rm-evidence__grade{margin-bottom:6px}

/* 옛 관계도 SVG(ao-node/ao-edge) — 시안 팔레트로 강제 재색 */
.ao-hero__diagram{margin:24px 0;overflow:visible}
.ao-diagram--wide,.ao-diagram--narrow{width:100%;height:auto;max-width:520px;display:block;margin-inline:auto}
.ao-diagram--narrow{display:none}
@media (max-width:640px){.ao-diagram--wide{display:none}.ao-diagram--narrow{display:block}}
.ao-diagram--wide .ao-edge,.ao-diagram--narrow .ao-edge{stroke:var(--cyan-a35) !important;stroke-width:1.5}
.ao-diagram--wide .ao-node--major,.ao-diagram--narrow .ao-node--major{fill:var(--cyan) !important}
.ao-diagram--wide .ao-node--minor,.ao-diagram--narrow .ao-node--minor{fill:var(--steel) !important}
.ao-diagram--wide text,.ao-diagram--narrow text{fill:var(--steel) !important}

/* 접수 동의 체크 — 각 줄 블록, 클릭 영역 44px */
.rm-consent{display:flex !important;align-items:flex-start;gap:10px;min-height:44px;padding:8px 0;font-size:14px;font-family:var(--mono);color:var(--steel);cursor:pointer}
.rm-consent input[type="checkbox"]{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--cyan)}
.rm-consent span{line-height:1.6}
.rm-consent a{color:var(--cyan-200)}
.rm-optional{padding-left:.3em}

/* .bp-doc 안 옛 브랜드/도해 이미지 — 24px 모눈 프레임 + FIG. 캡션 + 아이보리→시안 반전 필터 */
.ao-inner-diagram{margin:28px 0}
.ao-inner-diagram,.bp-doc:not(.bp-doc--post) figure:not(.ao-figure){position:relative;border:var(--line);background:rgba(5,14,29,.72);padding:12px}
.ao-inner-diagram::before,.bp-doc:not(.bp-doc--post) figure:not(.ao-figure)::before{content:"FIG.";position:absolute;top:-1px;left:-1px;font:500 11px/1 var(--mono);letter-spacing:.16em;color:var(--navy-950);background:var(--cyan);padding:5px 9px;z-index:1}
.ao-inner-diagram::after,.bp-doc:not(.bp-doc--post) figure:not(.ao-figure)::after{content:"";position:absolute;inset:12px;background-image:linear-gradient(var(--cyan-a08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.ao-inner-diagram img{position:relative;display:block;width:100%;height:auto;filter:invert(1) hue-rotate(190deg) saturate(1.4) brightness(.92) contrast(.92)}

/* ---- 3단계: 블로그 목록·주제·글 지면 ---- */

/* 리본 주제 칩(진짜 링크, JS 없이 동작) */
.bp-tabs--blog{flex-wrap:wrap;overflow-x:auto}
.bp-tabs--blog .bp-tab{text-decoration:none}
.bp-tabs--blog .bp-tab[aria-current="page"]{background:var(--navy);color:var(--white);border-color:var(--cyan)}

/* 카드 격자 — 1440:3열 · 768:2열 · 390:1열 */
.bp-blog-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0}
@media (max-width:1000px){.bp-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.bp-blog-grid{grid-template-columns:1fr}}
.bp-blog-card__media{aspect-ratio:1200/630;background:linear-gradient(135deg,#050E1D 0%,#0A2140 60%,#0E3A62 100%)}
.bp-blog-card__media img{width:100%;height:100%;object-fit:contain;background:var(--navy-950)}
.bp-blog-card__topic{display:block;font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);margin-bottom:6px;order:-2}
.bp-blog-card__meta{display:flex;align-items:center;gap:8px;font:500 12px/1 var(--mono);color:var(--steel);letter-spacing:.04em}
.bp-blog-grid__count{margin:8px 0 0;font:500 13px/1 var(--mono);color:var(--steel);letter-spacing:.08em}

/* 페이지네이션 — 시트 탭 어법 */
.pagination,.navigation.pagination{margin-top:40px}
.nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;list-style:none;padding:0;margin:0;font-family:var(--mono)}
.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:var(--line);color:var(--steel);text-decoration:none;font-size:14px}
.nav-links .page-numbers:hover{border-color:var(--cyan);color:var(--cyan)}
.nav-links .page-numbers.current{background:var(--cyan);color:var(--navy-950);border-color:var(--cyan)}
.nav-links .page-numbers.dots{border:0}

/* 글 지면 시트 머리 — 표지 있으면 2열 */
.bp-pagehead--post .bp-pagehead__grid{align-items:start}
.bp-pagehead--post .ao-eyebrow{font-family:var(--mono);gap:8px}

/* 본문 그리드 — 목차(sticky) + .bp-doc */
.bp-post__grid{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1024px){.bp-post__grid{grid-template-columns:220px minmax(0,1fr)}}
.bp-toc{display:none}
@media (min-width:1024px){
  .bp-toc{display:block;align-self:start;position:sticky;top:calc(var(--hdr-h) + var(--tools-h) + 24px)}
}
.bp-toc__head{font:500 12px/1 var(--mono);letter-spacing:.2em;color:var(--cyan);margin:0 0 14px}
.bp-toc ol,.bp-toc-mobile ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.bp-toc li,.bp-toc-mobile li{counter-increment:toc;border-top:var(--line);padding:9px 0}
.bp-toc li:first-child,.bp-toc-mobile li:first-child{border-top:0}
.bp-toc a,.bp-toc-mobile a{display:flex;gap:10px;color:var(--steel);text-decoration:none;font-size:13px;word-break:keep-all}
.bp-toc a::before,.bp-toc-mobile a::before{content:counter(toc,decimal-leading-zero);color:var(--cyan);font:500 12px/1.4 var(--mono);flex:none}
.bp-toc a:hover,.bp-toc-mobile a:hover{color:var(--white)}
.bp-toc-mobile{margin-bottom:28px;border:var(--line);padding:14px 18px}
.bp-toc-mobile summary{cursor:pointer;font:500 13px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);padding:4px 0}
.bp-toc-mobile[open] summary{margin-bottom:10px}
@media (min-width:1024px){.bp-toc-mobile{display:none}}

/* 카드뉴스 시트 스택 — 첫 장 크게 + 아래 썸네일 줄 */
.bp-doc figure.ao-cardnews{border:0;background:none;padding:0;position:static}
.bp-doc figure.ao-cardnews::before,.bp-doc figure.ao-cardnews::after{display:none}
.bp-cn-stack{margin:28px 0}
.bp-cn-stack__stage{position:relative;border:var(--line);background:rgba(5,14,29,.72);aspect-ratio:1200/630;overflow:hidden}
.bp-cn-stack__stage::after{content:"";position:absolute;inset:12px;background-image:linear-gradient(var(--cyan-a08) 1px,transparent 1px),linear-gradient(90deg,var(--cyan-a08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.bp-cn-stack__stage img{position:relative;display:block;width:100%;height:100%;object-fit:contain}
.bp-cn-stack__live{position:absolute;top:8px;right:8px;font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--cyan);background:rgba(5,14,29,.85);border:var(--line);padding:5px 9px;z-index:1}
.bp-cn-stack__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.bp-cn-stack__thumb{flex:none;width:76px;height:40px;border:1px solid var(--cyan-a35);background:var(--navy-950);cursor:pointer;padding:0;overflow:hidden;min-height:44px}
.bp-cn-stack__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bp-cn-stack__thumb[aria-current="true"]{border-color:var(--cyan);box-shadow:0 0 0 2px var(--cyan-a35)}
.bp-cn-stack figcaption{margin-top:10px;font:400 13px/1.5 var(--mono);color:var(--steel)}

/* 관련 글·이전다음·회사 카드 */
.bp-related{padding-block:64px}
.bp-post-nav{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:32px 0}
@media (max-width:640px){.bp-post-nav{grid-template-columns:1fr}}
.bp-post-nav__link{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:var(--line);text-decoration:none;color:var(--white)}
.bp-post-nav__link:hover{border-color:var(--cyan)}
.bp-post-nav__link span{font:500 12px/1 var(--mono);color:var(--cyan);letter-spacing:.08em}
.bp-post-nav__link--next{text-align:right;align-items:flex-end}
.bp-company-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border:var(--line);background:rgba(7,20,41,.6);margin-top:12px}
.bp-company-card__mark{width:36px;height:24px;flex:none}
.bp-company-card__mark svg{width:100%;height:100%}
.bp-company-card__text{flex:1;font-size:15px;color:var(--steel)}
.bp-company-card__link{color:var(--cyan);text-decoration:none;font:500 14px/1 var(--mono);white-space:nowrap}
.bp-company-card__link:hover{text-decoration:underline}

