:root{
  --bg:#f6f4ef;--surface:#fffdf8;--surface-2:#ede9e0;--text:#111116;--muted:#69676f;--line:rgba(17,17,22,.12);
  --primary:#5b42f3;--primary-2:#ae58ff;--pink:#f04d98;--blue:#2775ff;--gold:#c99b47;--shadow:0 28px 80px rgba(20,16,40,.12);
  --radius-sm:14px;--radius:24px;--radius-lg:40px;--header-h:76px;--agent-safe:92px;--ease:cubic-bezier(.22,1,.36,1)
}
html[data-theme="dark"]{--bg:#0c0c11;--surface:#15151c;--surface-2:#202029;--text:#f5f3ef;--muted:#aaa7b1;--line:rgba(255,255,255,.12);--shadow:0 28px 90px rgba(0,0,0,.45)}
@media(prefers-color-scheme:dark){html[data-theme="auto"]{--bg:#0c0c11;--surface:#15151c;--surface-2:#202029;--text:#f5f3ef;--muted:#aaa7b1;--line:rgba(255,255,255,.12);--shadow:0 28px 90px rgba(0,0,0,.45)}}
html{background:var(--bg);color-scheme:light dark;scroll-padding-top:calc(var(--header-h) + 24px)}
body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.65;letter-spacing:-.01em;overflow-x:hidden;padding-bottom:var(--agent-safe);transition:background .35s ease,color .35s ease}
a{text-decoration-thickness:1px;text-underline-offset:4px}button{color:inherit}::selection{background:var(--primary);color:white}
.skip-link{position:fixed;left:1rem;top:-100px;z-index:9999;background:var(--text);color:var(--bg);padding:.8rem 1rem;border-radius:999px;transition:top .2s}.skip-link:focus{top:1rem}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom:1px solid transparent;backdrop-filter:saturate(160%) blur(18px);transition:border-color .3s,background .3s}.site-header.scrolled{border-color:var(--line)}
.site-header .navbar{width:100%}.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--text);text-decoration:none}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--text);color:var(--bg);font-size:.72rem;font-weight:800;letter-spacing:.04em}.brand-name{font-size:.97rem;font-weight:720;letter-spacing:-.02em}.nav-link{display:block;color:var(--muted);text-decoration:none;padding:.55rem .85rem;border-radius:999px;font-size:.92rem;transition:.25s}.nav-link:hover,.nav-link.active{color:var(--text);background:var(--surface-2)}.header-controls{display:flex;align-items:center;gap:.5rem}.icon-control,.language-control,.mode-control{height:40px;border:1px solid var(--line);background:var(--surface);border-radius:999px;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.icon-control{width:40px}.language-control{padding:0 .9rem;font-size:.78rem;font-weight:750}.mode-control{gap:.5rem;padding:0 .9rem;font-size:.78rem}.mode-dot{width:7px;height:7px;border-radius:50%;background:#33c971;box-shadow:0 0 0 5px color-mix(in srgb,#33c971 17%,transparent)}body.classic-mode .mode-dot{background:var(--muted);box-shadow:none}.mobile-nav{color:var(--text)}.mobile-links{display:flex;flex-direction:column}.mobile-links a{font-size:clamp(1.5rem,6vw,2rem);text-decoration:none;padding:.9rem 0;border-bottom:1px solid var(--line)}.mobile-settings{display:grid;gap:.6rem}.mobile-settings>*{text-align:left;border:0;border-radius:12px;background:var(--surface-2);padding:1rem;text-decoration:none}
.section-shell{padding:clamp(5rem,10vw,9rem) 0}.eyebrow{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.16em;font-weight:760;font-size:.72rem;color:var(--muted)}.display-hero,.display-page,.display-section,.display-article{font-weight:650;line-height:.96;letter-spacing:-.062em;margin:0}.display-hero{font-size:clamp(3.5rem,8.5vw,8rem);max-width:1160px}.display-hero em{font-family:Georgia,"Times New Roman",serif;font-weight:400}.display-page{font-size:clamp(3.4rem,7vw,7rem);max-width:1050px}.display-section{font-size:clamp(2.7rem,5vw,5.2rem)}.display-article{font-size:clamp(3rem,6.5vw,6.4rem)}.hero{padding-top:var(--header-h);position:relative;overflow:hidden}.hero .container-xl{z-index:1}.hero-ambient{position:absolute;inset:0;pointer-events:none;filter:blur(2px)}.hero-ambient span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.24;animation:floatAmbient 14s var(--ease) infinite alternate}.hero-ambient span:nth-child(1){width:38vw;height:38vw;left:-10vw;top:20%;background:#7865ff}.hero-ambient span:nth-child(2){width:28vw;height:28vw;right:5vw;top:12%;background:#ee63a5;animation-delay:-5s}.hero-ambient span:nth-child(3){width:25vw;height:25vw;right:20vw;bottom:-10vw;background:#5bb4ff;animation-delay:-9s}@keyframes floatAmbient{to{transform:translate3d(4vw,-3vw,0) scale(1.08)}}.hero-lead,.page-intro,.article-deck{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.55;color:var(--muted);max-width:780px;margin:2rem 0 0}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.3rem}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(0,0,0,.18)}.btn-ghost{border-color:var(--line);background:color-mix(in srgb,var(--surface) 75%,transparent)}.btn-ghost:hover,.btn-outline-dark:hover{background:var(--surface-2)}.btn-outline-dark{border-color:var(--line);background:transparent}.btn-light{background:#fff;color:#111;border-color:#fff}.btn-ghost-light{border-color:rgba(255,255,255,.25);color:#fff}.hero-proof{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:3.2rem}.hero-proof span,.capability-cloud span{border:1px solid var(--line);border-radius:999px;padding:.55rem .85rem;color:var(--muted);font-size:.82rem;background:color-mix(in srgb,var(--surface) 65%,transparent)}.scroll-cue{position:absolute;right:2rem;bottom:2rem;display:flex;align-items:center;gap:.8rem;color:var(--muted);text-decoration:none;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.scroll-cue span{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;position:relative}.scroll-cue span::after{content:"↓";position:absolute;inset:0;display:grid;place-items:center;color:var(--text)}
.section-heading{margin-bottom:3rem}.section-note{margin:0;color:var(--muted);font-size:1.05rem}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.2rem,2vw,2rem)}.project-card{grid-column:span 6;margin-bottom:2rem}.project-card:nth-child(3n){grid-column:span 12}.project-visual{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;border-radius:var(--radius-lg);background:#202029;color:white;text-decoration:none;isolation:isolate;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}.project-card:hover .project-visual{transform:translateY(-8px) scale(.995);box-shadow:var(--shadow)}.project-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.25),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.06),transparent)}.accent-violet{background:linear-gradient(135deg,#181324,#5f42db 55%,#bb64ef)}.accent-blue{background:linear-gradient(135deg,#0c1c3c,#1467dc 58%,#66c8ff)}.accent-pink{background:linear-gradient(135deg,#311121,#d82e79 56%,#ff9dbd)}.accent-gold{background:linear-gradient(135deg,#181511,#8d672e 60%,#e3c67e)}.project-orbit,.case-cover-orbit{position:absolute;width:58%;aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:-8%;bottom:-25%;box-shadow:0 0 0 40px rgba(255,255,255,.04),0 0 0 90px rgba(255,255,255,.025);transition:transform .8s var(--ease)}.project-card:hover .project-orbit{transform:scale(1.08) rotate(16deg)}.project-monogram{position:absolute;left:8%;top:8%;font-size:clamp(3rem,7vw,7rem);font-weight:760;letter-spacing:-.08em}.project-year{position:absolute;right:7%;top:8%;font-size:.78rem;letter-spacing:.12em}.project-card-body{padding:1.5rem .4rem}.project-card h2,.article-card h2,.service-card h2{font-size:clamp(1.7rem,2.7vw,2.7rem);line-height:1.05;letter-spacing:-.045em;margin:.2rem 0 1rem}.project-card h2 a,.article-card h2 a,.service-card h2 a{text-decoration:none}.project-card-body>p:not(.eyebrow){color:var(--muted);max-width:610px}.text-link{font-weight:680;text-decoration:none}.text-link:hover{text-decoration:underline}.section-end{margin-top:2rem;text-align:center}
.services-section{background:var(--surface)}.sticky-intro{position:sticky;top:calc(var(--header-h) + 3rem)}.sticky-intro>p:last-of-type,.lead-copy{color:var(--muted);font-size:1.15rem}.service-list{border-top:1px solid var(--line)}.service-card{position:relative;padding:2.25rem 4.5rem 2.25rem 0;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),background .35s}.service-card:hover{padding-left:1.2rem;background:linear-gradient(90deg,var(--surface-2),transparent)}.service-card .service-index{position:absolute;right:0;top:2.6rem;color:var(--muted);font-size:.78rem}.service-card p{color:var(--muted);max-width:600px}.service-list.large .service-card{padding-block:3.5rem}.service-list.large .service-card h2{font-size:clamp(2.6rem,5vw,5rem)}.service-list.compact{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;border:0}.service-list.compact .service-card{border:1px solid var(--line);border-radius:var(--radius);padding:2rem}
.manifesto-section{background:var(--text);color:var(--bg)}.manifesto-card{border:1px solid color-mix(in srgb,var(--bg) 18%,transparent);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,5rem)}.manifesto-label{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;opacity:.65}.manifesto-card blockquote{font-size:clamp(2rem,4.2vw,4.4rem);line-height:1.12;letter-spacing:-.045em;margin:3rem 0 5rem}.manifesto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.manifesto-grid.four{grid-template-columns:repeat(4,1fr)}.manifesto-grid>div{border-top:1px solid currentColor;padding-top:1.3rem}.manifesto-grid span{font-size:.75rem;opacity:.58}.manifesto-grid h2,.manifesto-grid h3{font-size:1.3rem;margin:1.2rem 0 .5rem}.manifesto-grid p{margin:0;opacity:.65}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.article-card{display:flex;flex-direction:column;min-height:390px;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;background:var(--surface);transition:transform .35s var(--ease),box-shadow .35s}.article-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.article-meta,.article-footer,.article-meta-large{display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.78rem}.article-meta a,.article-meta-large a{text-decoration:none;color:var(--primary)}.article-card h2{font-size:clamp(1.6rem,2.4vw,2.35rem);margin-top:2rem}.article-card>p{color:var(--muted)}.article-footer{margin-top:auto;align-items:center}.article-footer a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);text-decoration:none}.article-search{padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:1.5rem}.article-search label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.7rem}.article-search>div{display:flex;gap:.7rem}.article-search input{flex:1;border:0;background:transparent;color:var(--text);outline:none;font-size:1.1rem}.article-search button{border:0;border-radius:999px;background:var(--text);color:var(--bg);padding:.8rem 1rem}.category-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.category-pills a{padding:.6rem .9rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--muted)}
.about-preview{background:var(--surface)}.portrait-placeholder{position:relative;aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 60% 25%,#f1a8c9,transparent 32%),radial-gradient(circle at 25% 70%,#7464f5,transparent 40%),#1d1b29;display:grid;place-items:center;color:white}.portrait-placeholder.large{min-height:560px}.portrait-placeholder>span{font-family:Georgia,serif;font-size:clamp(9rem,25vw,18rem);font-style:italic;opacity:.9}.portrait-status{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.22);background:rgba(10,10,15,.46);backdrop-filter:blur(14px);border-radius:999px;font-size:.78rem;display:flex;align-items:center;gap:.6rem}.portrait-status i,.agent-identity i{width:7px;height:7px;border-radius:50%;background:#42d47f;display:inline-block}.contact-cta-card{background:linear-gradient(135deg,#412be1,#8c4cea 55%,#ef5b9c);color:white;border-radius:var(--radius-lg);padding:clamp(2.2rem,7vw,6rem);box-shadow:var(--shadow)}.contact-cta-card h2{font-size:clamp(2.8rem,6vw,6rem);line-height:.98;letter-spacing:-.06em;max-width:1000px}.contact-cta-card p{max-width:680px;font-size:1.15rem;color:rgba(255,255,255,.76);margin:1.4rem 0 2rem}.contact-cta-card .eyebrow{color:rgba(255,255,255,.68)}
.page-hero{padding-top:calc(var(--header-h) + clamp(5rem,8vw,8rem));padding-bottom:clamp(3rem,6vw,6rem)}.project-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.project-filters button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.65rem 1rem}.project-filters button.active{background:var(--text);color:var(--bg)}.project-card.is-filtered{display:none}.inline-cta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3rem 0;display:flex;align-items:center;justify-content:space-between;gap:2rem}.inline-cta h2{font-size:clamp(2rem,4vw,4rem);line-height:1.05;letter-spacing:-.045em;max-width:800px;margin:0}.back-link{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:3rem}.case-facts{margin:0}.case-facts>div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1rem 0}.case-facts dt{color:var(--muted);font-weight:400}.case-facts dd{margin:0;text-align:right}.case-cover{position:relative;aspect-ratio:16/7;border-radius:var(--radius-lg);overflow:hidden;margin-top:4rem;color:#fff}.case-cover-word{position:absolute;left:5%;top:50%;transform:translateY(-50%);font-size:clamp(4rem,13vw,12rem);font-weight:750;letter-spacing:-.08em}.case-lead{font-size:clamp(1.7rem,3vw,3rem);line-height:1.35;letter-spacing:-.035em;margin:0}.case-columns{margin-top:6rem}.case-block{border-top:1px solid var(--line);padding-top:1.5rem}.case-block>span{font-size:.75rem;color:var(--muted)}.case-block h2{font-size:1.25rem;margin:1.5rem 0 .8rem}.case-block p{color:var(--muted)}.related-section{background:var(--surface)}.ideal-box{border:1px solid var(--line);border-radius:var(--radius);padding:2rem;background:var(--surface)}.ideal-box>p:last-child{font-size:1.15rem}.deliverables-grid{display:grid;grid-template-columns:1fr 2fr;gap:3rem;margin-top:6rem}.deliverables-grid ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.deliverables-grid li{border-bottom:1px solid var(--line);padding:1.5rem 0;font-size:1.35rem;counter-increment:item}.deliverables-grid li::before{content:counter(item,decimal-leading-zero);display:inline-block;width:60px;color:var(--muted);font-size:.75rem}
.article-hero{padding-top:calc(var(--header-h) + 5rem)}.article-container{max-width:1040px}.article-meta-large{justify-content:flex-start;margin:2rem 0;gap:1.5rem}.article-byline{display:flex;align-items:center;gap:.8rem;margin-top:2.5rem}.mini-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg);font-size:.72rem;font-weight:750}.mini-avatar.large{width:66px;height:66px;flex:0 0 auto}.article-byline>div{display:flex;flex-direction:column}.article-byline>div span{color:var(--muted);font-size:.82rem}.article-byline button,.article-aside button{margin-left:auto;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.75rem 1rem}.article-body .article-container{display:grid;grid-template-columns:240px minmax(0,1fr);gap:5rem}.article-aside{position:sticky;top:calc(var(--header-h) + 2rem);height:max-content;border-top:1px solid var(--line);padding-top:1.2rem}.article-aside>p{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.article-aside ol{padding-left:1.2rem;color:var(--muted)}.article-aside a{text-decoration:none}.article-aside button{margin:1rem 0 0;font-size:.8rem}.article-copy{font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;line-height:1.85}.article-copy h2{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;letter-spacing:-.045em;margin:5rem 0 1.5rem}.article-copy p{color:color-mix(in srgb,var(--text) 84%,var(--muted))}.article-author-box{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:flex;gap:1.2rem;border-top:1px solid var(--line);margin-top:5rem;padding-top:2rem}.article-author-box h2{font-size:1.25rem;margin:0 0 .5rem}.article-author-box p{font-size:.95rem;color:var(--muted);margin:.4rem 0}.article-author-box a{font-size:.9rem;font-weight:700;text-decoration:none}
.contact-page{padding-top:calc(var(--header-h) + 6rem)}.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.contact-info-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,3rem)}.contact-info-card h2{font-size:1.3rem}.contact-info-card ol{list-style:none;padding:0;margin:2rem 0}.contact-info-card li{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.contact-info-card li span{flex:0 0 30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-size:.75rem}.contact-info-card a{color:var(--primary)}.noscript-contact{padding:1rem;border:1px solid var(--line);margin-top:2rem}.faq-list details{border-top:1px solid var(--line);padding:1.4rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-size:1.25rem;font-weight:650;cursor:pointer}.faq-list p{color:var(--muted);max-width:700px}.capability-cloud{display:flex;flex-wrap:wrap;gap:.7rem}.values-section{background:var(--text);color:var(--bg)}.error-page{padding-top:calc(var(--header-h) + 9rem);min-height:80vh}.error-code{font-size:clamp(8rem,25vw,22rem);font-weight:800;line-height:.7;letter-spacing:-.08em;color:var(--surface-2);margin:0}.error-page h1{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.05em}.error-page>div>p:not(.error-code){color:var(--muted);font-size:1.2rem}.error-page>div>div{display:flex;gap:.8rem}
.legal-page{padding-top:calc(var(--header-h) + 5rem)}.legal-container{max-width:900px}.legal-page h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.06em;line-height:1}.legal-page h2{font-size:clamp(1.5rem,3vw,2.4rem);letter-spacing:-.035em;margin:4rem 0 1rem}.legal-page p,.legal-page li{color:color-mix(in srgb,var(--text) 82%,var(--muted))}.legal-updated{color:var(--muted)!important}.legal-warning{border-left:4px solid var(--gold);padding:1rem 1.2rem;background:color-mix(in srgb,var(--gold) 10%,var(--surface));border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:2rem 0}.legal-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.legal-table{width:100%;border-collapse:collapse;min-width:680px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:1rem;border-bottom:1px solid var(--line)}.legal-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;background:var(--surface-2)}
.site-footer{padding:6rem 0 2rem;border-top:1px solid var(--line);background:var(--surface)}.footer-brand{margin-bottom:1.3rem}.site-footer p{color:var(--muted)}.site-footer h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 1rem}.site-footer .col-6>a,.site-footer .col-lg-2>a,.site-footer .col-lg-2>button{display:block;border:0;background:none;padding:.25rem 0;color:var(--text);text-decoration:none;text-align:left}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:5rem;color:var(--muted);font-size:.78rem}
/* Agent */
.agent-layer{position:fixed;z-index:1050;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100vw - 24px));pointer-events:none}.agent-launcher{pointer-events:auto;margin:0 auto;display:flex;align-items:center;gap:.7rem;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);box-shadow:0 12px 50px rgba(0,0,0,.18);backdrop-filter:blur(22px) saturate(150%);padding:.8rem 1rem;border-radius:999px;transition:transform .35s var(--ease),opacity .25s}.agent-launcher:hover{transform:translateY(-3px)}.agent-spark{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--pink));color:white}.agent-launcher kbd{border:1px solid var(--line);border-bottom-width:2px;background:var(--surface-2);border-radius:6px;padding:.05rem .35rem;color:var(--muted);font-size:.7rem}.agent-panel{pointer-events:auto;display:flex;flex-direction:column;height:min(650px,calc(100dvh - 120px));background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);border-radius:28px;box-shadow:0 30px 100px rgba(0,0,0,.28);backdrop-filter:blur(24px) saturate(150%);overflow:hidden;transform-origin:bottom center;opacity:0;transform:translateY(20px) scale(.97);visibility:hidden;transition:.4s var(--ease)}.agent-layer[data-agent-state="open"] .agent-panel,.agent-layer[data-agent-state="expanded"] .agent-panel{opacity:1;transform:none;visibility:visible}.agent-layer[data-agent-state="open"] .agent-launcher,.agent-layer[data-agent-state="expanded"] .agent-launcher{display:none}.agent-layer[data-agent-state="expanded"]{width:min(980px,calc(100vw - 24px))}.agent-layer[data-agent-state="expanded"] .agent-panel{height:calc(100dvh - 28px)}.agent-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem;border-bottom:1px solid var(--line)}.agent-identity{display:flex;align-items:center;gap:.7rem}.agent-avatar{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--pink));color:white;font-weight:800}.agent-identity>div{display:flex;flex-direction:column}.agent-identity>div span{font-size:.72rem;color:var(--muted);display:flex;align-items:center;gap:.4rem}.agent-header-actions{display:flex}.agent-header-actions button{width:36px;height:36px;border:0;background:transparent;border-radius:50%}.agent-header-actions button:hover{background:var(--surface-2)}.agent-context{padding:.7rem 1rem;display:flex;gap:.6rem;border-bottom:1px solid var(--line);font-size:.72rem;white-space:nowrap;overflow:hidden}.agent-context span{color:var(--muted)}.agent-context strong{overflow:hidden;text-overflow:ellipsis}.agent-messages{flex:1;overflow-y:auto;padding:1.2rem;overscroll-behavior:contain}.agent-message{display:flex;margin-bottom:.9rem}.agent-message.user{justify-content:flex-end}.message-bubble{max-width:min(85%,600px);padding:.85rem 1rem;border-radius:18px;background:var(--surface-2);font-size:.94rem;white-space:pre-wrap}.agent-message.user .message-bubble{background:var(--text);color:var(--bg);border-bottom-right-radius:5px}.agent-message.assistant .message-bubble{border-bottom-left-radius:5px}.agent-message.loading .message-bubble{display:flex;gap:5px;align-items:center}.agent-message.loading i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:typing 1s infinite alternate}.agent-message.loading i:nth-child(2){animation-delay:.2s}.agent-message.loading i:nth-child(3){animation-delay:.4s}@keyframes typing{to{opacity:.25;transform:translateY(-3px)}}.agent-suggestions{display:flex;gap:.5rem;padding:0 1rem .8rem;overflow-x:auto;scrollbar-width:none}.agent-suggestions button{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:999px;padding:.55rem .8rem;font-size:.76rem}.agent-results{padding:0 1rem .8rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.agent-result-card{border:1px solid var(--line);border-radius:14px;padding:.8rem;text-decoration:none;background:var(--surface)}.agent-result-card span{font-size:.65rem;text-transform:uppercase;color:var(--muted)}.agent-result-card strong{display:block;font-size:.88rem;line-height:1.2;margin-top:.3rem}.agent-composer{display:flex;align-items:flex-end;gap:.5rem;margin:0 1rem;padding:.55rem;border:1px solid var(--line);border-radius:19px;background:var(--surface)}.agent-composer textarea{flex:1;max-height:120px;resize:none;border:0;outline:none;background:transparent;color:var(--text);padding:.5rem;line-height:1.35}.agent-composer button{width:38px;height:38px;border:0;border-radius:13px;background:var(--text);color:var(--bg)}.agent-honeypot{position:absolute!important;left:-9999px!important}.agent-privacy{text-align:center;color:var(--muted);font-size:.65rem;padding:.45rem 1rem .65rem}.agent-privacy a{color:inherit}.contact-summary{border:1px solid var(--line);border-radius:16px;padding:1rem;background:var(--surface)}.contact-summary dl{margin:0}.contact-summary div{display:grid;grid-template-columns:100px 1fr;gap:.7rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.contact-summary div:last-child{border:0}.contact-summary dt{color:var(--muted);font-size:.72rem}.contact-summary dd{margin:0;font-size:.84rem}.contact-summary-actions{display:flex;gap:.5rem;margin-top:.8rem}.contact-summary-actions button{border:0;border-radius:999px;padding:.6rem .8rem}.contact-summary-actions .confirm{background:var(--text);color:var(--bg)}body.classic-mode .agent-layer:not([data-agent-state="open"]):not([data-agent-state="expanded"]){display:none}
/* Cookies */
.cookie-layer{position:fixed;z-index:2000;inset:0;pointer-events:none}.cookie-layer::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.34);backdrop-filter:blur(6px);pointer-events:auto}.cookie-banner,.cookie-settings{position:absolute;z-index:1;pointer-events:auto;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(1100px,calc(100vw - 28px));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.cookie-banner h2,.cookie-settings h2{font-size:1.45rem;margin:.2rem 0}.cookie-banner p{margin:0;color:var(--muted);max-width:700px}.cookie-actions,.cookie-settings-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-cookie{border:1px solid var(--line);background:var(--surface);min-width:110px}.btn-cookie.primary{background:var(--text);color:var(--bg)}.cookie-settings{display:block;max-width:620px;bottom:50%;transform:translate(-50%,50%);max-height:calc(100dvh - 40px);overflow:auto}.cookie-settings header{display:flex;justify-content:space-between;align-items:start}.cookie-settings header button{border:0;background:transparent;font-size:1.5rem}.cookie-settings>p{color:var(--muted)}.cookie-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line);position:relative}.cookie-option>div{display:flex;flex-direction:column}.cookie-option span{color:var(--muted);font-size:.78rem}.always-on{white-space:nowrap}.cookie-option input{position:absolute;opacity:0}.cookie-option .switch{width:46px;height:27px;border-radius:999px;background:var(--surface-2);position:relative;flex:0 0 auto;transition:.2s}.cookie-option .switch::after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px rgba(0,0,0,.2);transition:.2s}.cookie-option input:checked+.switch{background:var(--primary)}.cookie-option input:checked+.switch::after{transform:translateX(19px)}.cookie-settings-actions{justify-content:flex-end;margin-top:1rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.guided-highlight{animation:guidedHighlight 1.6s var(--ease)}@keyframes guidedHighlight{0%,100%{box-shadow:none}40%{box-shadow:0 0 0 10px color-mix(in srgb,var(--primary) 14%,transparent)}}
@media(max-width:991px){:root{--header-h:68px}.mode-control{display:none}.scroll-cue{display:none}.project-grid{grid-template-columns:1fr}.project-card,.project-card:nth-child(3n){grid-column:auto}.sticky-intro{position:static;margin-bottom:2rem}.manifesto-grid,.manifesto-grid.four{grid-template-columns:repeat(2,1fr)}.article-grid{grid-template-columns:1fr 1fr}.article-body .article-container{grid-template-columns:1fr}.article-aside{position:static;display:none}.deliverables-grid{grid-template-columns:1fr}.footer-main{row-gap:3rem}.agent-panel{height:min(680px,calc(100dvh - 90px))}}
@media(max-width:767px){body{--agent-safe:76px}.section-shell{padding:4.5rem 0}.display-hero{font-size:clamp(3.3rem,15vw,5.2rem)}.display-page{font-size:clamp(3rem,13vw,4.8rem)}.display-section{font-size:clamp(2.5rem,11vw,4rem)}.hero .min-vh-90{min-height:calc(100dvh - var(--header-h))}.hero-proof{gap:.4rem}.hero-proof span{font-size:.7rem}.project-visual{border-radius:26px;aspect-ratio:4/3}.manifesto-card{border-radius:26px}.manifesto-card blockquote{margin:2rem 0 3rem}.manifesto-grid,.manifesto-grid.four{grid-template-columns:1fr}.article-grid{grid-template-columns:1fr}.article-card{min-height:330px}.inline-cta{align-items:flex-start;flex-direction:column}.case-cover{aspect-ratio:4/3;border-radius:26px}.case-columns{margin-top:3rem}.service-list.compact{grid-template-columns:1fr}.service-card:hover{padding-left:0}.article-byline{flex-wrap:wrap}.article-byline button{margin:1rem 0 0;width:100%}.article-copy{font-size:1.08rem}.article-author-box{flex-direction:column}.article-search>div{flex-direction:column}.contact-cta-card{border-radius:26px}.footer-bottom{flex-direction:column}.agent-layer{width:calc(100vw - 12px);bottom:max(6px,env(safe-area-inset-bottom))}.agent-launcher{font-size:.82rem}.agent-launcher kbd{display:none}.agent-panel{border-radius:22px;height:calc(100dvh - 12px)}.agent-layer[data-agent-state="open"],.agent-layer[data-agent-state="expanded"]{width:calc(100vw - 12px)}.agent-layer[data-agent-state="open"] .agent-panel,.agent-layer[data-agent-state="expanded"] .agent-panel{height:calc(100dvh - 12px)}.agent-results{grid-template-columns:1fr}.cookie-banner{display:block}.cookie-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:1rem}.cookie-actions .primary{grid-column:1/-1}.cookie-actions .btn-cookie{width:100%}.cookie-settings-actions{display:grid;grid-template-columns:1fr 1fr}.legal-table{font-size:.9rem}.portrait-placeholder.large{min-height:440px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Interface refinement v1.0.2: header + bottom guided dock
   -------------------------------------------------------------------------- */
:root{
  --agent-reserved-space:92px;
  --agent-visible-height:92px;
  --agent-keyboard-offset:0px;
  --agent-viewport-height:100dvh;
}

body{
  padding-bottom:var(--agent-reserved-space);
  transition:background .35s ease,color .35s ease,padding-bottom .45s var(--ease);
}
html{
  scroll-padding-bottom:calc(var(--agent-visible-height) + 28px);
}

/* Header: explicit three-zone layout so the menu cannot collapse into the logo. */
.site-header .navbar,
.site-header .header-shell{
  width:100%;
}
.site-header .header-shell{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(1rem,2.2vw,2.25rem);
}
.header-desktop{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(.9rem,1.6vw,1.5rem);
}
.desktop-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:.2rem;
  width:max-content;
  max-width:100%;
  padding:.25rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface) 72%,transparent);
  box-shadow:0 7px 28px rgba(18,16,32,.045);
  backdrop-filter:blur(16px) saturate(145%);
  -webkit-backdrop-filter:blur(16px) saturate(145%);
}
.desktop-nav .nav-item{
  display:block;
}
.desktop-nav .nav-link{
  padding:.48rem .78rem;
  white-space:nowrap;
  line-height:1.2;
}
.desktop-nav .nav-link.active{
  background:var(--text);
  color:var(--bg);
  box-shadow:0 5px 15px rgba(0,0,0,.12);
}
.header-controls{
  justify-self:end;
  flex:0 0 auto;
}
.navbar-toggler{
  justify-self:end;
}
.mobile-links a[aria-current="page"]{
  color:var(--primary);
}

