/* Shared site type: the homepage sans and drawing-note mono, everywhere. */
:root{--type-sans:Arial,Helvetica,sans-serif;--type-mono:'Courier New',monospace;--detail-size:9px;--practice-size:clamp(22px,3vw,44px);--pass-size:clamp(12px,1.85vw,32px);--link-size:clamp(22px,2.1vw,30px);--dot-ink:#a5a397}
body.inverted{--dot-ink:#6c7164}
body,h1,h2,h3,p,a,button,span,small,em,dt,dd,figcaption{font-family:var(--type-sans)!important}
em{font-weight:inherit}
.site-header nav a,.header-motto,.header-contact,.header-tools button,.project-topline,.project-topline a,.project-title>span,.project-info dt,.project-info dd,.project-gallery figcaption,.sb-gallery figcaption,.next-project>span:first-child,footer,footer a,.caption-detail,.model-caption .project-panel p,.caption-coordinate,.practice-topline,.practice-topline button,.illustrated-link small,.page-label,.lot-index a{font-family:var(--type-mono)!important}
.caption-detail,.model-caption .project-panel p,.project-info dt,.project-info dd,.project-title>span,.project-topline,.project-gallery figcaption,.sb-gallery figcaption{font-size:var(--detail-size)!important;line-height:1.85;letter-spacing:.025em;font-weight:400}
.project-info dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:9px 20px;margin:0;align-content:start}
.project-info dt{color:var(--muted);margin:0}.project-info dd{margin:0;color:var(--ink)}
.project-info{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:8vw}
.project-title h1{font:400 clamp(34px,5vw,76px)/1.04 var(--type-sans);letter-spacing:-.045em}
.project-title h1 em{font-style:italic}
.project-info>div>p{font:400 16px/1.65 var(--type-sans);letter-spacing:-.01em;max-width:580px}
.project-info>div>p+p{margin-top:18px}
.project-info .contribution{font:400 12px/1.7 var(--type-sans);color:var(--muted)}
.next-project>span:last-child{font:400 clamp(25px,3vw,44px)/1.1 var(--type-sans);letter-spacing:-.045em}
.playground{background-image:radial-gradient(circle,var(--dot-ink) .7px,transparent .85px);background-size:25px 25px}
.playground .spatial-object{transform:scale(1.44)}
/* Aslan: a compact sequence of paired views, followed by the overall plan. */
.aslan-page .aslan-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;align-items:start}
.aslan-page .aslan-gallery .gallery-item{grid-column:auto;width:100%;padding:0;margin:0}
.aslan-page .aslan-gallery .gallery-item img{width:100%;height:auto;max-height:none;object-fit:contain}
.aslan-page .aslan-gallery .aslan-plan{grid-column:1/-1;width:72%;justify-self:center;margin-top:18px}
.aslan-gallery figcaption{margin-top:10px}
/* Three phrases pass through the same position. Only the final thought stays. */
.practice-v9 .practice-stage{min-height:300px;margin-top:25px;overflow:hidden}
.practice-v9 .practice-passes{position:absolute;inset:0;pointer-events:none}
.practice-v9 .conversation-pass,.practice-v9 .verse-place,.practice-v9 .verse-feeling{position:absolute;left:0;top:16px;inset-inline-end:0;margin:0;width:100%;font:400 var(--pass-size)/1.15 var(--type-sans);letter-spacing:-.04em;white-space:nowrap;color:var(--ink);opacity:0;visibility:hidden;transform:translateX(110vw);transition:transform 1.15s cubic-bezier(.3,.65,.25,1),opacity .25s,visibility 0s .3s}
.practice-v9.is-conversation .conversation-pass,.practice-v9.is-verse-place .verse-place,.practice-v9.is-verse-feeling .verse-feeling{opacity:1;visibility:visible;transform:translateX(0);transition:transform 1.15s cubic-bezier(.3,.65,.25,1),opacity .25s,visibility 0s}
.practice-v9.is-conversation-out .conversation-pass,.practice-v9.is-place-out .verse-place,.practice-v9.is-feeling-out .verse-feeling{opacity:1;visibility:visible;transform:translateX(-110vw);transition:transform 1.15s cubic-bezier(.55,0,.7,.35)}
.practice-v9.is-phrase-gone .conversation-pass,.practice-v9.is-place-gone .verse-place,.practice-v9.is-feeling-gone .verse-feeling{opacity:0;visibility:hidden}
.practice-v9 .practice-rest{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:6px 30px;align-items:center;padding:0 0 32px}
.practice-v9 .practice-verses{padding:0;overflow:visible;min-width:0}
.practice-v9 .verse-instinct,.practice-v9 .practice-contact>h2{margin:0;font:400 var(--practice-size)/1.12 var(--type-sans);letter-spacing:-.045em;white-space:nowrap;color:var(--ink)}
.practice-v9 .verse-instinct em,.practice-v9 .practice-contact>h2 em{font-style:italic}
.practice-v9 .practice-contact{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px;align-items:center;padding:0;margin:0;border:0;transform:translateX(0);transition:opacity .8s,visibility 0s .8s}
.practice-v9.is-contact .practice-contact{visibility:visible;opacity:1;transition:opacity .8s,visibility 0s}
.practice-v9 .illustrated-link{min-height:120px;padding:10px 12px;grid-template-columns:65px 1fr;column-gap:18px;width:100%;max-width:none}
.practice-v9 .illustrated-link>span{font:400 var(--link-size)/1.05 var(--type-sans);letter-spacing:-.035em}
.practice-v9 .illustrated-link svg{width:60px;height:82px}
.practice-v9 .illustrated-link .phone-icon{width:48px;height:80px;margin-left:6px}
@media(max-width:1100px){.practice-v9 .practice-rest{grid-template-columns:minmax(0,1fr) 240px;gap:6px 22px}.practice-v9 .practice-contact{grid-template-columns:minmax(0,1fr) 240px;gap:22px}}
@media(max-width:760px){:root{--detail-size:8px;--practice-size:clamp(13px,3.35vw,25px);--pass-size:clamp(9px,2.55vw,19px);--link-size:24px}.project-info{grid-template-columns:1fr;gap:30px}.project-info dl{grid-template-columns:85px minmax(0,1fr)}.aslan-page .aslan-gallery{grid-template-columns:1fr;gap:28px}.aslan-page .aslan-gallery .aslan-plan{width:100%;margin:0}.practice-v9 .practice-stage{min-height:360px}.practice-v9 .practice-rest{grid-template-columns:1fr;gap:8px;padding-bottom:25px}.practice-v9 .practice-contact{grid-template-columns:1fr;gap:8px}.practice-v9 .practice-verses{padding:0}.practice-v9 .illustrated-link{min-height:100px;max-width:320px}.practice-v9 .practice-contact>h2{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.practice-v9 .practice-passes{display:none}.practice-v9 .verse-instinct,.practice-v9 .approach-link,.practice-v9 .practice-contact{transform:none;opacity:1;visibility:visible}}
/* Keep the two final thoughts together, independently of the illustrated links. */
.practice-v9 .practice-statements{display:flex;flex-direction:column;gap:18px;min-width:0}
.practice-v9 .practice-invitations{display:flex;flex-direction:column;gap:4px}
.practice-v9 .practice-contact{display:block;padding:0;margin:0}
.practice-v9 .practice-invitations .talk-link{opacity:0;visibility:hidden;transition:opacity .8s,visibility 0s .8s}
.practice-v9.is-contact .practice-invitations .talk-link{opacity:1;visibility:visible;transition:opacity .8s,visibility 0s}
@media(max-width:760px){.practice-v9 .practice-statements{gap:14px}.practice-v9 .practice-contact>h2{margin:0}.practice-v9 .practice-invitations{gap:4px}}
@media(prefers-reduced-motion:reduce){.practice-v9 .practice-invitations .talk-link{opacity:1;visibility:visible}}

.header-tools button span,.site-header .invert span{font-family:var(--type-mono)!important}

/* Editorial accents: a single serif italic, reserved for expressive words. */
.practice-v9 em,.project-title em,.edition-article h1 em,.edition-heading h1 em{font-family:Georgia,'Times New Roman',serif!important;font-style:italic;font-weight:400}
.practice-v9 .practice-rest{align-items:start}
.practice-v9 .practice-statements{align-self:start;padding-top:4px}
.practice-v9 .practice-contact{margin-top:12px;padding-top:22px;border-top:1px solid var(--line)}
.practice-v9 .practice-stage{min-height:310px}
.person-copy .cv-name{font-family:var(--type-mono)!important;font-weight:400;letter-spacing:-.045em;font-size:clamp(30px,4.3vw,64px);white-space:nowrap}
/* Consistent navigation tree and the same physical switch on every page. */
.site-header .menu-toggle{display:flex;font:10px var(--type-mono);align-items:center;gap:10px;min-height:44px}
.site-header nav{display:none;position:absolute;top:100%;left:auto;right:0;width:min(460px,100%);padding:28px 32px;margin:0;background:var(--paper);border:1px solid var(--line);z-index:50}
.site-header nav.open{display:flex;flex-direction:column;gap:0}
.nav-index-label{font:9px/1.8 var(--type-mono)!important;letter-spacing:.06em;color:var(--muted);padding-bottom:16px}
.nav-subtree{border-left:1px solid var(--line);margin:0 0 20px 6px;padding-left:20px}
.site-header nav .nav-category,.site-header nav .nav-subtree a{display:flex;width:100%;font:18px/1.3 var(--type-sans)!important;min-height:44px;padding:11px 8px;letter-spacing:-.025em;border:0}
.site-header nav>a{font:21px/1.3 var(--type-sans)!important;min-height:50px;padding:15px 0;border-top:1px solid var(--line);border-bottom:0}
.site-header nav a:before,.site-header nav a:after{content:none}
.site-header .invert{display:flex;align-items:center;gap:10px;font:9px var(--type-mono);margin-right:18px;min-height:44px}
.site-header .invert .invert-icon{display:inline-flex!important}.site-header .invert>span:last-child{display:inline!important}
/* Equal frames for paired photographs; complete drawings receive their own row. */
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;align-items:start}
.project-gallery .gallery-item{grid-column:auto;width:100%;margin:0;padding:0}
.project-gallery .gallery-item img{width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover;object-position:center}
.project-gallery .gallery-item figcaption{margin-top:10px;max-width:100%;overflow-wrap:anywhere}
.project-gallery .gallery-drawing{grid-column:1/-1;width:100%}
.project-gallery .gallery-drawing img{aspect-ratio:auto;object-fit:contain;max-height:none}
.project-gallery .novum-section{grid-column:1/-1;width:100%;margin:22px 0}
.project-gallery .novum-section img{width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:auto}
.drawing-asset{mix-blend-mode:multiply;background:transparent!important}
.inverted .drawing-asset{filter:invert(1);mix-blend-mode:screen}
.sb-pair{align-items:start}.sb-pair>figure{margin:0}.sb-pair img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.sb-pair .drawing-asset{object-fit:contain}
.project-page main{overflow-x:clip}.project-title,.project-info,.project-topline{max-width:100%;overflow-wrap:anywhere}
.lot-section>.lot-heading{margin-left:var(--gutter);margin-right:var(--gutter)}
.lot-heading{padding:22px 0 0;gap:20px}.lot-heading h2{font-size:clamp(28px,3.2vw,46px);line-height:1.1}.lot-heading p{font:var(--detail-size)/1.85 var(--type-mono)}
/* Calm arrival: never shrink the drawing or flash an empty page behind the curtain. */
.is-navigating main,.is-navigating .site-header,.is-navigating footer{opacity:1!important;transition:none!important}
.is-navigating .project-assembly{transform:none!important;opacity:1!important;transition:none!important}
.contact-layout>div{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.contact-layout>div>p,.contact-layout>div>a,.contact-layout .contact-location{font:400 14px/2 var(--type-mono)!important;letter-spacing:.025em;margin:0;color:var(--ink)}
.contact-layout>div>p:first-child{margin-bottom:20px}
.table-footnote{justify-content:flex-start}
@media(max-width:760px){.project-gallery{grid-template-columns:1fr;gap:28px}.project-gallery .gallery-item{grid-column:1/-1}.project-gallery .gallery-item img{aspect-ratio:auto;object-fit:contain}.practice-v9 .practice-contact{margin-top:10px;padding-top:18px}.practice-v9 .practice-stage{min-height:390px}.site-header .invert{margin-right:10px;gap:7px}.site-header .menu-toggle{font-size:8px}.person-copy .cv-name{white-space:normal}.lot-heading p{flex-basis:100%;margin:0}}

.aslan-page .aslan-gallery .gallery-item:not(.aslan-plan) img{aspect-ratio:4/3;object-fit:cover}


.berceni-page .project-gallery .gallery-item img{aspect-ratio:auto;object-fit:contain}


/* Bragadiru: confirmed upload order, equal landscape pairs and complete portrait views. */
.bragadiru-page .bragadiru-gallery .gallery-item img{aspect-ratio:16/9;object-fit:cover}
.bragadiru-page .bragadiru-gallery .brag-wide{grid-column:1/-1;width:100%}
.bragadiru-page .bragadiru-gallery .brag-portrait{grid-column:1/-1;width:52%;justify-self:center}
.bragadiru-page .bragadiru-gallery .brag-wide img,.bragadiru-page .bragadiru-gallery .brag-portrait img{aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.bragadiru-page .bragadiru-gallery .brag-portrait{width:90%}.bragadiru-page .bragadiru-gallery .gallery-item img{aspect-ratio:auto;object-fit:contain}}

/* Bragadiru introduction: details and copy beside the confirmed entrance photograph. */
.bragadiru-page .bragadiru-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7vw;align-items:center}
.bragadiru-intro-copy{min-width:0}.bragadiru-intro-copy dl{margin-bottom:30px}
.bragadiru-description{max-width:500px}.bragadiru-description p{font:400 16px/1.65 var(--type-sans);letter-spacing:-.01em}.bragadiru-description p+p{margin-top:18px}
.bragadiru-page .bragadiru-intro-image{margin:0;min-width:0;justify-self:end;width:100%;max-width:530px}
.bragadiru-intro-image img{width:100%;height:auto;max-height:720px;object-fit:contain;object-position:right center}
.bragadiru-intro-image figcaption{font:var(--detail-size)/1.85 var(--type-mono)!important;color:var(--muted);letter-spacing:.025em;margin-top:10px}
@media(max-width:760px){.bragadiru-page .bragadiru-intro{grid-template-columns:1fr;gap:30px}.bragadiru-page .bragadiru-intro-image{justify-self:center;width:88%;max-width:440px}.bragadiru-intro-image img{max-height:none}}

