/* PULO.PH v8. Welcome to Pulo. Structure here, authored values in tokens.css. */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--paper);color-scheme:light;scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--text-body);font-weight:var(--weight-regular);line-height:var(--leading-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-weight:var(--weight-medium)}
a{color:inherit;text-decoration:none}
button,summary,a{-webkit-tap-highlight-color:transparent}
button,input,textarea,select{font:inherit}
button{color:inherit;cursor:pointer}
input,textarea,select{max-width:100%}
img,video{display:block;max-width:100%;height:auto}
ul,ol{list-style:none;margin:0;padding:0}
button:disabled{cursor:not-allowed}
[hidden]{display:none!important}
.sr-only{position:absolute;width:var(--hairline);height:var(--hairline);padding:0;margin:calc(-1 * var(--hairline));overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[id]{scroll-margin-top:var(--anchor-offset)}
:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-small)}
::selection{color:var(--sheet);background:var(--accent)}
.wrap{width:min(100% - var(--page-pad) * 2,var(--page-max));margin-inline:auto}
.section{padding-block:var(--section-space)}
.eyebrow,.micro{font-family:var(--mono);font-size:var(--micro-size);font-weight:var(--weight-regular);letter-spacing:var(--tracking-meta);line-height:var(--leading-body)}
.eyebrow{text-transform:uppercase}
.muted{color:var(--muted)}.gold{color:var(--gold-deep)}.accent{color:var(--accent)}
.skip{position:fixed;z-index:calc(var(--layer-nav) + 1);left:var(--space-4);top:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--sheet);transform:translateY(calc(-100% - var(--space-8)))}
.skip:focus{transform:none}
.button{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-6);min-height:var(--control-height);padding:var(--space-3) var(--space-6);border:var(--hairline) solid var(--accent);border-radius:var(--radius-small);color:var(--sheet);background:var(--accent);font-size:var(--text-small);font-weight:var(--weight-medium);transition:background var(--time-fast) var(--ease-out),transform var(--time-fast) var(--ease-out)}
.button--small{min-height:var(--touch-size);padding:var(--space-2) var(--space-5)}
.button--ink{background:var(--ink);border-color:var(--ink)}
.button span,.text-action span{transition:transform var(--time-base) var(--ease-out)}
.button:active{transform:scale(var(--button-press-scale))}
.text-action,.quiet-link{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:var(--touch-size);font-size:var(--text-small);border-bottom:var(--hairline) solid var(--ink)}
.quiet-link{gap:var(--space-3)}
.nav{position:fixed;inset:0 0 auto;z-index:var(--layer-nav);min-height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-3) var(--page-pad);background:var(--nav-ground);border-bottom:var(--hairline) solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--touch-size);flex:none}
.brand img{width:var(--mark-nav);height:var(--mark-nav);object-fit:contain}
.brand span{font-size:var(--text-wordmark);font-weight:var(--weight-bold);letter-spacing:var(--tracking-brand)}
.nav-note{color:var(--muted);font-size:var(--text-small);margin-right:auto}
.nav-menu,.nav-links{display:flex;align-items:center;gap:var(--space-8)}
.nav-links a{display:flex;flex-direction:column;justify-content:center;min-height:var(--touch-size);font-size:var(--text-small);transition:color var(--time-fast) var(--ease-out)}
.nav-links small{color:var(--muted);font-size:var(--micro-size)}
.nav-toggle{display:none}
.hero{padding-top:calc(var(--nav-height) + var(--hero-top))}
.hero-kicker{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}
.hero-kicker>.micro{color:var(--muted)}
.hero-kicker .eyebrow{display:flex;align-items:center;gap:var(--space-3)}
.status-dot{display:inline-block;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--accent);flex:none}
.hero h1{font-size:var(--text-hero);line-height:var(--leading-display);letter-spacing:var(--tracking-display);max-width:var(--hero-measure);margin-top:var(--space-8)}
.hero-emphasis{color:var(--accent)}
.hero-under{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-8);margin-top:var(--space-6)}
.hero-under>p{font-size:var(--hero-copy-size);color:var(--muted);line-height:var(--leading-body)}
.world{margin-top:var(--space-8)}
.world-topline,.world-bottomline{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-size)}
.world-toggle,.world-controls button,.quiet-control{border:0;background:transparent;padding:var(--space-2) 0;min-height:var(--touch-size);display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--mono);font-size:var(--micro-size)}
.world-toggle{color:var(--accent)}
.world-stage{height:var(--world-height);position:relative}
.world-poster{width:100%;height:100%;object-fit:contain}
#worldCanvas{position:absolute;inset:0;display:none;width:100%;height:100%;touch-action:pan-y}
.world-live #worldCanvas{display:block}
.world-live .world-poster{visibility:hidden}
.world-side-note{position:absolute;left:0;top:50%;color:var(--muted);max-width:var(--world-side-width)}
.world-tooltip{position:absolute;z-index:var(--layer-content);left:var(--world-label-x);top:var(--world-label-y);transform:translate(-50%,var(--world-tooltip-offset));background:var(--ink);color:var(--paper);padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);pointer-events:none;white-space:nowrap}
.world-bottomline{color:var(--muted)}
.world-controls{display:flex;align-items:center;gap:var(--space-6)}
.world-controls button{color:var(--ink)}
.world-directory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:var(--hairline) solid var(--line);margin-top:var(--space-3)}
.world-directory>a{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-3);border-left:var(--hairline) solid var(--line);transition:background var(--time-base) var(--ease-out)}
.world-directory>a:first-child{border-left:0;padding-left:0}
.world-directory>a>span:nth-child(2){font-size:var(--text-small)}
.world-directory>a>span:last-child{margin-left:auto;color:var(--muted)}
.world-directory small{display:block;color:var(--muted);font-size:var(--micro-size);margin-top:var(--space-1)}
.directory-index{font-family:var(--mono);font-size:var(--micro-size);color:var(--accent);padding-top:var(--space-1)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--section-gap);margin-bottom:var(--section-gap)}
.section-head h2{margin-top:var(--space-5);font-size:var(--text-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}
.section-head>p{max-width:var(--service-copy-measure);color:var(--muted);font-size:var(--text-body)}
.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);align-items:start}
.capability{border-top:var(--hairline) solid var(--ink);min-width:0}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.capability>summary{padding-top:var(--space-5);display:flex;flex-direction:column;min-height:var(--capability-height)}
.capability h3{font-size:var(--text-project);letter-spacing:var(--tracking-title);line-height:var(--leading-title);margin-top:var(--space-4)}
.capability>summary>.micro{color:var(--muted);margin-top:var(--space-6)}
.capability-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-small);margin-top:auto;padding-top:var(--space-6)}
.plus{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-size);height:var(--touch-size);font-size:var(--text-lede);flex:none;border:var(--hairline) solid var(--line);border-radius:50%;transition:transform var(--time-base) var(--ease-out),color var(--time-base) var(--ease-out),background var(--time-base) var(--ease-out)}
details[open]>summary .plus{transform:rotate(var(--plus-open-angle));background:var(--ink);color:var(--paper)}
.capability-body{padding-top:var(--space-5);font-size:var(--text-body)}
.capability-body p{color:var(--muted);max-width:var(--copy-measure)}
.capability-body a{margin-top:var(--space-3)}
.capability-diagram{display:block;width:var(--diagram-width);height:var(--diagram-height);overflow:visible;color:var(--diagram-ink);fill:currentColor}
.diagram-registration{fill:none;stroke:var(--diagram-ink);stroke-width:var(--diagram-stroke);opacity:var(--diagram-registration-opacity)}
.diagram-accent{fill:var(--diagram-accent)}
.diagram-sheet,.diagram-module-input,.diagram-module-output,.diagram-aperture-top,.diagram-aperture-bottom{transform-box:fill-box;transform-origin:var(--diagram-origin);transition:transform var(--diagram-time) var(--diagram-ease)}
.diagram-aperture-top{transform-origin:var(--diagram-aperture-top-origin)}
.diagram-aperture-bottom{transform-origin:var(--diagram-aperture-bottom-origin)}
.capability[open] .diagram-sheet,.capability:focus-within .diagram-sheet{transform:translate(var(--diagram-sheet-shift-x),var(--diagram-sheet-shift-y)) rotate(var(--diagram-sheet-turn))}
.capability[open] .diagram-module-input,.capability:focus-within .diagram-module-input{transform:translateX(var(--diagram-module-shift))}
.capability[open] .diagram-module-output,.capability:focus-within .diagram-module-output{transform:translateX(calc(-1 * var(--diagram-module-shift)))}
.capability[open] .diagram-aperture-top,.capability:focus-within .diagram-aperture-top{transform:rotate(calc(-1 * var(--diagram-aperture-turn)))}
.capability[open] .diagram-aperture-bottom,.capability:focus-within .diagram-aperture-bottom{transform:rotate(var(--diagram-aperture-turn))}
.capability[open]{border-color:var(--accent)}
.work{border-top:var(--hairline) solid var(--line)}
.project-collection{display:grid;grid-template-columns:var(--project-columns);gap:var(--space-8) var(--space-8)}
.project-identity{min-width:0;display:flex;flex-direction:column;text-decoration:none;border-radius:var(--radius-small);outline-offset:var(--focus-offset)}
.project-mark{height:var(--project-mark-height);display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--project-ground);border-radius:var(--radius-small);transition:background var(--time-base) var(--ease-out)}
.project-mark img{max-width:var(--project-logo-width);max-height:var(--project-logo-height);width:auto;height:auto;object-fit:contain;transition:transform var(--time-base) var(--ease-out)}
.project-mark .project-app-icon{border-radius:var(--project-icon-radius)}
.project-name{font-size:var(--text-project);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);text-align:center;transition:transform var(--time-base) var(--ease-out)}
.project-caption{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start;margin-top:var(--space-4)}
.project-caption h3{font-size:var(--text-body);font-weight:var(--weight-medium)}
.project-caption p{font-size:var(--micro-size);color:var(--muted);margin-top:var(--space-1)}
.project-arrow{color:var(--muted);transition:transform var(--time-base) var(--ease-out),color var(--time-base) var(--ease-out)}
.project-identity:focus-visible .project-mark{background:var(--project-hover)}
.project-identity:focus-visible .project-arrow{color:var(--accent);transform:translate(var(--space-1),calc(-1 * var(--space-1)))}
.project-private{display:flex;justify-content:space-between;align-items:start;gap:var(--space-8);padding-top:var(--space-6);margin-top:var(--space-10);border-top:var(--hairline) solid var(--line);font-size:var(--text-small);color:var(--muted)}
.project-private p{max-width:var(--copy-measure)}
.subhead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-5);border-top:var(--hairline) solid var(--line);margin-bottom:var(--space-4)}
.subhead h3{font-size:var(--text-lede);letter-spacing:var(--tracking-title)}
.subhead>span{color:var(--muted);font-size:var(--text-small)}
.films{margin-top:var(--space-20)}
.films-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.film{min-width:0}
.film-frame{overflow:hidden;border-radius:var(--radius-card);background:var(--media-void);aspect-ratio:var(--film-ratio)}
.film-frame video{width:100%;height:100%;object-fit:contain;accent-color:var(--accent)}
.film header{padding-top:var(--space-4)}
.film h4{font-size:var(--text-body)}
.film header>span{font-size:var(--micro-size);color:var(--muted)}
.tool-fine{font-size:var(--micro-size);color:var(--muted);margin-top:var(--space-5);max-width:var(--copy-measure)}
.founders-grid{display:grid;grid-template-columns:var(--founder-columns);gap:var(--space-6)}
.founder{min-width:0}
.portrait{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:var(--portrait-ratio);background:var(--portrait-ground);border-radius:var(--radius-card)}
.portrait-image{width:100%;height:100%;object-fit:cover;filter:var(--portrait-filter)}
.head-turn{position:absolute;inset:0 auto 0 var(--head-frame-left);width:var(--head-frame-width);overflow:hidden;display:none;pointer-events:none}
.head-atlas{position:absolute;left:0;top:0;width:var(--head-atlas-size);height:var(--head-atlas-size);max-width:none;filter:var(--portrait-filter);transform:translate(calc(var(--head-column) * -100% / 3),calc(var(--head-row) * -100% / 3))}
.head-ready .head-turn{display:block}
.founders.is-on-break .head-turn{display:none}
.founder-caption{display:flex;justify-content:space-between;gap:var(--space-2);align-items:center;margin-top:var(--space-4)}
.founder-caption h3{font-size:var(--text-lede);letter-spacing:var(--tracking-title)}
.founder-caption p{color:var(--muted);font-size:var(--micro-size)}
.people-after{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);margin-top:var(--space-5);color:var(--muted)}
.people-after>.micro:last-child{display:none}
.founders.is-on-break .portrait::after{content:"OUT FOR A LITTLE AIR";position:absolute;inset:auto var(--space-4) var(--space-5);background:var(--paper);border:var(--hairline) solid var(--line);padding:var(--space-3);font-family:var(--mono);font-size:var(--break-badge-size);text-align:center;transform:rotate(var(--break-badge-angle))}
.founders.is-on-break .portrait-image{filter:var(--break-filter)}
.process{border-top:var(--hairline) solid var(--line);display:grid;grid-template-columns:var(--route-columns);gap:var(--section-gap);align-items:start}
.process>.section-head{display:block;margin-bottom:0}
.process>.section-head>p{margin-top:var(--space-6)}
.process-list{position:relative}
.process-list::before{content:"";position:absolute;top:var(--space-8);bottom:var(--space-8);left:var(--route-rail-left);border-left:var(--hairline) solid var(--line)}
.process-list .route-step{position:relative;display:grid;grid-template-columns:var(--route-inner-columns);gap:var(--space-4);padding-block:var(--space-6);align-items:start}
.route-step+.route-step{border-top:var(--hairline) solid var(--line)}
.process-number{position:relative;display:grid;place-items:center;width:var(--route-number-size);height:var(--route-number-size);margin-top:var(--space-2);background:var(--paper);border:var(--hairline) solid var(--line);border-radius:50%;font-family:var(--mono);font-size:var(--micro-size);color:var(--muted);transition:background var(--time-base) var(--ease-out),color var(--time-base) var(--ease-out),border-color var(--time-base) var(--ease-out)}
.route-word h3{font-size:var(--route-type);letter-spacing:var(--tracking-display);line-height:var(--leading-title)}
.route-word h3>span{display:inline-block;color:var(--accent);font-size:var(--route-symbol-size);margin-left:var(--space-2);transform-origin:center;transition:transform var(--time-base) var(--ease-out)}
.route-note{display:block;font-size:var(--micro-size);margin-top:var(--space-2);color:var(--muted)}
.route-copy>p{font-size:var(--text-body);color:var(--muted)}
.route-output{display:inline-block;margin-top:var(--space-3);font-family:var(--mono);font-size:var(--micro-size);letter-spacing:var(--route-output-tracking);border-bottom:var(--hairline) solid var(--line)}
.route-step:last-child .route-output{border:var(--hairline) solid var(--accent);color:var(--accent);padding:var(--space-1) var(--space-2);transform:rotate(var(--route-end-angle))}
.route-step.is-current .process-number{background:var(--accent);color:var(--sheet);border-color:var(--accent)}
.route-step.is-current .route-word h3>span{transform:rotate(var(--route-symbol-turn))}
/* The open letter: real controls, editorial framing, no artificial send state. */
.contact{background:var(--accent-wash);border-top:var(--hairline) solid var(--line)}
.contact-layout{display:grid;grid-template-columns:var(--contact-columns);gap:var(--section-gap);align-items:start}
.contact h2{font-size:var(--contact-title);line-height:var(--leading-display);letter-spacing:var(--tracking-display);margin-top:var(--space-8)}
.contact-heading>p:not(.eyebrow){color:var(--muted);margin-top:var(--space-8)}
.contact-heading>a{margin-top:var(--space-8);overflow-wrap:anywhere;font-size:var(--text-body)}
.contact-heading>.contact-aside{margin-top:var(--space-16);text-transform:uppercase}
.contact-hello{position:relative;display:inline-block;padding-bottom:var(--space-1)}
.contact-hello::after{content:"";position:absolute;inset:auto 0 var(--letter-underline-bottom);height:var(--letter-underline-height);background:var(--accent);transform:rotate(var(--letter-underline-turn)) scaleX(var(--letter-underline-rest));transform-origin:left;transition:transform var(--time-base) var(--ease-out)}
.contact:has(.brief-builder:focus-within) .contact-hello::after{transform:rotate(0deg) scaleX(1)}
.brief-builder{min-width:0}
.letter{background:var(--letter-ground);padding:var(--letter-padding);border-top:var(--hairline) solid var(--ink)}
.letter-address{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);padding-bottom:var(--space-6);border-bottom:var(--hairline) solid var(--line);margin-bottom:var(--space-6)}
.letter-address .micro{letter-spacing:var(--route-output-tracking)}
.letter-mark{width:var(--letter-mark-size);height:var(--letter-mark-size);object-fit:contain;flex:none}
.letter-salutation{font-size:var(--letter-title);letter-spacing:var(--tracking-title);line-height:var(--leading-title);margin-bottom:var(--space-6)}
.brief-builder fieldset{padding:0;border:0;margin:0;min-width:0}
.brief-builder legend,.letter-field label{font-family:var(--mono);font-size:var(--micro-size);letter-spacing:var(--route-output-tracking)}
.brief-builder legend{margin-bottom:var(--space-2);color:var(--muted)}
.brief-options{display:flex;gap:var(--space-2) var(--space-5);flex-wrap:wrap}
.brief-options>label{position:relative}
.brief-options input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.brief-options span{position:relative;display:flex;align-items:center;min-height:var(--touch-size);padding-block:var(--space-2);font-size:var(--text-small);pointer-events:none;color:var(--muted);transition:color var(--time-fast) var(--ease-out)}
.brief-options span::after{content:"";position:absolute;inset:auto 0 var(--space-1);height:var(--hairline);background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--time-fast) var(--ease-out)}
.brief-options input:checked+span{color:var(--ink)}
.brief-options input:checked+span::after{transform:scaleX(1)}
.brief-options input:focus-visible+span{outline:var(--focus-width) solid var(--accent);outline-offset:var(--focus-offset)}
.brief-response{font-size:var(--text-small);color:var(--muted);margin-block:var(--space-3) var(--space-6);min-height:var(--space-6)}
.brief-fields{display:grid;gap:var(--space-6);margin-bottom:var(--space-6)}
.letter-field{position:relative;min-width:0}
.letter-field::after{content:"";position:absolute;inset:auto 0 0;height:var(--hairline);background:var(--letter-input-focus);transform:scaleX(0);transform-origin:left;transition:transform var(--time-base) var(--ease-out);pointer-events:none}
.letter-field:focus-within::after{transform:scaleX(1)}
.letter-field label{display:block;margin-bottom:var(--space-2)}
.letter-field label>span{color:var(--muted)}
.brief-fields input,.brief-fields textarea{display:block;border:0;border-bottom:var(--hairline) solid var(--line);border-radius:0;padding:0;color:var(--ink);width:100%;min-height:var(--input-height);font-size:var(--text-body);background:transparent}
.brief-fields input::placeholder,.brief-fields textarea::placeholder{color:var(--muted);opacity:1}
.brief-fields textarea{min-height:var(--letter-message-height);line-height:var(--letter-line-height);resize:vertical;background-image:linear-gradient(to bottom,transparent calc(100% - var(--hairline)),var(--line) calc(100% - var(--hairline)));background-size:var(--letter-line-size);background-attachment:local}
.letter-signature{width:var(--letter-signature-width)}
.letter-signature input{font-size:var(--text-lede)}
.letter-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.letter-ready{display:none;color:var(--accent);border:var(--hairline) solid var(--accent);padding:var(--space-1) var(--space-2);transform:rotate(var(--letter-ready-turn))}
.draft-ready .letter-ready{display:block}
.brief-builder .tool-fine{max-width:none;margin-top:var(--space-3)}
.brief-builder #briefDraft{margin-top:var(--space-4)}
.footer{background:var(--footer-ground);color:var(--footer-ink)}
.footer-closing{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);padding-top:var(--space-16)}
.footer-signoff{font-size:var(--closing-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title);margin-top:var(--space-5)}
.footer-signoff>span:first-child{color:var(--muted)}
.return-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}
.return-arrow{display:grid;place-items:center;width:var(--return-size);height:var(--return-size);border:var(--hairline) solid currentColor;border-radius:50%;font-size:var(--return-type);transform:rotate(var(--return-turn));transition:transform var(--time-base) var(--ease-out),color var(--time-base) var(--ease-out)}
.return-link:is(:hover,:focus-visible) .return-arrow{transform:rotate(0deg);color:var(--accent)}
.footer-signature{display:block;width:var(--closing-mark-width);margin-block:var(--closing-mark-space)}
.footer-signature img{width:100%;height:auto}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding-block:var(--space-5);border-top:var(--hairline) solid var(--line)}
.guide-hero{padding-block:calc(var(--nav-height) + var(--space-12)) var(--space-12)}
.guide-hero h1{font-size:var(--text-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title);margin-block:var(--space-5)}
.token-ledger{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.token-ledger li{border-top:var(--hairline) solid var(--line);padding-block:var(--space-3);font-family:var(--mono);font-size:var(--micro-size);overflow-wrap:anywhere}
.token-ledger li>*{display:block}
.token-ledger li>span{padding-block:var(--space-2)}
.token-ledger li>small{color:var(--muted)}
.palette-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
.swatch{padding:var(--space-6);border:var(--hairline) solid var(--line);border-radius:var(--radius-small)}
.swatch--paper{background:var(--paper)}.swatch--ink{background:var(--ink);color:var(--paper)}.swatch--accent{background:var(--accent);color:var(--sheet)}.swatch--sage{background:var(--perla-ground);color:var(--perla-ink)}
.not-found{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-block:var(--space-12);gap:var(--space-6)}
.not-found h1{font-size:var(--text-hero);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.not-found img{max-height:var(--world-height);width:auto}
@media(hover:hover) and (pointer:fine){
  .project-identity:hover .project-mark{background:var(--project-hover)}
  .project-identity:hover .project-mark img,.project-identity:hover .project-name{transform:translateY(var(--hover-shift))}
  .project-identity:hover .project-arrow{transform:translate(var(--space-1),calc(-1 * var(--space-1)));color:var(--accent)}
  .button:hover{background:var(--accent-hover);transform:translateY(var(--hover-shift))}
  .button--ink:hover{background:var(--perla-ink);border-color:var(--perla-ink)}
  .button:hover span,.text-action:hover span{transform:translate(var(--space-1),calc(-1 * var(--space-1)))}
  .nav-links a:hover,.text-action:hover,.quiet-link:hover,.quiet-control:hover{color:var(--accent)}
  .world-directory a:hover{background:var(--accent-wash)}
  .capability summary:hover .diagram-sheet{transform:translate(var(--diagram-sheet-shift-x),var(--diagram-sheet-shift-y)) rotate(var(--diagram-sheet-turn))}
  .capability summary:hover .diagram-module-input{transform:translateX(var(--diagram-module-shift))}
  .capability summary:hover .diagram-module-output{transform:translateX(calc(-1 * var(--diagram-module-shift)))}
  .capability summary:hover .diagram-aperture-top{transform:rotate(calc(-1 * var(--diagram-aperture-turn)))}
  .capability summary:hover .diagram-aperture-bottom{transform:rotate(var(--diagram-aperture-turn))}
  .capability summary:hover .plus{border-color:var(--accent);color:var(--accent)}
  .route-step:hover .route-word h3>span{transform:rotate(var(--route-symbol-turn))}
}
@media(max-width:1100px){
  .nav-note{display:none}
  .world-directory>a{gap:var(--space-2);padding-inline:var(--space-2)}
  .directory-index{display:none}
  .world-side-note{display:none}
  .founder-caption{align-items:flex-start;flex-direction:column;gap:0}
}
@media(max-width:720px){
  .nav{gap:var(--space-4);position:relative;flex-wrap:wrap}
  .nav-menu{display:flex;position:static;flex-direction:column;align-items:stretch;gap:var(--space-4);width:100%}
  .hero{padding-top:var(--hero-top)}
  .nav-ready .nav{position:fixed;flex-wrap:nowrap}
  .nav-ready .hero{padding-top:calc(var(--nav-height) + var(--hero-top))}
  .nav-ready .nav-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--touch-size);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--line);border-radius:var(--radius-small);background:var(--paper);color:var(--ink);font-size:var(--text-small)}
  .nav-ready .nav-menu{display:none;position:absolute;top:100%;inset-inline:0;padding:var(--space-5) var(--page-pad) var(--space-6);background:var(--paper);border-bottom:var(--hairline) solid var(--line)}
  .nav-ready .nav-menu.is-open{display:flex}
  .nav-links{justify-content:space-between;gap:var(--space-3)}
  .hero-kicker>.micro{display:none}
  .hero h1{margin-top:var(--space-6)}
  .hero h1 br{display:none}
  .hero-under{display:block;margin-top:var(--space-5)}
  .hero-under>a{margin-top:var(--space-5)}
  .hero-under>p br{display:none}
  .world{margin-top:var(--space-5)}
  .world-topline{align-items:flex-start}
  .world-topline>p{max-width:50%;padding-top:var(--space-3)}
  .world-topline>p>span{display:none}
  .world-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
  .world-directory>a{border-top:var(--hairline) solid var(--line);padding:var(--space-4) var(--space-3);gap:var(--space-3)}
  .world-directory>a:nth-child(odd){border-left:0;padding-left:0}
  .world-directory>a:nth-child(-n+2){border-top:0}
  .world-directory>a:last-child{grid-column:1/-1}
  .directory-index{display:block}
  .world-bottomline{flex-direction:column;align-items:flex-start;gap:0}
  .world-controls{justify-content:space-between;width:100%;gap:var(--space-3)}
  .section-head{display:block}
  .section-head>p{margin-top:var(--space-5)}
  .capability-grid{grid-template-columns:1fr;gap:var(--space-8)}
  .capability>summary{position:relative;padding-left:calc(var(--diagram-width) + var(--space-4))}
  .capability-diagram{position:absolute;left:0;top:var(--space-6)}
  .capability h3{font-size:var(--text-project)}
  .capability>summary>.micro{margin-top:0}
  .capability-foot{padding-top:var(--space-5)}
  .capability-body{padding-left:calc(var(--diagram-width) + var(--space-4))}
  .project-mark{padding:var(--space-5)}
  .project-caption h3{font-size:var(--text-small)}
  .project-collection{gap:var(--space-8) var(--space-4)}
  .project-private{flex-direction:column;gap:var(--space-3)}
  .films-grid{grid-template-columns:1fr;gap:var(--space-8)}
  .films{margin-top:var(--space-12)}
  .film header{display:flex;justify-content:space-between;gap:var(--space-3)}
  .subhead{align-items:flex-start}
  .subhead>span{max-width:var(--title-measure);text-align:right;font-size:var(--micro-size)}
  .founders-grid{gap:var(--space-8) var(--space-4)}
  .people-after{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
  .process{gap:var(--space-6)}
  .process-list .route-step{column-gap:var(--space-4);row-gap:var(--space-3)}
  .route-copy{grid-column:2}
  .route-note{font-size:var(--text-small)}
  .route-copy>p{font-size:var(--text-body)}
  .route-word h3{font-size:var(--route-type)}
  .contact-layout{grid-template-columns:1fr}
  .contact h2 br:nth-child(2){display:none}
  .contact-heading>.contact-aside{margin-top:var(--space-6)}
  .letter{margin-top:var(--space-4)}
  .letter-address .micro>span{display:none}
  .letter-actions{align-items:flex-start;flex-direction:column}
  .letter-actions>.button{width:100%}
  .footer-closing{display:block;padding-top:var(--space-12)}
  .return-link{flex-direction:row;width:fit-content;margin-top:var(--space-8);text-align:left}
  .footer-bottom{font-size:var(--micro-size)}
  .footer-bottom{flex-wrap:wrap;gap:var(--space-3)}
  .footer-bottom>p:last-child{width:100%}
  .palette-grid,.token-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:var(--time-reduced)!important;animation-iteration-count:1!important;transition-duration:var(--time-reduced)!important;scroll-behavior:auto!important}
  .head-turn{display:none!important}
}