/* The agent is a dock anchored to the lower edge, not a centred modal. */
.agent-layer{
  bottom:calc(max(14px,env(safe-area-inset-bottom)) + var(--agent-keyboard-offset));
  width:min(780px,calc(100vw - 28px));
  transition:width .42s var(--ease),bottom .2s ease;
  isolation:isolate;
}
.agent-dock-glass{
  position:fixed;
  z-index:-1;
  pointer-events:none;
  left:0;
  right:0;
  bottom:0;
  height:calc(var(--agent-visible-height) + 44px);
  opacity:1;
  background:linear-gradient(
    to top,
    color-mix(in srgb,var(--bg) 76%,transparent) 0%,
    color-mix(in srgb,var(--bg) 34%,transparent) 56%,
    transparent 100%
  );
  backdrop-filter:blur(18px) saturate(155%);
  -webkit-backdrop-filter:blur(18px) saturate(155%);
  mask-image:linear-gradient(to top,#000 0%,#000 58%,transparent 100%);
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 58%,transparent 100%);
  transition:height .45s var(--ease),opacity .25s ease;
}
body.agent-is-closed .agent-dock-glass,
body.classic-mode:not(.agent-is-open):not(.agent-is-expanded) .agent-dock-glass{
  opacity:0;
  height:0;
}
.agent-launcher{
  min-height:54px;
  background:color-mix(in srgb,var(--surface) 76%,transparent);
  border-color:color-mix(in srgb,var(--line) 88%,transparent);
  box-shadow:0 14px 50px rgba(0,0,0,.16),inset 0 1px 0 color-mix(in srgb,#fff 52%,transparent);
  backdrop-filter:blur(26px) saturate(175%);
  -webkit-backdrop-filter:blur(26px) saturate(175%);
}
.agent-panel{
  height:clamp(370px,52dvh,520px);
  max-height:calc(var(--agent-viewport-height) - 112px);
  min-height:0;
  background:color-mix(in srgb,var(--surface) 80%,transparent);
  border-color:color-mix(in srgb,var(--line) 92%,transparent);
  box-shadow:0 34px 110px rgba(0,0,0,.3),inset 0 1px 0 color-mix(in srgb,#fff 48%,transparent);
  backdrop-filter:blur(34px) saturate(175%);
  -webkit-backdrop-filter:blur(34px) saturate(175%);
}
.agent-layer[data-agent-state="expanded"]{
  width:min(1020px,calc(100vw - 28px));
}
.agent-layer[data-agent-state="expanded"] .agent-panel{
  height:calc(var(--agent-viewport-height) - 28px);
  max-height:calc(var(--agent-viewport-height) - 28px);
}
.agent-header,
.agent-context,
.agent-bottom-zone{
  flex:0 0 auto;
}
.agent-header{
  background:color-mix(in srgb,var(--surface) 42%,transparent);
}
.agent-context{
  background:color-mix(in srgb,var(--surface) 28%,transparent);
}
.agent-scroll-region{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}
.agent-messages{
  min-height:0;
  overflow:visible;
  padding:1.1rem 1.15rem .45rem;
}
.agent-results{
  padding:.25rem 1.15rem 1rem;
}
.agent-bottom-zone{
  position:relative;
  z-index:2;
  padding-top:.65rem;
  border-top:1px solid var(--line);
  background:linear-gradient(
    to top,
    color-mix(in srgb,var(--surface) 94%,transparent),
    color-mix(in srgb,var(--surface) 76%,transparent)
  );
  box-shadow:0 -16px 34px color-mix(in srgb,var(--surface) 60%,transparent);
  backdrop-filter:blur(24px) saturate(155%);
  -webkit-backdrop-filter:blur(24px) saturate(155%);
}
.agent-suggestions{
  padding:0 1rem .65rem;
}
.agent-suggestions button{
  background:color-mix(in srgb,var(--surface) 58%,transparent);
}
.agent-composer{
  margin:0 1rem;
  background:color-mix(in srgb,var(--surface) 84%,transparent);
  box-shadow:0 8px 25px rgba(0,0,0,.055);
}
.agent-composer textarea{
  min-height:38px;
}
.agent-privacy{
  padding:.4rem 1rem .55rem;
}
.agent-layer[data-agent-keyboard="true"] .agent-panel{
  height:calc(var(--agent-viewport-height) - 12px);
  max-height:calc(var(--agent-viewport-height) - 12px);
}
.agent-layer[data-agent-keyboard="true"]{
  bottom:calc(6px + var(--agent-keyboard-offset));
}

/* Keep guided scroll targets above the dock instead of hiding their last lines. */
[data-section],
section[id],
article[id]{
  scroll-margin-bottom:calc(var(--agent-visible-height) + 24px);
}

@media(max-width:1240px) and (min-width:992px){
  .site-header .header-shell{gap:1rem}
  .header-desktop{gap:.7rem}
  .desktop-nav .nav-link{font-size:.84rem;padding:.45rem .58rem}
  .mode-control{width:40px;padding:0}
  .mode-control [data-mode-label]{display:none}
}

@media(max-width:991px){
  .site-header .header-shell{
    grid-template-columns:auto 1fr auto;
  }
  .header-desktop{
    display:none;
  }
  .agent-panel{
    height:clamp(380px,58dvh,540px);
    max-height:calc(var(--agent-viewport-height) - 86px);
  }
}

@media(max-width:767px){
  :root{
    --agent-reserved-space:78px;
    --agent-visible-height:78px;
  }
  .site-header .header-shell{
    padding-inline:1rem;
  }
  .brand-name{
    font-size:.92rem;
  }
  .agent-layer{
    width:calc(100vw - 16px);
    bottom:calc(max(8px,env(safe-area-inset-bottom)) + var(--agent-keyboard-offset));
  }
  .agent-layer[data-agent-state="open"],
  .agent-layer[data-agent-state="expanded"]{
    width:calc(100vw - 16px);
  }
  .agent-panel,
  .agent-layer[data-agent-state="open"] .agent-panel{
    height:min(66dvh,560px);
    max-height:calc(var(--agent-viewport-height) - 76px);
    border-radius:24px;
  }
  .agent-layer[data-agent-state="expanded"] .agent-panel{
    height:calc(var(--agent-viewport-height) - 16px);
    max-height:calc(var(--agent-viewport-height) - 16px);
  }
  .agent-dock-glass{
    height:calc(var(--agent-visible-height) + 34px);
    backdrop-filter:blur(14px) saturate(150%);
    -webkit-backdrop-filter:blur(14px) saturate(150%);
  }
  .agent-header{
    padding:.8rem .9rem;
  }
  .agent-avatar{
    width:34px;
    height:34px;
    border-radius:11px;
  }
  .agent-context{
    padding:.55rem .9rem;
  }
  .agent-messages{
    padding:.9rem .85rem .35rem;
  }
  .message-bubble{
    max-width:91%;
    font-size:.9rem;
    padding:.72rem .85rem;
  }
  .agent-results{
    padding:.2rem .85rem .8rem;
  }
  .agent-bottom-zone{
    padding-top:.5rem;
    padding-bottom:max(0px,env(safe-area-inset-bottom));
  }
  .agent-suggestions{
    padding:0 .8rem .5rem;
    scroll-padding-inline:.8rem;
  }
  .agent-suggestions button{
    min-height:38px;
  }
  .agent-composer{
    margin:0 .8rem;
  }
  .agent-privacy{
    padding:.32rem .8rem .42rem;
  }
  .agent-layer[data-agent-keyboard="true"] .agent-panel{
    height:calc(var(--agent-viewport-height) - 12px);
    max-height:calc(var(--agent-viewport-height) - 12px);
  }
  .agent-layer[data-agent-keyboard="true"] .agent-context,
  .agent-layer[data-agent-keyboard="true"] .agent-suggestions,
  .agent-layer[data-agent-keyboard="true"] .agent-privacy{
    display:none;
  }
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header,
  .desktop-nav,
  .agent-launcher,
  .agent-panel,
  .agent-bottom-zone{
    background:var(--surface);
  }
  .agent-dock-glass{
    background:linear-gradient(to top,var(--bg) 0%,transparent 100%);
  }
}

/* --------------------------------------------------------------------------
   Interface refinement v1.0.3: true lower dock + Apple-style glass shelf
   -------------------------------------------------------------------------- */
:root{
  --agent-minimized-height:58px;
  --agent-dock-gap:18px;
  --agent-glass-extra:74px;
}

/* The glass is a viewport layer below the assistant, not a negative-z element
   behind the document background. */
.agent-dock-glass{
  z-index:1040;
  height:calc(var(--agent-visible-height) + var(--agent-glass-extra));
  opacity:1;
  background:
    linear-gradient(
      to top,
      color-mix(in srgb,var(--bg) 95%,transparent) 0%,
      color-mix(in srgb,var(--bg) 82%,transparent) 32%,
      color-mix(in srgb,var(--bg) 48%,transparent) 68%,
      transparent 100%
    );
  backdrop-filter:blur(25px) saturate(165%);
  -webkit-backdrop-filter:blur(25px) saturate(165%);
  mask-image:linear-gradient(to top,#000 0%,#000 58%,rgba(0,0,0,.78) 76%,transparent 100%);
  -webkit-mask-image:linear-gradient(to top,#000 0%,#000 58%,rgba(0,0,0,.78) 76%,transparent 100%);
}
.agent-dock-glass::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(900px,86vw);
  height:72%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--surface) 70%,transparent),transparent 72%);
  opacity:.75;
}

