@font-face{font-family:'Hanken Grotesk';src:url(fonts/hanken-grotesk-latin-wght-normal.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Shantell Sans';src:url(fonts/shantell-sans-latin-wght-normal.woff2) format('woff2');font-weight:300 800;font-style:normal;font-display:swap}
:root{--bg:#ffffff;--ink:#14171f;--mut:#4c5461;--line:#d9dde3;--frame:#d9dde3;--accent:#1742c4;--on-accent:#ffffff;--focus:#1742c4;--link:#1742c4;--tint:#f3f5f8;--blue:#1742c4;--red:#d62828;--redtx:#c21f1f;--green:#0f7a43;--font-display:'Hanken Grotesk',system-ui,sans-serif;--font-body:'Hanken Grotesk',system-ui,sans-serif;--font-hand:'Shantell Sans','Segoe Print',cursive;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{text-wrap:balance;margin:0}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
table{border-collapse:collapse}
[hidden]{display:none!important}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:3px solid var(--focus,var(--accent));outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:12px;top:-60px;z-index:999;background:var(--ink);color:var(--bg);padding:10px 16px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.legal-wrap{max-width:74ch;margin:0 auto;padding:clamp(40px,7vw,88px) 20px clamp(56px,8vw,110px)}
.legal-wrap h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin-bottom:.4em}
.legal-wrap h2{font-family:var(--font-display);font-size:1.35rem;line-height:1.25;margin:2.2em 0 .6em}
.legal-wrap h3{font-size:1.05rem;margin:1.6em 0 .4em}
.legal-wrap p,.legal-wrap li{margin:0 0 .85em}
.legal-wrap ul{padding-left:1.25em}
.legal-wrap a{color:var(--link,var(--ink));text-decoration:underline}
.legal-tablewrap{overflow-x:auto;margin:1.2em 0}
.legal-wrap table{width:100%;font-size:.92rem}
.legal-wrap th,.legal-wrap td{border:1px solid var(--line);padding:.55em .7em;text-align:left;vertical-align:top}
.legal-wrap th{background:var(--tint,transparent)}
.nf{min-height:60vh;display:grid;place-content:center;gap:18px;padding:60px 20px;text-align:center;justify-items:center}
.nf h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.4rem);line-height:1.1}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

