:root { --ink:#3f5f4a; --ink-soft:#526a58; --paper:#f6f0e7; --cream:#e6d7c4; --white:#fffaf3; --line:rgba(63,95,74,.2); --aqua:#d5c2ad; --acid:#ead8b7; --coral:#b94b43; --brown:#60463a; --muted:#6f7e70; --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace; --sans:"Manrope",system-ui,sans-serif; --serif:"Playfair Display",Georgia,serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; } a { color:inherit; } button,input,textarea,select { font:inherit; } button,a,select { -webkit-tap-highlight-color:transparent; } button { cursor:pointer; } .grain { position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.topbar { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:70px; padding:0 4.2vw; color:var(--paper); background:rgba(36,37,39,.97); border-bottom:1px solid rgba(255,255,255,.12); } .brand { display:flex; align-items:center; gap:9px; text-decoration:none; white-space:nowrap; } .brand-mark { display:flex; align-items:flex-end; gap:3px; width:22px; height:21px; transform:skew(-16deg); } .brand-mark i { display:block; width:5px; border-radius:4px 4px 1px 1px; background:var(--aqua); } .brand-mark i:nth-child(1){height:9px;opacity:.7}.brand-mark i:nth-child(2){height:16px}.brand-mark i:nth-child(3){height:21px;background:var(--coral)} .brand-name { font-size:13px; letter-spacing:.12em; font-weight:800; }.brand-slash{color:var(--coral);font-weight:700}.brand-sub{font-family:var(--mono);font-size:10px;color:rgba(243,239,230,.64);letter-spacing:.08em}.topnav{display:flex;gap:26px;align-items:center;margin-left:auto}.nav-link{color:rgba(243,239,230,.62);text-decoration:none;font-size:13px;font-weight:600;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--aqua)}.top-actions{display:flex;gap:16px;align-items:center}.status-dot,.language-toggle{font-family:var(--mono);font-size:10px;letter-spacing:.02em}.status-dot{color:rgba(243,239,230,.62)}.status-dot span,.live-label span,.network-pill span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);margin-right:4px;box-shadow:0 0 0 3px rgba(230,227,152,.1)}.language-toggle{padding:8px 10px;color:var(--paper);border:1px solid rgba(255,255,255,.25);border-radius:999px;background:transparent}.language-toggle i{color:var(--coral);margin:0 4px;font-style:normal}.language-toggle strong{color:var(--aqua);font-weight:500}
.intro-wrap{padding:36px 4.2vw 64px;background:var(--paper)}.eyebrow,.prototype-label-row,.prototype-caption{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted)}.eyebrow{display:flex;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.eyebrow span:first-child{color:var(--coral)}.intro-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:clamp(40px,10vw,160px);padding:68px 0 54px}.kicker,.small-label,.card-tag,.section-number{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}.intro-copy h1{max-width:830px;margin:16px 0 22px;font-size:clamp(48px,7vw,104px);line-height:.98;letter-spacing:-.065em;font-weight:700}.intro-copy h1 em{color:var(--coral);font-family:var(--serif);font-weight:500;letter-spacing:-.08em}.intro-lede{max-width:630px;color:var(--ink-soft);font-size:clamp(17px,1.6vw,21px);line-height:1.5}.intro-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.intro-meta b{color:var(--ink);font-weight:500;margin-right:5px}.principle-card{align-self:end;position:relative;min-height:365px;padding:20px 22px;color:var(--paper);background:var(--ink);overflow:hidden}.principle-card:after{content:"";position:absolute;width:320px;height:320px;right:-160px;bottom:-170px;border:1px solid rgba(169,217,209,.35);border-radius:50%;box-shadow:0 0 0 26px rgba(169,217,209,.04),0 0 0 52px rgba(169,217,209,.03)}.principle-top{display:flex;justify-content:space-between}.principle-card .small-label{color:var(--aqua)}.number-mark{color:var(--coral);font-family:var(--mono)}.route-orbit{position:relative;width:210px;height:190px;margin:25px auto 12px}.orbit-ring{position:absolute;border:1px solid rgba(169,217,209,.5);border-radius:50%;transform:rotate(-26deg)}.ring-a{width:180px;height:95px;top:44px;left:15px}.ring-b{width:150px;height:150px;top:20px;left:30px;border-color:rgba(230,227,152,.32)}.orbit-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--mono);font-size:10px}.orbit-center b{color:var(--coral);font-size:19px}.orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--coral)}.dot-a{top:41px;right:22px}.dot-b{bottom:24px;left:30px;background:var(--aqua)}.dot-c{top:16px;left:68px;width:6px;height:6px;background:var(--acid)}.principle-card p{position:relative;z-index:1;margin:20px 0 0;max-width:280px;font:500 22px/1.24 var(--serif)}.source-stamp{position:absolute;bottom:20px;left:22px;color:rgba(243,239,230,.5);font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.prototype-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.prototype-label-row>div{display:flex;align-items:center;gap:11px}.prototype-rule{display:inline-block;width:46px;height:1px;background:var(--coral)}.prototype-note{color:var(--ink)}.jump-link{color:var(--ink);text-decoration:none}.jump-link span{color:var(--coral);margin-left:7px;font-size:15px}
.field-app{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.6fr);min-height:670px;border:1px solid var(--ink);background:var(--white);box-shadow:14px 14px 0 var(--aqua)}.app-pane{padding:24px 27px 0}.app-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--line)}.mini-brand{display:flex;align-items:center;gap:7px;font-weight:800;font-size:15px;letter-spacing:-.03em}.mini-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--ink);background:var(--acid);font-size:17px;transform:rotate(-12deg)}.location-picker{position:relative;color:var(--muted);font-family:var(--mono);font-size:10px}.location-picker select{appearance:none;min-width:150px;padding:6px 22px 6px 10px;color:var(--ink);border:1px solid var(--line);border-radius:5px;background:transparent;font-family:var(--mono);font-size:10px}.chevron{position:absolute;top:5px;right:8px;pointer-events:none}.network-pill{font-family:var(--mono);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.network-pill span{background:#46a982}.app-greeting{display:flex;align-items:flex-start;justify-content:space-between;padding:35px 0 21px}.app-overline{margin:0 0 9px;color:var(--coral);font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.app-greeting h2,.view-title h2{max-width:500px;margin:0;font-size:clamp(24px,2.7vw,37px);line-height:1.04;letter-spacing:-.055em}.date-chip{display:flex;align-items:center;gap:5px;color:var(--ink);font-family:var(--mono);font-size:20px;line-height:1}.date-chip small{color:var(--coral);font-size:9px;letter-spacing:.08em}.route-card{padding:19px 20px 17px;color:var(--paper);background:var(--ink)}.route-head,.route-main,.meter-label{display:flex;align-items:center;justify-content:space-between;gap:15px}.route-badge,.route-time{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.route-badge{display:flex;align-items:center;gap:7px;color:var(--acid)}.route-badge>span:first-child{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(231,111,81,.16)}.route-time{color:rgba(243,239,230,.5)}.route-main{align-items:flex-end;margin:25px 0 18px}.route-title{margin:0 0 6px;font-size:21px;line-height:1.15;letter-spacing:-.03em}.route-copy{max-width:450px;margin:0;color:rgba(243,239,230,.62);font-size:13px}.route-meter{flex:0 0 140px}.meter-label{margin-bottom:6px;color:rgba(243,239,230,.55);font-family:var(--mono);font-size:9px;text-transform:uppercase}.meter-label b{color:var(--aqua);font-size:12px;font-weight:500}.meter-track{height:5px;background:rgba(255,255,255,.14)}.meter-track span{display:block;width:28%;height:100%;background:linear-gradient(90deg,var(--aqua),var(--acid))}.primary-btn,.secondary-btn,.outline-btn,.text-btn{border:0;border-radius:4px}.primary-btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:11px 14px;color:var(--ink);background:var(--acid);font-size:12px;font-weight:800;transition:transform .2s,background .2s}.primary-btn:hover{transform:translateY(-2px);background:#f3f0ae}.primary-btn.is-started{color:var(--paper);background:#36786e}.btn-icon{font-size:14px}.filter-row{display:flex;align-items:center;gap:8px;margin:25px 0 14px}.filter-row .small-label{margin-right:4px}.category-filter{padding:7px 11px;color:var(--muted);border:1px solid var(--line);border-radius:99px;background:transparent;font-size:10px}.category-filter.active,.category-filter:hover{color:var(--ink);border-color:var(--ink);background:var(--cream)}.place-list{border-top:1px solid var(--line)}.place-row{display:flex;align-items:center;gap:12px;min-height:65px;padding:8px 0;border-bottom:1px solid var(--line)}.place-row.filtered-out{display:none}.place-icon{display:flex;flex:0 0 32px;align-items:center;justify-content:center;width:32px;height:32px;color:var(--ink);border-radius:50%;font-size:16px}.place-icon.food{background:var(--coral)}.place-icon.market{background:var(--aqua)}.place-icon.craft{background:var(--acid)}.place-row>div{display:flex;flex-direction:column}.place-row b{font-size:13px}.place-row small{color:var(--muted);font-size:11px}.save-place{margin-left:auto;width:25px;height:25px;color:var(--coral);border:1px solid var(--line);border-radius:50%;background:transparent;line-height:1}.save-place.saved{color:var(--ink);border-color:var(--acid);background:var(--acid)}.hidden{display:none!important}.view-title{padding:43px 0 25px}.view-title p{max-width:500px;margin:13px 0 0;color:var(--muted);font-size:13px}.saved-list{min-height:155px;border-top:1px solid var(--line)}.empty-state{padding:20px 0;color:var(--muted);font-size:13px}.saved-place{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.saved-place button{color:var(--coral);border:0;background:transparent;font-size:15px}.secondary-btn{display:flex;align-items:center;gap:9px;margin-top:24px;padding:11px 14px;color:var(--ink);border:1px solid var(--ink);background:transparent;font-size:12px;font-weight:700}.secondary-btn:hover{background:var(--acid)}.ethics-list{border-top:1px solid var(--line)}.ethics-list>div{display:grid;grid-template-columns:35px 1fr;gap:8px;padding:15px 0;border-bottom:1px solid var(--line)}.ethics-list span{color:var(--coral);font-family:var(--mono);font-size:10px}.ethics-list b{font-size:14px}.ethics-list small{grid-column:2;color:var(--muted);font-size:11px}.app-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:31px 0 0;padding:5px;background:var(--cream)}.app-tab{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 7px;color:var(--muted);border:0;background:transparent;font-size:11px}.app-tab span:first-child{color:var(--coral);font-size:13px}.app-tab.active{color:var(--ink);background:var(--white);box-shadow:0 1px 4px rgba(36,37,39,.12);font-weight:700}.app-side{display:flex;flex-direction:column;padding:28px 23px 21px;color:var(--paper);background:#363b3c}.side-head{display:flex;justify-content:space-between}.app-side .small-label{color:var(--aqua)}.live-label{color:var(--acid);font-family:var(--mono);font-size:9px;text-transform:uppercase}.live-label span{width:5px;height:5px;background:var(--acid)}.balance-total{display:flex;align-items:baseline;gap:7px;margin:47px 0 11px}.balance-total strong{font-size:75px;line-height:.9;letter-spacing:-.09em;font-weight:700}.balance-total>span{max-width:100px;color:rgba(243,239,230,.6);font-size:11px;line-height:1.15}.balance-bars{display:flex;align-items:end;gap:4px;height:95px;border-bottom:1px solid rgba(255,255,255,.22)}.balance-bars span{flex:1;background:var(--aqua);opacity:.75}.balance-bars span:nth-child(4n){background:var(--acid)}.balance-note{display:flex;gap:7px;margin-top:12px;color:var(--aqua);font-family:var(--mono);font-size:9px}.balance-note>span:first-child{color:var(--acid)}.side-divider{height:1px;margin:35px 0 21px;background:rgba(255,255,255,.18)}.side-question{margin:0 0 13px;font-size:14px}.support-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.support-actions button{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:83px;padding:12px 11px;color:var(--paper);border:1px solid rgba(255,255,255,.26);border-radius:3px;background:transparent;text-align:left;font-size:10px}.support-actions button span:first-child{display:flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--ink);border-radius:50%;background:var(--aqua);font-size:12px}.support-actions button:last-child span:first-child{color:var(--ink);background:var(--coral)}.support-actions button:hover,.support-actions button.selected{border-color:var(--aqua);background:rgba(169,217,209,.1)}.side-footer{display:flex;gap:9px;align-items:center;margin-top:auto;color:rgba(243,239,230,.5);font-family:var(--mono);font-size:9px}.tiny-signal{color:var(--acid);letter-spacing:-.08em}.prototype-caption{display:flex;align-items:center;gap:9px;margin-top:17px}.caption-dot{width:5px;height:5px;border-radius:50%;background:var(--coral)}.caption-line{flex:1;max-width:74px;height:1px;background:var(--line)}
.section{padding:106px 4.2vw}.section-dark{color:var(--paper);background:var(--ink)}.section-cream{background:var(--cream)}.section-paper{background:var(--paper)}.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.65fr);align-items:end;gap:50px;margin-bottom:52px}.section-heading h2{max-width:740px;margin:13px 0 0;font-size:clamp(37px,5vw,70px);line-height:.98;letter-spacing:-.065em}.section-heading p{max-width:470px;margin:0;color:var(--muted);font-size:16px}.section-heading.light p{color:rgba(243,239,230,.6)}.section-number{color:var(--coral)}.research-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}.research-card{min-height:405px;padding:21px 20px;background:var(--ink)}.research-card.feature{color:var(--ink);background:var(--aqua)}.research-card .card-tag{color:var(--aqua)}.research-card.feature .card-tag{color:var(--ink)}.big-stat{margin:48px 0 17px;font-size:clamp(65px,8vw,112px);line-height:.8;letter-spacing:-.1em}.big-stat span{color:var(--coral);font-size:.4em;vertical-align:top;letter-spacing:-.04em}.research-card h3{margin:48px 0 11px;font-size:19px;line-height:1.25;letter-spacing:-.04em}.research-card.feature h3{margin-top:0}.research-card p{margin:0;color:rgba(243,239,230,.6);font-size:13px}.research-card.feature p{color:rgba(36,37,39,.72)}.research-card a{display:inline-block;margin-top:20px;color:var(--coral);font-family:var(--mono);font-size:9px;line-height:1.45;text-decoration:none}.research-card.feature a{color:var(--ink)}.research-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-top:47px;color:var(--coral);border:1px solid rgba(169,217,209,.5);border-radius:50%;font-size:26px}.research-bottom{display:grid;grid-template-columns:1.4fr .6fr;gap:1px;margin-top:38px}.field-note{position:relative;padding:33px 37px 28px;border:1px solid rgba(255,255,255,.2)}.quote-mark{position:absolute;top:13px;left:17px;color:var(--coral);font:42px var(--serif)}.field-note p{max-width:690px;margin:0 0 13px 20px;font:26px/1.23 var(--serif)}.field-note em{color:var(--aqua)}.quote-source{margin-left:20px;color:rgba(243,239,230,.5);font-family:var(--mono);font-size:9px;text-transform:uppercase}.research-mini{padding:29px;background:#363b3c}.research-mini .small-label{color:var(--acid)}.research-mini p{margin:24px 0 0;color:rgba(243,239,230,.68);font-size:14px}.define-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}.problem-statement{position:relative;padding:30px;color:var(--paper);background:var(--ink)}.problem-statement .small-label{color:var(--aqua)}.problem-statement h3{max-width:620px;margin:58px 0 70px;font-size:clamp(26px,3vw,43px);line-height:1.07;letter-spacing:-.06em}.statement-foot{display:flex;flex-wrap:wrap;align-items:center;gap:13px;padding-top:17px;color:rgba(243,239,230,.52);border-top:1px solid rgba(255,255,255,.2);font-family:var(--mono);font-size:10px;text-transform:uppercase}.statement-foot b{color:var(--coral);font-size:17px}.statement-foot span:last-child{color:var(--acid)}.assumption-stack{border-top:1px solid var(--line)}.assumption{display:grid;grid-template-columns:43px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.assumption-num{color:var(--coral);font-family:var(--mono);font-size:11px}.assumption b,.assumption strong{display:block;color:var(--muted);font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.assumption p{margin:4px 0 16px;font-size:15px}.assumption strong{color:var(--coral)}.assumption strong+p{margin-bottom:0;color:var(--ink-soft)}.difference-strip{display:grid;grid-template-columns:1.2fr 1fr 42px 1fr;gap:20px;align-items:center;margin-top:76px;padding-top:24px;border-top:1px solid var(--line)}.difference-strip h3{max-width:240px;margin:13px 0 0;font-size:22px;line-height:1.08;letter-spacing:-.05em}.compare-item{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:12px}.compare-item b{color:var(--ink);font-size:13px}.compare-icon{display:flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;color:var(--ink);background:var(--cream);border-radius:50%;font-family:var(--mono);font-size:9px}.compare-item.highlighted{color:var(--ink)}.compare-item.highlighted .compare-icon{background:var(--acid)}.compare-arrow{color:var(--coral);font-size:26px}.idea-controls{display:flex;align-items:center;gap:10px;margin-bottom:19px}.idea-controls .small-label{margin-right:6px}.idea-filter{padding:8px 12px;color:var(--muted);border:1px solid var(--line);border-radius:99px;background:transparent;font-size:11px}.idea-filter.active,.idea-filter:hover{color:var(--ink);border-color:var(--ink);background:var(--paper)}.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.idea-card{min-height:405px;padding:21px;border:1px solid var(--ink);background:var(--paper);transition:opacity .2s,transform .2s}.idea-card.muted-card{border-color:rgba(36,37,39,.22);background:rgba(243,239,230,.45)}.idea-card.is-hidden{display:none}.idea-card-top{display:flex;justify-content:space-between}.idea-id{color:var(--coral);font-family:var(--mono);font-size:12px}.selected-pill,.explored-pill{padding:5px 7px;color:var(--ink);background:var(--acid);font-family:var(--mono);font-size:8px;letter-spacing:.07em}.explored-pill{color:var(--muted);background:transparent;border:1px solid var(--line)}.idea-card h3{margin:66px 0 12px;font-size:26px;line-height:1;letter-spacing:-.06em}.idea-thesis{min-height:76px;margin:0;color:var(--ink-soft);font-size:14px}.idea-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:19px}.idea-tags span{padding:5px 7px;color:var(--muted);border:1px solid var(--line);border-radius:2px;font-family:var(--mono);font-size:9px}.idea-decision{display:grid;grid-template-columns:80px 1fr;gap:10px;margin-top:26px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}.idea-decision b{color:var(--coral);font-family:var(--mono);font-size:9px;text-transform:uppercase}.idea-decision span{color:var(--muted)}.decision-bar{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:center;margin-top:32px;padding:18px 20px;color:var(--paper);background:var(--ink)}.decision-label{color:var(--aqua);font-family:var(--mono);font-size:9px}.decision-bar p{margin:0;font-size:13px}.decision-result{color:var(--acid);font-family:var(--mono);font-size:9px;text-transform:uppercase}.decision-result b{color:var(--paper);font-weight:500}.prototype-story{padding-bottom:80px}.flow-row{display:grid;grid-template-columns:1fr 70px 1fr 70px 1fr;align-items:center}.flow-step{min-height:235px;padding:20px;border:1px solid rgba(255,255,255,.2)}.flow-step>span{color:var(--coral);font-family:var(--mono);font-size:10px}.flow-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:33px 0 17px;color:var(--ink);border-radius:50%;background:var(--aqua);font-size:24px}.flow-step h3{margin:0;font-size:23px;letter-spacing:-.05em}.flow-step p{max-width:220px;margin:7px 0 0;color:rgba(243,239,230,.58);font-size:12px}.flow-connector{color:var(--coral);font-size:27px;text-align:center}.version-board{margin-top:64px;border-top:1px solid rgba(255,255,255,.2)}.version-heading{display:flex;justify-content:space-between;padding:17px 0;color:rgba(243,239,230,.56);font-family:var(--mono);font-size:10px}.version-heading .small-label{color:var(--aqua)}.version-item{display:grid;grid-template-columns:180px 1fr 80px;gap:20px;align-items:center;min-height:71px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.14)}.version-item.current{color:var(--ink);background:var(--aqua);border-color:var(--aqua)}.version-label{color:var(--coral);font-family:var(--mono);font-size:9px}.version-item p{margin:0;color:rgba(243,239,230,.62);font-size:13px}.version-item.current p{color:var(--ink-soft)}.version-status{justify-self:end;color:var(--coral);font-family:var(--mono);font-size:9px;text-transform:uppercase}.version-item.current .version-status{color:var(--ink)}.test-protocol{display:grid;grid-template-columns:1.05fr 1.25fr .7fr;gap:1px;margin-bottom:25px;background:var(--line);border:1px solid var(--line)}.protocol-block{min-height:189px;padding:20px;background:var(--white)}.protocol-block ol{margin:22px 0 0;padding-left:18px;font-size:13px}.protocol-block li{padding-left:4px;margin-bottom:8px}.watch-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.watch-tags span{padding:7px 9px;color:var(--ink-soft);border:1px solid var(--line);font-family:var(--mono);font-size:9px}.protocol-score{color:var(--paper);background:var(--ink)}.protocol-score .small-label{color:var(--aqua)}.protocol-score strong{display:block;margin:26px 0 4px;color:var(--acid);font-size:50px;letter-spacing:-.08em;line-height:.8}.protocol-score p{margin:0;color:rgba(243,239,230,.62);font-size:12px}.participant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.participant-card{padding:18px;border:1px solid var(--line);background:var(--white)}.participant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.participant-num{color:var(--coral);font-family:var(--mono);font-size:12px}.participant-role{color:var(--muted);font-family:var(--mono);font-size:9px;text-transform:uppercase}.participant-card label{display:block;margin-bottom:5px;color:var(--muted);font-family:var(--mono);font-size:9px;text-transform:uppercase}.participant-card input,.participant-card textarea{display:block;width:100%;margin-bottom:15px;padding:9px 10px;color:var(--ink);border:1px solid var(--line);border-radius:3px;outline:none;background:transparent;font-size:12px}.participant-card input:focus,.participant-card textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px rgba(231,111,81,.1)}.participant-card textarea{min-height:73px;resize:vertical}.participant-card input::placeholder,.participant-card textarea::placeholder{color:#9a9c96}.save-note{display:flex;justify-content:space-between;width:100%;padding:10px 11px;color:var(--ink);border:1px solid var(--ink);background:transparent;font-size:11px;font-weight:700}.save-note:hover,.save-note.saved{background:var(--acid)}.feedback-compare{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:26px;margin-top:62px;padding:23px 0 0;border-top:1px solid var(--line)}.feedback-compare h3{max-width:340px;margin:12px 0 0;font-size:23px;line-height:1.08;letter-spacing:-.05em}.feedback-compare p{max-width:450px;margin:0;color:var(--muted);font-size:13px}.outline-btn{padding:11px 14px;color:var(--ink);border:1px solid var(--ink);background:transparent;font-size:11px;font-weight:700;white-space:nowrap}.outline-btn:hover{background:var(--acid)}.outline-btn span{color:var(--coral);padding-left:6px}.prompt-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.prompt-card{display:flex;flex-direction:column;min-height:224px;padding:20px;border:1px solid var(--line);background:var(--paper)}.prompt-meta{display:flex;justify-content:space-between;gap:12px;color:var(--coral);font-family:var(--mono);font-size:9px;text-transform:uppercase}.prompt-result{color:var(--muted)}.prompt-card p{margin:37px 0 30px;font-size:15px;line-height:1.45}.copy-prompt{align-self:flex-start;margin-top:auto;padding:7px 9px;color:var(--muted);border:1px solid var(--line);background:transparent;font-family:var(--mono);font-size:9px}.copy-prompt:hover,.copy-prompt.copied{color:var(--ink);border-color:var(--ink);background:var(--acid)}.copy-prompt span{margin-left:7px;color:var(--coral)}.refine-note{display:flex;align-items:center;gap:22px;margin-top:39px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.refine-note .small-label{flex:0 0 auto}.refine-note p{max-width:620px;margin:0;font-size:14px}.refine-arrow{margin-left:auto;color:var(--coral);font-size:24px}.sources-section{padding-bottom:38px}.sources-list{border-top:1px solid rgba(255,255,255,.22)}.source-row{display:grid;grid-template-columns:45px 1fr 35px;gap:20px;align-items:center;padding:18px 0;color:var(--paper);border-bottom:1px solid rgba(255,255,255,.16);text-decoration:none}.source-row:hover{color:var(--aqua)}.source-num{color:var(--coral);font-family:var(--mono);font-size:10px}.source-row span:nth-child(2){color:rgba(243,239,230,.72);font-size:13px}.source-row b{color:var(--paper)}.source-row em{color:var(--aqua);font-style:normal}.source-arrow{justify-self:end;color:var(--acid);font-size:20px}.site-footer{display:flex;justify-content:space-between;gap:18px;padding-top:34px;color:rgba(243,239,230,.45);font-family:var(--mono);font-size:9px;text-transform:uppercase}.footer-mark{color:var(--acid);font-size:15px}.toast{position:fixed;right:22px;bottom:22px;z-index:30;padding:12px 16px;color:var(--ink);background:var(--acid);box-shadow:5px 5px 0 var(--coral);font-family:var(--mono);font-size:10px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1000px){.topbar{padding:0 24px}.topnav{gap:15px}.status-dot{display:none}.intro-wrap,.section{padding-left:24px;padding-right:24px}.intro-grid{gap:35px}.field-app{grid-template-columns:1fr}.app-side{min-height:340px}.balance-total{margin-top:27px}.side-divider{margin-top:24px}.side-footer{margin-top:27px}.research-grid{grid-template-columns:repeat(2,1fr)}.research-card{min-height:355px}.define-layout{gap:35px}.ideas-grid{grid-template-columns:1fr}.idea-card{min-height:0}.idea-thesis{min-height:0}.idea-card h3{margin-top:40px}.participant-grid{grid-template-columns:1fr}.participant-card{min-height:0}.participant-card textarea{min-height:90px}}
@media (max-width:720px){body{font-size:15px}.topbar{flex-wrap:wrap;gap:10px;padding-top:14px;padding-bottom:14px}.topnav{order:3;width:100%;justify-content:space-between}.top-actions{margin-left:auto}.brand-sub{display:none}.intro-wrap{padding-top:24px}.intro-grid,.section-heading,.define-layout,.difference-strip,.research-bottom,.decision-bar,.feedback-compare{grid-template-columns:1fr}.intro-grid{padding-top:46px}.principle-card{min-height:330px}.intro-copy h1{font-size:58px}.intro-meta{flex-direction:column;gap:9px}.prototype-label-row{align-items:flex-start;gap:15px;flex-direction:column}.field-app{box-shadow:7px 7px 0 var(--aqua)}.app-pane{padding:18px 16px 0}.app-topline{flex-wrap:wrap}.location-picker{order:3;flex:1 0 100%}.location-picker select{width:100%}.app-greeting{padding-top:26px}.route-main{align-items:flex-start;flex-direction:column}.route-meter{flex-basis:auto;width:100%}.filter-row{flex-wrap:wrap}.research-grid,.test-protocol,.prompt-list{grid-template-columns:1fr}.research-card{min-height:0;padding-bottom:28px}.research-card h3{margin-top:33px}.research-icon{margin-top:33px}.research-bottom{margin-top:24px}.field-note{padding:28px 20px}.field-note p{margin-left:10px;font-size:21px}.research-mini{padding:22px}.section-heading{gap:20px;margin-bottom:33px}.section-heading h2{font-size:46px}.difference-strip{gap:17px}.compare-arrow{transform:rotate(90deg);justify-self:center}.decision-bar{gap:11px}.flow-row{grid-template-columns:1fr;gap:12px}.flow-connector{transform:rotate(90deg)}.flow-step{min-height:175px}.flow-icon{margin-top:17px}.version-item{grid-template-columns:1fr auto;gap:8px}.version-item p{grid-column:1/-1;order:3}.version-status{grid-column:2;grid-row:1}.protocol-block{min-height:0}.feedback-compare{gap:18px}.outline-btn{justify-self:start}.refine-note{align-items:flex-start;flex-wrap:wrap;gap:11px}.refine-note p{flex:1 0 100%;order:3}.refine-arrow{margin-left:auto}.source-row{grid-template-columns:30px 1fr 20px;gap:10px}.site-footer{flex-direction:column;gap:8px}.prototype-caption{flex-wrap:wrap}.caption-line{flex:0 0 35px}}

.modal-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px}.modal-layer[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(41,38,41,.48);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.detail-modal{position:relative;width:min(560px,100%);padding:38px 38px 28px;color:var(--ink);background:var(--paper);border:1px solid var(--ink);box-shadow:12px 12px 0 var(--coral);animation:modal-in .22s ease-out}.detail-modal:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:var(--coral)}.modal-close{position:absolute;top:14px;right:15px;width:30px;height:30px;color:var(--ink);border:1px solid var(--line);border-radius:50%;background:transparent;font-size:21px;line-height:1}.modal-close:hover{color:var(--paper);background:var(--coral);border-color:var(--coral)}.modal-kicker{margin-bottom:16px;color:var(--coral);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.detail-modal h2{max-width:480px;margin:0 0 17px;font-size:clamp(30px,5vw,48px);line-height:1;letter-spacing:-.065em}.detail-modal p{max-width:470px;margin:0;color:var(--ink-soft);font-size:16px;line-height:1.6}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:34px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.modal-arrow{color:var(--coral);font-size:19px}.modal-trigger{cursor:pointer}.modal-trigger:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.modal-trigger:hover{transform:translateY(-2px);transition:transform .18s}.research-card.modal-trigger:hover,.idea-card.modal-trigger:hover,.flow-step.modal-trigger:hover,.prompt-card.modal-trigger:hover{border-color:var(--coral)}body.modal-open main,body.modal-open .topbar{filter:blur(5px);transition:filter .2s ease}body.modal-open{overflow:hidden}@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.topbar{color:var(--ink);background:var(--cream);border-bottom-color:var(--line)}
.brand-sub,.nav-link,.status-dot{color:var(--muted)}
.nav-link:hover,.nav-link.active{color:var(--coral)}
.language-toggle{color:var(--ink);border-color:var(--line)}
.language-toggle strong{color:var(--coral)}
.section-dark{color:var(--ink);background:var(--cream)}
.section-heading.light p{color:var(--muted)}
.principle-card,.problem-statement,.decision-bar{color:var(--ink);background:var(--white)}
.principle-card .small-label,.problem-statement .small-label{color:var(--coral)}
.principle-card p{color:var(--ink-soft)}
.source-stamp{color:var(--muted)}
.principle-card:after{border-color:rgba(185,75,67,.35);box-shadow:0 0 0 26px rgba(185,75,67,.05),0 0 0 52px rgba(185,75,67,.03)}
.route-card{color:var(--ink);background:var(--cream)}
.route-time,.route-copy,.meter-label{color:var(--muted)}
.meter-track{background:rgba(63,95,74,.18)}
.app-side{color:var(--ink);background:var(--cream)}
.app-side .small-label{color:var(--coral)}
.live-label,.balance-note{color:var(--coral)}
.balance-total>span,.side-footer{color:var(--muted)}
.side-divider{background:var(--line)}
.support-actions button{color:var(--ink);border-color:var(--line)}
.support-actions button:hover,.support-actions button.selected{border-color:var(--coral);background:rgba(185,75,67,.08)}
.section-dark .research-card{color:var(--ink);background:var(--white);border-color:var(--line)}
.section-dark .research-card.feature{background:var(--aqua)}
.section-dark .research-card .card-tag{color:var(--coral)}
.section-dark .research-card p{color:var(--ink-soft)}
.research-mini{background:var(--white)}
.research-mini p{color:var(--ink-soft)}
.field-note{border-color:var(--line)}
.quote-source{color:var(--muted)}
.decision-bar{color:var(--ink)}
.decision-label,.decision-result{color:var(--coral)}
.decision-result b{color:var(--ink)}
.flow-step{border-color:var(--line)}
.flow-step p{color:var(--ink-soft)}
.flow-connector{color:var(--coral)}
.version-board{border-color:var(--line)}
.version-heading,.version-item p{color:var(--muted)}
.version-item{border-color:var(--line)}
.version-item.current{background:var(--aqua);border-color:var(--aqua)}
.sources-list{border-color:var(--line)}
.source-row{color:var(--ink);border-color:var(--line)}
.source-row span:nth-child(2){color:var(--ink-soft)}
.source-row b{color:var(--ink)}
.source-row em,.source-arrow{color:var(--coral)}
.site-footer{color:var(--muted)}
.section-dark .small-label{color:var(--coral)}
.research-bottom{grid-template-columns:1.05fr .55fr .72fr}
.research-mini{position:relative;overflow:hidden;background:var(--white) url('italian-neighborhood.png') center bottom / 100% 92px no-repeat;padding-bottom:120px}
.research-mini:after{content:'Everyday Italy / local life';position:absolute;left:14px;bottom:12px;padding:6px 8px;color:var(--ink);background:rgba(246,240,231,.9);font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:1000px){.research-bottom{grid-template-columns:1fr 1fr}.research-mini{grid-column:1/-1}}
@media (max-width:720px){.research-bottom{grid-template-columns:1fr}.research-mini{grid-column:auto}}
.principle-card .small-label,.number-mark{color:var(--brown)}
.principle-card:after{border-color:rgba(96,70,58,.24);box-shadow:0 0 0 26px rgba(96,70,58,.05),0 0 0 52px rgba(96,70,58,.025)}
.principle-map{position:relative;width:100%;height:190px;margin:25px 0 12px;overflow:hidden;border:1px solid rgba(96,70,58,.28);background:linear-gradient(135deg,rgba(230,215,196,.34),rgba(213,194,173,.22))}
.principle-map svg{display:block;width:100%;height:100%}
.map-grid{fill:none;stroke:rgba(96,70,58,.18);stroke-width:1;stroke-dasharray:3 6}
.route-path{fill:none;stroke:var(--brown);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.map-node{stroke:var(--white);stroke-width:4}
.node-home{fill:var(--brown)}
.node-market{fill:var(--coral)}
.node-tradition{fill:var(--ink)}
.map-label rect{fill:var(--white);stroke:var(--brown);stroke-width:1}
.map-label text,.map-stamp{fill:var(--brown);font-family:var(--mono);font-size:9px;letter-spacing:.08em}
.map-stamp{font-size:8px;letter-spacing:.12em}
.primary-btn{color:var(--paper);background:var(--brown)}
.primary-btn:hover{background:#765448}
.secondary-btn{color:var(--brown);border-color:var(--brown)}
.secondary-btn:hover{color:var(--paper);background:var(--brown)}
.category-filter.active,.category-filter:hover{color:var(--brown);border-color:var(--brown)}
.meter-track span{background:linear-gradient(90deg,var(--brown),var(--coral))}
.balance-bars span{background:var(--brown)}
.balance-bars span:nth-child(4n){background:var(--coral)}
.support-actions button:hover,.support-actions button.selected{border-color:var(--brown);background:rgba(96,70,58,.08)}
.support-actions button span:first-child{background:var(--brown)}
.decision-label,.decision-result{color:var(--brown)}
.avoid-section{padding:76px 4.2vw 82px;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.avoid-intro{display:grid;grid-template-columns:1.1fr .65fr;gap:clamp(34px,8vw,120px);align-items:end}
.avoid-intro h2{max-width:760px;margin:16px 0 0;font-size:clamp(38px,5.5vw,78px);line-height:.98;letter-spacing:-.065em}
.avoid-intro p{max-width:390px;margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.avoid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:42px}
.avoid-card{position:relative;min-height:292px;padding:20px;background:var(--cream);border:1px solid var(--line);overflow:hidden}
.avoid-card:nth-child(2){background:var(--aqua)}
.avoid-card:nth-child(3){background:var(--acid)}
.avoid-card:after{content:"";position:absolute;right:-42px;bottom:-64px;width:160px;height:160px;border:1px solid rgba(96,70,58,.22);border-radius:50%;box-shadow:0 0 0 18px rgba(96,70,58,.04)}
.avoid-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.avoid-city{color:var(--brown);font-weight:700}
.avoid-time{color:var(--muted)}
.avoid-card h3{position:relative;z-index:1;max-width:330px;margin:58px 0 15px;font-size:clamp(24px,2.5vw,34px);line-height:1.03;letter-spacing:-.055em}
.avoid-card p{position:relative;z-index:1;max-width:340px;margin:0;color:var(--ink-soft);font-size:14px;line-height:1.45}
.avoid-alternative{position:absolute;z-index:1;left:20px;bottom:18px;color:var(--brown);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
@media (max-width:900px){.avoid-intro{grid-template-columns:1fr}.avoid-intro p{max-width:560px}.avoid-grid{grid-template-columns:1fr 1fr}.avoid-card:last-child{grid-column:1/-1}}
@media (max-width:720px){.avoid-section{padding-top:58px;padding-bottom:62px}.avoid-grid{grid-template-columns:1fr}.avoid-card:last-child{grid-column:auto}.avoid-card{min-height:260px}}
.activity-picker{margin:22px 0 25px;padding-top:18px;border-top:1px solid var(--line)}
.activity-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}
.activity-hint,.route-avoid-note{color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.activity-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.activity-choice{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:9px 7px;color:var(--ink-soft);border:1px solid var(--line);border-radius:3px;background:var(--white);font-size:11px;font-weight:700}
.activity-choice:hover{color:var(--brown);border-color:var(--brown)}
.activity-choice.active{color:var(--paper);border-color:var(--brown);background:var(--brown)}
.activity-icon{font-size:14px;color:var(--coral)}
.activity-choice.active .activity-icon{color:var(--acid)}
.route-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin:0 0 10px}
.route-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.route-option{min-width:0;padding:15px 14px;border:1px solid var(--line);background:var(--cream);box-shadow:none}
.route-option:nth-child(2){background:var(--white)}
.route-option:nth-child(3){background:var(--aqua)}
.route-option .route-head{align-items:flex-start}
.route-option .route-badge{color:var(--brown);font-size:8px}
.route-option .route-time{color:var(--muted);font-size:8px}
.route-option .route-main{display:block;margin:22px 0 13px}
.route-option .route-title{margin:0 0 8px;font-size:19px;line-height:1.08}
.route-option .route-copy{color:var(--ink-soft);font-size:11px;line-height:1.4}
.route-option .route-meter{margin-top:15px}
.route-option .meter-label{color:var(--muted);font-size:8px}
.route-option .meter-label b{color:var(--brown);font-size:10px}
.route-option .meter-track{background:rgba(63,95,74,.14)}
.route-option .route-save{flex:0 0 25px;margin-left:auto}
.route-avoid{display:flex;align-items:baseline;gap:5px;color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase}
.route-avoid strong{color:var(--brown);font-weight:600}
.route-start{width:100%;margin-top:15px;padding:9px 10px;color:var(--brown);border:1px solid var(--brown);border-radius:3px;background:transparent;font-family:var(--mono);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.route-start:hover,.route-start.is-started{color:var(--paper);background:var(--brown)}
.local-stops-label{margin:29px 0 12px}
@media (max-width:1000px){.route-options{grid-template-columns:1fr}.route-option{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.route-option .route-head,.route-option .route-main,.route-option .route-avoid,.route-option .route-start{grid-column:1/-1}.route-option .route-meter{grid-column:1}.route-option .route-save{grid-column:2;grid-row:1}}
@media (max-width:720px){.activity-picker-head{align-items:flex-start;flex-direction:column;gap:5px}.activity-options{grid-template-columns:repeat(2,1fr)}.route-option{display:block}.route-option .route-save{position:absolute;top:14px;right:14px}.route-option{position:relative}}
.field-note em{color:var(--coral)}
.local-graphs{display:grid;gap:15px;margin:31px 0 10px}
.graph-block{padding-top:12px;border-top:1px solid var(--line)}
.graph-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px;color:var(--brown);font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase}
.graph-heading b{font-size:11px;font-weight:600}
.graph-rows{display:grid;gap:7px}
.graph-row{display:grid;grid-template-columns:67px 1fr 25px;align-items:center;gap:6px;color:var(--ink-soft);font-family:var(--mono);font-size:8px}
.graph-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.graph-row>b{color:var(--brown);font-size:8px;font-weight:600;text-align:right}
.graph-track{height:6px;background:rgba(63,95,74,.14)}
.graph-track span{display:block;height:100%;background:var(--brown)}
.tradition-graph .graph-track span{background:var(--ink)}
.tradition-graph .graph-heading{color:var(--ink)}
.graph-note{margin:8px 0 0;color:var(--muted);font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.city-map-section{margin:30px 0 23px;padding-top:18px;border-top:1px solid var(--line)}
.city-map-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.city-map-head h3{margin:8px 0 0;color:var(--ink);font-size:24px;line-height:1;letter-spacing:-.05em}
.city-map-head>span{color:var(--muted);font-family:var(--mono);font-size:8px;letter-spacing:.04em;text-transform:uppercase}
.city-map-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(145px,.65fr);gap:10px;margin-top:15px}
.city-map{position:relative;min-height:224px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--cream),var(--white))}
.city-map svg{display:block;width:100%;height:100%;min-height:224px}
.map-grid-line{fill:none;stroke:rgba(63,95,74,.14);stroke-width:1;stroke-dasharray:3 7}
.map-route-line{fill:none;stroke:var(--brown);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.city-map-node{stroke:var(--white);stroke-width:4}
.city-map-node.node-0{fill:var(--brown)}
.city-map-node.node-1{fill:var(--coral)}
.city-map-node.node-2{fill:var(--ink)}
.map-marker{position:absolute;display:flex;align-items:center;gap:5px;transform:translate(-7px,-50%);pointer-events:none}
.map-marker-label{padding:4px 5px;color:var(--brown);background:rgba(255,250,243,.92);border:1px solid rgba(96,70,58,.24);font-family:var(--mono);font-size:8px;letter-spacing:.02em;white-space:nowrap}
.map-save{position:relative;z-index:1;width:22px!important;height:22px;min-width:22px;color:var(--brown);border-color:var(--brown);background:var(--white);pointer-events:auto;font-size:13px!important}
.map-save.saved{color:var(--paper);background:var(--brown)}
.map-legend{display:grid;align-content:start;gap:7px;padding:11px 10px;border:1px solid var(--line);background:var(--cream)}
.map-legend-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:6px;color:var(--ink-soft);font-size:10px}
.map-legend-row small{color:var(--brown);font-family:var(--mono);font-size:8px}
.legend-dot{width:8px;height:8px;border-radius:50%;background:var(--brown)}
.legend-dot.node-1{background:var(--coral)}
.legend-dot.node-2{background:var(--ink)}
@media (max-width:720px){.city-map-layout{grid-template-columns:1fr}.city-map{min-height:200px}.city-map svg{min-height:200px}.city-map-head{align-items:flex-start;flex-direction:column;gap:5px}.map-marker-label{font-size:7px}}
.add-gem-section{padding-bottom:92px}
.gem-layout{display:grid;grid-template-columns:1fr .9fr;gap:14px;align-items:start}
.gem-form,.gem-community{padding:22px;border:1px solid var(--line);background:var(--white)}
.gem-form{display:grid;gap:15px}
.gem-form-head,.gem-community-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.gem-form-head>span:last-child,.gem-community-head>span:last-child{color:var(--muted);font-family:var(--mono);font-size:9px;text-transform:uppercase}
.gem-form label{display:grid;gap:6px;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
.gem-form input,.gem-form select,.gem-form textarea{width:100%;padding:11px 12px;color:var(--ink);border:1px solid var(--line);border-radius:3px;outline:none;background:var(--paper);font-family:var(--sans);font-size:14px;text-transform:none;letter-spacing:0}
.gem-form textarea{min-height:112px;resize:vertical}
.gem-form input:focus,.gem-form select:focus,.gem-form textarea:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(96,70,58,.1)}
.gem-field-row{display:grid;grid-template-columns:.75fr 1.25fr;gap:10px}
.gem-form-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:4px}
.gem-form-foot>span{max-width:220px;color:var(--muted);font-family:var(--mono);font-size:9px;line-height:1.4;text-transform:uppercase}
.gem-form-foot .primary-btn{width:auto;white-space:nowrap}
.gem-community{background:var(--cream)}
.gem-community-head .small-label{color:var(--brown)}
.gem-list{display:grid;gap:9px;margin-top:16px}
.gem-card{position:relative;padding:15px 45px 15px 15px;border:1px solid var(--line);background:var(--white)}
.gem-card h3{margin:0 0 5px;font-size:19px;line-height:1.05;letter-spacing:-.04em}
.gem-meta{color:var(--brown);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
.gem-story{margin:10px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.4}
.gem-card .map-save{position:absolute;top:14px;right:14px}
.gem-card .small-label{color:var(--coral)}
@media (max-width:900px){.gem-layout{grid-template-columns:1fr}}
@media (max-width:720px){.gem-form-foot{align-items:flex-start;flex-direction:column}.gem-form-foot .primary-btn{width:100%}.gem-field-row{grid-template-columns:1fr}}
.define-layout{grid-template-columns:1fr}
.section-number,.eyebrow>span:first-child{display:none}
#define{padding-top:72px;padding-bottom:72px}
#define .section-heading{grid-template-columns:1fr;margin-bottom:28px}
#define .problem-statement{padding:0;background:transparent;border:0;box-shadow:none}
#define .problem-statement h3{max-width:980px;margin:24px 0 20px;color:var(--coral);font-size:clamp(30px,4.5vw,62px);line-height:1.08}
#define .section-heading h2{color:var(--coral);font-size:clamp(32px,4.2vw,58px);line-height:1}
.passport-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.passport-story,.passport-form,.passport-card{padding:24px;border:1px solid var(--line);background:var(--white)}
.passport-story{color:var(--paper);background:var(--ink)}
.passport-story .small-label{color:var(--aqua)}
.passport-story h3{max-width:520px;margin:54px 0 14px;color:var(--paper);font-size:clamp(32px,4vw,58px);line-height:.98;letter-spacing:-.06em}
.passport-story>p{max-width:520px;margin:0;color:rgba(243,239,230,.66);font-size:15px;line-height:1.45}
.passport-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:52px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.passport-benefits>div{display:grid;gap:7px;align-content:start}
.passport-benefits span{color:var(--coral);font-family:var(--mono);font-size:10px}
.passport-benefits b{color:var(--paper);font-size:14px}
.passport-benefits small{color:rgba(243,239,230,.56);font-size:11px;line-height:1.35}
.passport-form{display:grid;gap:16px}
.passport-form-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.passport-form-head>span:last-child{color:var(--muted);font-family:var(--mono);font-size:9px;text-transform:uppercase}
.passport-form label:not(.passport-check){display:grid;gap:6px;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
.passport-form input:not([type="checkbox"]),.passport-form select{width:100%;padding:11px 12px;color:var(--ink);border:1px solid var(--line);border-radius:3px;outline:none;background:var(--paper);font-family:var(--sans);font-size:14px;text-transform:none;letter-spacing:0}
.passport-form input:focus,.passport-form select:focus{border-color:var(--brown);box-shadow:0 0 0 3px rgba(96,70,58,.1)}
.passport-form fieldset{display:grid;gap:9px;margin:0;padding:15px;border:1px solid var(--line)}
.passport-form legend{padding:0 5px;color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
.passport-check{display:flex!important;grid-template:none!important;align-items:center;gap:9px;color:var(--ink)!important;font-family:var(--sans)!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important}
.passport-check input{width:15px;height:15px;accent-color:var(--brown)}
.passport-form .primary-btn{width:100%}
.passport-note{margin:0;color:var(--muted);font-family:var(--mono);font-size:9px;line-height:1.4;text-transform:uppercase}
.passport-card{grid-column:1/-1;color:var(--paper);background:var(--brown);border-color:var(--brown)}
.passport-card .small-label{color:var(--acid)}
.passport-card strong{display:block;margin:22px 0 7px;font-size:clamp(26px,4vw,49px);line-height:1;letter-spacing:-.05em}
.passport-card>span:not(.small-label){color:rgba(243,239,230,.7);font-family:var(--mono);font-size:10px;text-transform:uppercase}
.passport-card p{max-width:560px;margin:19px 0 0;color:rgba(243,239,230,.76);font-size:14px}
@media (max-width:900px){.passport-layout{grid-template-columns:1fr}.passport-card{grid-column:auto}}
@media (max-width:720px){.passport-benefits{grid-template-columns:1fr}.passport-story h3{margin-top:38px}}
.difference-strip{grid-template-columns:1.1fr 1.2fr 70px 1.2fr;gap:28px;margin-top:94px;padding-top:34px;padding-bottom:18px}
.difference-strip h3{max-width:360px;font-size:clamp(28px,3.4vw,48px);line-height:1.02}
.difference-strip .compare-item{gap:16px;font-size:15px;line-height:1.35}
.difference-strip .compare-item b{font-size:16px}
.difference-strip .compare-icon{flex-basis:42px;width:42px;height:42px;font-size:11px}
.difference-strip .compare-arrow{font-size:40px}
@media (max-width:720px){.difference-strip{gap:22px;margin-top:62px;padding-top:25px;padding-bottom:8px}.difference-strip h3{font-size:34px}.difference-strip .compare-item{font-size:14px}.difference-strip .compare-item b{font-size:15px}.difference-strip .compare-icon{flex-basis:36px;width:36px;height:36px}}
.define-subheading{display:block;margin-top:10px;color:var(--brown);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
#define .difference-strip{margin-top:60px}
.intro-wrap{background-image:linear-gradient(rgba(243,239,230,.87),rgba(243,239,230,.94)),url('italian-neighborhood.png');background-position:center;background-size:cover;background-repeat:no-repeat}