/* Force the minimised control to the real lower edge. The !important values
   deliberately neutralise stale rules and any accidental viewport offset. */
.agent-layer[data-agent-state="minimized"]{
  top:auto!important;
  bottom:calc(max(var(--agent-dock-gap),env(safe-area-inset-bottom)))!important;
  transform:translateX(-50%)!important;
}
.agent-layer[data-agent-state="minimized"] .agent-launcher{
  min-height:var(--agent-minimized-height);
  padding:.72rem 1rem .72rem .72rem;
  gap:.72rem;
  border-radius:999px;
  background:color-mix(in srgb,var(--surface) 82%,transparent);
  border:1px solid color-mix(in srgb,var(--line) 82%,rgba(255,255,255,.34));
  box-shadow:
    0 18px 50px rgba(15,12,28,.18),
    0 2px 8px rgba(15,12,28,.06),
    inset 0 1px 0 color-mix(in srgb,#fff 65%,transparent);
  backdrop-filter:blur(30px) saturate(180%);
  -webkit-backdrop-filter:blur(30px) saturate(180%);
}
.agent-layer[data-agent-state="minimized"] .agent-launcher::before{
  content:"";
  position:absolute;
  inset:-1px;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.52),transparent 40%,color-mix(in srgb,var(--primary) 14%,transparent));
  opacity:.55;
}
.agent-layer[data-agent-state="minimized"] .agent-spark{
  width:34px;
  height:34px;
  flex:0 0 34px;
  box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 24%,transparent);
}

