@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--bg:#101110;--surface:#191a18;--surface-2:#21221f;--paper:#eeece5;--muted:#a5a69f;--muted-light:#c3c3ba;--line:#393a34;--red:#f05b4f;--red-deep:#a82d25;--font:Manrope,Arial,sans-serif;--serif:Manrope,Arial,sans-serif;--gutter:clamp(1.4rem,4.8vw,5rem);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--paper);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased}body,html{max-width:100%}::selection{background:var(--red);color:var(--bg)}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,h5,p{margin:0}h1,h2,h3,h4,h5{font-weight:600;line-height:1.12}em{font-style:normal;font-family:inherit;font-weight:inherit;letter-spacing:inherit}button{border:0}p+p{margin-top:1.2rem}ul,ol{margin:0;padding:0}button:focus-visible{position:relative;z-index:4}.wrap{width:calc(100% - var(--gutter)*2);max-width:1400px;margin-inline:auto}.section{padding-block:clamp(5.5rem,10vw,10rem)}.eyebrow,.section-label,.sample-label{font-size:.75rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:var(--muted-light)}.section-label{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:2rem;color:var(--muted-light);margin-bottom:4.5rem}.label-rule{height:1px;flex:1;background:var(--line);margin-left:3rem}.section-label>span:first-child::before{content:'';display:inline-block;width:5px;height:5px;background:var(--red);margin:0 .8rem .12rem 0}.section-label .link-arrow{font-size:.875rem;text-transform:none;letter-spacing:0}.accent{color:var(--red)}.lead{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.4;letter-spacing:-.035em}.link-arrow{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:44px;font-size:.875rem;font-weight:600;border-bottom:1px solid var(--line)}.link-arrow span,.button span{transition:transform .25s var(--ease)}.link-arrow:hover span,.button:hover span{transform:translate(3px,-3px)}.link-arrow:hover{border-color:var(--red)}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;padding:.85rem 1.4rem;font-size:.875rem;font-weight:600;transition:background .25s,color .25s}.button-primary{background:var(--red);color:#11120f}.button-primary:hover{background:#ff7869}.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}.skip-link{position:fixed;left:1rem;top:1rem;transform:translateY(-160%);background:var(--paper);color:var(--bg);padding:.8rem 1rem;z-index:100}.skip-link:focus{transform:none}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:99;pointer-events:none}
/* A quiet identity, with the room behind it. */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:20;padding:1.65rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #eeece51a}.brand{display:flex;align-items:center;gap:1.05rem;font-weight:600;font-size:1rem;min-height:44px}.brand-mark{font-size:2.5rem;line-height:1;letter-spacing:-.2em;font-weight:800;width:42px}.brand-mark>span{color:var(--red);padding-right:.1em}.desktop-nav{display:flex;gap:2.2rem;align-items:center;font-size:.875rem}.desktop-nav>a{padding:.6rem 0;position:relative}.desktop-nav>a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.desktop-nav>a:hover::after{transform:scaleX(1)}.desktop-nav .nav-contact{margin-left:1rem;display:flex;gap:1.2rem}.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;min-height:max(840px,100svh);overflow:hidden;border-bottom:1px solid var(--line)}.hero-photo{position:absolute;inset:0 0 0 35%;z-index:-2;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center;opacity:.7}.hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),#10111040 65%),linear-gradient(0deg,var(--bg),#10111000 45%,#10111070)}.hero-inner{position:relative;padding-top:154px;padding-bottom:2rem;min-height:inherit;display:flex;flex-direction:column}.hero-kicker{display:flex;align-items:flex-start;gap:2rem;justify-content:space-between;position:relative;z-index:2}.hero-kicker>.eyebrow{padding-top:.25rem;color:var(--paper)}.hero-location{font-size:.75rem;line-height:1.6;letter-spacing:.02em;color:var(--muted-light);text-align:right}.hero h1{position:relative;z-index:3;margin-top:170px;font-weight:800;font-size:clamp(4rem,7.9vw,8.2rem);line-height:1.04;letter-spacing:-.069em;text-transform:uppercase;width:100%;margin-left:-.06em}.title-line{display:block;white-space:normal;padding-bottom:.08em}.hero-bottom{position:relative;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-top:2.1rem}.hero-description{display:flex;gap:3rem;align-items:flex-start}.hero-description>p:first-child{font-size:clamp(1rem,1.32vw,1.2rem);line-height:1.6;letter-spacing:-.015em}.hero-secondary{margin-top:0;color:var(--muted-light);font-size:.875rem;line-height:1.7;border-left:1px solid var(--line);padding-left:2rem}.hero-actions{display:flex;flex-direction:column;gap:.6rem;flex-shrink:0}.hero-actions .link-arrow{align-self:stretch;min-height:42px}.hero-foot{padding-top:2rem;margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--muted-light);letter-spacing:.035em}.hero-foot>a{display:flex;gap:1.5rem;align-items:center;min-height:44px}.hero-foot>a>span{font-size:1.2rem;color:var(--red)}
.signal-map{position:absolute;right:4%;top:148px;width:390px;height:212px;z-index:1;pointer-events:none}.signal-connections{position:absolute;width:100%;height:100%;overflow:visible}.signal-connections path{stroke:var(--red);stroke-opacity:.65;stroke-width:.75;stroke-dasharray:400;stroke-dashoffset:0}.signal-connections circle{stroke:var(--red);stroke-opacity:.45;stroke-width:.65}.signal-connections .signal-core{fill:var(--red);stroke:none}.signal{position:absolute;text-transform:uppercase;font-size:.75rem;letter-spacing:.15em;background:#101110ab;padding:2px 4px;color:#cfcdc5;transform:translate(-50%,-50%)}.s1{left:13.5%;top:14.2%;--dx:-55px;--dy:-25px}.s2{left:36.4%;top:7.7%;--dx:-25px;--dy:-22px}.s3{left:65.6%;top:12.3%;--dx:25px;--dy:-30px}.s4{left:88.5%;top:26.9%;--dx:45px;--dy:-20px}.s5{left:88%;top:78.5%;--dx:35px;--dy:20px}.s6{left:61.4%;top:91%;--dx:20px;--dy:20px}.s7{left:30.2%;top:85.4%;--dx:-45px;--dy:30px}.s8{left:7.3%;top:63.5%;--dx:-30px;--dy:15px}.context-word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;background:#101110;padding:.55rem .25rem;color:var(--paper)}
/* An editorial introduction. */
.intro{border-bottom:1px solid var(--line)}.intro-heading{display:grid;grid-template-columns:1fr 3fr;gap:3rem}.intro-heading>.eyebrow{padding-top:.5rem}.intro h2{font-size:clamp(2.4rem,4.5vw,4.5rem);letter-spacing:-.055em;line-height:1.15}.intro h2 em{color:var(--muted-light);font-size:1.09em}.intro-bottom{display:grid;grid-template-columns:1fr 3fr;gap:3rem;margin-top:4rem}.intro-note{font-size:.875rem;color:var(--muted);max-width:240px;line-height:1.85}.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem}.pillars article{border-top:1px solid var(--line);padding-top:1.4rem}.pillar-index{color:var(--red);font-size:.75rem}.pillars h3{font-size:1.125rem;line-height:1.4;letter-spacing:-.025em;margin:1.2rem 0 1rem}.pillars p{color:var(--muted);font-size:1rem;line-height:1.7}
/* The projects use their own visual grammar. */
.selected-work{padding-bottom:0}.work-heading{font-size:clamp(2.5rem,4.7vw,4.75rem);letter-spacing:-.05em;line-height:1.12;margin-bottom:6rem}.work-heading em{color:var(--muted-light)}.case-study{border-top:1px solid var(--line);padding-top:3rem;padding-bottom:6rem}.case-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:center;margin-bottom:3.75rem}.project-identity>.eyebrow{color:var(--muted)}.project-identity h3{font-size:clamp(4rem,8.3vw,8.3rem);font-weight:800;letter-spacing:-.08em;line-height:1.05;margin-top:1rem}.project-period{color:var(--red)}.case-headline{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.2;letter-spacing:-.045em}.case-status{font-size:.875rem;color:var(--muted);margin-top:1.2rem}.line-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:5rem;align-items:start}.case-story>p:not(.lead){font-size:1rem;color:var(--muted-light);max-width:360px}.case-story .lead{margin-bottom:1.75rem}.role-list{margin:2.2rem 0 1.3rem;border-top:1px solid var(--line);font-size:.875rem}.role-list>div{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.role-list dt{color:var(--paper);font-weight:600}.role-list dd{margin:0;color:var(--muted)}.case-story>.link-arrow{min-width:210px;margin-top:1rem}.line-demo{background:#1b1d1a;border:1px solid #3c4038;box-shadow:0 32px 80px #0003;scroll-margin-top:2rem}.demo-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#171916;border-bottom:1px solid var(--line)}.demo-brand{letter-spacing:-.04em;font-size:1.2rem;font-weight:800}.demo-brand>span{color:var(--red);margin-right:.3rem}.sample-label{color:var(--muted-light);font-size:.75rem;letter-spacing:.08em}.demo-title{display:flex;justify-content:space-between;gap:1rem;padding:1.8rem 1.5rem 1.5rem}.demo-title .eyebrow{font-size:.75rem;color:var(--muted)}.demo-title h4{font-size:1.55rem;letter-spacing:-.035em;margin-top:.55rem}.demo-time{font-size:1.3rem;line-height:1.1;text-align:right;color:var(--muted-light);font-variant-numeric:tabular-nums;white-space:nowrap}.demo-time small{font-size:.75rem;color:var(--muted)}.scenario-controls{display:flex;flex-wrap:wrap;gap:1.2rem;padding:0 1.5rem;border-bottom:1px solid var(--line)}.scenario-controls button{background:none;position:relative;font-size:.875rem;padding:.7rem 0 .85rem;min-height:44px;color:var(--muted);border-bottom:2px solid transparent}.scenario-controls button[aria-pressed=true]{color:var(--paper);border-color:var(--red)}.scenario-controls button:hover{color:var(--paper)}.signal-list{padding:.8rem 1.5rem 0}.signal-list>div{display:grid;grid-template-columns:6.1rem 1fr;gap:1.1rem;padding:.8rem 0;border-bottom:1px solid #eeece514;font-size:.875rem;line-height:1.6}.signal-source{color:var(--muted)}.context-output{margin:1.35rem 1.5rem;padding:1.5rem;background:#292a24;border-left:2px solid var(--red)}.context-output>.eyebrow{font-size:.75rem;color:var(--red)}.context-output h5{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:600;letter-spacing:-.035em;line-height:1.25;margin-top:.8rem}.context-output p{font-size:.875rem;color:var(--muted-light);margin-top:1rem;line-height:1.7}.context-owner{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.02em;margin-top:1.3rem}.demo-source-strip{display:flex;flex-wrap:wrap;justify-content:center;column-gap:1.1rem;row-gap:.25rem;padding:0 1.3rem}.demo-source-strip>span{font-size:.75rem;color:var(--muted)}.demo-disclaimer{font-size:.75rem;text-align:center;color:var(--muted);padding:1rem 1.5rem;border-top:1px solid var(--line);margin-top:1rem;line-height:1.7}.case-takeaway{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem;border-top:1px solid var(--line);padding-top:2.2rem;margin-top:4.5rem;align-items:center}.case-takeaway>p{font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.4;letter-spacing:-.035em}.case-takeaway em{color:var(--red);font-size:1.16em}.hermes-case{padding-bottom:0}.hermes-intro{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem;margin-bottom:2.7rem}.hermes-intro .lead{max-width:320px}.hermes-intro>div>p{color:var(--muted-light);font-size:1rem}.hermes-intro>div>.attribution{color:var(--muted);font-size:.875rem}.workflow-board{border:1px solid var(--line);background:var(--surface)}.workflow-heading{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.3rem 1.6rem;border-bottom:1px solid var(--line);background:#161714}.workflow-heading>.eyebrow{font-size:.75rem}.workflow-body{display:grid;grid-template-columns:.85fr 1.4fr}.workflow-stages{list-style:none;padding:1.3rem;border-right:1px solid var(--line)}.workflow-stages>li{position:relative}.workflow-stages>li:not(:last-child)::after{content:'';position:absolute;left:1.52rem;bottom:-6px;height:12px;width:1px;background:var(--line)}.workflow-stages button{display:grid;grid-template-columns:1.7rem 1fr 1rem;gap:.7rem;align-items:center;text-align:left;width:100%;padding:.95rem .9rem;background:none;border:1px solid transparent;transition:background .2s,border .2s;min-height:69px}.workflow-stages button[aria-pressed=true]{background:#2b2d27;border-color:#575a4e}.workflow-stages button:hover{background:#272924}.stage-number{font-size:.75rem;color:var(--muted)}.workflow-stages strong{display:block;font-size:.875rem;font-weight:600;line-height:1.4}.workflow-stages small{display:block;font-size:.75rem;color:var(--muted);margin-top:.2rem;line-height:1.5}.stage-arrow{color:var(--red);opacity:0;transition:opacity .2s}.workflow-stages [aria-pressed=true] .stage-arrow{opacity:1}.workflow-stages [aria-pressed=true] .stage-number{color:var(--red)}.workflow-detail{padding:2.5rem 3rem;display:flex;flex-direction:column;min-width:0;background:linear-gradient(140deg,#23251f,#1b1d19 75%)}.workflow-detail-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.8rem}.workflow-detail-meta>.eyebrow{color:var(--red);font-size:.75rem}.workflow-detail-meta>span:last-child{font-size:.75rem;color:var(--muted)}.workflow-detail h4{font-size:clamp(1.8rem,3vw,2.8rem);letter-spacing:-.045em;line-height:1.15}.workflow-detail>p{font-size:.9375rem;color:var(--muted-light);margin-top:1.2rem;max-width:470px}.example-note{margin:2rem 0;padding:1.3rem 1.5rem;background:#131510;border:1px solid #4c503f;border-radius:1px;position:relative}.example-note::before{content:'';position:absolute;top:-1px;left:-1px;width:30px;height:1px;background:var(--red)}.example-note>.eyebrow{font-size:.75rem;color:var(--muted)}.example-note>p{font-size:1rem;line-height:1.7;margin-top:.8rem;letter-spacing:-.01em}.note-caption{display:block;color:var(--muted);font-size:.75rem;margin-top:1rem;line-height:1.6}.workflow-detail-bottom{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin-top:auto}.workflow-detail-bottom>span{font-size:.75rem;color:var(--muted);line-height:1.65}.workflow-next{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;background:none;padding:.6rem 0;border-bottom:1px solid #656859;font-size:.875rem;min-height:44px;white-space:nowrap}.workflow-next:hover{border-color:var(--red)}.workflow-next>span{color:var(--red);font-size:1.1rem}.workflow-loop{display:flex;gap:1rem;align-items:center;border-top:1px solid var(--line);padding:1.15rem 1.6rem;background:#161714}.workflow-loop>span:first-child{color:var(--red);font-size:1.5rem}.workflow-loop>p{font-size:.875rem;color:var(--muted-light)}.workflow-loop>.human-review{margin-left:auto;font-size:.75rem;color:var(--muted);text-align:right}.workflow-uses{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem;margin-top:2.3rem;padding-bottom:3.5rem;border-bottom:1px solid var(--line)}.workflow-uses>p:last-child{margin:0;color:var(--muted-light);font-size:1rem;line-height:1.9;max-width:610px}
/* Practice cases open into concrete reasoning, with native keyboard behavior. */
.readiness-heading{display:flex;justify-content:space-between;gap:4rem;align-items:flex-end;margin-bottom:3.5rem}.readiness h2,.experience h2{font-size:clamp(2.5rem,4.5vw,4.5rem);line-height:1.12;letter-spacing:-.05em}.readiness h2 em,.experience h2 em{color:var(--muted-light)}.readiness-heading>p{color:var(--muted);max-width:340px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.practice-case{border:1px solid var(--line);background:var(--surface);min-width:0}.practice-case>summary{list-style:none;cursor:pointer;padding:2rem 2rem 1.5rem;transition:background .25s}.practice-case>summary::-webkit-details-marker{display:none}.practice-case>summary:hover{background:#242520}.practice-meta{display:block;font-size:.75rem;color:var(--red);text-transform:uppercase;font-weight:600;letter-spacing:.09em}.practice-title{display:block;font-size:clamp(1.7rem,2.8vw,2.6rem);line-height:1.15;letter-spacing:-.04em;margin:2.7rem 0 1.25rem}.practice-description{display:block;font-size:.875rem;color:var(--muted)}.practice-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:2.5rem;font-size:.875rem}.practice-plus{width:34px;height:34px;display:grid;place-items:center;font-size:1.5rem;line-height:1;border:1px solid #65675e;border-radius:50%;transition:transform .3s}.practice-case[open] .practice-plus{transform:rotate(45deg);color:var(--red);border-color:var(--red)}.close-label{display:none}.practice-case[open] .close-label{display:inline}.practice-case[open] .open-label{display:none}.practice-content{border-top:1px solid var(--line);padding:1.75rem 2rem 2rem}.practice-context{font-size:.875rem;color:var(--muted-light)}.practice-steps{list-style:none;counter-reset:practice;margin-top:1.5rem}.practice-steps>li{position:relative;padding:1.4rem 0 1.4rem 2.2rem;border-top:1px solid var(--line);counter-increment:practice}.practice-steps>li::before{content:'0' counter(practice);position:absolute;top:1.45rem;left:0;font-size:.75rem;color:var(--red)}.practice-steps h4{font-size:1rem;line-height:1.4}.practice-steps p{font-size:.875rem;line-height:1.8;color:var(--muted-light);margin-top:.6rem}.readiness-caption{font-size:.875rem;color:var(--muted);margin-top:1.5rem;text-align:center}
/* A human pause in the narrative. */
.hospitality{position:relative;isolation:isolate;min-height:890px;overflow:hidden}.hospitality-image{position:absolute;inset:0;z-index:-2}.hospitality-image>img{width:100%;height:100%;object-fit:cover;object-position:45% center}.hospitality-image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101110a6,#10111033 65%),linear-gradient(0deg,#101110f5,#10111055 60%,#10111077)}.hospitality-inner{padding-block:4.5rem 3rem;position:relative;display:grid;grid-template-columns:1.4fr 1fr;column-gap:4rem}.hospitality .section-label{grid-column:1/-1;margin-bottom:6rem}.hospitality h2{font-size:clamp(2.8rem,4.9vw,5rem);line-height:1.08;letter-spacing:-.045em}.hospitality h2 em{font-size:1.3em;line-height:1.3}.hospitality-copy{align-self:end;max-width:370px;margin-left:auto;padding-top:9rem}.hospitality-copy>p{font-size:1rem;color:#e1ddd2;line-height:1.85}.hospitality-values{grid-column:1/-1;margin-top:5rem;border-top:1px solid #eeece54d;display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.5rem;font-size:.875rem;color:var(--muted-light)}
.principle{background:#a32e27;color:var(--paper);position:relative;overflow:hidden;padding-block:6.5rem}.principle-layout{display:grid;grid-template-columns:1fr 3fr;gap:3rem}.principle .eyebrow{color:#f0cdc8;line-height:1.8;max-width:180px;display:block}.principle-symbol{display:block;font-family:var(--serif);font-size:11rem;line-height:1.2;opacity:.35;font-style:italic}.principle h2{font-size:clamp(2.1rem,3.4vw,3.3rem);line-height:1.24;letter-spacing:-.04em}.principle h2 em{font-size:1.2em}.principle p{margin-top:2rem;max-width:550px;font-size:1rem;color:#f0d2cc;line-height:1.8}
.experience-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:3.5rem}.experience-heading>p{font-size:.875rem;color:var(--muted);padding-bottom:.4rem}.timeline article{border-top:1px solid var(--line);padding:1.8rem 0;display:grid;grid-template-columns:.8fr 1.45fr 1fr;gap:2rem;align-items:start}.timeline-date{font-size:.875rem;color:var(--muted);padding-top:.2rem}.timeline h3{font-size:clamp(1.1rem,1.8vw,1.5rem);letter-spacing:-.03em;line-height:1.3}.timeline article p{font-size:.875rem;color:var(--muted);margin-top:.5rem}.timeline-context{font-size:.875rem;color:var(--muted);text-align:right;padding-top:.3rem}.timeline .education-row{margin-top:1rem;border-bottom:1px solid var(--line)}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#0c0d0b}.contact-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;z-index:-3;opacity:.5}.contact::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#0c0d0bf0,#0c0d0b3a 52%,#0c0d0bc9)}.contact-inner{padding-top:4rem}.contact-intro{font-size:clamp(1.15rem,1.8vw,1.55rem);line-height:1.65;color:#dedcd3;letter-spacing:-.02em}.contact h2{font-size:clamp(5rem,14vw,14rem);line-height:1;letter-spacing:-.075em;font-weight:600;margin:2.2rem 0 3rem}.contact h2>a{display:flex;align-items:center;justify-content:space-between;gap:2rem;transition:color .25s}.contact h2>a>span{font-weight:400;display:block;font-size:.66em;color:var(--red);transition:transform .5s var(--ease);padding-right:.05em}.contact h2>a:hover{color:#fff}.contact h2>a:hover>span{transform:translate(.07em,-.07em)}.contact-bottom{display:flex;justify-content:space-between;gap:4rem;align-items:flex-end}.role-interests>.eyebrow{color:var(--muted);font-size:.75rem}.role-interests>p:last-child{color:var(--muted-light);font-size:.875rem;line-height:1.95;margin-top:.8rem}.contact-links{display:flex;flex-direction:column;min-width:310px}.contact-links>a{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:.6rem 0;border-bottom:1px solid #78796e88;font-size:.875rem;min-height:44px}.contact-links>a:hover{border-color:var(--red)}.contact-links>a>span[aria-hidden]{color:var(--red)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem;border-top:1px solid #eeece533;margin-top:5rem;padding:1.5rem 0;font-size:.75rem;color:var(--muted)}.site-footer>a{padding:.5rem 0}.noscript-note{padding:1rem;font-size:.875rem;background:var(--surface)}
/* The signature animation is finite and never gates navigation. */
@media(prefers-reduced-motion:no-preference){.signal{animation:signal-organize 1.9s var(--ease) both}.signal-connections path{animation:connect-context 2s var(--ease) .15s both}.signal-connections circle{animation:context-appear 1.1s var(--ease) .6s both}.context-word{animation:context-appear .9s var(--ease) .9s both}.title-line{animation:title-resolve 1.1s var(--ease) 1.1s both}.title-line:nth-child(2){animation-delay:1.55s}.hero-photo img{animation:room-resolve 2.3s var(--ease) both}}
@keyframes signal-organize{from{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy)))}30%{opacity:.7}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes connect-context{from{stroke-dashoffset:400;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes context-appear{from{opacity:0}to{opacity:1}}
@keyframes title-resolve{from{clip-path:inset(100% 0 0);transform:translateY(.22em)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes room-resolve{from{opacity:.35;transform:scale(1.035)}to{opacity:.7;transform:scale(1)}}
@media(min-width:1700px){.hero h1{font-size:8.4rem}.hero-inner{padding-top:175px}.hero h1{margin-top:180px}.signal-map{width:440px;height:239px;top:220px}}
@media(max-width:1150px){.hero-description{gap:1.5rem}.hero-secondary{display:none}.line-layout,.hermes-intro,.case-takeaway,.workflow-uses{gap:3rem}.intro-heading,.intro-bottom{grid-template-columns:.75fr 3fr;gap:2rem}.intro-note{max-width:none}.pillars{gap:1.5rem}.workflow-detail{padding:2rem}.signal-map{width:340px;height:184px;right:0;top:180px}.case-heading{gap:2rem}.hospitality-inner{column-gap:2rem}.hospitality-copy{padding-top:7rem}.desktop-nav{gap:1.5rem}.desktop-nav .nav-contact{margin-left:0}}
@media(max-width:900px){.site-header{padding-block:1.15rem}.desktop-nav{gap:1.2rem;font-size:.875rem}.brand{font-size:.9375rem}.brand-mark{font-size:2.2rem}.hero{min-height:max(820px,100svh)}.hero h1{font-size:7.95vw;margin-top:180px}.hero-inner{padding-top:140px}.signal-map{top:193px;width:310px;height:168px}.hero-photo{left:22%}.hero-bottom{margin-top:2rem}.hero-description>p:first-child{font-size:1rem}.hero-location{font-size:.75rem}.hero-actions .button{font-size:.875rem;gap:1.5rem}.intro-heading,.intro-bottom{grid-template-columns:1fr;gap:1.6rem}.intro-note{max-width:520px;font-size:1rem}.intro-bottom{gap:2.6rem}.section-label{margin-bottom:3rem}.intro h2{font-size:clamp(2.5rem,5.3vw,4.5rem)}.line-layout{grid-template-columns:1fr 1.15fr;gap:2rem}.case-story>p:not(.lead){font-size:.9375rem}.role-list>div{grid-template-columns:1fr;gap:.5rem}.case-status{font-size:.75rem}.project-identity h3{font-size:8.5vw}.case-headline{font-size:2rem}.demo-bar,.demo-title{padding-inline:1.1rem}.scenario-controls{padding-inline:1.1rem;gap:1rem}.scenario-controls button{font-size:.75rem}.signal-list{padding-inline:1.1rem}.signal-list>div{grid-template-columns:1fr;gap:.3rem;padding:.6rem 0}.context-output{margin:1.1rem;padding:1.1rem}.demo-title h4{font-size:1.2rem}.demo-time{font-size:1rem}.demo-title .eyebrow{font-size:.75rem}.hermes-intro,.case-takeaway,.workflow-uses{gap:2rem}.workflow-body{grid-template-columns:.95fr 1.25fr}.workflow-stages{padding:.75rem}.workflow-stages button{gap:.4rem;padding:.8rem .6rem;grid-template-columns:1.5rem 1fr .8rem}.workflow-detail{padding:1.6rem}.workflow-detail h4{font-size:2rem}.workflow-detail>p{font-size:.875rem}.example-note{padding:1.2rem;margin:1.5rem 0}.example-note>p{font-size:.875rem}.workflow-detail-bottom{flex-wrap:wrap;gap:.8rem}.workflow-loop{flex-wrap:wrap;gap:.5rem}.workflow-loop>.human-review{margin-left:2rem}.workflow-loop>p{flex:1;min-width:200px}.workflow-heading{padding:1rem 1.2rem}.workflow-heading .eyebrow{font-size:.75rem}.readiness-heading{gap:2rem}.readiness-heading>p{max-width:260px;font-size:.9375rem}.practice-case>summary{padding:1.6rem}.practice-meta{font-size:.75rem}.practice-content{padding:1.6rem}.hospitality-inner{grid-template-columns:1.1fr 1fr}.hospitality h2{font-size:5.7vw}.hospitality-copy{padding-top:6rem}.hospitality-copy>p{font-size:.9375rem}.hospitality-values{font-size:.75rem;flex-wrap:wrap}.principle-layout{grid-template-columns:1fr 3fr;gap:2rem}.principle h2{font-size:3.8vw}.timeline article{grid-template-columns:.8fr 1.45fr .65fr;gap:1.3rem}.timeline-context{font-size:.75rem}.contact-links{min-width:270px}.contact-bottom{gap:2rem}}
@media(max-width:700px){:root{--gutter:1.4rem}.desktop-nav{display:none}.site-header{padding-block:1rem;gap:1rem}.brand{gap:.85rem}.mobile-menu{display:block;position:relative}.mobile-menu>summary{display:flex;align-items:center;gap:1rem;min-height:44px;font-size:.875rem;cursor:pointer;list-style:none}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary>span{font-size:1.4rem;color:var(--red)}.mobile-menu[open]>summary>span{transform:rotate(45deg)}.mobile-menu nav{position:absolute;right:0;top:calc(100% + 1.4rem);width:min(300px,calc(100vw - 2.8rem));padding:1.2rem;background:#1e211a;border:1px solid var(--line);box-shadow:0 12px 40px #0008}.mobile-menu nav>a{display:block;padding:.8rem .4rem;font-size:1rem;border-bottom:1px solid var(--line)}.mobile-menu nav>a:last-child{border:0;color:var(--red)}.hero{min-height:max(760px,100svh)}.hero-inner{padding-top:123px;padding-bottom:1rem}.hero-kicker{gap:1rem}.hero-kicker>.eyebrow{font-size:.75rem;letter-spacing:.1em}.hero-location{font-size:.75rem;line-height:1.5}.hero-photo{inset:0 -10% 0 0}.hero-photo>img{object-position:59% center;opacity:.65}.hero-photo::after{background:linear-gradient(90deg,#101110cc,#10111030),linear-gradient(0deg,var(--bg),#10111030 63%,#10111070)}.signal-map{width:285px;height:154px;top:199px;right:0}.signal{font-size:.75rem}.context-word{font-size:.75rem}.hero h1{font-size:clamp(1.875rem,9.05vw,3.8rem);line-height:1.1;letter-spacing:-.07em;margin-top:228px}.title-line{padding-bottom:.1em}.hero-bottom{display:block;margin-top:1.7rem}.hero-description>p:first-child{font-size:1rem;max-width:370px}.hero-actions{flex-direction:row;align-items:center;gap:1.6rem;margin-top:1.6rem;flex-wrap:wrap}.hero-actions>.button{font-size:.875rem;gap:1.4rem;min-height:50px;padding:.7rem 1rem}.hero-actions>.link-arrow{font-size:.875rem;min-height:48px;gap:1rem}.hero-foot{font-size:.75rem;padding-top:2.3rem;gap:1rem}.hero-foot>a{gap:.6rem}.hero-foot>a>span{font-size:1rem}.section{padding-block:4.7rem}.section-label{margin-bottom:2.75rem;font-size:.75rem;letter-spacing:.08em;align-items:flex-start}.section-label>span:last-child:not(.label-rule){text-align:right}.label-rule{margin-left:1rem;margin-top:.45rem}.intro h2{font-size:clamp(2rem,7.2vw,3.5rem)}.intro-heading{gap:1.5rem}.intro-heading>.eyebrow{font-size:.75rem}.intro-bottom{margin-top:2.5rem}.intro-note{font-size:1rem;line-height:1.8}.pillars{grid-template-columns:1fr;gap:1.5rem}.pillars article{display:grid;grid-template-columns:1.8rem 1fr;gap:.5rem 1rem;padding-top:1.25rem}.pillar-index{padding-top:.1rem}.pillars h3{margin:0;font-size:1.15rem;line-height:1.3}.pillars h3 br{display:none}.pillars p{grid-column:2;margin-top:.4rem;font-size:.9375rem}.work-heading{font-size:clamp(2.2rem,7.7vw,3.5rem);margin-bottom:3.5rem}.selected-work{padding-bottom:0}.case-study{padding-top:2.5rem;padding-bottom:3.5rem}.case-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.project-identity>.eyebrow{font-size:.75rem}.project-identity h3{font-size:clamp(4rem,17vw,7rem);margin-top:.8rem}.case-headline{font-size:2rem;line-height:1.2}.case-headline br{display:none}.case-status{font-size:.75rem;margin-top:.75rem}.line-layout{grid-template-columns:1fr;gap:2.5rem}.case-story .lead{font-size:1.5rem;margin-bottom:1.3rem}.case-story>p:not(.lead){max-width:none;font-size:1rem}.role-list{margin:1.75rem 0 1rem}.role-list>div{grid-template-columns:4.2rem 1fr;gap:1rem;padding:1rem 0}.case-story>.link-arrow{margin-top:.25rem}.demo-title{padding:1.5rem 1.2rem}.demo-title .eyebrow{font-size:.75rem}.demo-title h4{font-size:1.45rem}.demo-time{font-size:1.25rem}.demo-bar{padding:.9rem 1.2rem}.sample-label{font-size:.75rem}.scenario-controls{padding-inline:1.2rem;gap:1.25rem}.scenario-controls button{font-size:.875rem}.signal-list{padding:.5rem 1.2rem 0}.signal-list>div{grid-template-columns:5.6rem 1fr;gap:.65rem;font-size:.875rem;padding:.8rem 0}.context-output{margin:1.2rem;padding:1.3rem}.context-output h5{font-size:1.5rem}.context-output>.eyebrow{font-size:.75rem}.context-output p{font-size:.875rem}.demo-source-strip{column-gap:1rem}.demo-disclaimer{font-size:.75rem;padding:.8rem 1.2rem}.case-takeaway{grid-template-columns:1fr;gap:1rem;margin-top:2.5rem;padding-top:1.6rem}.case-takeaway .eyebrow{font-size:.75rem}.case-takeaway>p{font-size:1.35rem}.hermes-intro{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2rem}.hermes-intro .lead{max-width:none;font-size:1.5rem}.hermes-intro>div>.attribution{font-size:.875rem}.workflow-heading{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.1rem}.workflow-heading>.eyebrow{font-size:.75rem;letter-spacing:.06em}.workflow-body{grid-template-columns:1fr}.workflow-stages{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;padding:.8rem;border-right:0;border-bottom:1px solid var(--line)}.workflow-stages li:last-child{grid-column:1/-1}.workflow-stages>li:not(:last-child)::after{display:none}.workflow-stages button{grid-template-columns:1.3rem 1fr;gap:.35rem;min-height:79px;padding:.6rem .5rem;align-items:start}.workflow-stages li:last-child button{min-height:62px}.stage-number{padding-top:.2rem}.workflow-stages strong{font-size:.875rem;line-height:1.4}.workflow-stages small{font-size:.75rem;line-height:1.5}.stage-arrow{display:none}.workflow-detail{padding:1.5rem;min-height:520px}.workflow-detail h4{font-size:2.15rem}.workflow-detail>p{font-size:.9375rem;line-height:1.75}.workflow-detail-meta{margin-bottom:1.4rem}.workflow-detail-meta>.eyebrow{font-size:.75rem}.example-note{padding:1.15rem;margin:1.5rem 0}.example-note>.eyebrow{font-size:.75rem}.example-note>p{font-size:.9375rem}.note-caption{font-size:.75rem}.workflow-detail-bottom{flex-wrap:nowrap;gap:.75rem}.workflow-detail-bottom>span{font-size:.75rem}.workflow-next{font-size:.75rem;gap:.6rem}.workflow-loop{padding:1rem 1.2rem;gap:.5rem .75rem}.workflow-loop>p{font-size:.75rem;min-width:150px}.workflow-loop>.human-review{width:100%;text-align:left;margin-left:1.8rem;font-size:.75rem}.workflow-uses{grid-template-columns:1fr;gap:1rem;margin-top:1.6rem;padding-bottom:0;border-bottom:0}.workflow-uses .eyebrow{font-size:.75rem}.workflow-uses>p:last-child{font-size:.9375rem}.readiness{border-top:1px solid var(--line)}.readiness-heading{display:block;margin-bottom:2.5rem}.readiness h2,.experience h2{font-size:clamp(2.2rem,7.7vw,3.5rem)}.readiness-heading>p{max-width:none;font-size:1rem;margin-top:1.5rem}.practice-grid{grid-template-columns:1fr;gap:1rem}.practice-case>summary{padding:1.5rem}.practice-meta{font-size:.75rem}.practice-title{font-size:2rem;margin:2rem 0 1rem}.practice-description{font-size:.875rem}.practice-footer{margin-top:2rem;padding-top:1rem}.practice-content{padding:1.4rem}.readiness-caption{font-size:.75rem;line-height:1.8;margin-top:1.25rem;text-align:left}.hospitality{min-height:0}.hospitality-image>img{object-position:28% center}.hospitality-image::after{background:linear-gradient(0deg,#101110f5,#10111050 83%),linear-gradient(90deg,#10111066,transparent)}.hospitality-inner{display:block;padding-block:3rem}.hospitality .section-label{margin-bottom:9rem}.hospitality .section-label>span:last-child{font-size:.75rem;max-width:100px}.hospitality h2{font-size:clamp(2.6rem,9vw,4rem);line-height:1.1}.hospitality h2 em{font-size:1.18em}.hospitality-copy{padding-top:2.5rem;max-width:none;margin:0}.hospitality-copy>p{font-size:1rem;line-height:1.85}.hospitality-values{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;font-size:.75rem}.principle{padding-block:3.5rem}.principle-layout{grid-template-columns:1fr;gap:1.75rem}.principle .eyebrow{max-width:none;font-size:.75rem}.principle-symbol{display:none}.principle h2{font-size:clamp(1.9rem,6.7vw,3rem);line-height:1.25}.principle p{font-size:.9375rem;margin-top:1.5rem}.experience .section-label{align-items:center}.experience .section-label .link-arrow{font-size:.75rem;gap:.75rem;letter-spacing:0}.experience-heading{display:block;margin-bottom:2.4rem}.experience-heading>p{margin-top:1.5rem;font-size:.9375rem}.timeline article{grid-template-columns:1fr;gap:.6rem;padding:1.5rem 0}.timeline-date{font-size:.75rem}.timeline h3{font-size:1.3rem}.timeline article p{font-size:.875rem}.timeline-context{font-size:.75rem;text-align:left;padding-top:0}.timeline .education-row{margin-top:.5rem}.contact-inner{padding-top:3rem}.contact .section-label{gap:2rem;margin-bottom:3rem}.contact .section-label>span:last-child{max-width:145px}.contact-intro{font-size:1.1rem;line-height:1.8;max-width:340px}.contact-intro br{display:none}.contact h2{font-size:clamp(4rem,16.5vw,7rem);margin:2rem 0 3rem;letter-spacing:-.06em}.contact h2>a{gap:1rem}.contact-bottom{display:block}.role-interests>p:last-child{font-size:.875rem}.contact-links{min-width:0;margin-top:2rem}.contact-links>a{font-size:.875rem;min-height:50px}.site-footer{gap:1rem;font-size:.75rem;margin-top:3rem;padding:1.2rem 0}.footer-thought{display:none}.contact-image{object-position:57% center;opacity:.4}}
@media(max-width:360px){.hero-actions{gap:.6rem}.hero-actions>.button{padding-inline:.9rem;gap:.75rem;font-size:.75rem}.hero-actions>.link-arrow{font-size:.75rem;gap:.5rem}.hero h1{font-size:8.85vw}.hero-location{font-size:.75rem}.brand{font-size:.875rem}.signal-map{width:260px;height:141px}.demo-title h4{font-size:1.25rem}.scenario-controls{gap:1rem}.scenario-controls button{font-size:.75rem}.signal-list>div{grid-template-columns:1fr;gap:.25rem}.workflow-detail{padding:1.1rem}.workflow-detail-bottom{flex-wrap:wrap}.role-interests>p:last-child{font-size:.875rem}.contact-links>a{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reading-progress{display:none}}
@media print{body{color:#111;background:#fff;font-size:11pt}a{color:#111}.site-header,.hero-photo,.signal-map,.hero-foot,.reading-progress,.hero-actions,.mobile-menu,.hospitality-image,.contact-image,.practice-grid,.contact,.workflow-stages,.workflow-next,.skip-link{display:none!important}.wrap{width:100%;max-width:none}.section,.case-study{padding:1.5rem 0}.hero{min-height:0}.hero-inner{min-height:0;padding:0}.hero h1{margin:1rem 0;font-size:2.4rem}.hero-kicker,.hero-bottom{margin:0}.hero-location{text-align:left}.hero-description>p{color:#111}.intro-heading,.intro-bottom,.line-layout,.hermes-intro,.case-heading,.workflow-body,.hospitality-inner,.principle-layout,.case-takeaway,.workflow-uses{display:block}.case-heading>div+div{margin-top:1rem}.project-identity h3{font-size:2.5rem}.line-demo{margin-top:1rem}.workflow-detail{min-height:0}.hero-location,.eyebrow,.case-status,.section-label,.lead,p,dt,dd,.timeline-date,.timeline-context{color:#333!important}.hospitality{min-height:0}.hospitality-inner{padding:1rem 0}.hospitality h2{font-size:2rem}.hospitality-copy{padding:1rem 0;margin:0;max-width:none}.hospitality .section-label{margin-bottom:1rem}.principle{background:none;color:#111}.principle h2{font-size:1.8rem}.principle-symbol{display:none}.section-label{margin-bottom:1rem}.work-heading{margin-bottom:2rem;font-size:2.5rem}.intro h2,.experience h2,.readiness h2{font-size:2rem}.workflow-board,.workflow-detail,.line-demo,.context-output,.example-note,.workflow-heading,.workflow-loop,.demo-bar{background:#f6f6f3;color:#111}.intro-note,.pillars p,.case-story>p:not(.lead),.workflow-detail>p,.context-output p,.workflow-loop>p{color:#333}.timeline article{break-inside:avoid}.timeline-context{text-align:left}.hospitality-values{margin-top:1rem}.hero h1,.title-line{animation:none;transform:none;clip-path:none}.accent{color:#a32e27}}

.site-header{transition:background .25s,border-color .25s}.site-header.is-scrolled{background:#101110f7;border-color:var(--line)}
.pillars p,.case-story>p:not(.lead),.hermes-intro>div>p,.workflow-detail>p,.example-note>p,.context-output p,.practice-context,.practice-steps p,.hospitality-copy>p,.readiness-heading>p,.principle p,.workflow-uses>p:last-child,.intro-note{font-size:1rem}
@media(max-width:700px){.hero-kicker>.eyebrow{max-width:150px}.hero-location{font-size:.75rem;max-width:155px}.hero-foot{flex-wrap:wrap}.hero-foot>a{margin-left:auto}.workflow-detail-meta{flex-wrap:wrap}.workflow-detail-meta>span:last-child{font-size:.75rem}.workflow-heading>.eyebrow{line-height:1.8}.sample-label{letter-spacing:.025em}.demo-source-strip{row-gap:.5rem}.demo-title{align-items:flex-start}}

@media(min-width:901px){.hero-kicker{justify-content:flex-start}.hero-location{margin-left:.5rem;text-align:left;border-left:1px solid var(--line);padding-left:2rem}.desktop-nav{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){.workflow-detail-bottom{flex-wrap:wrap}}

.intro {
  position: relative;
}
#intro-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
#intro-field canvas {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.intro > :not(#intro-field) {
  position: relative;
  z-index: 1;
}
.intro-heading,
.intro-bottom {
  display: block;
  grid-template-columns: none;
}
.intro-heading > .eyebrow {
  margin-bottom: 1.15rem;
  font-family: VT323, "Courier New", monospace;
  font-size: 1.15rem;
  letter-spacing: 0.16em;
  color: #ff4d5a;
}
.intro h2 {
  max-width: min(100%, 44rem);
  font-size: clamp(2.35rem, 4.4vw, 4.15rem);
  line-height: 1.08;
}
.intro-crt {
  display: inline;
  background: repeating-linear-gradient(
    to bottom,
    #ff4d5a 0 7px,
    #f54754 7px 8px
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: #ff4d5a;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 3px rgba(229, 9, 20, 0.18));
  padding-bottom: 0.08em;
}
.intro-bottom {
  margin-top: 2.75rem;
}
.intro-note {
  max-width: 46rem;
  margin-bottom: 2.25rem;
  font-size: clamp(1.15rem, 1.7vw, 1.35rem);
  line-height: 1.55;
  color: #d8d4cc;
}
.pillars {
  gap: 2rem 3rem;
}
.pillars article {
  padding-top: 1.65rem;
  border-top: 1px solid rgba(240, 91, 79, 0.28);
}
.pillar-index {
  display: block;
  font-family: VT323, "Courier New", monospace;
  font-size: 1.05rem;
  letter-spacing: 0.16em;
  font-weight: 400;
  margin-bottom: 0.85rem;
  color: #ff2434;
}
.pillars h3 {
  font-size: clamp(1.55rem, 2.35vw, 2.05rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.04em;
  margin: 0 0 1rem;
  color: var(--paper);
}
.pillars p {
  font-size: 1rem;
  color: var(--muted-light);
}
@media (max-width: 700px) {
  .intro h2 { max-width: none; }
  .pillars h3 { font-size: 1.45rem; }
}

.intro .section-label {
  font-family: VT323, "Courier New", monospace;
  letter-spacing: 0.14em;
}
.principle-symbol {
  font-family: VT323, "Courier New", monospace;
  font-style: normal;
}
h2 em, h3 em, p em {
  font-style: normal;
  font-family: inherit;
}

.intro.section {
  padding-bottom: clamp(3.5rem, 6vw, 5.5rem);
}
.selected-work.section {
  padding-top: clamp(3rem, 5vw, 4.5rem);
}
.selected-work > .wrap > .section-label {
  margin-bottom: 1.25rem;
}
.work-heading {
  font-family: VT323, "Courier New", monospace;
  font-size: clamp(1.45rem, 2.7vw, 2.05rem);
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.35;
  color: #ff4d5a;
  margin-bottom: 2.25rem;
}

/* LINE evidence + Porterhouse walkthrough. Local to #line. */
.line-case .case-story > .link-arrow {
  display: flex;
  width: max-content;
  max-width: 100%;
}
.line-case .case-story > .link-arrow + .link-arrow {
  margin-left: 0;
  margin-top: 0.15rem;
}
.line-practice {
  margin-top: 4.5rem;
  scroll-margin-top: 7.5rem;
}
.line-app {
  background: #121212;
  border: 1px solid #3d3d3d;
  box-shadow: 0 32px 80px #0003;
}
.line-practice-bar,
.line-practice-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.line-practice-bar {
  align-items: center;
  padding: 0 0 1rem;
  background: transparent;
  border: 0;
}
.line-practice-steps button:focus-visible {
  outline-offset: 3px;
}
.line-practice-kicker,
.line-view-kicker,
.line-schema-label {
  font-family: VT323, "Courier New", monospace;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--red);
}
.line-practice-kicker {
  font-size: 1.15rem;
}
.line-practice-title {
  padding: 1.6rem 1.5rem 1.2rem;
}
.line-practice-title h4 {
  font-size: 1.55rem;
  letter-spacing: -0.035em;
  margin-top: 0.45rem;
}
.line-dish-note,
.line-practice-meta,
.line-schema-lead,
.line-schema-relations {
  font-size: 0.875rem;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 0.7rem;
  max-width: 34rem;
}
.line-practice-meta {
  max-width: 16rem;
  text-align: right;
  margin-top: 0.35rem;
}
.line-practice-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  padding: 0 1.5rem;
  border-bottom: 1px solid var(--line);
}
.line-practice-steps button {
  background: none;
  position: relative;
  font-size: 0.875rem;
  padding: 0.7rem 0 0.85rem;
  min-height: 44px;
  color: var(--muted);
  border-bottom: 2px solid transparent;
}
.line-practice-steps button[aria-pressed="true"] {
  color: var(--paper);
  border-color: var(--red);
}
.line-practice-steps button:hover {
  color: var(--paper);
}
.line-practice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 0;
  align-items: start;
}
.line-practice-grid > #line-practice-view {
  min-width: 0;
  border-right: 1px solid var(--line);
}
.line-view-card,
.line-schema {
  padding: 1.4rem 1.5rem 1.6rem;
  overflow-wrap: break-word;
}
.line-view-kicker,
.line-schema-label {
  display: block;
  font-size: 1.05rem;
  margin-bottom: 0.85rem;
}
.line-view-card h5 {
  font-size: clamp(1.3rem, 2vw, 1.8rem);
  letter-spacing: -0.035em;
  line-height: 1.25;
}
.line-view-cat,
.line-view-card p,
.line-view-card li,
.line-schema li {
  font-size: 1rem;
  color: var(--muted-light);
  line-height: 1.7;
}
.line-view-cat {
  color: var(--muted);
  margin: 0.55rem 0 0.9rem;
}
.line-view-card p + p,
.line-view-card .eyebrow {
  margin-top: 1.1rem;
}
.line-view-card .eyebrow {
  color: var(--muted);
}
.line-view-facts,
.line-view-card ul,
.line-schema ul {
  list-style: none;
  margin-top: 1rem;
}
.line-view-facts li,
.line-view-card ul li,
.line-schema li {
  padding: 0.45rem 0;
  border-top: 1px solid #eeece514;
}
.line-staff-disclaimer,
.line-staff-status {
  font-size: 0.875rem;
  line-height: 1.7;
}
.line-staff-disclaimer {
  color: var(--paper);
  margin-top: 0.35rem;
}
.line-staff-status {
  color: var(--muted);
}
.line-practice-next {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: none;
  padding: 0.6rem 0;
  margin-top: 1.4rem;
  border-bottom: 1px solid #656859;
  font-size: 0.875rem;
  min-height: 44px;
}
.line-practice-next:hover {
  border-color: var(--red);
}
.line-practice-next > span {
  color: var(--red);
}
.line-staff-fallback {
  margin: 0 1.5rem 1.4rem;
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}
.line-staff-fallback summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  cursor: pointer;
  color: var(--muted-light);
}
.line-schema {
  background: #121212;
  min-width: 0;
  padding: 1rem 1.15rem 1.1rem;
}
.line-schema-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.5rem;
  margin-top: 0.55rem;
}
.line-schema-label {
  color: var(--paper);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0.45rem;
}
.line-schema ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
  list-style: none;
}
.line-schema li {
  border: 1px solid #3d3d3d;
  padding: 0.22rem 0.5rem;
  font-size: 0.78rem;
  font-family: ui-monospace, monospace;
  color: var(--muted-light);
  line-height: 1.3;
}
.line-schema-relations {
  margin-top: 0.85rem;
  max-width: none;
  font-size: 0.85rem;
}
.line-schema-lead {
  margin: 0;
  max-width: 42rem;
}
.line-reflect {
  margin-top: 1.5rem;
  border-top: 1px solid var(--line);
  padding-top: 1.2rem;
  scroll-margin-top: 7.5rem;
}
.line-reflect-list {
  margin-top: 0.55rem;
}
.line-reflect-list > div {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.75rem 1rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--line);
}
.line-reflect-list dt {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--paper);
}
.line-reflect-list dd {
  margin: 0;
  font-size: 1rem;
  color: var(--muted-light);
  line-height: 1.7;
}
@media (max-width: 900px) {
  .line-practice-grid {
    grid-template-columns: 1fr;
  }
  .line-practice-grid > #line-practice-view {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .line-practice-meta {
    text-align: left;
    max-width: none;
  }
}
@media (max-width: 700px) {
  .line-practice-bar,
  .line-practice-title,
  .line-view-card,
  .line-schema {
    padding-inline: 1.2rem;
  }
  .line-practice-steps {
    padding-inline: 1.2rem;
  }
  .line-practice-title,
  .line-practice-bar {
    flex-direction: column;
  }
  .line-practice-kicker {
    letter-spacing: 0.08em;
    font-size: 1rem;
  }
  .line-reflect-list > div {
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
}

.line-hub-chrome {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.5rem;
  border-bottom: 1px solid #2a2a2a;
}
.line-hub-brand {
  font-family: VT323, "Courier New", monospace;
  letter-spacing: 0.22em;
  font-size: 1.15rem;
}
.line-hub-hub { color: #e5e5e5; }
.line-hub-slash { color: #525252; margin: 0 0.4rem; }
.line-hub-open {
  font-family: VT323, "Courier New", monospace;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #e5e5e5;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.line-hub-sub {
  padding: 0.85rem 1.5rem 0;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a3a3a3;
}
.line-hub-name {
  display: block;
  font-size: clamp(2.6rem, 6vw, 4.6rem);
  font-weight: 200;
  letter-spacing: -0.05em;
  line-height: 1.05;
  margin: 0.6rem 0 1rem;
}
.line-hub-stage { padding: 1.5rem 1.6rem 2.4rem; min-height: 22rem; }
.line-hub-badge, .line-hub-avail {
  display: inline-block;
  margin-right: 0.6rem;
  font-family: VT323, "Courier New", monospace;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.95rem;
  border: 1px solid #525252;
  padding: 0.2rem 0.5rem;
  color: #e5e5e5;
}
.line-hub-avail { color: #e5e5e5; border-color: #525252; }
.line-hub-desc { font-size: 1.15rem; color: #d4d4d4; max-width: 40rem; line-height: 1.6; }
.line-hub-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid #2a2a2a;
}
.line-hub-col-label {
  font-family: VT323, "Courier New", monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a3a3a3;
  margin-bottom: 0.75rem;
}
.line-hub-warn { color: #e5e5e5; font-size: 0.95rem; }
.line-hub-cols ul { list-style: none; }
.line-hub-cols li { padding: 0.45rem 0; border-bottom: 1px solid #2a2a2a; color: #e5e5e5; }
.line-schema-fold { margin-top: 0.6rem; color: #b3b3b3; }
.line-schema-fold summary {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  font-family: VT323, "Courier New", monospace;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media (max-width: 800px) {
  .line-hub-cols { grid-template-columns: 1fr; }
}

.hub-list { padding: 0 1.25rem 1.5rem; }
.hub-row {
  padding: 1.75rem 0;
  border-bottom: 1px solid #2a2a2a;
}
.hub-row.is-active { background: #0a0a0a; margin: 0 -1.25rem; padding-inline: 1.25rem; }
.hub-row-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.hub-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.7rem; }
.hub-tag {
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 0.2rem 0.45rem;
  border: 1px solid #525252;
  color: #d4d4d4;
}
.hub-tag.is-steak { background: #1a1a1a; color: #e5e5e5; border-color: #810102; }
.hub-tag.is-side { background: #1a1a1a; color: #e5e5e5; border-color: #525252; }
.hub-tag.is-avail { background: #1a1a1a; color: #e5e5e5; border-color: #525252; }
.hub-row-name {
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  font-weight: 300;
  letter-spacing: -0.03em;
  margin: 0;
}
.hub-row-price { font-family: ui-monospace, monospace; color: #e5e5e5; font-size: 1.05rem; }
.hub-row-cols {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid #1a1a1a;
}
.hub-col-label {
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #a3a3a3;
  font-weight: 600;
  margin-bottom: 0.55rem;
}
.hub-allergen { color: #e5e5e5; font-weight: 600; }
.hub-risk, .hub-guest-copy { color: #b3b3b3; font-size: 0.95rem; margin-top: 0.35rem; }
.hub-tag.is-86 { background: #810102; color: #fff; border-color: #810102; }
.hub-row.is-dim { opacity: 0.38; }

.guest-shell { background: #0a0a0a; color: #fff; padding-bottom: 1.1rem; }
.guest-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  background: #121212;
  border-bottom: 1px solid #2a2a2a;
}
.guest-logo {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0;
}
.guest-nav { display: flex; gap: 0.2rem; flex-wrap: wrap; }
.guest-nav button {
  background: transparent;
  border: 0;
  color: #b3b3b3;
  padding: 0.45rem 0.7rem;
  font-size: 0.85rem;
}
.guest-nav button.is-current {
  color: #e5e5e5;
  background: rgba(129, 1, 2, 0.12);
  border-radius: 8px;
}
.guest-intro { padding: 1.2rem 1.25rem 0.35rem; }
.guest-intro h4 { margin: 0 0 0.3rem; font-size: 1.15rem; font-weight: 500; }
.guest-intro p { margin: 0; color: #b3b3b3; font-size: 0.92rem; }
.guest-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.7rem;
  margin: 0.9rem 1.25rem;
  padding: 0.8rem;
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 16px;
}
.guest-search-field input {
  width: 100%;
  background: #121212;
  border: 1px solid #2a2a2a;
  color: #fff;
  border-radius: 12px;
  padding: 0.8rem 1rem;
  min-height: 44px;
}
.guest-filters {
  background: rgba(129, 1, 2, 0.12);
  color: #e5e5e5;
  border: 1px solid rgba(129, 1, 2, 0.25);
  border-radius: 12px;
  padding: 0 1rem;
  min-height: 44px;
}
.guest-filter-note { grid-column: 1 / -1; color: #a3a3a3; font-size: 0.85rem; margin: 0; }
.guest-rec-head {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.2rem 1.25rem 0.85rem;
}
.guest-rec-head h5 { margin: 0; font-size: 1.2rem; font-weight: 500; }
.guest-live {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e5e5e5;
  border: 1px solid #810102;
  background: #1a1a1a;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
}
.guest-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding: 0 1.25rem;
}
.guest-card {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
}
.guest-card.is-active { border-color: rgba(196, 62, 78, 0.55); }
.guest-card.is-86 { filter: grayscale(0.35); opacity: 0.82; }
.guest-card-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #111;
}
.guest-card-media img,
.guest-card-fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.guest-card-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #a3a3a3;
}
.guest-card-price {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  font-size: 0.8rem;
}
.guest-card-stock {
  position: absolute;
  bottom: 0.7rem;
  left: 0.7rem;
  background: rgba(0, 0, 0, 0.82);
  color: #d4d4d4;
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.25rem 0.45rem;
  border-radius: 4px;
}
.guest-card-body { padding: 0.9rem 1rem 1.1rem; }
.guest-card-body h5 { margin: 0 0 0.3rem; font-size: 1.05rem; font-weight: 500; }
.guest-card-meta { color: #b3b3b3; font-size: 0.8rem; margin: 0 0 0.4rem; }
.guest-card-desc {
  color: #b3b3b3;
  font-size: 0.85rem;
  line-height: 1.45;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.guest-count { padding: 1.2rem 1.25rem 0; font-size: 1.15rem; margin: 0; }
.guest-empty { grid-column: 1 / -1; color: #b3b3b3; padding: 2rem 0; text-align: center; }

.allergen-bar {
  border: 1px solid #2a2a2a;
  background: #0a0a0a;
  padding: 1rem;
  margin-bottom: 0.35rem;
}
.allergen-bar-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem 1rem;
  margin-bottom: 0.75rem;
}
.allergen-bar-title {
  margin: 0;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: 700;
}
.allergen-modes { display: flex; gap: 0.4rem; }
.allergen-modes button {
  border: 1px solid #525252;
  background: #1a1a1a;
  color: #b3b3b3;
  padding: 0.3rem 0.6rem;
  font-size: 0.75rem;
  min-height: 36px;
}
.allergen-modes button.is-on { background: #810102; color: #fff; border-color: #810102; }
.allergen-modes button.is-on.is-audit { background: #810102; color: #e5e5e5; border-color: #e5e5e5; }
.allergen-hint {
  margin: 0 0 0 auto;
  color: #a3a3a3;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.allergen-pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.allergen-pills button {
  border: 1px solid #3d3d3d;
  background: #0a0a0a;
  color: #b3b3b3;
  padding: 0.4rem 0.65rem;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  min-height: 36px;
}
.allergen-pills button.is-on { background: #810102; color: #fff; border-color: #810102; }

@media (max-width: 800px) {
  .hub-row-cols { grid-template-columns: 1fr; }
  .guest-grid { grid-template-columns: 1fr; }
  .guest-top { flex-direction: column; align-items: flex-start; }
  .line-schema-cols { grid-template-columns: 1fr; }
  .line-reflect-list > div { grid-template-columns: 1fr; gap: 0.2rem; padding: 0.55rem 0; }
}

@media (max-width: 700px) {
  .pillars h3 br,
  .case-headline br,
  .contact-intro br,
  .lead br,
  .practice-title br {
    display: none;
  }
  .intro-crt {
    display: block;
    margin-top: 0.12em;
  }
  .intro-heading h2 {
    max-width: none;
  }
  .work-heading {
    font-size: clamp(1.15rem, 5.4vw, 1.55rem);
    margin-bottom: 2rem;
    line-height: 1.35;
  }
  .project-identity h3 {
    font-size: clamp(3.1rem, 22vw, 5.2rem);
  }
  .section {
    padding-block: 3.2rem;
  }
  .guest-nav {
    width: 100%;
    justify-content: space-between;
  }
  .guest-search {
    grid-template-columns: 1fr;
  }
  .line-app {
    overflow: hidden;
  }
  .hub-row-name {
    font-size: clamp(1.35rem, 7vw, 1.9rem);
  }
  .signal-list > div,
  .role-list > div {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
}

/* Phase 5: scoped reading and wrapping for the Hermes walkthrough. */
#hermes .hermes-provenance { margin-bottom: 1.5rem; color: var(--muted-light); }
#hermes .example-note > p { white-space: pre-line; }
#hermes .example-note ul { padding-left: 1.2rem; margin-top: .8rem; }
#hermes .example-note li + li { margin-top: .6rem; }
#hermes .example-note .link-arrow { margin-top: 1rem; }
#hermes .workflow-heading { flex-wrap: wrap; }
#hermes .workflow-heading > .eyebrow { flex: 1 1 22rem; }
#hermes .workflow-detail-meta { flex-wrap: wrap; }
@media (max-width: 700px) {
  #hermes .workflow-heading > .eyebrow { flex-basis: auto; }
  #hermes .workflow-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #hermes .workflow-stages button { overflow-wrap: anywhere; }
}

/* Phase 6: remaining narrative only. Preserve the earlier mobile/LINE cascade. */
#approach .readiness-heading > p { max-width: 25rem; }
#approach .practice-title { margin-block: 1.75rem 1rem; }
#approach .practice-footer { margin-top: 1.75rem; }
#hospitality .hospitality-image-note {
  grid-column: 1 / -1;
  margin-top: 1rem;
  color: var(--muted-light);
  font-size: .875rem;
}
.principle.section { padding-block: clamp(3.2rem, 6vw, 5rem); }
.principle h2 { font-size: clamp(2rem, 3vw, 2.8rem); }
.principle p { max-width: 42rem; margin-top: 1.5rem; }
#experience .experience-heading { margin-bottom: 2.25rem; }
#experience .timeline article { padding-block: 1.15rem; }
#experience .timeline article > div { min-width: 0; }
#experience .timeline article p { margin-top: .3rem; }
#experience .timeline .education-row { margin-top: 0; }
#contact .role-interests { max-width: 38rem; }
#contact .contact-links > a { overflow-wrap: anywhere; }
#contact .footer-location::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 .6rem .12rem 0;
  background: var(--red);
}
@media (max-width: 700px) {
  #approach .section-label,
  #experience .section-label,
  #contact .section-label { margin-bottom: 1.75rem; }
  #approach .readiness-heading,
  #experience .experience-heading { margin-bottom: 1.75rem; }
  #approach .readiness-heading > p,
  #experience .experience-heading > p { max-width: none; margin-top: 1rem; }
  #approach .practice-case > summary,
  #approach .practice-content { padding: 1.25rem; }
  #approach .practice-title { margin-block: 1.25rem .75rem; }
  #approach .practice-footer { margin-top: 1.25rem; }
  #approach .practice-description,
  #approach .practice-footer,
  #approach .readiness-caption { font-size: 1rem; }
  #approach .practice-plus { flex-shrink: 0; }
  #approach .practice-steps > li { padding-block: 1.1rem; }
  #approach .practice-steps > li::before { top: 1.15rem; }
  #hospitality .section-label { margin-bottom: 3rem; }
  #hospitality .hospitality-copy { padding-top: 1.75rem; }
  #hospitality .hospitality-values { margin-top: 1.75rem; }
  .principle .principle-layout { gap: 1rem; }
  .principle h2 { font-size: clamp(1.9rem, 6.7vw, 3rem); }
  #experience .section-label { flex-wrap: wrap; gap: .5rem 1.5rem; }
  #experience .timeline article { gap: .35rem; }
  #experience .timeline-date { padding-top: 0; }
  #experience .experience-heading > p,
  #experience .timeline article p,
  #contact .role-interests > p:last-child,
  #contact .contact-links > a { font-size: 1rem; }
  #experience .experience-heading br { display: none; }
  #contact .contact-intro { max-width: none; }
  #contact h2 { margin-block: 1.5rem 2rem; }
  #contact .contact-links > a { gap: .75rem; }
  #contact .contact-links > a > span[aria-hidden] { flex-shrink: 0; }
  #contact .site-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem 1rem;
    margin-top: 2rem;
  }
  #contact .footer-location { grid-column: 1; }
  #contact .site-footer > a {
    grid-column: 2;
    grid-row: 1 / 3;
    display: flex;
    align-items: center;
    min-height: 44px;
  }
}

/* Bounded LINE visual pass — September 2026. */
.work-kicker { margin-bottom: 0.75rem; color: var(--muted-light); }
.line-hub,
#line-demo {
  --red: #810102;
  --paper: #f5f5f5;
  --muted: #a3a3a3;
  --muted-light: #d4d4d4;
  --line: #3d3d3d;
  background: #121212;
  border-color: #3d3d3d;
  color: #f5f5f5;
}
.line-hub-modes {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  padding: 0 1.5rem;
  border-bottom: 1px solid #3d3d3d;
  background: transparent;
  margin-top: 0.35rem;
}
.line-hub-modes button {
  min-height: 44px;
  padding: 0.85rem 0 0.7rem;
  border: 0;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  background: none;
  color: #a3a3a3;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.line-hub-modes button[aria-pressed="true"] {
  background: none;
  border-color: #810102;
  box-shadow: none;
  color: #f5f5f5;
}
.line-hub-modes button:hover {
  color: #f5f5f5;
  box-shadow: none;
}
.line-hub :focus-visible,
#line-demo :focus-visible,
.line-schema-fold > summary:focus-visible,
.line-more-notes > summary:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.guest-card:focus-visible { outline-offset: -4px; }
.guest-card.is-active { border-color: #810102; box-shadow: inset 0 -3px #810102; }
.guest-nav button.is-current,
.guest-filters { background: #810102; color: #fff; border-color: #810102; }
.guest-live { background: #1a1a1a; color: #d4d4d4; }
.allergen-modes button.is-on,
.allergen-modes button.is-on.is-audit,
.allergen-pills button.is-on { background: #810102; color: #fff; border-color: #810102; }
.hub-tag.is-steak { background: #1a1a1a; color: #e5e5e5; }
.line-hub-open { text-decoration: underline; text-underline-offset: 0.3em; }
.line-hub-sub { color: #a3a3a3; }
#line-demo .demo-bar { background: #0a0a0a; }
#line-demo .demo-title { align-items: flex-start; gap: 1rem; }
#line-demo .demo-title > div { min-width: 0; }
#line-demo .demo-date { margin-top: 0.85rem; color: #d4d4d4; font-size: 0.85rem; }
#line-demo .demo-time { margin-top: 0.3rem; font-size: 0.8rem; line-height: 1.5; text-align: left; white-space: normal; }
.demo-cover-curve { flex: 0 0 156px; max-width: 100%; margin: 0; }
.demo-covers { color: #d4d4d4; font-size: 0.75rem; }
.demo-covers strong { color: #fff; font-size: 1.65rem; font-weight: 500; }
.demo-cover-curve svg { display: block; width: 100%; height: auto; margin-top: 0.5rem; overflow: visible; }
.cover-curve-baseline { fill: none; stroke: #525252; }
.cover-curve-area { fill: #810102; fill-opacity: 0.3; }
.cover-curve-line { fill: none; stroke: #d4d4d4; stroke-width: 2; }
.demo-cover-curve text { fill: #a3a3a3; font: 10px sans-serif; }
.demo-cover-curve figcaption { margin-top: 0.35rem; font-size: 0.65rem; color: #a3a3a3; }
#line-demo .scenario-controls {
  gap: 1.5rem;
  padding: 0 1.5rem 0;
  border-bottom: 1px solid #3d3d3d;
}
#line-demo .scenario-controls button {
  flex: 0 0 auto;
  padding: 0.75rem 0 0.7rem;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  color: #a3a3a3;
  font-size: 0.9rem;
  font-weight: 500;
}
#line-demo .scenario-controls button[aria-pressed="true"] {
  background: none;
  border-color: #810102;
  color: #f5f5f5;
}
#line-demo .signal-list > div { border-color: #2a2a2a; }
#line-demo .context-output { background: #1a1a1a; border-left: 3px solid #810102; }
#line-demo .context-output > .eyebrow { color: #d4d4d4; }
.line-schema-fold { margin-top: 1rem; }
.line-schema-fold > summary {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  width: max-content;
  max-width: 100%;
  min-height: 52px;
  padding: 0.75rem 1.1rem;
  background: #810102;
  border: 1px solid #810102;
  border-radius: 4px;
  color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  list-style: none;
}
.line-schema-fold > summary::-webkit-details-marker { display: none; }
.line-schema-fold > summary:hover { border-color: #d4d4d4; }
.line-schema-fold > summary > span { transition: transform 0.15s; }
.line-schema-fold[open] > summary > span { transform: rotate(90deg); }
.line-schema { margin-top: 0.75rem; border-color: #3d3d3d; }
#line-notes { margin-top: 3.5rem; padding-top: 3rem; padding-bottom: 5.5rem; border-top: 1px solid #3d3d3d; position: relative; }
.line-after {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.32fr);
  gap: 2.75rem 3.75rem;
  align-items: center;
  margin-bottom: 3.25rem;
}
.line-after-copy .eyebrow { margin-bottom: 1.15rem; }
.line-reflect-statement {
  max-width: none;
  margin: 0 0 1.85rem;
  font-size: clamp(2.25rem, 3.9vw, 3.55rem);
  font-weight: 500;
  letter-spacing: -0.048em;
  line-height: 1.05;
  color: #f5f5f5;
}
.line-reflect-story {
  max-width: 38rem;
  display: grid;
  gap: 1.15rem;
  color: #c4c4c4;
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 0;
}
.line-reflect-thesis {
  color: #f5f5f5;
  margin-top: 0.55rem;
}
.line-after-problem {
  margin: 0.35rem 0 0;
  padding: 0.2rem 0 0.2rem 1.1rem;
  border-left: 2px solid #810102;
  color: #f3f3f3;
  font-size: 1.08rem;
}
.line-system {
  position: relative;
  min-height: 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(13rem, 1.08fr) 8.6rem minmax(11rem, 0.95fr);
  grid-template-rows: auto auto;
  column-gap: 2.65rem;
  row-gap: 0.85rem;
  align-items: center;
  isolation: isolate;
  padding: 0.2rem 0.4rem 0.4rem 0;
}
.line-system-kicker {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ff4d5a;
  position: relative;
  z-index: 1;
}
.line-system-tag {
  margin: 0;
  font-size: 0.58rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6e6e6e;
  text-align: center;
}
.line-system-tag-in,
.line-system-tag-out { grid-column: auto; grid-row: auto; }
.line-system-canvas,
.line-system-svg,
#line-system-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  display: block;
}
.line-system-sources {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  gap: 0.95rem;
  position: relative;
  z-index: 1;
}
.line-system-mid {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 0.85rem;
  position: relative;
  z-index: 1;
}
.line-system-card,
.line-system-out {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border: 1px solid #2a2a2a;
  border-radius: 14px;
  background: rgba(14, 14, 14, 0.92);
}
.line-system-ico {
  flex: 0 0 1.85rem;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  border: 1px solid #2a2a2a;
  border-radius: 999px;
  color: #9a9a9a;
}
.line-system-ico svg {
  width: 0.95rem;
  height: 0.95rem;
  display: block;
}
.line-system-card h5,
.line-system-out h5 {
  margin: 0 0 0.15rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #f5f5f5;
}
.line-system-card p,
.line-system-out p {
  margin: 0;
  font-size: 0.66rem;
  line-height: 1.4;
  color: #8a8a8a;
}
.line-system-core {
  grid-column: auto;
  grid-row: auto;
  position: relative;
  z-index: 1;
  width: 8.6rem;
  height: 8.6rem;
  min-width: 8.6rem;
  min-height: 8.6rem;
  display: grid;
  place-items: center;
  border: 1px solid #2a2a2a;
  background: #0c0c0c;
  color: #f5f5f5;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.42em;
}
.line-system-core span {
  padding-bottom: 0.35rem;
  border-bottom: 1px solid #ff4d5a;
}
.line-system-out {
  grid-column: 3;
  grid-row: 2;
  position: relative;
  z-index: 1;
  align-self: center;
  min-height: 4.6rem;
  padding: 1rem 1.15rem;
}
.line-system-out h5 { font-size: 0.88rem; }
.line-system-card.is-hot,
.line-system-core.is-hot {
  border-color: #c43e4e;
}
.line-reflect-label span {
  color: #810102;
  margin-right: 0.35rem;
}
.line-after-foot {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: flex-start;
  margin-top: 0.5rem;
}
.line-after-end {
  margin: 2.4rem 0 0;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6e6e6e;
  text-align: right;
  white-space: nowrap;
}
.line-reflect-blocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem 0;
  margin: 0 0 0.5rem;
  padding: 2.4rem 0 1.5rem;
  border-top: 1px solid #2a2a2a;
  border-bottom: 1px solid #2a2a2a;
}
.line-reflect-blocks > div {
  padding: 0 1.75rem;
}
.line-reflect-blocks > div:first-child { padding-left: 0; }
.line-reflect-blocks > div:not(:first-child) {
  border-left: 1px solid #2a2a2a;
}
.line-reflect-item {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
}
.line-reflect-orb {
  flex: 0 0 3.15rem;
  width: 3.15rem;
  height: 3.15rem;
  border: 1px solid #3a3a3a;
  border-radius: 999px;
  background:
    linear-gradient(#c4c4c4, #c4c4c4) 50% 42% / 1rem 1px no-repeat,
    linear-gradient(#c4c4c4, #c4c4c4) 50% 50% / 1rem 1px no-repeat,
    linear-gradient(#c4c4c4, #c4c4c4) 50% 58% / 0.7rem 1px no-repeat;
}
.line-reflect-orb.is-person {
  background:
    radial-gradient(circle at 50% 38%, #c4c4c4 0 0.22rem, transparent 0.24rem),
    radial-gradient(circle at 50% 72%, transparent 0.42rem, #c4c4c4 0.44rem, #c4c4c4 0.5rem, transparent 0.52rem);
}
.line-reflect-orb.is-next-orb {
  background:
    linear-gradient(#c4c4c4, #c4c4c4) 42% 50% / 0.7rem 1px no-repeat,
    linear-gradient(135deg, transparent 50%, #c4c4c4 50% 60%, transparent 62%) 58% 50% / 0.45rem 0.45rem no-repeat;
}
.line-reflect-label {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #d4d4d4;
  margin-bottom: 1.05rem;
}
.line-reflect-label span {
  color: #810102;
  margin-right: 0.35rem;
}
.line-reflect-blocks p {
  margin: 0;
  color: #d4d4d4;
  font-size: 1.02rem;
  line-height: 1.55;
}
.line-reflect-blocks .is-next p:last-child {
  color: #f5f5f5;
  font-size: 1.12rem;
  line-height: 1.45;
}
.line-more-notes { margin-top: 1.6rem; max-width: 42rem; color: #a3a3a3; }
.line-more-notes > summary { display: list-item; width: fit-content; min-height: 44px; padding-block: 0.7rem; cursor: pointer; color: #d4d4d4; }
.line-more-notes p {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.7;
  transition: max-height 0.35s ease, opacity 0.25s ease, margin 0.25s ease;
}
.line-more-notes[open] p {
  max-height: 12rem;
  opacity: 1;
  margin-top: 0.75rem;
}
@media (max-width: 900px) {
  .line-after { grid-template-columns: 1fr; gap: 2rem; }
  .line-system { min-height: 0; grid-template-columns: 1fr; }
}
@media (min-width: 701px) and (max-width: 1050px) {
  #line-demo .demo-title { flex-wrap: wrap; }
  .demo-cover-curve { flex-basis: 150px; margin-left: auto; }
}
@media (max-width: 700px) {
  .line-hub-modes { width: 100%; padding: 0 1.2rem; gap: 1.25rem; }
  .line-hub-modes button { width: auto; min-height: 44px; padding-inline: 0; }
  #line-demo .demo-title { flex-wrap: wrap; }
  .demo-cover-curve { flex-basis: 140px; margin-left: auto; }
  .line-schema-fold > summary { width: 100%; }
  #line-notes { margin-top: 2.5rem; }
  .line-reflect-blocks { grid-template-columns: 1fr; gap: 1.35rem; }
  .line-reflect-statement { max-width: none; }
}

/* LINE MENU HUB: staff knowledge + guest menu, isolated from case narrative. */
.line-case {
  font-family: var(--font);
}
.line-case > .line-layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-template-areas:
    "meta-l display-meta"
    "title  right"
    "story  right"
    "close  close";
  column-gap: 4.5rem;
  row-gap: 0.7rem;
  grid-template-rows: auto auto 1fr auto;
  align-items: start;
  margin-bottom: 3.5rem;
}
.line-meta-left { grid-area: meta-l; }
.line-meta-right { grid-area: display-meta; }
.line-case #line-title { grid-area: title; }
.line-right { grid-area: right; }
.line-case > .line-layout > .case-story { grid-area: story; max-width: none; margin-top: 0.15rem; }
.line-thesis { margin-top: 0.8rem; }
.line-moment-conclusion {
  grid-area: close;
  grid-column: 1 / -1;
}
.line-case .line-meta,
.line-case .line-proto,
.line-case .line-moment-label,
.line-case .line-moment-meta,
.line-case .role-list dt {
  margin: 0;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.line-proto { margin: 0 0 1.15rem; color: #71717a; }
.line-case #line-title,
.line-display {
  margin: 0;
  font-family: inherit;
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.92;
  color: var(--paper);
}
.line-case #line-title {
  font-size: clamp(4rem, 8vw, 7.5rem);
  letter-spacing: -0.055em;
  font-kerning: normal;
}
.line-case #line-title .line-i {
  margin-left: 0.07em;
}
.line-display {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.15;
  max-width: 14ch;
  padding-top: 0.12em;
}
.line-case .lead,
.line-case .case-story > p:not(.lead),
.line-case .role-list dd,
.line-case .line-moment-guest,
.line-case .line-moment-server,
.line-case .line-moment-dish,
.line-case .line-moment-note {
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.5;
}
.line-case .lead {
  margin: 0 0 1.15rem;
  max-width: 22rem;
  font-size: clamp(1.45rem, 2.5vw, 2.05rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.18;
  color: var(--paper);
}
.line-case .case-story > p:not(.lead) {
  max-width: 38rem;
  color: var(--muted-light);
}
.line-case .case-story > p.line-what {
  margin-top: 1.85rem;
  max-width: 34rem;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.5;
  color: var(--paper);
}
.line-case .role-list dd {
  font-size: 1.05rem;
  color: var(--muted);
}
.line-moment {
  list-style: none;
  margin: 0;
  padding: 0;
}
.line-moment > li {
  margin: 0;
  padding: 0;
}
.line-moment > li + li {
  margin-top: 0.45rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--line);
}
.line-moment > li + li::before {
  content: "↓";
  display: block;
  color: #ff4d5a;
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0.4rem;
  animation: line-moment-drop 2.4s ease-in-out infinite;
}
.line-moment-label { margin: 0 0 0.35rem; color: #8a8a8a; }
.line-moment-guest {
  margin: 0;
  max-width: 22rem;
  font-weight: 500;
  color: var(--paper);
}
.line-moment > li:first-child .line-moment-guest {
  font-size: clamp(1.15rem, 1.9vw, 1.4rem);
  line-height: 1.35;
  letter-spacing: -0.025em;
}
.line-moment-server {
  margin: 0;
  color: var(--muted);
}
.line-moment-meta {
  margin: 0 0 0.4rem;
  color: #8a8a8a;
}
.line-moment-meta::after {
  content: "";
  display: block;
  width: 2.25rem;
  height: 1px;
  margin-top: 0.4rem;
  background: #810102;
}
.line-case .line-moment-dish {
  margin: 0 0 0.5rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--paper);
}
.line-moment-aside {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.line-moment-mod {
  margin: 0.55rem 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e8a3a3;
}
.line-moment-note {
  margin: 0;
  max-width: 22rem;
  color: var(--muted-light);
}
.line-moment-conclusion {
  margin: 1.75rem 0 0;
  padding-top: 1.35rem;
  border-top: 1px solid var(--line);
  max-width: none;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.35;
  color: var(--paper);
}
@keyframes line-moment-drop {
  0%, 100% { opacity: 0.35; transform: translateY(-1px); }
  50% { opacity: 1; transform: translateY(2px); }
}
@media (prefers-reduced-motion: reduce) {
  .line-moment > li + li::before { animation: none; }
}
@media (max-width: 900px) {
  .line-case > .line-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "meta-l"
      "title"
      "story"
      "display-meta"
      "right"
      "close";
    gap: 0.7rem;
  }
}
.line-practice { position: relative; }
.line-action {
  margin: 0 0 1.75rem;
  padding-top: 3rem;
  border-top: 1px solid var(--line);
}
.line-action-kicker {
  margin: 0 0 0.85rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.line-action-title {
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.95;
}
.line-action-lead {
  margin: 0.85rem 0 1.5rem;
  font-size: 1.15rem;
  color: var(--muted-light);
}
.line-action-tabs {
  position: relative;
  display: flex;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
  border-bottom: 1px solid var(--line);
}
#line-tabs-fx,
#line-field,
#line-field canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#line-field { z-index: 0; overflow: hidden; }
.line-layout > :not(#line-field) { position: relative; z-index: 1; }
#line-tabs-fx { z-index: 0; }
.line-action-tabs button {
  position: relative;
  z-index: 1;
  background: none;
  padding: 1.05rem 1.35rem 1rem;
  min-height: 56px;
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8a8a;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.line-action-tabs button:hover {
  color: var(--paper);
  transform: translateY(-1px);
}
.line-action-tabs button[aria-selected="true"] {
  color: var(--paper);
  border-color: #ff4d5a;
}
.line-action-tabs button[aria-selected="false"] {
  border-color: rgba(255, 77, 90, 0.28);
  animation: line-tab-idle 2.6s ease-in-out infinite;
}
@keyframes line-tab-idle {
  0%, 100% { color: #8a8a8a; }
  50% { color: #e8e8e8; }
}
@media (prefers-reduced-motion: reduce) {
  .line-action-tabs button[aria-selected="false"] { animation: none; }
}
.line-action-desc {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  color: var(--muted-light);
}
.line-guest {
  --floor-red: #810102;
  background: #000;
  border: 1px solid #1f1f23;
  color: #fff;
}
.guest-body { padding: 1.5rem clamp(1rem, 3vw, 2.75rem) 2rem; }
.guest-body .floor-disclaimer { margin-bottom: 1.25rem; }
.guest-body .guest-grid { padding: 0; }
.guest-avoid { margin: 0 0 1.35rem; }
.guest-avoid-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.55rem 0 0.45rem; }
.line-guest .floor-pill {
  cursor: pointer;
  background: #121212;
  border: 1px solid #2a2a2a;
  color: #a1a1aa;
}
.line-guest .floor-pill[aria-pressed="true"] {
  background: #810102;
  border-color: #810102;
  color: #fff;
}
.guest-card {
  display: block;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
}
.guest-card:hover {
  border-color: #810102;
}
.guest-card[hidden],
.guest-grid[hidden],
.guest-detail[hidden],
.guest-empty[hidden],
.guest-avoid[hidden],
.line-guest .floor-disclaimer[hidden] {
  display: none !important;
}
.guest-detail {
  width: 100%;
  max-width: 40rem;
  margin-inline: auto;
}
.guest-detail-sheet {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 16px;
  overflow: hidden;
}
.guest-detail-bar {
  margin: 0;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid #2a2a2a;
  background: #121212;
}
.guest-detail-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #111;
}
.guest-detail-back {
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  color: #a3a3a3;
  font-size: 0.92rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  min-height: 40px;
}
.guest-detail-back:hover { color: #810102; }
.guest-detail-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  display: block;
}
.guest-detail-hero-copy {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  padding: 3.25rem 1.5rem 1.2rem;
  background: linear-gradient(to top, rgba(10,10,10,.92) 12%, rgba(10,10,10,.45) 55%, transparent);
}
.guest-detail-hero-copy h5 {
  margin: 0 0 0.2rem;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: #fff;
}
.guest-detail-hero-copy p {
  margin: 0;
  color: #b8b8b8;
  font-size: 0.92rem;
}
.guest-detail-price {
  margin: 0 0 0.15rem;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  background: rgba(26,26,26,.92);
  border: 1px solid #2a2a2a;
  color: #810102;
  font-size: 1.05rem;
  font-weight: 600;
  white-space: nowrap;
}
.guest-detail-body { padding: 1.35rem 1.5rem 1.6rem; }
.guest-detail-body h6 {
  margin: 0 0 0.45rem;
  font-size: 1.02rem;
  font-weight: 500;
  color: #fff;
}
.guest-detail-body h6 + p { margin: 0 0 1.25rem; color: #b3b3b3; line-height: 1.6; }
.guest-detail-ings {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}
.guest-detail-ings li {
  padding: 0.45rem 0.85rem;
  border: 1px solid #2a2a2a;
  border-radius: 10px;
  background: #121212;
  color: #d4d4d4;
  font-size: 0.9rem;
}
.guest-detail-stock {
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid #2a2a2a;
  color: #9a9a9a;
  font-size: 0.85rem;
}
.guest-card-diet {
  margin: 0.55rem 0 0;
  font-size: 0.75rem;
  color: #a3a3a3;
  line-height: 1.45;
}
@media (max-width: 800px) {
  .guest-body .guest-grid { grid-template-columns: 1fr; }
}
.floor-anchor { position: absolute; top: 0; scroll-margin-top: 8rem; }
.line-floor {
  --floor-red: #810102;
  --floor-surface: #09090b;
  --floor-border: #1f1f23;
  --red: var(--floor-red);
  background: #000;
  border: 1px solid var(--floor-border);
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  font-family: Manrope, Arial, sans-serif;
}
.line-floor p { margin: 0; }
.line-floor .floor-label,
.line-practice .line-practice-kicker {
  font-family: Manrope, Arial, sans-serif;
  font-size: .65rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .19em;
  text-transform: uppercase;
  color: #a1a1aa;
}
.floor-chrome {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  padding: 1.4rem clamp(1rem, 3vw, 2.75rem);
  border-bottom: 1px solid var(--floor-border);
}
.floor-brand { font-size: .78rem; letter-spacing: .14em; font-weight: 700; }
.line-floor .floor-staff,
.line-guest .floor-staff {
  color: #fff;
  border: 1px solid var(--floor-red);
  padding: .3rem .65rem;
  background: var(--floor-surface);
}
.floor-location { margin-left: auto !important; font-size: .75rem; color: #a1a1aa; }
.floor-body { padding: 1.7rem clamp(1rem, 3vw, 2.75rem) .5rem; }
.floor-disclaimer { max-width: 54rem; font-size: .75rem; line-height: 1.65; color: #a1a1aa; }
.floor-search { margin: 2.7rem 0 1.5rem; position: relative; border-bottom: 1px solid var(--floor-border); }
.floor-search > label { display: block; margin-bottom: .65rem; }
.floor-search > input {
  display: block;
  width: 100%;
  min-width: 0;
  padding: .5rem 0 1.25rem;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: #fff;
  caret-color: var(--floor-red);
  font: 200 clamp(1.75rem, 4.2vw, 3.7rem)/1.3 Manrope, Arial, sans-serif;
  letter-spacing: -.055em;
}
.floor-search > input::placeholder { color: #71717a; opacity: 1; }
.floor-search > input:focus-visible { outline: none; }
.floor-search .search-underline {
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .5s cubic-bezier(.16, 1, .3, 1);
}
.floor-search > input:focus ~ .search-underline { transform: scaleX(1); }
.floor-categories, .floor-allergen-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.floor-categories { margin-bottom: 1.75rem; }
.line-floor button {
  min-height: 44px;
  font-size: .7rem;
  line-height: 1.4;
  transition: color .15s, border-color .15s, background .15s;
}
.floor-chip, .floor-pill {
  padding: .5rem .85rem;
  border: 1px solid var(--floor-border);
  background: var(--floor-surface);
  color: #a1a1aa;
}
.floor-chip { text-transform: uppercase; letter-spacing: .12em; border-radius: 0; }
.floor-pill { border-radius: 999px; }
.line-floor button:hover:not(:disabled) { color: #fff; border-color: #71717a; }
.line-floor button[aria-pressed="true"] { background: var(--floor-red); border-color: var(--floor-red); color: #fff; }
.line-floor button:disabled { opacity: .55; }
.line-floor :focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.floor-allergen-bar { padding: 1rem; background: var(--floor-surface); border: 1px solid var(--floor-border); }
.floor-allergen-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1rem; margin-bottom: .75rem; }
.floor-allergen-modes { display: flex; border: 1px solid var(--floor-border); padding: 2px; }
.floor-allergen-modes button { padding: .5rem .8rem; background: transparent; color: #a1a1aa; text-transform: uppercase; letter-spacing: .1em; }
.floor-clear { margin-left: auto; padding: .5rem; background: transparent; color: #a1a1aa; text-decoration: underline; text-underline-offset: .3em; }
.line-floor .floor-preview-note { margin-top: .75rem; font-size: .7rem; line-height: 1.65; color: #a1a1aa; }
.floor-results-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; padding-bottom: .75rem; border-bottom: 1px solid var(--floor-border); }
.floor-sample-note {
  margin-left: auto;
  margin-right: 1rem;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #71717a;
  text-decoration: none;
}
a.floor-sample-note:hover { color: #d4d4d4; }
.line-floor .result-entry {
  padding-block: 2.6rem 2.8rem;
  border-bottom: 1px solid var(--floor-border);
  opacity: 0;
  transform: translateY(12px);
  animation: floorSlideUp .35s cubic-bezier(.2, .8, .2, 1) forwards;
}
.line-floor .result-entry:last-child { border-bottom: 0; }
.floor-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.floor-tags { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-bottom: .65rem; }
.floor-badge { font-size: .6rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; padding: .2rem .5rem; border: 1px solid #14532d; background: #052e16; color: #86efac; }
.floor-badge.is-86 { border-color: var(--floor-red); background: var(--floor-red); color: #fff; }
.floor-dish-name { font-size: clamp(2.1rem, 4vw, 3.15rem); font-weight: 300; letter-spacing: -.04em; }
.floor-price { text-align: right; white-space: nowrap; font-size: 1.55rem; font-weight: 300; font-variant-numeric: tabular-nums; }
.floor-price > span { display: block; margin-top: .3rem; }
.floor-result-columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.6rem; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--floor-border); }
.floor-result-columns > div { min-width: 0; }
.floor-result-columns p { font-size: 1.05rem; font-weight: 300; line-height: 1.7; color: #e4e4e7; overflow-wrap: break-word; }
.floor-result-columns .floor-label { margin-bottom: .6rem; }
.floor-result-columns .floor-allergens { color: #fff; font-weight: 500; }
.floor-result-columns .floor-risk { margin-top: .45rem; color: #a1a1aa; font-size: .95rem; }
.floor-unverified { display: inline-block; margin-top: .75rem; padding-left: .5rem; border-left: 2px solid var(--floor-red); font-size: .6rem; color: #a1a1aa; letter-spacing: .15em; text-transform: uppercase; }
.floor-approved { display: inline-block; margin-top: .75rem; padding-left: .5rem; border-left: 2px solid var(--floor-red); font-size: .6rem; color: #e4e4e7; letter-spacing: .15em; text-transform: uppercase; }
.floor-empty { padding: 3rem 0; color: #a1a1aa; }
.floor-empty > p:first-child { color: #fff; font-size: 1.5rem; font-weight: 300; }
.floor-empty > p + p { margin-top: .5rem; }
.floor-empty > button { margin-top: 1.25rem; }
.floor-open, .floor-back { display: inline-flex; align-items: center; min-height: 44px; color: #d4d4d8; font-size: .75rem; text-decoration: underline; text-underline-offset: .35em; }
.line-practice > .line-schema-fold > summary, .floor-page .line-schema-fold > summary { border-radius: 0; background: #810102; border-color: #810102; }
.floor-page { background: #000; }
.floor-page-main { max-width: 1200px; margin: 0 auto; padding: 1.5rem clamp(1rem, 3vw, 2.5rem) 4rem; }
.floor-back { margin-bottom: 1rem; }
@keyframes floorSlideUp { to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) {
  .floor-result-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .floor-chrome { gap: .8rem; }
  .floor-location { flex-basis: 100%; margin-left: 0 !important; }
  .floor-staff { margin-left: auto; }
  .floor-search { margin-top: 2rem; }
  .floor-result-columns { grid-template-columns: 1fr; gap: 1.35rem; }
  .floor-clear { margin-left: 0; }
  .floor-price { font-size: 1.15rem; }
  .floor-price > .floor-label { font-size: .55rem; letter-spacing: .1em; }
  .floor-allergen-bar { padding: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .line-floor .result-entry { animation: none; opacity: 1; transform: none; }
  .line-floor .search-underline, .line-floor button { transition: none; }
}

/* AGENTIC WORKFLOW — composition match, native canvas atmosphere. */
.agentic-case { position: relative; padding-top: 3.25rem; padding-bottom: 5.5rem; }
.agentic-field,
.agentic-field canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.agentic-case > :not(.agentic-field):not(.floor-anchor) { position: relative; z-index: 1; }
.agentic-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 6.5rem;
  gap: 1.5rem 3rem;
  align-items: start;
  margin-bottom: 2.75rem;
}
.agentic-kicker {
  margin: 0 0 1.1rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.agentic-brand h3 {
  margin: 0;
  font-size: clamp(3.4rem, 7.2vw, 6.4rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.9;
  color: #f3f1ea;
}
.agentic-sub {
  margin: 1.15rem 0 0;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.agentic-headline {
  margin: 0 0 1.15rem;
  font-size: clamp(1.65rem, 2.8vw, 2.45rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.12;
  color: #f3f1ea;
}
.agentic-body {
  margin: 0;
  max-width: 34rem;
  color: #b8b8b8;
  font-size: 1.05rem;
  line-height: 1.65;
}
.agentic-rail {
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 0.2rem 0 0.2rem 0.9rem;
  border-left: 1px solid #810102;
  display: grid;
  gap: 0.55rem;
}
.agentic-rail li {
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.agentic-board {
  border: 1px solid #2a2a2a;
  background: rgba(10,10,10,0.55);
  padding: 1.15rem 1.35rem 1.35rem;
}
.agentic-board-meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.agentic-cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.85rem;
  align-items: stretch;
}
.agentic-col {
  border: 1px solid #2c2c2c;
  background: #121212;
  padding: 1.15rem 1.15rem 1.25rem;
  min-height: 22rem;
}
.agentic-col header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.1rem;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.agentic-col header span:first-child { color: #ff4d5a; }
.agentic-col h4 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.7rem, 2.4vw, 2.15rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  color: #f5f5f5;
}
.agentic-col-kicker {
  margin: 0 0 0.85rem;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.agentic-col > p:not(.agentic-col-kicker) {
  margin: 0 0 1.15rem;
  color: #b3b3b3;
  font-size: 0.95rem;
  line-height: 1.55;
}
.agentic-arrow {
  align-self: center;
  color: #6e6e6e;
  font-size: 1.1rem;
}
.agentic-note,
.agentic-context,
.agentic-action {
  border: 1px solid #2a2a2a;
  background: #0e0e0e;
  padding: 0.9rem 0.95rem;
}
.agentic-note p { margin: 0; color: #d4d4d4; font-size: 0.9rem; line-height: 1.5; }
.agentic-note-meta { margin-top: 0.7rem !important; color: #7a7a7a !important; font-size: 0.72rem !important; }
.agentic-context { list-style: none; display: grid; gap: 0.7rem; }
.agentic-context li,
.agentic-action p {
  display: grid;
  gap: 0.12rem;
  margin: 0;
}
.agentic-context span,
.agentic-action span,
.agentic-action-title {
  color: #ececec;
  font-size: 0.82rem;
}
.agentic-context small,
.agentic-action small {
  color: #8a8a8a;
  font-size: 0.75rem;
  line-height: 1.4;
}
.agentic-action-title { font-weight: 600; margin-bottom: 0.35rem; }
.agentic-action > p:nth-child(2) { color: #b3b3b3; font-size: 0.85rem; line-height: 1.5; margin-bottom: 0.75rem; }
.agentic-principle {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: flex-end;
  margin-top: 1.35rem;
  padding-top: 1.15rem;
  border-top: 1px solid #2a2a2a;
}
.agentic-principle p:first-child {
  margin: 0;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  color: #f0f0f0;
  letter-spacing: -0.03em;
}
.agentic-principle p:last-child {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
  text-align: right;
}
.agentic-use {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.5rem;
}
.agentic-use p:first-child {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a8a8a;
  min-width: 8rem;
}
.agentic-use p:last-child {
  margin: 0;
  max-width: 36rem;
  color: #b3b3b3;
  font-size: 0.95rem;
  line-height: 1.6;
  text-align: right;
}
@media (max-width: 1050px) {
  .agentic-head { grid-template-columns: 1fr 1fr; }
  .agentic-rail { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; border-left: 0; border-top: 1px solid #810102; padding: 0.7rem 0 0; }
  .agentic-cols { grid-template-columns: 1fr; }
  .agentic-arrow { transform: rotate(90deg); justify-self: center; }
  .agentic-col { min-height: 0; }
}
@media (max-width: 700px) {
  .agentic-head { grid-template-columns: 1fr; }
  .agentic-principle, .agentic-use { flex-direction: column; }
  .agentic-use p:last-child, .agentic-principle p:last-child { text-align: left; }
}
