/* nickcresner.com v2 "Field Survey". Nick Cresner, Digital & AI Services (draft) */
:root{
  --ink:#14213D;--ink-2:#1d2d52;--cobalt:#2D5BE3;--ice:#E9EFFC;--graphite:#4B5563;--line:#E2E5EA;--mist:#F5F6F8;
  --paper:#F3EFE6;--paper-2:#EAE3D3;--rule:#D8CFBC;
  --signal:#FF5A1F;          /* Survey Orange: graphics, and text on navy only */
  --signal-ink:#B53A0C;      /* orange for text on paper (AA) */
  --wrap:1280px;--g:clamp(20px,4vw,48px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --head:"Manrope",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --hand:"Caveat","Comic Sans MS",cursive;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .1 0 0 0 0 .2 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;font:400 17px/1.65 var(--body);color:var(--ink);background:var(--paper) var(--grain);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
h1,h2,h3{margin:0;color:inherit}
p,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:3px}
.dark :focus-visible{outline-color:var(--signal)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--g)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:6px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.mono{font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.hand{font-family:var(--hand);font-weight:600}
.ph{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:#fff;border:1.5px dashed var(--ink);padding:6px 9px;border-radius:4px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;font:700 16px/1.1 var(--head);text-decoration:none;border-radius:999px;border:2px solid var(--ink);transition:transform .2s var(--ease),background-color .2s,color .2s,box-shadow .2s}
.btn-pin{background:var(--signal);color:var(--ink);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.btn-pin:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn svg{width:18px;height:18px;flex:none}

/* Header: a map sheet edge */
.site-header{position:sticky;top:0;z-index:60;background:rgba(243,239,230,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.hdr{display:flex;align-items:center;gap:20px;height:68px}
.brand{flex:none}.brand img{height:38px;width:auto}
.sheet{color:var(--graphite);border-left:1.5px solid var(--rule);padding-left:18px;white-space:nowrap}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{font:600 15px/1 var(--head);text-decoration:none;padding:10px 12px;border-radius:999px}
.nav a:not(.btn):hover{background:var(--paper-2)}
.nav .btn{min-height:42px;padding:9px 18px;margin-left:8px;font-size:15px;box-shadow:3px 3px 0 var(--ink)}

/* HERO */
.hero{position:relative;overflow:hidden;border-bottom:2px solid var(--ink);isolation:isolate}
.contours{position:absolute;inset:-40px;z-index:-2;pointer-events:none;transform:translate3d(var(--px,0px),var(--py,0px),0);transition:transform .6s var(--ease)}
.contours img{width:100%;height:100%;object-fit:cover}
.frame{position:absolute;inset:14px;z-index:-1;pointer-events:none;border:1.5px solid rgba(20,33,61,.35);
  background:
   repeating-linear-gradient(90deg,rgba(20,33,61,.45) 0 1.5px,transparent 1.5px 80px) top/100% 8px no-repeat,
   repeating-linear-gradient(90deg,rgba(20,33,61,.45) 0 1.5px,transparent 1.5px 80px) bottom/100% 8px no-repeat,
   repeating-linear-gradient(180deg,rgba(20,33,61,.45) 0 1.5px,transparent 1.5px 80px) left/8px 100% no-repeat,
   repeating-linear-gradient(180deg,rgba(20,33,61,.45) 0 1.5px,transparent 1.5px 80px) right/8px 100% no-repeat}
.frame .c{position:absolute;color:var(--graphite);font:500 10.5px/1 var(--mono);letter-spacing:.08em;background:var(--paper);padding:2px 6px}
.frame .c.tl{top:-7px;left:28px}.frame .c.br{bottom:-7px;right:28px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,64px);align-items:center;padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(56px,6vw,88px)}
.kicker{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;color:var(--ink);margin-bottom:18px}
.kicker .tag{background:var(--ink);color:#fff;padding:5px 9px;border-radius:3px}
h1.big{font:900 clamp(64px,10.2vw,156px)/.84 var(--display);text-transform:uppercase;letter-spacing:-.005em;margin:0 0 22px}
h1.big .l{display:block}
h1.big .o{color:var(--paper);-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill}
h1.big .dot{color:var(--signal);-webkit-text-stroke:0}
.lead{font-size:clamp(18px,1.55vw,21px);line-height:1.5;max-width:31em;margin-bottom:28px}
.lead b{font-weight:600}
.cta{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center}
.here{position:absolute;z-index:-1;left:44%;top:15%;display:flex;align-items:flex-start;gap:10px;pointer-events:none}
.pin{width:30px;height:42px;flex:none}
.here .mono{background:var(--paper);border:1.5px solid var(--ink);padding:6px 8px;margin-top:-6px;font-size:10.5px;line-height:1.5}
.pulse{transform-origin:15px 15px;animation:pulse 2.4s var(--ease) infinite}
@keyframes pulse{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.4);opacity:0}}

/* Sketch to prototype device */
.device{position:relative;margin:0}
.paper-card{position:relative;background:#FBF9F4;border:2px solid var(--ink);border-radius:6px;box-shadow:10px 10px 0 var(--ink);transform:rotate(1.4deg)}
.paper-card::before,.paper-card::after{content:"";position:absolute;width:86px;height:26px;background:rgba(255,90,31,.55);top:-13px;z-index:3}
.paper-card::before{left:26px;transform:rotate(-6deg)}.paper-card::after{right:30px;transform:rotate(5deg)}
.stage{position:relative;aspect-ratio:520/380;overflow:hidden;border-radius:4px;--v:50}
.stage svg{position:absolute;inset:0;width:100%;height:100%}
.layer-sketch{background:
  linear-gradient(rgba(45,91,227,.12) 1px,transparent 1px) 0 0/20px 20px,
  linear-gradient(90deg,rgba(45,91,227,.12) 1px,transparent 1px) 0 0/20px 20px,#FBF9F4}
.layer-sketch path{fill:none;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round}
.layer-sketch .notes text{font:600 21px var(--hand);fill:var(--signal-ink)}
.layer-sketch .arrow{stroke:var(--signal-ink);stroke-width:2}
.layer-proto{clip-path:inset(0 calc((100 - var(--v)) * 1%) 0 0)}
.layer-proto .p-brand{font:800 12px var(--head);letter-spacing:.12em;fill:var(--ink)}
.layer-proto .p-nav{font:600 11px var(--body);fill:var(--graphite)}
.layer-proto .p-navbtn{font:700 11px var(--body);fill:#fff}
.layer-proto .p-h{font:800 28px var(--head);letter-spacing:-.02em;fill:var(--ink)}
.layer-proto .p-t{font:400 12.5px var(--body);fill:var(--graphite)}
.layer-proto .p-btn{font:700 13px var(--body);fill:#fff}
.layer-proto .p-c{font:700 11px var(--head);fill:var(--ink)}
.split{position:absolute;top:0;bottom:0;left:calc(var(--v) * 1%);width:0;border-left:2px dashed var(--signal);pointer-events:none;z-index:2}
.split::after{content:"";position:absolute;top:50%;left:-19px;width:36px;height:36px;margin-top:-18px;border-radius:50%;background:var(--signal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314213D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6-5 6 5 6M15 6l5 6-5 6'/%3E%3C/svg%3E") center/20px no-repeat;border:2px solid var(--ink)}
.stage-tag{position:absolute;bottom:10px;z-index:2;font:500 10.5px/1 var(--mono);letter-spacing:.1em;padding:5px 7px;border-radius:3px;pointer-events:none}
.stage-tag.a{left:10px;background:var(--ink);color:#fff}.stage-tag.b{right:10px;background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}
.range:focus-visible + .split::after{outline:3px solid var(--cobalt);outline-offset:3px}
.device figcaption{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-top:22px;padding:0 4px}
.device figcaption .hand{font-size:25px;line-height:1.1;color:var(--signal-ink);max-width:15em;transform:rotate(-1.5deg)}
.device figcaption .mono{color:var(--graphite);text-align:right;flex:none}

/* sketch draws itself (motion only) */
.motion .layer-sketch path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s var(--ease) forwards;animation-delay:var(--d)}
.motion .layer-sketch .notes text{opacity:0;animation:fade .5s ease forwards;animation-delay:1.6s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:1}}

/* cursor coordinate readout */
.readout{position:fixed;left:0;top:0;z-index:70;pointer-events:none;font:500 10.5px/1.3 var(--mono);letter-spacing:.06em;background:var(--ink);color:#fff;padding:5px 7px;border-radius:3px;opacity:0;transition:opacity .2s;white-space:nowrap}
.readout.on{opacity:1}
.readout::before{content:"";position:absolute;left:-14px;top:-14px;width:12px;height:12px;border-left:1.5px solid var(--ink);border-top:1.5px solid var(--ink)}

/* Services band (5-second clarity) */
.band{background:var(--ink);color:#fff;border-bottom:2px solid var(--ink);overflow:hidden}
.band ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;padding-top:18px;padding-bottom:18px}
.band li{font:800 clamp(18px,1.9vw,26px)/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center}
.band li+li::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--signal);margin:0 18px}

/* Section scaffolding */
.sec{padding:clamp(72px,10vw,136px) 0;position:relative}
.sec-no{display:flex;align-items:center;gap:12px;color:var(--graphite);margin-bottom:18px}
.sec-no b{display:inline-grid;place-items:center;width:30px;height:30px;border:1.5px solid currentColor;border-radius:50%;font-weight:500}
h2.big{font:900 clamp(48px,7.4vw,112px)/.88 var(--display);text-transform:uppercase;letter-spacing:-.005em}
.sub{font-size:clamp(17px,1.4vw,20px);max-width:34em;margin-top:18px}

/* THE ROUTE: services as a line map */
.route-sec{background:var(--ink) var(--grain);color:#E7ECF7}
.route-sec .sec-no{color:#AEBBDA}
.route-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.route-key{border:1.5px solid rgba(255,255,255,.3);padding:14px 16px;border-radius:6px;display:grid;gap:8px;font:500 11.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#C9D2E6}
.route-key span{display:flex;align-items:center;gap:10px}
.route-key i{display:inline-block;width:28px;height:7px;border-radius:4px;background:var(--signal)}
.route-key i.n{width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--ink);box-shadow:0 0 0 2px #fff}
.route-key i.x{width:26px;height:16px;border-radius:9px;background:#fff;border:4px solid var(--ink);box-shadow:0 0 0 2px #fff}
.route{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));height:560px}
.route::before{content:"";position:absolute;left:0;right:0;top:calc(50% - 6px);height:12px;border-radius:6px;background:var(--signal);transform-origin:left center}
.motion .route::before{transform:scaleX(0);transition:transform 1.6s var(--ease)}
.motion .route.in::before{transform:scaleX(1)}
.stop{position:relative}
.node{position:absolute;left:18px;top:calc(50% - 15px);width:30px;height:30px;border-radius:50%;background:#fff;border:7px solid var(--ink);box-shadow:0 0 0 3px #fff;z-index:2}
.stop.x .node{width:54px;border-radius:15px}
.stop .copy{position:absolute;left:4px;width:min(300px,190%);padding-left:16px;border-left:2px solid rgba(255,255,255,.35)}
.stop:nth-child(odd) .copy{bottom:calc(50% + 34px)}
.stop:nth-child(even) .copy{top:calc(50% + 34px)}
.stop:last-child .copy{left:auto;right:0;width:min(270px,170%)}
.stop .num{color:var(--signal);margin-bottom:8px;display:block}
.stop h3{font:800 clamp(21px,1.8vw,26px)/1.1 var(--head);color:#fff;margin-bottom:8px;letter-spacing:-.01em}
.stop p{font-size:15.5px;line-height:1.5;color:#C9D2E6}
.motion .stop .copy{opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(.35s + var(--i) * .18s)}
.motion .route.in .stop .copy{opacity:1;transform:none}
.r-note{position:absolute;font:600 24px/1.05 var(--hand);color:var(--signal);pointer-events:none;white-space:nowrap}
.r-note.n1{left:-4px;top:calc(50% + 26px);transform:rotate(-4deg)}
.r-note.n2{right:2%;top:calc(50% - 64px);transform:rotate(3deg);text-align:right}

/* FIELD METHOD: notebook */
.method-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:clamp(36px,5vw,60px)}
.notebook{position:relative;background:#FBF9F4;border:2px solid var(--ink);border-radius:6px;padding:28px 28px 28px clamp(64px,7vw,92px);
  background-image:linear-gradient(90deg,transparent calc(clamp(64px,7vw,92px) - 18px),rgba(255,90,31,.7) calc(clamp(64px,7vw,92px) - 18px) calc(clamp(64px,7vw,92px) - 16px),transparent 0),repeating-linear-gradient(180deg,transparent 0 33px,rgba(45,91,227,.16) 33px 34px);
  box-shadow:-8px 8px 0 var(--paper-2),-9px 9px 0 var(--ink)}
.notebook li{position:relative;padding:14px 0 18px;border-bottom:1.5px dashed var(--rule)}
.notebook li:last-child{border-bottom:0}
.notebook .n{position:absolute;left:calc(-1 * clamp(52px,6vw,78px));top:8px;font:600 40px/1 var(--hand);color:var(--signal-ink)}
.notebook h3{font:900 clamp(30px,3vw,40px)/1 var(--display);text-transform:uppercase;letter-spacing:.01em;margin-bottom:6px}
.notebook p{max-width:36em}
.notebook .aside{display:inline-block;font:600 22px/1.1 var(--hand);color:var(--signal-ink);margin-top:6px;transform:rotate(-1.5deg)}
.method-side .stamp{display:grid;gap:4px;border:5px double var(--signal-ink);color:var(--signal-ink);padding:22px 24px;transform:rotate(-5deg);font:900 clamp(34px,3.6vw,52px)/.92 var(--display);text-transform:uppercase;text-align:center;border-radius:10px;margin:12px 6px 36px;background:rgba(255,90,31,.06)}
.stamp small{font:500 11px/1.3 var(--mono);letter-spacing:.14em;margin-top:8px;color:var(--ink)}
.method-side p{font-size:17px}
.method-side p + p{margin-top:14px}
.method-side .hand{font-size:28px;line-height:1.1;color:var(--ink);display:block;margin-top:22px;transform:rotate(-2deg)}

/* LEGEND / ABOUT */
.legend-sec{background:var(--paper-2) var(--grain);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.legend-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(36px,6vw,88px);align-items:start}
.polaroid{position:relative;background:#fff;padding:14px 14px 58px;border:2px solid var(--ink);transform:rotate(-3deg);box-shadow:8px 8px 0 var(--ink);max-width:400px}
.polaroid .shot{aspect-ratio:4/5;background:var(--ink) url("../img/contours.svg") center/cover;display:grid;place-items:center;position:relative;overflow:hidden}
.polaroid .shot::before{content:"";position:absolute;inset:0;background:rgba(20,33,61,.86)}
.polaroid .shot img{position:relative;width:34%}
.polaroid .cap{position:absolute;left:18px;right:18px;bottom:14px;font:600 25px/1 var(--hand);display:flex;justify-content:space-between;align-items:center}
.polaroid .ph{position:absolute;top:24px;left:24px}
.polaroid::before{content:"";position:absolute;width:110px;height:28px;background:rgba(255,90,31,.55);top:-14px;left:50%;margin-left:-55px;transform:rotate(3deg)}
.quote{font:900 clamp(40px,5.4vw,82px)/.9 var(--display);text-transform:uppercase;margin-bottom:28px}
.quote em{font-style:normal;color:var(--signal-ink)}
.intro{font-size:clamp(18px,1.5vw,21px);line-height:1.5;margin-bottom:28px;max-width:34em}
.key{border-top:2px solid var(--ink)}
.key li{display:grid;grid-template-columns:56px 128px minmax(0,1fr);gap:16px;align-items:start;padding:16px 0;border-bottom:1.5px solid var(--rule)}
.key svg{width:40px;height:40px}
.key .yr{color:var(--graphite);padding-top:4px}
.key h3{font:800 18px/1.25 var(--head);margin-bottom:3px}
.key p{font-size:15.5px;line-height:1.5;color:#33405a}

/* UNCHARTED: work placeholders */
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,32px);margin-top:clamp(36px,5vw,56px)}
.tile{border:2px solid var(--ink);border-radius:6px;background:#FBF9F4;overflow:hidden}
.tile .map{position:relative;aspect-ratio:16/8;border-bottom:2px solid var(--ink);
  background:repeating-linear-gradient(135deg,rgba(20,33,61,.13) 0 2px,transparent 2px 14px),#FBF9F4;display:grid;place-items:center}
.tile .map span{font:900 clamp(28px,3vw,40px)/1 var(--display);text-transform:uppercase;background:#FBF9F4;padding:8px 14px;border:2px solid var(--ink);transform:rotate(-2deg)}
.tile .map .q{position:absolute;right:18px;bottom:12px;font:600 26px var(--hand);color:var(--signal-ink);background:none;border:0;transform:rotate(-6deg);padding:0}
.tile .body{padding:22px 24px 26px}
.tile .ph{margin-bottom:12px}
.tile h3{font:800 21px/1.25 var(--head);margin-bottom:6px}
.tile p{font-size:16px;color:#33405a}

/* CONTACT: drop a pin */
.contact{background:var(--ink);color:#E7ECF7;position:relative;overflow:hidden;isolation:isolate}
.contact .contours{inset:0;filter:invert(1);opacity:.5}
.contact .sec-no{color:#AEBBDA}
.contact h2.big{color:#fff;font-size:clamp(64px,12vw,184px)}
.contact h2 .dot{color:var(--signal)}
.mail{display:inline-block;margin:clamp(24px,3vw,40px) 0 10px;font:800 clamp(30px,6.4vw,96px)/1 var(--display);color:#fff;text-decoration:none;text-transform:lowercase;letter-spacing:.005em;border-bottom:6px solid var(--signal);padding-bottom:6px;overflow-wrap:anywhere;transition:color .2s}
.mail:hover{color:var(--signal)}
.contact .sub{color:#C9D2E6}
.c-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px;align-items:center}
.contact .btn-pin{border-color:#fff;box-shadow:4px 4px 0 #fff}
.contact .btn-pin:hover{box-shadow:6px 6px 0 #fff}
.li-ph{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 20px;border:2px dashed rgba(255,255,255,.55);border-radius:999px;font:600 15px var(--head);color:#C9D2E6}
.li-ph svg{width:18px;height:18px}
.big-pin{position:absolute;right:clamp(10px,7vw,120px);top:clamp(60px,9vw,130px);width:clamp(90px,12vw,170px);z-index:-1}

/* Footer */
.foot{background:var(--ink);color:#AEBBDA;border-top:1.5px solid rgba(255,255,255,.18)}
.foot-in{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:center;justify-content:space-between;padding-top:28px;padding-bottom:34px}
.foot img{height:34px;width:auto}
.scale{display:flex;align-items:center;gap:12px}
.scale .bar{display:flex;height:9px;width:150px;border:1.5px solid #AEBBDA}
.scale .bar i{flex:1}.scale .bar i:nth-child(odd){background:#AEBBDA}
.foot a{color:#fff}

/* Reveal */
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.motion .rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .pulse{animation:none;opacity:0}
  .contours{transition:none;transform:none}
  *{transition-duration:.01ms!important}
}

/* Responsive */
@media (max-width:1180px){.sheet{display:none}}
@media (max-width:1020px){
  .nav a:not(.btn){display:none}
  .hero-grid{grid-template-columns:1fr}
  .here{left:auto;right:6%;top:24%}
  .device{max-width:620px}
  .route{grid-template-columns:1fr;height:auto;padding-left:0}
  .route::before{left:23px;right:auto;top:0;bottom:0;width:12px;height:auto;transform-origin:top center}
  .motion .route::before{transform:scaleY(0)}
  .motion .route.in::before{transform:scaleY(1)}
  .stop{padding:0 0 40px 76px;min-height:60px}
  .stop:last-child{padding-bottom:0}
  .node{left:14px;top:2px}
  .stop.x .node{width:30px;height:54px;border-radius:15px}
  .stop .copy,.stop:last-child .copy{position:static;width:auto;border-left:0;padding-left:0;text-align:left}
  .r-note{position:static;display:block;margin:8px 0 0;transform:rotate(-2deg)!important;text-align:left!important}
  .r-note.n1{display:none}
  .method-grid,.legend-grid{grid-template-columns:1fr}
  .route-head{grid-template-columns:1fr}
}
@media (max-width:700px){
  body{font-size:16.5px}
  .hdr{height:62px;gap:12px}
  .brand img{height:32px}
  .nav .btn{padding:8px 14px;min-height:40px;font-size:14px;margin-left:0}
  .frame{inset:8px}
  h1.big{font-size:clamp(58px,19vw,96px);margin-bottom:18px}
  h1.big .o{-webkit-text-stroke-width:2px}
  .here{top:14px;right:16px}
  .here .mono{display:none}
  .cta .btn{flex:1 1 100%}
  .paper-card{transform:rotate(.8deg);box-shadow:6px 6px 0 var(--ink)}
  .device figcaption{flex-direction:column;align-items:flex-start}
  .device figcaption .mono{text-align:left}
  .band ul{justify-content:flex-start;padding-top:16px;padding-bottom:16px}
  .band li{font-size:19px}
  .band li+li::before{margin:0 11px}
  .tiles{grid-template-columns:1fr}
  .key li{grid-template-columns:44px minmax(0,1fr);gap:4px 14px}
  .key li .yr{grid-column:2;padding:0}
  .key li > div{grid-column:2}
  .key svg{width:36px;height:36px;grid-row:span 2}
  .notebook{padding:22px 18px 22px 58px;box-shadow:-5px 5px 0 var(--paper-2),-6px 6px 0 var(--ink)}
  .notebook .n{left:-46px;font-size:34px}
  .polaroid{max-width:300px;margin:0 auto 10px}
  .stamp{margin:8px 10px 30px}
  .mail{font-size:clamp(24px,9.2vw,60px);border-bottom-width:4px}
  .big-pin{top:72px;right:18px;width:62px}
  .foot-in{flex-direction:column;align-items:flex-start}
}
@media (max-width:360px){.brand img{height:28px}.nav .btn{padding:8px 11px}}