/* The open assistant remains a bottom sheet/dock. It never becomes a centred
   modal and the document reserves exactly the visible dock height. */
.agent-layer[data-agent-state="open"],
.agent-layer[data-agent-state="expanded"]{
  top:auto!important;
  bottom:calc(max(14px,env(safe-area-inset-bottom)) + var(--agent-keyboard-offset))!important;
  transform:translateX(-50%)!important;
}
.agent-layer[data-agent-state="open"] .agent-panel{
  height:clamp(360px,46dvh,500px);
}

/* Ensure the page can be scrolled fully above the glass shelf while allowing
   the visual blur to sit over the last viewport area. */
body.agent-is-minimized{
  --agent-reserved-space:calc(var(--agent-minimized-height) + var(--agent-dock-gap) + 36px);
}
body.agent-is-open,
body.agent-is-expanded{
  --agent-reserved-space:calc(var(--agent-visible-height) + 12px);
}

@media(max-width:767px){
  :root{
    --agent-dock-gap:8px;
    --agent-glass-extra:48px;
    --agent-minimized-height:54px;
  }
  .agent-dock-glass{
    backdrop-filter:blur(20px) saturate(160%);
    -webkit-backdrop-filter:blur(20px) saturate(160%);
  }
  .agent-layer[data-agent-state="minimized"]{
    width:calc(100vw - 20px);
    bottom:calc(max(8px,env(safe-area-inset-bottom)))!important;
  }
  .agent-layer[data-agent-state="minimized"] .agent-launcher{
    width:100%;
    justify-content:flex-start;
    padding:.62rem .72rem;
  }
  .agent-layer[data-agent-state="minimized"] .agent-launcher>span:nth-child(2){
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .agent-layer[data-agent-state="minimized"] .agent-launcher kbd{
    display:none;
  }
  .agent-layer[data-agent-state="open"] .agent-panel{
    height:min(68dvh,590px);
    max-height:calc(var(--agent-viewport-height) - 72px);
  }
  body.agent-is-minimized{
    --agent-reserved-space:calc(var(--agent-minimized-height) + var(--agent-dock-gap) + 22px);
  }
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .agent-dock-glass{
    background:linear-gradient(to top,var(--bg) 0%,color-mix(in srgb,var(--bg) 96%,transparent) 62%,transparent 100%);
  }
}

.agent-layer[data-agent-state="minimized"] .agent-launcher{
  position:relative;
  z-index:1;
  isolation:isolate;
}