:root{--rail:64px;--ease:cubic-bezier(.16,1,.3,1);--alu:linear-gradient(180deg,#f3f4f6,#e1e4e9 48%,#cdd2d9);--alu-s:linear-gradient(90deg,#f0f2f4,#d9dde3 55%,#c7ccd4);
--sk:255px 15px 225px 15px/15px 225px 15px 255px;--shadow:0 12px 20px -14px rgba(20,23,31,.45),0 1px 2px rgba(20,23,31,.1);
--sr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C50 4 140 3 197 6' fill='none' stroke='%23d62828' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E")}
html{scroll-padding-top:calc(var(--rail) + 12px);scrollbar-color:#aab1bb #eef0f3;scrollbar-width:thin}
body{caret-color:var(--red);font-size:1.05rem}
::selection{background:var(--blue);color:#fff}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:3px}
a{text-underline-offset:.22em}
.hand{font-family:var(--font-hand);font-weight:500}
.sr-only{position:absolute}
s{text-decoration-thickness:1px}

/* marker strokes */
.mk{position:absolute;overflow:visible;pointer-events:none;filter:url(#rough);max-width:none}
.mk path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.draw .mk path{stroke-dasharray:1 1.04;stroke-dashoffset:1.02}
.draw .mk.on path{stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--ease) var(--d,0s)}
.draw .mk.rails.on path{transition-duration:2.2s}
.w-ring,.w-line,.w-line2{position:relative;white-space:nowrap;display:inline-block;isolation:isolate}
.w-ring{margin:0 .26em 0 .24em}
.ring{left:-.42em;top:calc(50% - .72em);width:calc(100% + .84em);height:1.44em;z-index:-1}
.under{left:0;right:0;bottom:-.12em;width:100%;height:.22em;z-index:-1}
.arw-l{position:relative;flex:1;height:44px;min-width:60px;margin:0 -8px 0 14px}
.t-m,.t-x{display:none}
.h-wait.clear .t-d,.h-wait.clear .t-m,.h-wait.clear .arw-l{display:none}
.h-wait.clear .t-x{display:inline}
.st-a{position:absolute}

/* magnets */
.magnet,.pin,.fq-m{display:block;border-radius:50%;--m:var(--blue);--h:#6f8eec;--l:#0d2a86;background:radial-gradient(circle at 34% 28%,var(--h),var(--m) 52%,var(--l));box-shadow:0 3px 5px rgba(20,23,31,.32),inset 0 -1px 2px rgba(0,0,0,.22)}
.m-blue .magnet,.pin.m-blue{--m:#1742c4;--h:#6f8eec;--l:#0d2a86}
.m-red .magnet,.pin.m-red{--m:#d62828;--h:#f28a8a;--l:#8f1515}
.m-green .magnet,.pin.m-green{--m:#0f7a43;--h:#58c48d;--l:#07502b}

/* frame */
.fr{position:relative;background:var(--alu);padding:12px;border-radius:5px;box-shadow:0 22px 36px -28px rgba(20,23,31,.5)}
.sf{background:#fff;box-shadow:inset 0 0 0 1px #b4bbc5,inset 0 3px 8px rgba(20,23,31,.08)}
.cp{position:absolute;width:26px;height:26px;background:linear-gradient(145deg,#7c8591,#59616d);z-index:2}
.cp.a{left:0;top:0;border-radius:5px 0 12px 0}.cp.b{right:0;top:0;border-radius:0 5px 0 12px}.cp.c{left:0;bottom:0;border-radius:0 12px 0 5px}.cp.d{right:0;bottom:0;border-radius:12px 0 5px 0}

/* rail header */
.rail{position:sticky;top:0;z-index:50;background:var(--alu);box-shadow:inset 0 1px 0 #fff,0 1px 0 #b1b8c2,0 6px 12px -10px rgba(20,23,31,.4)}
.rail::before,.rail::after{content:"";position:absolute;top:0;bottom:0;width:14px;background:linear-gradient(180deg,#7c8591,#59616d)}
.rail::before{left:0}.rail::after{right:0}
.rail-in{max-width:1560px;min-height:var(--rail);margin:0 auto;padding:0 clamp(26px,3vw,48px);display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-height:44px}
.logo svg{width:34px;height:34px;flex:none}
.wm{font-family:var(--font-display);font-weight:800;font-size:1.2rem;letter-spacing:-.02em;white-space:nowrap}
.dnav{display:flex;gap:clamp(14px,1.8vw,28px)}
.dnav a{text-decoration:none;font-weight:600;font-size:.98rem;padding:10px 0 12px;background:no-repeat left bottom 4px/0 7px var(--sr);transition:background-size .35s var(--ease)}
.dnav a:hover,.dnav a[aria-current]{background-size:100% 7px}
.strip,.btn,.btn-o{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:4px;font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background-color .2s}
.strip,.btn{background:var(--blue);color:#fff;border:0;box-shadow:0 8px 12px -8px rgba(23,66,196,.8),0 1px 1px rgba(20,23,31,.2)}
.strip:hover,.btn:hover{background:#1236a4;transform:translateY(-1px)}
.strip:active,.btn:active{transform:translateY(1px);box-shadow:0 2px 3px -1px rgba(23,66,196,.7)}
.strip{min-height:44px;padding:8px 16px;font-size:.95rem;white-space:nowrap}
.btn-o{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:var(--sk)}
.btn-o:hover{color:var(--blue);border-color:var(--blue)}
.mnav{display:none}
.mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;left:14px;right:14px;top:100%;background:#fff;box-shadow:0 18px 28px -14px rgba(20,23,31,.5);border:1px solid var(--line);display:grid;padding:6px 18px 12px}
.mnav nav a{padding:13px 0;text-decoration:none;font-weight:700;border-bottom:1px solid var(--line)}
.mnav nav a:last-child{border:0;color:var(--blue)}

/* hero board */
.hero{background:var(--alu-s);padding:0 14px;display:flex;flex-direction:column;min-height:calc(100svh - var(--rail))}
.bd{position:relative;flex:1;background:linear-gradient(112deg,#fff 0 38%,#f8f9fb 50%,#fff 62%);box-shadow:inset 0 0 0 1px #b4bbc5,inset 0 4px 10px rgba(20,23,31,.09);display:grid;grid-template-columns:minmax(0,7.3fr) minmax(0,4.7fr);grid-template-rows:auto 1fr;gap:18px clamp(24px,3vw,48px);padding:clamp(22px,2.8vw,40px) clamp(20px,3vw,48px)}
.ghost{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.h-copy,.h-wait,.zone{position:relative;z-index:1}
.h-copy{grid-column:1;grid-row:1}
.h-wait{grid-column:1;grid-row:2;align-self:start;margin-top:clamp(10px,2.4vw,34px)}
.zone{grid-column:2;grid-row:1/3;align-self:stretch;display:flex}
h1{font-family:var(--font-display);font-weight:900;letter-spacing:-.035em;line-height:1}
.hero h1{font-size:clamp(2.7rem,6.05vw,5.6rem);line-height:1.08}
.lede{font-size:clamp(1.08rem,1.45vw,1.26rem);line-height:1.45;color:var(--mut);max-width:37em;margin-top:.85em}
.presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:20px}
.presets>.hand{color:var(--mut);margin-right:4px;font-size:.98rem}
.presets button{font-family:var(--font-hand);font-weight:600;font-size:.98rem;min-height:44px;padding:6px 14px;background:transparent;border:2px solid transparent;border-radius:var(--sk);cursor:pointer;color:var(--ink);text-decoration:underline;text-decoration-color:#9aa2ad;text-underline-offset:.25em}
.presets button:hover{color:var(--blue);text-decoration-color:currentColor}
.presets button[aria-pressed=true]{border-color:var(--blue);color:var(--blue);text-decoration:none;background:#fff}
.wait-t{font-size:1.04rem;color:var(--redtx);margin:0 calc(-1*clamp(24px,3vw,48px)) 18px 0;display:flex;align-items:center;font-weight:600;white-space:nowrap}
.waiting{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px;min-height:150px;align-items:start}
.card{user-select:none;-webkit-user-select:none;position:relative;background:#fff;border:1px solid #cdd3db;border-radius:4px;box-shadow:var(--shadow);rotate:var(--r,0deg);cursor:grab;touch-action:manipulation;transition:box-shadow .2s var(--ease),border-color .2s}
.card:hover{box-shadow:0 18px 24px -14px rgba(20,23,31,.5),0 1px 2px rgba(20,23,31,.1);border-color:#9aa2ad}
.card:focus-within{border-color:var(--blue)}
.card.drag{z-index:30;cursor:grabbing;box-shadow:0 28px 34px -16px rgba(20,23,31,.55);rotate:0deg}
.card label{display:grid;grid-template-columns:minmax(0,1fr) 26px;gap:3px 8px;padding:20px 14px 2px;cursor:inherit}
.card input{appearance:none;-webkit-appearance:none;grid-column:2;grid-row:1;width:26px;height:26px;margin:0;border:2px solid var(--ink);border-radius:var(--sk);background:#fff;cursor:pointer}
.card input:checked{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13c2 2 4 4 6 7C13 13 17 8 22 3' fill='none' stroke='%23d62828' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.card input:focus-visible{outline-offset:2px}
.magnet{position:absolute;top:-13px;left:18px;width:28px;height:28px;cursor:grab;touch-action:none}
.magnet::after{content:"";position:absolute;inset:-9px}
.c-name{grid-column:1;grid-row:1;line-height:1.18}
.c-name b{display:block;font-weight:800;font-size:1rem;letter-spacing:-.01em}
.c-code{display:block;font-size:.82rem;color:var(--mut);font-weight:600;margin-top:1px}
.c-desc{grid-column:1/3;font-size:.86rem;line-height:1.32;color:var(--mut);margin-top:3px}
.c-price{grid-column:1/3;font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums;margin-top:6px;letter-spacing:-.01em}
.c-price s{font-weight:500;font-size:.82rem;color:var(--mut);margin-left:7px}
.c-open{display:inline-flex;align-items:center;gap:3px;min-height:34px;padding:0 14px 6px;font-size:.85rem;font-weight:600;color:var(--blue)}
.ext{display:inline-block;vertical-align:-.12em;margin-left:2px;flex:none}
.zone-box{inset:0;width:100%;height:100%}
.zone.over .zone-box path{stroke-width:8!important}
.zone-in{position:relative;flex:1;display:flex;flex-direction:column;padding:clamp(20px,1.8vw,26px) clamp(20px,1.9vw,28px);min-width:0}
.zone-t{font-size:1.34rem;font-weight:700;color:var(--blue);line-height:1.15}
.inset{list-style:none;display:grid;gap:14px;margin-top:18px}
.inset .card{rotate:0deg}
.inset .card label{grid-template-columns:minmax(0,1fr) auto 26px;padding:9px 12px 0 40px;align-items:center}
.inset .c-name{grid-column:1;grid-row:1}
.inset .c-price{grid-column:2;grid-row:1;margin:0;text-align:right;line-height:1.1}
.inset .c-price s{display:block;margin:0}
.inset .card input{grid-column:3;grid-row:1}
.inset .c-desc{display:none}
.inset .magnet{top:50%;left:7px;margin-top:-22px}
.inset .c-open{padding:0 12px 6px 40px;min-height:28px;font-size:.82rem}
.waiting .card label{padding:24px 16px 4px}
.waiting .c-name b{font-size:1rem}
.waiting .c-desc{font-size:.93rem;line-height:1.38;margin-top:5px}
.waiting .c-price{font-size:1.28rem;margin-top:9px}
.waiting .c-open{min-height:38px;padding:0 16px 8px}
.empty{margin-top:18px;color:var(--mut);font-size:1.1rem;font-weight:500}
.slots{list-style:none;display:grid;gap:14px;margin-top:14px}
.slots li{position:relative;height:66px;border:2px dashed #b4bbc5;border-radius:var(--sk);transition:border-color .2s}
.slots li[hidden]{display:none}
.slots i{position:absolute;left:7px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:#eceef1;box-shadow:inset 0 2px 4px rgba(20,23,31,.26),inset 0 0 0 1px #c3c9d2}
.zone.over .slots li{border-color:var(--blue)}
.tot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:18px}
.tot-l{font-size:1.04rem;color:var(--mut);padding-bottom:6px}
.tot strong{position:relative;font-size:clamp(2.4rem,3.8vw,3.5rem);font-weight:800;line-height:1;color:var(--redtx);font-variant-numeric:tabular-nums;isolation:isolate}
.tot-u{left:-2%;bottom:-.3em;width:104%;height:.26em}
.tot-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tot-a a{flex:1 1 auto;font-size:.95rem;padding:8px 12px}
.note{font-size:.82rem;line-height:1.4;color:var(--mut);margin-top:10px}

/* tray */
.tray{position:relative;margin:0 -14px;height:48px;background:linear-gradient(180deg,#b9bfc8 0,#eceef1 8px,#dfe2e7 60%,#c3c8d0);box-shadow:0 12px 18px -12px rgba(20,23,31,.5);display:flex;align-items:center;justify-content:center}
.tray-pens{display:flex;align-items:center;gap:clamp(18px,5vw,84px)}
.pen{width:clamp(110px,12vw,170px);height:auto;filter:drop-shadow(0 3px 2px rgba(20,23,31,.28))}
.eraser{width:clamp(62px,6.5vw,90px);height:auto;filter:drop-shadow(0 3px 2px rgba(20,23,31,.28))}
.slip{display:none}

/* ladder */
.lad{max-width:1500px;margin:0 auto;padding:clamp(56px,8vw,120px) clamp(18px,4vw,56px) clamp(40px,5vw,72px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:start}
.lad h2,.room-t h2,.rpl-l h2,.pr-h h2,.faq-h h2,.closeb h2,.rcol h2,.rsamp h2{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1.03;font-size:clamp(2.05rem,3.9vw,3.5rem)}
.lad-h{position:sticky;top:calc(var(--rail) + 28px)}
.lad-h p{margin-top:1em;color:var(--mut);font-size:1.08rem;max-width:30em}
.lad-h .lad-c{color:var(--redtx);font-size:1.02rem;line-height:1.45;font-weight:500}
.lad-c a{color:inherit}
.ladder{position:relative;--c:190px}
.lad-w>ul{list-style:none;position:relative;padding:34px 0 26px}
.lad-w{position:relative}
.r-rails{position:absolute;left:0;top:0;bottom:-8px;width:var(--c)}
.rails{inset:0;width:100%;height:100%}
.rg{display:grid;grid-template-columns:var(--c) minmax(0,1fr);column-gap:26px;align-items:center;padding:clamp(14px,1.7vw,24px) 0}
.r-lad{position:relative;height:20px;align-self:start;margin-top:.9em}
.r-stroke{inset:0;width:100%;height:100%}
.r-txt h3{font:inherit;margin:0;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:0 18px;align-items:baseline}
.r-code{font-family:var(--font-display);font-weight:900;letter-spacing:-.03em;text-decoration:none;line-height:1.02}
.r-code:hover{text-decoration:underline}
.c-blue{color:var(--blue)}.c-red{color:var(--redtx)}.c-green{color:var(--green)}
.rg.sm .r-code{font-size:clamp(1.5rem,2.3vw,2.05rem)}
.rg.lg .r-code{font-size:clamp(2.4rem,4.4vw,3.9rem)}
.r-t{font-weight:600;font-size:1.04rem;line-height:1.25}
.rg.lg .r-t{font-weight:700;font-size:1.15rem}
.r-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:8px}
.r-links a,.r-spec a,.ground a{color:var(--blue);font-weight:600;font-size:.98rem;white-space:nowrap}
.r-spec{list-style:none;margin-top:10px;border-top:1px solid var(--line)}
.r-spec li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:7px 0;border-bottom:1px solid var(--line)}
.r-note{color:var(--redtx);margin-top:8px;font-size:1.02rem;rotate:-.8deg;transform-origin:left}
.ground{position:relative;padding-top:24px}
.g-stroke{left:0;top:0;width:100%;height:14px}
.ground p{color:var(--mut)}
.ground b{color:var(--ink)}
.ground a{display:inline-block;margin-right:14px;white-space:normal}

/* room */
.room{max-width:1500px;margin:0 auto;padding:clamp(40px,6vw,88px) clamp(18px,4vw,56px) clamp(56px,8vw,110px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;align-items:start}
.print{position:relative;margin:0;background:#fff;padding:10px;box-shadow:0 24px 38px -24px rgba(20,23,31,.55),0 2px 5px rgba(20,23,31,.14)}
.print img{width:100%;height:auto}
.pin{position:absolute;width:30px;height:30px;z-index:2}
.print .pin:nth-of-type(1){left:-8px;top:-10px}
.print .pin:nth-of-type(2){right:-8px;top:-10px}
.pr-a{grid-column:1/9;grid-row:1/3;rotate:-1deg}
.pr-b{grid-column:8/13;grid-row:2/4;rotate:1.4deg;margin-top:26px;z-index:3;align-self:start}
.room-s{grid-column:1/7;grid-row:3;margin-top:clamp(28px,3vw,44px);font-size:clamp(1.1rem,1.5vw,1.28rem);line-height:1.45}
.pr-b .pin:nth-of-type(1){left:50%;margin-left:-15px}
.pr-b figcaption{font-size:1rem;color:var(--redtx);padding:8px 4px 0;font-weight:500}
.room-t{grid-column:9/13;grid-row:1;padding-left:clamp(0px,1.5vw,20px)}
.room-t p{margin-top:.9em;color:var(--mut)}
.pr-c{margin:1.6em 0 1.8em;rotate:-.8deg}
.pr-c .pin:nth-of-type(1){left:50%;margin-left:-15px}

/* rpl */
.rpl{padding:0 clamp(12px,2.5vw,36px)}
.rpl .fr{max-width:1480px;margin:0 auto}
.rpl-in{display:grid;grid-template-columns:minmax(0,8.3fr) minmax(0,3.7fr);gap:clamp(24px,3vw,48px);padding:clamp(24px,4vw,60px) clamp(18px,3.4vw,52px)}
.rpl-l h2{max-width:17em}
.rpl-p{margin-top:.9em;color:var(--mut);max-width:44em;font-size:1.08rem}
.flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,3.6vw,52px) clamp(30px,3.6vw,52px);margin-top:clamp(30px,3.6vw,48px)}
.st{position:relative}
.st h3{font-weight:800;font-size:1.13rem;letter-spacing:-.01em;margin-top:10px}
.st p,.st li{font-size:.98rem;line-height:1.4;color:var(--mut);margin-top:4px}
.st ul{list-style:none}
.st li{padding-left:18px;position:relative}
.st li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--red)}
.st-o{position:relative;width:118px;height:56px;display:grid;place-items:center;isolation:isolate}
.st-o b{font-weight:800;font-size:1rem;letter-spacing:-.01em}
.oval{inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);z-index:-1}
.st-a{position:absolute;left:128px;top:8px;width:calc(100% - 110px);max-width:150px;height:40px;margin:0}
.st3 .st-a{left:auto;right:40%;top:calc(100% + 2px);width:64px;height:44px;rotate:96deg}
.st4{grid-column:3;grid-row:2}.st5{grid-column:2;grid-row:2}.st6{grid-column:1;grid-row:2}
.st4 .st-a,.st5 .st-a{left:auto;right:calc(100% - 4px);top:8px;width:clamp(40px,4.6vw,66px);scale:-1 1}
.rpl-a{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:clamp(28px,3vw,40px)}
.tl{color:var(--blue);font-weight:700}
.sheet{position:relative;margin:0;background:#fff;border:1px solid #d3d8df;box-shadow:0 24px 38px -24px rgba(20,23,31,.55),0 2px 5px rgba(20,23,31,.12)}
.rpl .sheet{rotate:1deg;align-self:start;margin-top:clamp(0px,1vw,14px);box-shadow:none;border:0;background:none}
.rpl .sheet .sh-in{background:#fff;border:1px solid #d3d8df;box-shadow:0 18px 30px -20px rgba(20,23,31,.5);padding:clamp(18px,2vw,26px)}
.sheet>.pin{left:50%;margin-left:-15px;top:-14px}
.sh-h{font-weight:800;border-bottom:2px solid var(--ink);padding-bottom:8px;line-height:1.2}
.sh-h span{display:block;font-weight:500;font-size:.88rem;color:var(--mut);margin-top:2px}
.sh-q{margin-top:12px;font-size:1rem;line-height:1.42}
.sh-n{position:relative;display:inline-block;color:var(--redtx);margin-top:12px;rotate:-1.2deg;font-weight:600;isolation:isolate}
.sh-u{left:0;bottom:-8px;width:100%;height:9px}
.sheet table{width:100%;margin-top:18px;font-size:.92rem}
.sheet caption{text-align:left;font-weight:700;padding-bottom:6px}
.sheet th,.sheet td{border-top:1px solid var(--line);padding:7px 0;text-align:left;vertical-align:top;line-height:1.32}
.sheet th{font-weight:700;padding-right:12px;white-space:nowrap}
.sheet figcaption{font-size:.84rem;color:var(--mut);line-height:1.35;margin-top:10px}

/* prices */
.prices{max-width:1500px;margin:0 auto;padding:clamp(56px,8vw,112px) clamp(18px,4vw,56px) clamp(32px,4vw,56px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:start}
.pr-h p{margin-top:.9em;color:var(--mut)}
.pr-h .pr-l{color:var(--ink);font-weight:600}
.ptable{width:100%;font-variant-numeric:tabular-nums}
.ptable thead th{font-size:.88rem;font-weight:700;text-align:right;padding:0 0 8px 14px;color:var(--mut);border-bottom:3px solid var(--ink)}
.ptable thead th:first-child{text-align:left;padding-left:0}
.ptable .pg th{text-align:left;font-weight:800;padding:18px 0 6px;letter-spacing:-.01em;border-bottom:1px solid var(--ink);line-height:1.25}
.ptable td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:baseline}
.pn a{font-weight:500;text-decoration-color:#9aa2ad}
.pn a:hover{color:var(--blue)}
.ptable tbody tr:not(.pg):hover{background:#f1f4fd}
.pp{text-align:right;font-weight:800;font-size:1.12rem;white-space:nowrap;padding-left:14px!important}
.pw{text-align:right;color:var(--mut);font-size:.92rem;white-space:nowrap;padding-left:14px!important;width:7.5em}

/* honest */
.honest{max-width:1240px;margin:0 auto;padding:clamp(56px,9vw,136px) clamp(18px,4vw,56px)}
.big{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,4.3vw,3.75rem);line-height:1.1;letter-spacing:-.03em}
.big .under{bottom:-.08em}
.big-s{margin-top:1.2em;color:var(--mut);max-width:44em;font-size:1.08rem}
.big-s a{color:var(--blue);font-weight:600}

/* faq */
.faq{background:var(--tint);padding:clamp(48px,7vw,96px) max(clamp(10px,4vw,56px),calc((100% - 1388px)/2))}
.fq-b{padding:clamp(26px,3.4vw,50px) clamp(16px,3.2vw,50px) clamp(34px,4vw,56px)}
.faq-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 32px}
.faq-h .w-line{white-space:normal}
.faq-h .under{bottom:-.26em}
.faq-h .hand{color:var(--redtx);font-size:1.12rem}
.faq-h .hand a{color:inherit;font-weight:700}
.notes{list-style:none;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:34px clamp(16px,2vw,28px);align-items:start;margin-top:clamp(36px,4vw,56px)}
.fnote{position:relative;grid-column:span 4;background:#fff;border:1px solid #cdd3db;border-radius:2px;box-shadow:var(--shadow);padding:26px clamp(16px,1.7vw,24px) 20px;rotate:var(--r,0deg);transition:rotate .25s var(--ease),box-shadow .2s var(--ease)}
.fnote:hover,.fnote:focus-within{rotate:0deg;box-shadow:0 18px 24px -14px rgba(20,23,31,.5),0 1px 2px rgba(20,23,31,.1)}
.fnote .pin{position:absolute;top:-14px;left:50%;margin-left:-14px;width:28px;height:28px}
.n-blue{background:#eef2fd}.n-red{background:#fdeeee}.n-green{background:#ecf7f1}
.fnote:nth-child(1){grid-column:span 5;--r:-.7deg}
.fnote:nth-child(2){--r:.6deg;margin-top:14px}
.fnote:nth-child(3){grid-column:span 3;--r:-.4deg}
.fnote:nth-child(4){--r:.5deg}
.fnote:nth-child(5){grid-column:span 3;--r:-.8deg;margin-top:18px}
.fnote:nth-child(6){grid-column:span 5;--r:.4deg}
.fnote h3{font-family:var(--font-display);font-weight:800;font-size:1.16rem;line-height:1.22;letter-spacing:-.01em}
.fnote p{margin-top:8px;line-height:1.46;font-size:1rem}
.fnote a{color:var(--blue);font-weight:600}

/* close */
.closeb{max-width:1500px;margin:0 auto;padding:clamp(52px,7vw,104px) clamp(12px,3vw,50px) clamp(44px,6vw,84px)}
.closeb h2{font-size:clamp(2.5rem,7vw,6rem);font-weight:900;letter-spacing:-.04em;line-height:1;padding:0 clamp(6px,1vw,8px)}
.cl-photo{position:relative;margin-top:clamp(18px,2.4vw,32px);container-type:inline-size}
.cl-photo img{width:100%;height:auto}
.ov{position:absolute;display:grid;place-content:center;text-align:center;text-decoration:none;border-radius:50%;transform:translate(-50%,-50%);transition:scale .25s var(--ease)}
.ov:hover{scale:1.03}
.ov b{font-family:var(--font-display);font-weight:900;font-size:3.3cqw;line-height:1.02;letter-spacing:-.03em}
.ov span{font-size:1.14cqw;font-weight:500;color:var(--mut);margin-top:.5cqw;line-height:1.2}
.ov-a{left:23.2%;top:30.8%;width:26%;height:24%;color:var(--blue)}
.ov-b{left:76.8%;top:41.6%;width:28%;height:24%;color:var(--redtx)}
.ul{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;font-size:2.1cqw;font-weight:700;text-decoration:none;line-height:1.05;padding:2px 6px}
.ul:hover{text-decoration:underline}
.ul-a{left:28.4%;top:76.4%;color:var(--blue)}
.ul-b{left:70.2%;top:76.4%;color:var(--redtx)}
.cl-m{display:none}

/* resources */
.rhead{padding:0}
.rhead .fr{border-radius:0;padding:0 14px 14px;box-shadow:none;background:var(--alu-s)}
.rhead .cp.a,.rhead .cp.b{display:none}
.rhead .tray,.ct .tray{margin:0}
.rhead-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:end;padding:clamp(30px,5vw,72px) clamp(20px,4vw,56px)}
.rhead h1,.read h1,.ct h1{font-size:clamp(2.5rem,5.4vw,4.9rem)}
.find label{display:block;font-weight:700;margin-bottom:8px}
.find-r{display:flex;border:3px solid var(--blue);border-radius:6px 14px 8px 12px/12px 7px 14px 6px;background:#fff;box-shadow:var(--shadow)}
.find-r:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #c9d5f7}
.find input[type=search]{flex:1;min-width:0;border:0;background:transparent;padding:14px 16px;font-weight:700;font-size:1.2rem;letter-spacing:.01em;outline:0}
.find input::placeholder{color:#6a7280;font-weight:500}
.find button{border:0;background:var(--blue);color:#fff;font-weight:700;padding:0 20px;cursor:pointer;white-space:nowrap;border-radius:2px 8px 4px 8px;min-height:50px}
.find button:hover{background:#1236a4}
.find-t{margin-top:10px;font-size:.94rem;color:var(--mut)}
.find-t a{color:var(--blue);font-weight:600}
.rlist{max-width:1240px;margin:0 auto;padding:clamp(40px,6vw,84px) clamp(18px,4vw,56px) 0}
.rg-g{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(14px,4vw,56px);padding-bottom:clamp(36px,5vw,64px)}
.rg-h h2{position:relative;display:inline-block;font-weight:800;font-size:clamp(1.34rem,2vw,1.7rem);line-height:1.12;letter-spacing:-.02em;padding-bottom:12px;isolation:isolate}
.rg-u{left:0;bottom:0;width:66%;height:9px}
.rg-c{color:var(--mut);font-weight:600;margin-top:8px;font-size:.96rem}
.rg-g ul{list-style:none;border-top:3px solid var(--ink)}
.rs{border-bottom:1px solid var(--line)}
.rs a{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:14px;padding:11px 4px;text-decoration:none;align-items:baseline}
.rs a:hover{background:#f1f4fd}
.rs a:hover b{color:var(--blue)}
.rs-c{font-size:.84rem;font-weight:700;color:var(--mut)}
.rs-n b{font-weight:700;display:block;line-height:1.22}
.rs-n span{font-size:.88rem;color:var(--mut);line-height:1.25;display:block}
.rs-p{font-weight:800;font-size:1.1rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.rs-p s{display:block;font-weight:500;font-size:.8rem;color:var(--mut)}
.nomatch{font-size:1.3rem;color:var(--redtx);padding-bottom:30px}
.rcol{max-width:1240px;margin:0 auto;padding:clamp(36px,5vw,72px) clamp(18px,4vw,56px)}
.rcol h2{font-size:clamp(1.9rem,3.2vw,2.8rem)}
.rcol ul{list-style:none;margin-top:22px;columns:2;column-gap:clamp(24px,4vw,56px)}
.rcol li{break-inside:avoid}
.rcol a{position:relative;display:block;padding:14px 26px 14px 46px;text-decoration:none;border-bottom:1px solid var(--line)}
.rcol .magnet{top:15px;left:6px;width:24px;height:24px}
.rcol b{display:block;font-weight:800}
.rcol span{font-size:.92rem;color:var(--mut)}
.rcol .ext{position:absolute;right:4px;top:18px;color:var(--blue)}
.rcol a:hover b{color:var(--blue)}
.rsamp{background:var(--tint);padding:clamp(40px,5vw,72px) max(clamp(18px,4vw,56px),calc((100% - 1128px)/2));display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:center}
.rsamp h2{font-size:clamp(1.8rem,3vw,2.6rem)}
.rsamp p{margin-top:.6em;color:var(--mut)}
.rsamp-a{display:flex;flex-wrap:wrap;gap:10px}

/* reading */
.read{max-width:72ch;margin:0 auto;padding:clamp(40px,6vw,88px) 20px clamp(56px,8vw,110px)}
.read h1{line-height:1.03;font-size:clamp(2.35rem,4.8vw,4.1rem)}
.read .lede{margin-bottom:1.4em}
.read h2{font-weight:800;font-size:clamp(1.45rem,2.2vw,1.8rem);line-height:1.14;letter-spacing:-.02em;margin:1.8em 0 .5em}
.read p{margin-bottom:.9em;line-height:1.62}
.read ul,.read ol{padding-left:1.25em;margin-bottom:1em}
.read li{margin-bottom:.42em;line-height:1.5}
.read ul li::marker{color:var(--red)}
.read ol li::marker{color:var(--blue);font-weight:800}
.read a:not(.btn):not(.btn-o){color:var(--blue)}
.read-a{display:flex;flex-wrap:wrap;gap:10px;margin-top:2em}
.m-wrap{position:relative}
.margin{position:absolute;left:calc(100% + 34px);top:.2em;width:190px;color:var(--redtx);font-size:1rem;line-height:1.3;rotate:-1.6deg;font-weight:500}

/* contact */
.ct .fr{border-radius:0;padding:0 14px 14px;box-shadow:none;background:var(--alu-s)}
.ct .cp.a,.ct .cp.b{display:none}
.ct-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);padding:clamp(30px,5vw,72px) clamp(20px,4vw,56px)}
.ct-w{list-style:none;margin-top:clamp(20px,3vw,36px)}
.ct-w li{padding:10px 0;border-top:1px solid var(--line)}
.ct-w span{display:block;font-size:.9rem;color:var(--mut);font-weight:600}
.ct-w a{font-weight:700;font-size:clamp(1.4rem,3vw,2.4rem);line-height:1.15;color:var(--blue);text-decoration:none;overflow-wrap:anywhere}
.ct-w li:nth-child(2) a{color:var(--redtx)}
.ct-w li:nth-child(3) a{color:var(--green);font-size:clamp(1.24rem,2.5vw,2rem)}
.ct-w a:hover{text-decoration:underline}
.ct-a{margin-top:14px;color:var(--mut)}
.ct-f{padding:clamp(22px,2.6vw,32px);display:grid;gap:14px;rotate:.5deg;align-self:start}
.ct-f .note{margin:0}
.ct-f label{display:grid;gap:5px;font-weight:700;font-size:.96rem}
.ct-f input,.ct-f textarea{border:2px solid var(--ink);border-radius:var(--sk);background:#fff;padding:11px 14px;font-weight:500;min-height:46px;width:100%}
.ct-f textarea{border-radius:12px 18px 10px 16px/16px 10px 18px 12px}
.ct-f input:focus,.ct-f textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #c9d5f7}
.ct-f input::placeholder{color:#6a7280}
.ct-f button{justify-self:start;border:0}

/* legal and 404 */
.legal-wrap h1{font-weight:900;letter-spacing:-.03em;padding-bottom:.28em;background:no-repeat left bottom/220px 12px var(--sr)}
.legal-wrap h2{font-weight:800;letter-spacing:-.015em}
.legal-wrap th{background:var(--tint)}
.nf{min-height:66vh;margin:clamp(20px,4vw,48px) auto;max-width:980px;width:calc(100% - 28px);background:#fff;border:12px solid #dfe2e7;border-bottom-width:30px;box-shadow:0 22px 36px -28px rgba(20,23,31,.5),inset 0 0 0 1px #b4bbc5;border-radius:5px;position:relative}
.nf::before,.nf::after{content:"";position:absolute;top:18px;width:32px;height:32px;border-radius:50%;box-shadow:0 3px 5px rgba(20,23,31,.32)}
.nf::before{left:18px;background:radial-gradient(circle at 34% 28%,#6f8eec,#1742c4 52%,#0d2a86)}
.nf::after{right:18px;background:radial-gradient(circle at 34% 28%,#f28a8a,#d62828 52%,#8f1515)}
.nf h1{font-weight:900;letter-spacing:-.035em;padding-bottom:.3em;background:no-repeat center bottom/min(70%,360px) 13px var(--sr)}
.nf a{color:var(--blue);font-weight:700}
.nf p{color:var(--mut)}

/* footer */
.ft{background:var(--tint);box-shadow:inset 0 3px 0 #c9ced6}
.ft-in{max-width:1500px;margin:0 auto;padding:clamp(40px,5vw,64px) clamp(18px,4vw,56px);display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr) minmax(0,2.2fr) minmax(0,1.4fr);gap:32px}
.ft-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.ft-logo svg{width:34px;height:34px}
.ft-brand p{margin-top:10px;font-size:.93rem;color:var(--mut);max-width:32em}
.ft h2{font-weight:800;font-size:.98rem;margin-bottom:10px}
.ft ul{list-style:none}
.ft li{margin-bottom:6px;font-size:.93rem;line-height:1.3}
.ft li a{text-decoration:none;display:inline-block;padding:2px 0}
.ft li a:hover{text-decoration:underline;color:var(--blue)}
.ft-pol ul{columns:2;column-gap:20px}
.ft-base{max-width:1500px;margin:0 auto;padding:16px clamp(18px,4vw,56px) 24px;border-top:1px solid #c9ced6;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.85rem;color:var(--mut)}

@media (max-width:1240px){.margin{position:static;display:block;width:auto;rotate:0deg;margin-bottom:.4em;font-size:1.02rem}}
@media (max-width:1120px){.dnav{display:none}.mnav{display:block}.mnav summary{margin-right:-6px}}
@media (max-width:1040px){
.hero{min-height:0}
.bd{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
.h-copy,.h-wait,.zone{grid-column:1;grid-row:auto}
.zone{min-height:0}
.arw-l{display:none}
.zone-box path{stroke-width:2.8!important}
.tot{margin-top:18px}
.lad,.prices{grid-template-columns:minmax(0,1fr)}
.fnote,.fnote:nth-child(n){grid-column:span 6}
.lad-h{position:static}
.room{display:block}
.room-t{padding:0;margin-top:34px}
.room-s{margin-top:1em}
.pr-b{margin:30px 0 0 auto;max-width:560px}
.rpl-in{grid-template-columns:minmax(0,1fr)}
.rpl .sheet{max-width:520px}
.rhead-in,.ct-in,.rsamp{grid-template-columns:minmax(0,1fr)}
.ft-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ft-brand,.ft-pol{grid-column:1/-1}
}
@media (max-width:760px){
:root{--rail:58px}
.flow{grid-template-columns:minmax(0,1fr);gap:26px}
.st4,.st5,.st6{grid-column:auto;grid-row:auto}
.st-a,.st3 .st-a,.st4 .st-a,.st5 .st-a{display:none}
.st{display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:16px}
.st-o{grid-row:1/4}
.st h3{margin-top:2px}
.st>p,.st>ul{grid-column:2}
.ladder{--c:64px}
.rails path{stroke-width:14!important}
.r-stroke path{stroke-width:7!important}
.rg{column-gap:14px}
.r-txt h3{display:block}
.r-code{display:block}
.r-t{display:block;margin-top:2px}
.g-stroke{left:0}
.cl-photo{container-type:normal}
.ov,.ul{display:none}
.cl-m{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.cl-m p{flex-basis:100%;font-size:1.5rem;font-weight:700}
.cl-m p a{color:var(--blue);text-decoration:none}
.rcol ul{columns:1}
.rg-g{grid-template-columns:minmax(0,1fr)}
.rs a{grid-template-columns:minmax(0,1fr) auto}
.rs-c{grid-column:1/-1}
.ptable thead{display:none}
.ptable tr:not(.pg){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:9px 0;border-bottom:1px solid var(--line)}
.ptable .pg th{display:block}
.ptable tr.pg{display:block}
.ptable td{border:0;padding:0}
.pp{grid-column:2;grid-row:1;padding-left:0!important}
.pw{grid-column:2;grid-row:2;width:auto;padding-left:0!important}
.pn{grid-row:1/3}
.hero{padding:0 8px}
.rail::before,.rail::after{width:8px}
.tray{margin:0 -8px;position:sticky;bottom:0;z-index:20;height:54px}
.hero .tray-pens{display:none}
.rhead .tray,.ct .tray{height:36px}
.rhead .fr,.ct .fr{padding:0 8px 8px}
.rhead .tray,.ct .tray{position:static}
.pen{width:92px}.eraser{width:52px}.tray-pens{gap:12px}
.slip{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 18px;text-decoration:none;font-size:1.05rem;min-height:44px}
.slip b{font-size:1.6rem;font-weight:800;color:var(--redtx);font-variant-numeric:tabular-nums}
.waiting{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 12px}
.card{touch-action:auto}
.tot-a a{width:100%}
.hero h1{line-height:1.12}
.slots{gap:10px;margin-top:10px}
.slots li{height:48px}
.slots li:nth-child(n+3){display:none}
.notes{grid-template-columns:minmax(0,1fr);gap:30px}
.fnote,.fnote:nth-child(n){grid-column:auto;margin-top:0;--r:0deg}
.wait-t{margin:0 0 20px;white-space:normal}
.t-d{display:none}
.t-m{display:inline}
.presets>.hand{flex-basis:100%}
.ft-in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
.strip{display:none}
.wm{font-size:1.1rem}
.waiting{grid-template-columns:minmax(0,1fr)}
.waiting .card{rotate:0deg}
.waiting .c-desc{font-size:.9rem}
.find-r{flex-wrap:wrap}
.find input[type=search]{flex-basis:100%}
.find button{flex:1;border-radius:0 0 6px 6px}
.inset .card label{padding-left:36px}
.inset .c-open{padding-left:36px}
.ft-pol ul{columns:1}
.r-spec li{display:block}
.r-spec span{display:block}
.r-spec a{display:inline-block;margin-top:2px;min-height:28px}
}
