:root{--ink:#111;--muted:#6f6f6f;--paper:#f5f4f0;--line:#d9d8d3;--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;letter-spacing:-.02em}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.nav{position:fixed;z-index:20;top:16px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));height:58px;display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 18px;background:#f7f6f2c9;backdrop-filter:blur(18px);border:1px solid #ffffffa0;border-radius:22px;box-shadow:0 8px 30px #0000000d}.nav a{text-decoration:none;color:inherit;font-size:14px}.brand{font-weight:800}.nav nav,.nav-cta{display:flex;gap:22px;align-items:center}.pill{border:1px solid #bdbcb7;padding:11px 16px;border-radius:999px;text-decoration:none;color:inherit;display:inline-block}.pill.dark{background:#111;color:#fff;border-color:#111}.hero{min-height:90vh;padding:190px 0 90px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;margin:0 0 22px}.hero h1{font-size:clamp(58px,8vw,118px);line-height:.92;max-width:1100px;margin:0;font-weight:600;letter-spacing:-.07em}.hero h1 span{color:#777}.lede{font-size:clamp(20px,2.2vw,30px);line-height:1.25;max-width:700px;margin:42px 0;color:#444}.hero-actions{display:flex;align-items:center;gap:25px}.hero-actions a{text-decoration:none;color:inherit}.hero-actions .dark{color:#fff}.tags{display:flex;gap:10px;margin-top:80px;flex-wrap:wrap}.tags span,.chips b{font-size:12px;border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-weight:500}.brands{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.brands>p{font-size:10px;letter-spacing:.13em;margin:0 0 14px;text-align:center;color:#777}.marquee{display:flex;width:max-content;font-size:24px;font-weight:600;animation:scroll 35s linear infinite}.marquee div{white-space:nowrap}@keyframes scroll{to{transform:translateX(-50%)}}.section{padding:130px 0}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:65px}.section-head .eyebrow{grid-row:1/3}.section-head h2,.out h2,.cta h2{font-size:clamp(44px,6vw,80px);line-height:.95;letter-spacing:-.055em;margin:0;max-width:900px}.section-head>p:last-child{font-size:20px;color:#666;max-width:560px;margin:10px 0}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.case{min-height:390px;background:#fff;border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative}.case.wide{grid-column:span 2}.case span,.project span,.writing-grid span{font-size:11px;letter-spacing:.08em;font-weight:700}.case h3,.project h3,.writing-grid h3{font-size:clamp(34px,4vw,60px);line-height:.98;letter-spacing:-.05em;margin:16px 0}.case p{font-size:18px;line-height:1.4;max-width:690px;color:#555}.case.black{background:#111;color:#fff}.case.black p{color:#bbb}.visual{min-height:660px;background-image:linear-gradient(180deg,transparent 30%,#0009),var(--bg);background-size:cover;background-position:center;padding:22px}.glass{width:min(620px,90%);padding:28px;border-radius:22px;background:#ffffffc9;backdrop-filter:blur(18px)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.numbers{display:grid;grid-template-columns:repeat(6,1fr);padding:70px 0 120px;border-top:1px solid var(--line)}.numbers div{padding-right:20px}.numbers strong{display:block;font-size:54px;letter-spacing:-.06em}.numbers span{font-size:13px;color:#666;line-height:1.3}.build{background:#0d0d0d;color:#fff}.section-head.light>p:last-child{color:#aaa}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{min-height:560px;border-radius:var(--radius);background:#1a1a1a;padding:34px;position:relative;overflow:hidden}.project p{font-size:18px;color:#aaa;line-height:1.4;max-width:570px}.project.image{padding:0}.project.image img{width:100%;height:100%;object-fit:cover;position:absolute}.overlay{position:absolute;inset:auto 18px 18px;padding:25px;border-radius:20px;background:#0c0c0cba;backdrop-filter:blur(16px)}.overlay h3{font-size:42px}.status{color:#b6ff87}.mini{display:flex;flex-direction:column;gap:9px;margin-top:40px}.mini b{font-size:15px;color:#ddd}.fail{background:#f0eee8;color:#111}.fail p{color:#555}.flow{position:absolute;bottom:35px;display:flex;gap:15px;align-items:center;flex-wrap:wrap}.flow b{border:1px solid #bbb;border-radius:999px;padding:9px 13px;font-size:12px}.out{overflow:hidden}.out>.wrap{margin-bottom:55px}.photo-strip{display:flex;gap:14px;padding:0 24px;overflow-x:auto}.photo-strip figure{min-width:min(70vw,620px);margin:0;position:relative}.photo-strip img{width:100%;height:600px;object-fit:cover;border-radius:24px}.photo-strip figcaption{position:absolute;left:20px;right:20px;bottom:20px;background:#f5f4f0d9;backdrop-filter:blur(12px);border-radius:15px;padding:15px 18px;font-weight:700}.photo-strip figcaption span{float:right;color:#666;font-weight:500}.writing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.writing-grid article{border-top:1px solid #aaa;padding:25px 5px 60px}.writing-grid h3{font-size:38px}.writing-grid p{color:#666;font-size:17px;line-height:1.45}.about{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#e8e5dd}.about-img img{width:100%;height:100%;object-fit:cover}.about-copy{padding:100px max(40px,8vw);display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-size:clamp(45px,5vw,72px);line-height:.95;letter-spacing:-.055em;margin:0 0 35px}.about-copy p{font-size:18px;line-height:1.55;color:#555}.about-copy a{margin-top:25px;color:#111}.cta{padding:150px 0}.cta p:not(.eyebrow){font-size:20px;color:#666;margin:25px 0 35px}footer{border-top:1px solid var(--line);padding:35px max(24px,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;color:#666;font-size:13px}footer div:last-child{display:flex;gap:20px}footer a{color:inherit;text-decoration:none}@media(max-width:800px){.wrap{width:min(100% - 28px,1240px)}.nav nav{display:none}.nav-cta>a:first-child{display:none}.hero{padding-top:140px;min-height:auto}.hero h1{font-size:56px}.tags{margin-top:55px}.section{padding:85px 0}.section-head{display:block}.section-head h2,.out h2,.cta h2{font-size:50px}.work-grid,.project-grid,.writing-grid,.about{grid-template-columns:1fr}.case.wide{grid-column:auto}.visual{min-height:520px}.case{min-height:350px}.numbers{grid-template-columns:repeat(2,1fr);gap:35px 10px;padding:55px 0 85px}.project{min-height:500px}.photo-strip figure{min-width:88vw}.photo-strip img{height:480px}.photo-strip figcaption span{float:none;display:block;margin-top:5px}.about-img{height:540px}.about-copy{padding:70px 25px}.writing-grid article{padding-bottom:25px}footer{flex-direction:column;gap:20px}.marquee{font-size:19px}}

.clickable{cursor:pointer;transition:transform .25s ease,filter .25s ease}.clickable:hover{transform:translateY(-3px);filter:brightness(.98)}
.image-bg{background-size:cover;background-position:center;display:flex;align-items:flex-end}.bexo-bg{background-image:linear-gradient(180deg,#0000 15%,#000b 100%),url('https://www.carnetdesportive.com/wp-content/uploads/66c6591289989.jpg')}.vivo-bg{background-image:linear-gradient(180deg,#0000 15%,#000c 100%),url('https://fvelektrarna.cz/og-image.jpg')}.overlay-card{width:100%;padding:25px;border-radius:20px;background:#0c0c0cba;backdrop-filter:blur(16px);color:#fff}.overlay-card p{color:#d2d2d2}.overlay-card .flow{position:static;margin-top:35px}.overlay-card .flow b{border-color:#888}.project-copy.overlay-card{position:absolute;left:18px;right:18px;bottom:18px;width:auto}.project.image-bg{padding:18px}
.page-hero{padding:170px 0 80px}.page-hero h1{font-size:clamp(55px,8vw,110px);line-height:.92;letter-spacing:-.065em;margin:0;max-width:1050px}.page-hero p{font-size:21px;line-height:1.45;color:#666;max-width:720px}.content{padding:40px 0 120px;max-width:820px}.content h2{font-size:42px;letter-spacing:-.04em;margin-top:70px}.content p{font-size:19px;line-height:1.65;color:#444}.back{display:inline-block;margin-top:25px;color:#111}.index-list{display:grid;gap:14px;margin-top:50px}.index-list a{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;font-size:24px}.index-list small{color:#777;font-size:13px}
/* V3 — photographic hero + restrained colored glass */
.hero-photo{min-height:92vh;position:relative;overflow:hidden;background:#111}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,20,.25),rgba(14,12,25,.02) 65%),url('assets/sf-speaking.jpg') center 45%/cover no-repeat;transform:scale(1.01)}.hero-inner{position:relative;z-index:2;min-height:92vh;display:flex;align-items:center}.hero-glass{width:min(720px,66vw);margin-top:40px;padding:46px 48px 42px;border-radius:30px;background:linear-gradient(135deg,rgba(232,242,255,.84),rgba(225,214,255,.73) 56%,rgba(255,225,238,.69));border:1px solid rgba(255,255,255,.68);box-shadow:0 24px 70px rgba(17,25,60,.2),inset 0 1px rgba(255,255,255,.55);backdrop-filter:blur(26px) saturate(135%)}.hero-glass h1{font-size:clamp(48px,5.5vw,82px);line-height:.95;max-width:650px;margin:0;font-weight:600;letter-spacing:-.065em}.hero-glass h1 span{background:linear-gradient(90deg,#5546d9,#356be5);-webkit-background-clip:text;color:transparent}.hero-glass .lede{font-size:clamp(18px,1.7vw,23px);max-width:610px;margin:30px 0;color:#34364b}.hero-glass .tags{margin-top:38px}.hero-glass .tags span{border-color:rgba(61,64,120,.22);background:rgba(255,255,255,.24)}.pill.soft{background:rgba(255,255,255,.46);border-color:rgba(255,255,255,.75)}.hero-note{position:absolute;right:0;top:34%;display:flex;gap:9px;align-items:center;padding:11px 15px;border-radius:999px;color:#fff;background:rgba(13,18,34,.58);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(16px);font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.hero-note i{width:7px;height:7px;border-radius:50%;background:#70e69b;box-shadow:0 0 12px #70e69b}
.city-stack{margin-top:65px;display:flex;flex-direction:column;gap:8px}.city-card{border-radius:25px;overflow:hidden;border:1px solid rgba(50,50,80,.08);background:linear-gradient(120deg,rgba(232,228,255,.82),rgba(243,242,249,.95));box-shadow:0 12px 35px rgba(35,35,70,.06)}.city-card.sf{background:linear-gradient(120deg,rgba(214,231,255,.9),rgba(230,237,255,.92))}.city-card.ny{background:linear-gradient(120deg,rgba(247,224,232,.9),rgba(244,236,241,.94))}.city-card.milan{background:linear-gradient(120deg,rgba(220,239,230,.92),rgba(237,244,239,.94))}.city-card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:25px 30px}.city-card summary::-webkit-details-marker{display:none}.city-card summary h3{font-size:36px;letter-spacing:-.045em;margin:0 0 3px}.city-card summary p{margin:0;color:#5d5d6a;font-size:15px}.city-card time{font:500 24px ui-monospace,SFMono-Regular,Menlo,monospace;color:#55586b}.city-body{display:grid;grid-template-columns:1.25fr 1fr;gap:30px;padding:5px 30px 30px;align-items:center}.city-body img{width:100%;height:390px;object-fit:cover;border-radius:20px}.city-body>div>span{font-size:11px;letter-spacing:.13em;font-weight:800}.city-body>div>p{font-size:19px;line-height:1.55;color:#343545;max-width:500px}.city-card:not([open]) .city-body{display:none}
@media(max-width:800px){.hero-photo,.hero-inner{min-height:760px}.hero-bg{background-position:62% center}.hero-inner{align-items:flex-end;padding-bottom:30px}.hero-glass{width:100%;padding:30px 25px 28px;margin:0;background:linear-gradient(135deg,rgba(238,245,255,.9),rgba(231,221,255,.84) 60%,rgba(255,228,239,.78))}.hero-glass h1{font-size:48px}.hero-glass .tags{margin-top:28px}.hero-note{display:none}.city-card summary{padding:20px}.city-card summary h3{font-size:29px}.city-card time{font-size:16px}.city-body{grid-template-columns:1fr;padding:0 20px 20px}.city-body img{height:280px}}
.acting-feature{display:grid;grid-template-columns:1.35fr .8fr;min-height:680px;background:#111;color:#fff}.acting-feature img{width:100%;height:100%;object-fit:cover}.acting-feature>div{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center}.acting-feature h2{font-size:clamp(48px,6vw,78px);line-height:.95;letter-spacing:-.055em;margin:0 0 30px}.acting-feature p:last-child{font-size:19px;line-height:1.6;color:#bbb}.about-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:100px;padding-bottom:100px}.about-notes article{padding:35px;border-top:1px solid #aaa}.about-notes span{font-size:11px;letter-spacing:.12em;font-weight:700}.about-notes h3{font-size:38px;letter-spacing:-.045em;margin:18px 0}.about-notes p{font-size:18px;color:#666}@media(max-width:800px){.acting-feature,.about-notes{grid-template-columns:1fr}.acting-feature img{height:520px}.acting-feature>div{padding:60px 25px}}

/* V4 — complete inner pages + contact */
.contact-shell{min-height:100vh;padding:150px 5vw 90px;background:radial-gradient(circle at 92% 8%,rgba(112,87,255,.24),transparent 35%),radial-gradient(circle at 5% 90%,rgba(255,159,112,.22),transparent 33%),radial-gradient(circle at 80% 90%,rgba(80,215,188,.17),transparent 30%),#ececf2}.contact-glass{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;padding:60px 65px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(241,237,255,.67) 58%,rgba(235,255,250,.6));border:1px solid rgba(255,255,255,.88);box-shadow:0 28px 80px rgba(45,40,80,.12);backdrop-filter:blur(26px) saturate(125%)}.contact-intro h1{font-size:clamp(70px,8vw,118px);line-height:.9;letter-spacing:-.07em;margin:30px 0 34px}.contact-intro>p:not(.eyebrow){font-size:25px;line-height:1.5;color:#595968;max-width:540px}.contact-meta{display:flex;flex-direction:column;gap:13px;margin-top:35px}.contact-meta>span{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#858593;margin-top:12px}.contact-meta a{color:#17171c;text-decoration:none;font-size:20px}.contact-meta .linkedin{text-decoration:underline;text-underline-offset:4px}.copy-phone{margin-left:10px;border:1px solid #d4d4db;border-radius:999px;background:#ffffffa6;padding:8px 13px;cursor:pointer}.contact-form{padding-top:5px}.contact-form fieldset{border:0;padding:0;margin:0 0 22px}.contact-form legend,.contact-form label{display:block;font-size:14px;color:#555564}.topic-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.topic-pills input{position:absolute;opacity:0}.topic-pills span{display:block;padding:12px 18px;border:1px solid #d8d7df;border-radius:999px;background:#ffffff9c;cursor:pointer;transition:.2s}.topic-pills input:checked+span{background:#6547f5;color:#fff;border-color:#6547f5;box-shadow:0 8px 22px rgba(101,71,245,.25)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form textarea{width:100%;box-sizing:border-box;margin:8px 0 20px;padding:17px 18px;border:1px solid #d8d8df;border-radius:17px;background:rgba(255,255,255,.72);font:inherit;outline:none;transition:.2s}.contact-form textarea{resize:vertical;min-height:155px}.contact-form input:focus,.contact-form textarea:focus{border-color:#7b69df;box-shadow:0 0 0 4px rgba(123,105,223,.1)}.send-button{border:0;border-radius:999px;background:#6547f5;color:#fff;padding:15px 25px;font:600 16px inherit;cursor:pointer;box-shadow:0 12px 28px rgba(101,71,245,.25)}.form-note{display:inline-block;margin-left:18px;color:#777;font-size:13px}.form-note a{color:#333}.hidden{position:absolute!important;left:-9999px!important}.optional{font-size:11px;color:#999}.listing-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:120px}.listing-card{min-height:330px;padding:34px;border-radius:28px;background:linear-gradient(135deg,#f2f3f6,#e8e9ef);color:#111;text-decoration:none;display:flex;flex-direction:column;transition:.25s}.listing-card:hover{transform:translateY(-4px)}.listing-card span,.writing-list-card span{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#676776}.listing-card h2{font-size:42px;letter-spacing:-.05em;margin:45px 0 12px}.listing-card p{font-size:17px;line-height:1.5;color:#60606a;max-width:540px}.listing-card b{margin-top:auto;font-size:13px}.projects-listing .listing-card{min-height:440px}.project-list-card{background-size:cover;background-position:center;position:relative;overflow:hidden}.project-list-card.bexo-bg,.project-list-card.vivo-bg{color:#fff}.project-list-card.bexo-bg:before,.project-list-card.vivo-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.76))}.project-list-card>*{position:relative;z-index:1}.project-list-card.bexo-bg p,.project-list-card.vivo-bg p,.project-list-card.bexo-bg span,.project-list-card.vivo-bg span{color:#e7e7e7}.capolab-card{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.7)),url('assets/capolab.png') center/cover}.bim-card{background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.7)),url('assets/bim-group.webp') center/cover}.project-list-card.capolab-card,.project-list-card.bim-card{color:#fff}.project-list-card.capolab-card p,.project-list-card.bim-card p,.project-list-card.capolab-card span,.project-list-card.bim-card span{color:#eee}.case-page-hero{padding:170px 0 70px}.case-page-hero h1{font-size:clamp(62px,9vw,128px);line-height:.88;letter-spacing:-.075em;margin:15px 0 30px;max-width:1120px}.case-page-hero>p:not(.eyebrow){font-size:25px;line-height:1.45;color:#5f5f68;max-width:800px}.case-hero-img,.project-hero-bg{width:100%;height:min(65vw,720px);object-fit:cover;border-radius:30px;margin-top:55px}.project-hero-bg{background-size:cover;background-position:center}.case-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:90px;padding:40px 0 140px}.case-layout aside{border-top:1px solid #bbb;padding-top:18px;height:max-content;position:sticky;top:120px}.case-layout aside span,.learning span{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#777}.case-layout aside p{font-size:15px;line-height:1.5;color:#555}.case-layout article h2{font-size:45px;letter-spacing:-.05em;margin:55px 0 18px}.case-layout article h2:first-child{margin-top:0}.case-layout article p,.case-layout article li{font-size:19px;line-height:1.7;color:#444}.case-layout article li{margin-bottom:10px}.learning{margin:70px 0;padding:35px;border-radius:24px;background:linear-gradient(135deg,#eef3ff,#f1eaff 60%,#fff0f5)}.learning p{font-size:24px!important;line-height:1.5!important;color:#292938!important}.project-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:45px 0}.project-metrics div{padding:22px;border-radius:18px;background:#f0f0f3}.project-metrics strong{display:block;font-size:42px;letter-spacing:-.05em}.project-metrics span{font-size:12px;color:#666}.writing-list{padding-bottom:140px}.writing-list-card{display:grid;grid-template-columns:180px 1fr 1fr 80px;gap:30px;align-items:start;padding:35px 0;border-top:1px solid #bbb;color:#111;text-decoration:none}.writing-list-card h2{font-size:36px;letter-spacing:-.04em;margin:0}.writing-list-card p{margin:0;color:#666;font-size:16px;line-height:1.5}.article{padding-top:170px;padding-bottom:140px;max-width:920px}.article>.eyebrow{margin-top:70px}.article h1{font-size:clamp(60px,8vw,105px);line-height:.92;letter-spacing:-.065em;margin:18px 0 70px}.article-body{max-width:720px;margin-left:auto}.article-body p,.article-body li{font-size:20px;line-height:1.75;color:#3f3f45}.article-body h2{font-size:44px;letter-spacing:-.05em;margin:70px 0 20px}.article-body blockquote{font-size:34px;line-height:1.35;letter-spacing:-.035em;margin:65px -80px;padding:35px 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.about-proof{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:0 0 100px}.about-proof div{border-top:1px solid #aaa;padding-top:20px}.about-proof strong{display:block;font-size:24px}.about-proof span{display:block;margin-top:7px;font-size:13px;color:#777}
@media(max-width:800px){.contact-shell{padding:110px 14px 40px}.contact-glass{grid-template-columns:1fr;padding:30px 22px;gap:35px;border-radius:28px}.contact-intro h1{font-size:68px}.contact-intro>p:not(.eyebrow){font-size:20px}.form-row{grid-template-columns:1fr}.form-note{display:block;margin:15px 0 0}.listing-grid{grid-template-columns:1fr}.listing-card{min-height:300px}.case-layout{grid-template-columns:1fr;gap:30px}.case-layout aside{position:static}.case-page-hero{padding-top:130px}.case-page-hero h1{font-size:62px}.case-hero-img,.project-hero-bg{height:65vw}.project-metrics{grid-template-columns:1fr 1fr}.writing-list-card{grid-template-columns:1fr;gap:12px}.article-body{margin:0}.article-body blockquote{margin:55px 0}.about-proof{grid-template-columns:1fr 1fr}}
/* V5 refinements */
.nav-link,.footer-about{border:0;background:none;font:inherit;color:inherit;cursor:pointer;padding:0}.about-modal{position:fixed;inset:0;z-index:1000;display:none}.about-modal.is-open{display:block}.about-backdrop{position:absolute;inset:0;background:rgba(8,8,12,.48);backdrop-filter:blur(12px)}.about-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1120px,92vw);max-height:88vh;overflow:auto;border-radius:34px;padding:55px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(239,239,255,.9) 55%,rgba(238,255,251,.88));box-shadow:0 40px 100px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.9)}.about-x{position:absolute;right:26px;top:18px;border:0;background:none;font-size:38px;cursor:pointer}.about-modal-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px}.about-modal-grid h2{font-size:clamp(44px,5vw,72px);line-height:.95;letter-spacing:-.06em;margin:18px 0 30px}.about-modal-grid p{font-size:17px;line-height:1.65;color:#4c4c55}.about-modal-grid figure{margin:0}.about-modal-grid figure img{width:100%;height:540px;object-fit:cover;border-radius:25px}.about-modal-grid figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:13px}.about-modal-grid figcaption span{color:#777}.about-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.about-mini div{padding-top:15px;border-top:1px solid #bbb}.about-mini span{display:block;font:700 10px ui-monospace,monospace;letter-spacing:.13em;color:#777;margin-bottom:7px}.work-brand-strip{margin:0 0 70px}.section-subcopy{max-width:650px;color:#6b6b74;font-size:17px;line-height:1.5}.travel-section:after,.cities-section:after{content:'DRAG / SWIPE  →';display:block;text-align:right;margin:14px 2px 0;font:700 10px ui-monospace,monospace;letter-spacing:.16em;color:#777}.bexo-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.76)),url('assets/bexo-villa.svg')!important}.vivo-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.76)),url('assets/vivogreen-solar.svg')!important}.writing-archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:130px}.writing-archive-card{display:grid;grid-template-columns:180px 1fr;min-height:250px;border-radius:24px;overflow:hidden;background:#f0f0f3;color:#111;text-decoration:none}.writing-archive-card>img,.writing-placeholder{width:100%;height:100%;object-fit:cover;background:linear-gradient(135deg,#dfe7ff,#f4dfff)}.writing-archive-card>div:last-child{padding:26px;display:flex;flex-direction:column}.writing-archive-card span{font:700 10px ui-monospace,monospace;letter-spacing:.12em;color:#74747e}.writing-archive-card h2{font-size:28px;line-height:1.02;letter-spacing:-.045em;margin:18px 0 10px}.writing-archive-card p{font-size:14px;line-height:1.5;color:#666}.writing-archive-card b{margin-top:auto;font-size:12px}.notion-article{padding-top:170px;padding-bottom:130px;max-width:1100px}.notion-article>h1{font-size:clamp(55px,8vw,100px);line-height:.92;letter-spacing:-.065em;margin:18px 0 55px}.notion-hero{width:100%;max-height:680px;object-fit:cover;border-radius:28px;margin-bottom:55px}.notion-body{max-width:760px;margin:auto}.notion-body .page-title,.notion-body .properties{display:none}.notion-body p,.notion-body li{font-size:19px;line-height:1.75;color:#404047}.notion-body h1{display:none}.notion-body h2{font-size:42px;letter-spacing:-.04em;margin:65px 0 18px}.notion-body h3{font-size:28px;margin:45px 0 15px}.notion-body img{max-width:100%;height:auto;border-radius:18px;margin:28px 0}.notion-body figure{margin:35px 0}.notion-body a{color:#4e42cf}.archive-note{max-width:760px;margin:60px auto 0;padding-top:20px;border-top:1px solid #bbb;color:#888;font-size:13px}
@media(max-width:800px){.about-panel{padding:35px 24px}.about-modal-grid{grid-template-columns:1fr}.about-modal-grid figure img{height:360px}.about-mini{grid-template-columns:1fr}.writing-archive-grid{grid-template-columns:1fr}.writing-archive-card{grid-template-columns:120px 1fr}.notion-article{padding-top:120px}.nav-link{font-size:13px}}

/* V6 — contact form lives directly on landing */
.landing-contact{padding-top:90px;padding-bottom:130px}.landing-contact .contact-glass{width:min(1240px,calc(100% - 48px));margin:auto}.landing-contact .contact-intro h2{font-size:clamp(68px,8vw,118px);line-height:.88;letter-spacing:-.07em;margin:25px 0 30px;font-weight:500}@media(max-width:800px){.landing-contact{padding:70px 0}.landing-contact .contact-glass{width:calc(100% - 28px)}.landing-contact .contact-intro h2{font-size:68px}}

/* V7 — calmer hero, editorial writing, horizontal field carousel */
.hero-bg{background-position:center 42%}.hero-inner{align-items:flex-end;padding-bottom:54px}.hero-glass{width:min(650px,58vw);margin:0;padding:38px 40px 36px;border-radius:28px;background:linear-gradient(135deg,rgba(239,245,255,.84),rgba(226,221,255,.76) 55%,rgba(255,232,239,.70));box-shadow:0 18px 60px rgba(13,18,45,.16);backdrop-filter:blur(24px) saturate(125%)}.hero-glass h1{font-size:clamp(46px,4.55vw,70px);line-height:.96;max-width:590px}.hero-glass .lede{font-size:20px;line-height:1.35;margin:25px 0}.hero-glass .tags{margin-top:27px}.hero-note{right:24px;top:auto;bottom:54px}.out{padding-bottom:120px}.out-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px!important}.out-head h2{margin-bottom:15px}.carousel-controls{display:flex;align-items:center;gap:12px;flex:0 0 auto}.carousel-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #c9c8c4;background:rgba(255,255,255,.7);font-size:20px;cursor:pointer}.carousel-controls span{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#777;min-width:52px;text-align:center}.city-carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(24px,calc((100vw - 1240px)/2));cursor:grab}.city-carousel::-webkit-scrollbar{display:none}.city-carousel:active{cursor:grabbing}.city-slide{scroll-snap-align:center;flex:0 0 min(1080px,84vw);height:590px;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;background:linear-gradient(135deg,#edf3ff,#f2edff 58%,#f9eff2);border:1px solid rgba(75,70,110,.10)}.city-media{min-width:0}.city-media img{width:100%;height:100%;object-fit:cover}.city-copy{padding:42px;display:flex;flex-direction:column}.city-top{display:flex;justify-content:space-between;align-items:center}.city-top p,.city-top time{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#666}.city-copy h3{font-size:48px;line-height:.98;letter-spacing:-.055em;margin:auto 0 22px}.city-copy>p{font-size:18px;line-height:1.55;color:#51515d;margin:0 0 22px}.carousel-hint{display:flex;align-items:center;gap:15px;margin-top:18px;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#888}.carousel-hint i{height:1px;background:#bbb;flex:1}.writing-magazine{width:min(1240px,calc(100% - 48px));margin:0 auto 140px;display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.mag-card{grid-column:span 4;min-height:500px;border-radius:26px;overflow:hidden;background:#ececef;color:#111;text-decoration:none;display:flex;flex-direction:column}.mag-card.featured{grid-column:span 8;grid-row:span 2;min-height:720px}.mag-card.wide{grid-column:span 8}.mag-media{height:270px;overflow:hidden}.featured .mag-media{height:480px}.mag-media img,.mag-placeholder{width:100%;height:100%;object-fit:cover}.mag-placeholder{background:linear-gradient(135deg,#dce7ff,#eee1ff 55%,#ffe7ed)}.mag-copy{padding:26px;display:flex;flex:1;flex-direction:column}.mag-copy span{font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:#73737c}.mag-copy h2{font-size:30px;line-height:1.02;letter-spacing:-.045em;margin:16px 0 28px}.featured .mag-copy h2{font-size:48px}.mag-copy b{margin-top:auto;font-size:12px}.notion-article{max-width:1240px}.notion-article>h1{max-width:1040px;margin-bottom:48px}.notion-hero{height:min(58vw,650px);object-fit:cover}.notion-body{max-width:760px}.notion-body p:first-child{font-size:25px;line-height:1.55;color:#222}.notion-body h2,.notion-body h3{line-height:1.05;letter-spacing:-.035em}.notion-body h3{font-size:34px;margin-top:60px}.notion-body figure{margin:48px 0}.notion-body figure img{width:100%!important;max-height:680px;object-fit:contain;background:#eee}.notion-body hr{border:0;border-top:1px solid #ccc;margin:50px 0}.notion-body mark{padding:2px 5px;background:#e8e1ff}.notion-body ul{padding-left:24px}.archive-note{max-width:760px}
@media(max-width:800px){.hero-inner{align-items:flex-end;padding-bottom:20px}.hero-glass{width:calc(100% - 8px);padding:28px 24px}.hero-glass h1{font-size:48px}.hero-note{display:none}.out-head{display:block}.carousel-controls{margin-top:25px}.city-slide{flex-basis:88vw;height:auto;min-height:650px;grid-template-columns:1fr}.city-media{height:330px}.city-copy{padding:26px}.city-copy h3{font-size:38px;margin:45px 0 18px}.writing-magazine{width:calc(100% - 28px);grid-template-columns:1fr}.mag-card,.mag-card.featured,.mag-card.wide{grid-column:auto;min-height:460px}.featured .mag-media,.mag-media{height:280px}.featured .mag-copy h2,.mag-copy h2{font-size:31px}}
/* V8 — containment and calmer homepage */
html,body{max-width:100%;overflow-x:hidden}.bexo-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.78)),url('assets/bexo-villa.jpg')!important}.vivo-bg{background-image:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.78)),url('assets/vivogreen-solar.jpg')!important}
.field-section{background:#f6f5f1}.field-head{max-width:780px;margin-bottom:42px}.field-head h2{font-size:clamp(54px,7vw,96px);line-height:.92;letter-spacing:-.065em;margin:12px 0 20px}.field-head>p:last-child{font-size:19px;line-height:1.5;color:#666;max-width:650px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field-card{min-width:0;min-height:480px;border-radius:28px;overflow:hidden;background:#ececf0;color:#111;text-decoration:none;display:grid;grid-template-rows:280px 1fr}.field-card img{width:100%;height:100%;object-fit:cover}.field-card>div{padding:26px;display:flex;flex-direction:column}.field-card span{font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#74747d}.field-card h3{font-size:34px;line-height:1;letter-spacing:-.045em;margin:16px 0 12px}.field-card p{font-size:15px;line-height:1.5;color:#65656d;margin:0}.field-card b{font-size:12px;margin-top:auto;padding-top:20px}.home-writing{background:#fff}.home-writing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.home-writing-head h2{font-size:clamp(50px,6vw,82px);line-height:.94;letter-spacing:-.06em;max-width:850px;margin:12px 0 0}.home-writing-head>a{color:#111;text-decoration:none;white-space:nowrap}.home-writing-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.home-article{min-width:0;min-height:340px;border:1px solid #ddd;border-radius:24px;background:#f2f2f4;color:#111;text-decoration:none;overflow:hidden;display:flex;flex-direction:column}.home-article.featured{display:grid;grid-template-columns:1.05fr .95fr}.home-article-media{min-width:0;background:linear-gradient(135deg,#dfe7ff,#f5e5ff)}.home-article-media img{width:100%;height:100%;object-fit:cover}.home-article-copy{padding:26px;display:flex;flex-direction:column;min-width:0}.home-article span{font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:#72727b}.home-article h3{font-size:30px;line-height:1.02;letter-spacing:-.045em;margin:20px 0 12px}.home-article p{font-size:15px;line-height:1.5;color:#65656c}.home-article b{margin-top:auto;font-size:12px}.landing-contact{margin-top:0}
@media(max-width:800px){.field-grid{grid-template-columns:1fr}.field-card{min-height:430px;grid-template-rows:240px 1fr}.home-writing-head{display:block}.home-writing-head>a{display:inline-block;margin-top:20px}.home-writing-grid{grid-template-columns:1fr}.home-article.featured{display:flex}.home-article-media{height:230px}.home-article{min-height:300px}}

/* V9 — readability + consistent editorial cards */
.field-card{position:relative;display:block;min-height:430px;background:#111}
.field-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.field-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 22%,rgba(0,0,0,.82) 100%)}
.field-card>div{position:absolute;z-index:2;inset:auto 0 0;padding:28px;color:#fff;background:none}
.field-card span,.field-card p{color:rgba(255,255,255,.84)}
.field-card h3{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.25);max-width:540px}
.field-card p{max-width:560px;font-size:16px}.field-card b{color:#fff}
.home-writing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-article,.home-article.featured{display:flex;flex-direction:column;min-height:500px}
.home-article-media{height:250px;flex:0 0 250px}.home-article-media img{width:100%;height:100%;object-fit:cover}
.home-article-graphic{display:grid;place-items:center;background:linear-gradient(135deg,#dce7ff,#eee1ff 55%,#ffe7ed)}
.home-article-graphic span{font:700 110px/1 Arial,sans-serif;color:#111;opacity:.75}
.writing-magazine{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mag-card,.mag-card.featured,.mag-card.wide{grid-column:auto;grid-row:auto;min-height:500px}
.mag-media,.featured .mag-media{height:270px;flex:0 0 270px;background:#e8e8ec}
.mag-copy h2,.featured .mag-copy h2{font-size:30px}
.mag-placeholder{display:flex;align-items:flex-end;padding:24px;box-sizing:border-box;background:linear-gradient(135deg,#dce7ff,#eee1ff 55%,#ffe7ed)}
.mag-placeholder span{font:700 20px/1.05 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;color:#30303a}
@media(max-width:900px){.writing-magazine,.home-writing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.writing-magazine,.home-writing-grid{grid-template-columns:1fr}.field-card{min-height:390px}.field-card h3{font-size:30px}.home-article,.home-article.featured{min-height:450px}}

/* =========================================================
   V10 — mobile-first cleanup
   Desktop remains unchanged; everything below is scoped.
   ========================================================= */

.mobile-menu-toggle,.mobile-menu-panel{display:none}
.hero-actions .pill{align-items:center;justify-content:center;gap:9px;white-space:nowrap}
.hero-actions .btn-arrow{line-height:1;font-size:1em}

@media (max-width:800px){
  html,body{overflow-x:hidden}
  body{padding-top:0}

  /* NAV — real mobile menu, not just RC + CTA */
  .nav{
    top:10px;
    width:calc(100% - 20px);
    height:58px;
    padding:7px 8px 7px 16px;
    border-radius:20px;
    gap:8px;
  }
  .nav .brand{font-size:15px;flex:0 0 auto}
  .nav nav{display:none!important}
  .nav-cta{gap:6px;margin-left:0}
  .nav-cta>a:first-child{display:none!important}
  .nav-cta .pill{padding:10px 13px;font-size:13px}
  .mobile-menu-toggle{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-left:auto;
    border:0;
    background:transparent;
    color:#111;
    font:600 13px/1 Inter,Arial,sans-serif;
    padding:10px 8px;
    cursor:pointer;
  }
  .mobile-menu-toggle::before{
    content:"";
    width:17px;height:12px;
    background:linear-gradient(#111 0 0) top/100% 1.5px no-repeat,linear-gradient(#111 0 0) center/100% 1.5px no-repeat,linear-gradient(#111 0 0) bottom/100% 1.5px no-repeat;
  }
  .mobile-menu-panel{
    display:block;
    position:fixed;
    z-index:19;
    top:76px;
    left:10px;right:10px;
    padding:12px;
    border-radius:22px;
    background:rgba(247,246,242,.96);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 18px 50px rgba(0,0,0,.12);
    backdrop-filter:blur(24px);
    transform:translateY(-12px) scale(.98);
    opacity:0;
    pointer-events:none;
    transition:.2s ease;
  }
  body.mobile-nav-open .mobile-menu-panel{transform:none;opacity:1;pointer-events:auto}
  .mobile-menu-panel a,.mobile-menu-panel button{
    width:100%;display:flex;justify-content:space-between;align-items:center;
    padding:15px 12px;border:0;border-bottom:1px solid #deddd8;background:none;
    color:#111;text-decoration:none;font:600 18px/1.2 Inter,Arial,sans-serif;text-align:left;
  }
  .mobile-menu-panel a:last-child,.mobile-menu-panel button:last-child{border-bottom:0}
  .mobile-menu-panel a::after,.mobile-menu-panel button::after{content:"↗";font-weight:400;color:#777}
  .mobile-menu-panel .mobile-about::after{content:"+"}

  /* HERO — photo first, content second, only a small overlap */
  .hero-photo{
    min-height:0!important;
    padding-top:52vh;
    background:var(--paper);
    overflow:visible;
  }
  .hero-bg{
    top:0;bottom:auto;
    height:56vh;
    transform:none;
    background-image:linear-gradient(180deg,rgba(5,8,15,.03),rgba(5,8,15,.18)),url('assets/sf-speaking.jpg');
    background-position:58% center;
    background-size:cover;
  }
  .hero-inner{
    min-height:0!important;
    display:block!important;
    width:100%;
    padding:0 14px 34px!important;
  }
  .hero-glass{
    width:100%!important;
    margin:-42px auto 0!important;
    padding:24px 20px 22px!important;
    border-radius:26px!important;
    background:linear-gradient(135deg,rgba(236,244,255,.94),rgba(230,223,255,.91) 58%,rgba(255,231,239,.88))!important;
    backdrop-filter:blur(20px) saturate(120%);
    box-shadow:0 18px 48px rgba(30,35,70,.18);
  }
  .hero-glass .eyebrow{font-size:10px;margin-bottom:16px;letter-spacing:.11em}
  .hero-glass h1{font-size:clamp(39px,11.5vw,49px)!important;line-height:.94!important;letter-spacing:-.058em!important}
  .hero-glass .lede{font-size:17px!important;line-height:1.38!important;margin:22px 0!important}
  .hero-actions{display:grid!important;grid-template-columns:1.18fr 1fr;gap:9px!important}
  .hero-actions .pill{display:inline-flex!important;padding:13px 12px!important;font-size:13px!important;min-width:0;white-space:nowrap}
  .hero-actions .btn-arrow{display:inline-block!important}
  .hero-glass .tags{margin-top:18px!important;gap:7px!important}
  .hero-glass .tags span{font-size:10px!important;padding:7px 9px!important}
  .hero-note{display:none!important}

  /* GENERAL MOBILE SPACING */
  .section{padding:72px 0}
  .section-head{margin-bottom:32px}
  .section-head h2,.field-head h2,.home-writing-head h2{font-size:44px!important;line-height:.94!important}
  .section-head>p:last-child,.field-head>p:last-child{font-size:16px!important}

  /* SELECTED WORK — carousel + image and copy are separate */
  .work-grid{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 14px 10px 0;
    margin-right:-14px;
  }
  .work-grid::-webkit-scrollbar{display:none}
  .work-grid>.case{
    flex:0 0 84vw!important;
    width:84vw!important;
    min-height:390px!important;
    scroll-snap-align:start;
    grid-column:auto!important;
    padding:24px!important;
  }
  .work-grid>.case.visual{
    min-height:0!important;
    padding:235px 14px 14px!important;
    background-color:#fff!important;
    background-image:var(--bg)!important;
    background-size:100% 225px!important;
    background-repeat:no-repeat!important;
    background-position:center top!important;
    justify-content:flex-start!important;
  }
  .work-grid>.case.visual .glass{
    width:100%!important;
    padding:22px!important;
    border-radius:20px!important;
    background:linear-gradient(135deg,#f4f6fb,#ececf4)!important;
    backdrop-filter:none!important;
  }
  .work-grid .case h3{font-size:35px!important}
  .work-grid .case p{font-size:16px!important}

  /* PERSONAL PROJECTS — carousel; never cover the useful part of photos */
  .project-grid{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 14px 10px 0;
    margin-right:-14px;
  }
  .project-grid::-webkit-scrollbar{display:none}
  .project-grid>.project{
    flex:0 0 84vw!important;
    width:84vw!important;
    min-height:0!important;
    scroll-snap-align:start;
  }
  .project-grid>.project.image{
    display:grid!important;
    grid-template-rows:260px auto!important;
    padding:0!important;
    background:#111!important;
  }
  .project-grid>.project.image>img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:260px!important;
    grid-row:1!important;
    object-fit:cover!important;
  }
  .project-grid>.project.image>.overlay{
    position:relative!important;
    inset:auto!important;
    grid-row:2!important;
    margin:0!important;
    padding:22px!important;
    border-radius:0!important;
    background:#111!important;
    backdrop-filter:none!important;
  }
  .project-grid>.project.image>.overlay h3{font-size:34px!important}
  .project-grid>.project.image-bg{
    display:block!important;
    padding:260px 0 0!important;
    background-size:100% 260px!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-color:#111!important;
  }
  .project-grid>.project.image-bg>.overlay-card,
  .project-grid>.project.image-bg>.project-copy.overlay-card{
    position:relative!important;
    left:auto!important;right:auto!important;bottom:auto!important;
    width:100%!important;
    padding:22px!important;
    border-radius:0!important;
    background:#111!important;
    backdrop-filter:none!important;
  }
  .project-grid .project h3{font-size:34px!important}
  .project-grid .project p{font-size:16px!important}
  .project-grid .mini{margin-top:22px!important}

  /* BEYOND THE DESK / FIELD — user already likes this on mobile */
  .field-grid{grid-template-columns:1fr!important}

  /* HOMEPAGE WRITING — mobile carousel, identical card structure */
  .home-writing-head{display:block!important;margin-bottom:28px!important}
  .home-writing-head>a{display:inline-block;margin-top:16px}
  .home-writing-grid{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:0 14px 10px 0;
    margin-right:-14px;
  }
  .home-writing-grid::-webkit-scrollbar{display:none}
  .home-writing-grid>.home-article,
  .home-writing-grid>.home-article.featured{
    flex:0 0 84vw!important;
    width:84vw!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:220px auto!important;
    scroll-snap-align:start;
  }
  .home-writing-grid .home-article-media{height:220px!important;min-height:220px!important}
  .home-writing-grid .home-article-copy{padding:22px!important;min-height:250px}
  .home-writing-grid .home-article h3{font-size:30px!important}

  /* CONTACT — remove dead space and stack compactly */
  .landing-contact{padding:50px 0!important}
  .landing-contact .contact-glass,.contact-glass{
    width:calc(100% - 28px)!important;
    grid-template-columns:1fr!important;
    padding:24px 18px!important;
    gap:24px!important;
    border-radius:26px!important;
  }
  .landing-contact .contact-intro h2,.contact-intro h1{
    font-size:52px!important;
    margin:14px 0 16px!important;
    line-height:.94!important;
  }
  .contact-intro>p:not(.eyebrow){font-size:17px!important;line-height:1.42!important;margin:0!important}
  .contact-meta{margin-top:20px!important;gap:8px!important}
  .contact-meta>span{margin-top:7px!important;font-size:9px!important}
  .contact-meta a{font-size:16px!important}
  .copy-phone{padding:6px 10px!important;font-size:11px!important}
  .contact-form{padding-top:0!important}
  .contact-form fieldset{margin-bottom:14px!important}
  .contact-form legend,.contact-form label{font-size:12px!important}
  .topic-pills{gap:6px!important;margin-top:8px!important}
  .topic-pills span{padding:9px 11px!important;font-size:11px!important}
  .form-row{grid-template-columns:1fr!important;gap:0!important}
  .contact-form input,.contact-form textarea{
    margin:6px 0 12px!important;
    padding:13px 14px!important;
    border-radius:14px!important;
  }
  .contact-form textarea{min-height:115px!important}
  .send-button{width:100%;padding:14px 18px!important}
  .form-note{display:block!important;margin:12px 0 0!important;text-align:center}

  /* INDEX PAGES — project/work cards as swipeable rows on mobile */
  .listing-grid{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:80px!important;
    padding-right:14px;
    margin-right:-14px;
  }
  .listing-grid::-webkit-scrollbar{display:none}
  .listing-grid>.listing-card{
    flex:0 0 84vw!important;
    width:84vw!important;
    min-height:380px!important;
    scroll-snap-align:start;
  }

  /* BLOG POSTS — body remains readable, images use the available mobile canvas */
  .notion-article{padding-top:108px!important;padding-bottom:90px!important}
  .notion-article>h1{font-size:48px!important;margin:14px 0 32px!important}
  .notion-hero{width:100%!important;max-height:none!important;height:auto!important;border-radius:20px!important;margin-bottom:34px!important}
  .notion-body{width:100%!important;max-width:none!important;margin:0!important}
  .notion-body p,.notion-body li{font-size:17px!important;line-height:1.65!important}
  .notion-body h2{font-size:34px!important;margin:50px 0 16px!important}
  .notion-body h3{font-size:25px!important;margin:36px 0 12px!important}
  .notion-body figure{
    width:calc(100vw - 28px)!important;
    margin:28px 0 28px 50%!important;
    transform:translateX(-50%)!important;
  }
  .notion-body figure a{display:block;width:100%!important}
  .notion-body figure img,.notion-body img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    border-radius:18px!important;
  }
  .notion-body pre,.notion-body table{max-width:100%;overflow:auto}

  /* Modal */
  .about-panel{width:calc(100% - 20px)!important;max-height:90vh!important;padding:32px 20px!important;border-radius:26px!important}
  .about-modal-grid{gap:28px!important}
  .about-modal-grid figure img{height:330px!important}
}

@media (max-width:420px){
  .hero-photo{padding-top:49vh}
  .hero-bg{height:53vh;background-position:60% center}
  .hero-glass h1{font-size:41px!important}
  .hero-actions{grid-template-columns:1fr 1fr}
  .hero-actions .pill{font-size:12px!important;padding:12px 9px!important}
  .work-grid>.case,.project-grid>.project,.home-writing-grid>.home-article,.listing-grid>.listing-card{flex-basis:86vw!important;width:86vw!important}
}

@media (max-width:800px){
  /* Notion exports often store two-image rows as fixed 50% columns. Stack them on phones. */
  .notion-body .column-list{display:block!important;width:100%!important;max-width:none!important}
  .notion-body .column{display:block!important;width:100%!important;max-width:none!important;margin:0!important}
  .notion-body .column figure{width:calc(100vw - 28px)!important}

  /* Cleaner index-page opening on phones. */
  .page-hero{padding:112px 0 48px!important}
  .page-hero h1{font-size:49px!important;line-height:.94!important}
  .page-hero p{font-size:17px!important}
}

/* v11 project storytelling */
.project-gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;margin-top:-15px;margin-bottom:55px}.project-gallery figure{margin:0;min-width:0}.project-gallery img{display:block;width:100%;height:560px;object-fit:cover;border-radius:28px}.project-gallery-wide img{object-position:center}.project-gallery figcaption{font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em;color:#777;margin:10px 5px 0;text-transform:uppercase}.bim-main-hero{object-position:center center}
@media(max-width:800px){.project-gallery{grid-template-columns:1fr;gap:24px;margin-top:-10px;margin-bottom:35px}.project-gallery img{height:auto;max-height:none;aspect-ratio:auto;border-radius:22px}.project-gallery figcaption{margin-top:8px}.bim-main-hero{height:auto!important;aspect-ratio:1.15/1;object-fit:cover}}