/* Project introductions echo the homepage's open-frame headline, one step smaller. */
:root{--project-intro-size:28px}
.project-info>div>p:not(.contribution),.project-info .bragadiru-description>p:not(.contribution){font:400 var(--project-intro-size)/1.22 var(--type-sans);letter-spacing:-.045em}
@media(min-width:1700px){:root{--project-intro-size:34px}}
@media(max-width:1100px){:root{--project-intro-size:24px}}
@media(max-width:760px){:root{--project-intro-size:23px}}

/* Nico: uploaded order; powder room and transparent plan share an equal frame. */
.nico-gallery .nico-wide,.nico-gallery .nico-portrait{grid-column:1/-1}
.nico-gallery .nico-wide img{aspect-ratio:auto;object-fit:contain}
.nico-gallery .nico-pair img{aspect-ratio:1/1;object-fit:contain}
.nico-gallery .nico-portrait{width:52%;justify-self:center}
.nico-gallery .nico-portrait img{aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.nico-gallery .nico-pair img{aspect-ratio:auto}.nico-gallery .nico-portrait{width:90%}}

/* Centre the coordinate origin across the viewport and lift the complete drawing. */
.playground .object-wrap{inset:2% 0 24%;transform:none}
.coordinate-system{stroke:var(--ink);stroke-width:.7;opacity:.65}
.has-projects .coordinate-system{opacity:.5}
.coordinate-system path{stroke-linecap:round;stroke-linejoin:round}
.coordinate-system .axis-echo{stroke-width:.45;opacity:.24}
@media(max-width:760px){.playground{height:calc(100svh - 102px);min-height:710px;max-height:none}.playground .object-wrap{inset:25% 0 23%;transform:none}.playground .spatial-object{max-width:none}.playground .model-caption{top:25px}}

/* Compact controls: 80% of their original size, with closer spacing. */
.playground .controller{zoom:.8}
.playground .category-rail{gap:30px}
.playground .explore-dock{z-index:10;pointer-events:none}
.playground .controller,.playground .category-rail button{pointer-events:auto}
@media(max-width:760px){.playground .category-rail{gap:8px}}
