/* Sherman / open editorial system. Typeface remains the original family. */
:root{--bg:#fafaf7;--paper:#1c211c;--muted:#73796f;--line:#1c211c26;--pad:clamp(24px,3.2vw,64px)}
body{background:var(--bg);color:var(--paper)}.site-header{background:#fafaf7e8;color:#1c211c;border-bottom:0;height:76px;backdrop-filter:blur(18px)}
.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:flex;position:absolute;left:50%;transform:translateX(-50%);font-size:18px;color:#1c211c}.site-header .header-contact{border:0;color:#1c211c}.site-header .brand{color:#1c211c}.brand-entering .site-header .brand{color:#e8e7df}.mobile-nav{background:#fafaf7;color:#1c211c;top:76px}.mobile-nav>a{color:#1c211c;border-color:var(--line)}
.section-pad{padding-block:90px}.section-label{border-color:var(--line);color:#70766b;margin-bottom:48px}.section-label:after,.gallery-head:after,.drawing-tabs:after{background:#1c211c}
.hero-scroll{height:380svh}.hero-stage{background:var(--bg);color:var(--paper)}
.hero-philosophy{position:absolute;top:calc(var(--header-height) + 30px);left:var(--pad);right:var(--pad);z-index:2}.hero-philosophy .eyebrow{font-size:10px;color:#767d70}
.hero-phrases{position:relative;height:2.2em;font-size:clamp(32px,4.1vw,64px);line-height:1.04;letter-spacing:-.045em;margin-top:16px}
.hero-phrases p{position:absolute;inset:0;margin:0;opacity:0;will-change:transform,opacity}.hero-phrases p:first-child{opacity:1}
.hero-image-wrap{top:69%;width:min(72vw,calc((100svh - 330px)*1.77778));max-height:calc(100svh - 330px);background:transparent}
.hero-portfolio-link{color:#1c211c;bottom:18px}.hero-portfolio-link span{color:#71796d}.hero-progress{background:#1c211c18}.hero-progress span{background:#1c211c}.video-loading{color:#1c211c;text-shadow:none;bottom:48px}
.philosophy{background:var(--bg)}.philosophy-sticky h2{font-size:clamp(32px,4.5vw,68px);max-width:1000px}.philosophy-sticky [data-story-line="1"]{color:#82887c}.philosophy-bottom{margin-top:45px;color:#51594e}.philosophy-bottom p{color:#51594e}
.selected-work{padding:20px 0 64px;overflow:hidden}.rail-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:0 var(--pad) 32px}.rail-heading h2{font-size:clamp(26px,3vw,44px);font-weight:400;letter-spacing:-.04em}.rail-heading>span{font-size:12px;color:#757c70}
.selected-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20vw;padding:0 20vw 20px;scrollbar-width:none}.selected-card{flex:0 0 60vw;scroll-snap-align:center;color:var(--paper)}.selected-card img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.selected-card h3{font-size:22px;font-weight:400;margin:16px 0 3px;letter-spacing:-.025em}.selected-card p{font-size:16px;color:#788071;margin:0}.rail-controls{display:flex;justify-content:flex-end;gap:22px;padding:0 var(--pad)}.rail-controls button{font-size:24px;min-width:44px;min-height:44px}
.approach{background:var(--bg)}.approach>.section-label{display:none}.practice-editorial{display:grid;grid-template-columns:30% 1fr;min-height:0;align-items:start;gap:24px}.practice-image{display:none}.practice-editorial>h2.eyebrow{position:static;font-size:18px;text-transform:none;letter-spacing:-.02em;font-weight:400;color:#80877a}
.practice-editorial nav{display:block;max-width:none}.practice-editorial nav a{display:flex;justify-content:start;gap:16px;color:#1c211c;border-bottom:1px solid var(--line);padding:20px 0;opacity:1}.practice-editorial nav a span{font-size:clamp(26px,3.9vw,56px);letter-spacing:-.035em}.practice-editorial nav a small{color:#93998e}.practice-editorial nav a:hover{color:#78866e}.practice-caption{position:static;grid-column:2;margin-top:20px}.practice-caption p{color:#6d7565}.practice-caption .text-link{color:#1c211c}
.project{background:var(--bg);color:#1c211c}.project-heading h2{font-size:clamp(46px,6.2vw,90px)}.project .section-label,.project .text-link,.gallery-head{border-color:var(--line)}
.journey-world,.gallery-grid .image-button img{background:#f0f1eb}.journey-menu-label,.journey-note .eyebrow,.view-counter{color:#788071}.journey-chapters button{color:#81897a;border-color:var(--line);text-shadow:none}.journey-chapters button[aria-pressed=true],.journey-chapters button:hover,.journey-chapters button:focus-visible{color:#1c211c}.journey-note p{color:#555e4e}.chapter-explore{border-color:#1c211c55}.project-story p{color:#626a59}.project-story h3{font-size:clamp(36px,4vw,58px)}
.gallery-grid{gap:52px 32px}.gallery-grid figure:nth-child(even){margin-top:0}.gallery-grid .image-button{aspect-ratio:1.35}.project figcaption,.gallery-status{color:#747c6c}.gallery-filters button{color:#737c6b}.gallery-filters button[aria-pressed=true]{color:#1c211c;border-color:#1c211c}
.drawings{background:#f0f1eb}.drawings-heading p,.drawing-caption,.drawing-tabs button{color:#68715f}.drawing-tabs button[aria-pressed=true]{color:#1c211c;border-color:#1c211c}.drawing-main{background:transparent}
.landscape-break{margin:0 var(--pad);height:60svh;color:#fff}.landscape-break p,.landscape-break .eyebrow{color:#fff}
.studio{background:var(--bg)}.studio-copy p{color:#626c58}.studio-copy .studio-lead{color:#1c211c}.portrait-panel{background:#edefe7}.portrait-word{color:#d2d8c9}.portrait-caption{color:#505b47}
.process-atlas,.process-canvas{background:var(--bg);color:#1c211c}.process-visual{background:#0e0e0e}.process-visual img{filter:none}.process-intro h2 span{color:#7b8570}.process-intro-columns p,.process-detail p,.process-detail .eyebrow{color:#67735b}.process-selector{border-color:var(--line)}.process-selector button{color:#77816c}.process-selector button[aria-pressed=true]{background:#1c211c;color:#fafaf7}.process-selector button:hover:not([aria-pressed=true]){background:#e9ede3;color:#1c211c}
.journal{background:#f0f1eb;color:#1c211c}.journal-heading p{color:#69765c}.journal .section-label,.journal .text-link{border-color:var(--line)}.journal-controls button{color:#1c211c;border-color:var(--line)}.journal-card{color:#e8e7df}.journal-card p{color:#abb3a1}
.contact{background:var(--bg);color:#1c211c}.contact p,.contact-label{color:#67715d}.contact a{color:#1c211c}footer{background:var(--bg);color:#67715d;border-color:var(--line)}footer .brand{color:#1c211c}
@media(max-width:1100px){.hero-scroll{height:340svh}.hero-image-wrap{width:78vw}.selected-card{flex-basis:70vw}.selected-track{padding-inline:15vw;scroll-padding-inline:15vw}.practice-editorial{grid-template-columns:26% 1fr}.site-header .header-contact{display:block;font-size:11px}.site-header .menu-toggle{font-size:16px}}
@media(max-width:760px){.section-pad{padding-block:56px}.site-header{height:64px}.mobile-nav{top:64px}.site-header .header-contact{display:none}.hero-philosophy{top:105px}.hero-phrases{font-size:clamp(28px,7.7vw,38px);height:3em}.hero-image-wrap{top:60%;width:82vw;max-height:none}.hero-scroll{height:320svh}.hero-portfolio-link{font-size:9px}.rail-heading{display:block}.rail-heading>span{display:block;margin-top:15px}.selected-track{padding-inline:12vw;scroll-padding-inline:12vw;gap:16px}.selected-card{flex-basis:76vw}.selected-card h3{font-size:19px}.selected-card p{font-size:14px}.practice-editorial{display:block}.practice-editorial>h2.eyebrow{margin-bottom:28px;font-size:17px}.practice-editorial nav a{padding:17px 0}.practice-editorial nav a span{font-size:28px}.practice-caption{margin-top:28px}.landscape-break{height:350px}.gallery-grid .image-button{aspect-ratio:1.35}.process-visual{background:#0e0e0e}.rail-heading h2{font-size:30px}}
@media(max-height:600px) and (min-width:761px){.hero-philosophy{top:85px}.hero-phrases{font-size:30px}.hero-image-wrap{top:65%;width:48vw;max-height:calc(100svh - 230px)}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:110svh}.hero-scroll.motion-opt-in{height:320svh}.hero-phrases{height:auto;font-size:24px}.hero-phrases p{position:relative;opacity:1!important;transform:none!important;margin-bottom:10px}.hero-phrases br{display:none}.hero-image-wrap{top:68%}.selected-track{scroll-behavior:auto}}
.hero-phrases{overflow:hidden;height:2.15em}.hero-phrases p{line-height:inherit}.site-header .menu-toggle{gap:12px}
@media(prefers-reduced-motion:reduce){.hero-phrases{height:auto;overflow:visible}}
.process-canvas{grid-template-columns:40% 56%;column-gap:4%}.process-visual{left:46%;right:0}.process-intro h2{font-size:clamp(30px,3vw,46px)}
@media(max-width:760px){.process-canvas{display:flex;gap:0}.process-visual{left:auto;right:auto}.process-intro h2{font-size:32px}}
/* Keep the opening compact on tall displays. */
.hero-stage{height:min(100svh,900px)}.hero-image-wrap{top:clamp(410px,64svh,570px)}
@media(max-width:760px){.hero-stage{height:min(100svh,700px)}.hero-image-wrap{top:min(50svh,380px)}}
@media(max-height:600px) and (min-width:761px){.hero-image-wrap{top:65%}}
/* Minimal directional cursor; links remain available with a simple click. */
.drag-surface,.drag-surface a,.drag-surface img{cursor:grab}
.drag-surface{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.drag-surface img{-webkit-user-drag:none}.drag-surface.is-dragging{scroll-snap-type:none!important;scroll-behavior:auto!important}
.drag-surface.is-dragging,.drag-surface.is-dragging *{cursor:grabbing!important}
.drawing-main #drawing-image{transition:translate .25s ease,opacity .3s ease}.drawing-main.is-dragging #drawing-image{transition:none}
@media(hover:hover) and (pointer:fine){
 .drag-surface,.drag-surface a,.drag-surface img{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Ccircle cx='24' cy='24' r='22' fill='%23fafaf7' fill-opacity='.92' stroke='%231c211c' stroke-width='.7'/%3E%3Cpath d='M19 20l-4 4 4 4m10-8l4 4-4 4M15 24h18' fill='none' stroke='%231c211c' stroke-width='1'/%3E%3C/svg%3E") 24 24,grab}
}
@media(prefers-reduced-motion:reduce){.drawing-main #drawing-image{transition:none}}
/* A single light canvas and non-overlapping layout at every desktop height. */
.hero-scroll{background:var(--bg)}
.hero-stage{height:100svh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px;padding:100px var(--pad) 22px;background:var(--bg)}
.hero-philosophy{position:relative;inset:auto;grid-row:1;width:100%;min-width:0}
.hero-phrases{font-size:clamp(30px,3.8vw,60px);height:2.15em}
.hero-image-wrap{position:relative;inset:auto;grid-row:2;justify-self:center;align-self:center;width:min(78vw,calc((100svh - 340px)*1.777778));height:auto;max-height:100%;transform:none!important;box-shadow:none;outline:none;background:transparent}
.hero-video{box-shadow:none;filter:none}.hero-stage:before,.hero-stage:after,.hero-image-wrap:before,.hero-image-wrap:after{content:none!important}
.hero-portfolio-link{position:relative;inset:auto;grid-row:3;width:100%}
@media(max-width:760px){.hero-stage{padding:92px var(--pad) 20px;gap:22px}.hero-phrases{font-size:clamp(28px,7.7vw,38px)}.hero-image-wrap{width:min(82vw,calc((100svh - 300px)*1.777778));max-height:100%}}
@media(max-height:600px){.hero-stage{padding-top:82px;gap:10px}.hero-phrases{font-size:26px;margin-top:8px}.hero-image-wrap{width:min(64vw,calc((100svh - 235px)*1.777778))}}
@media(prefers-reduced-motion:reduce){.hero-phrases{height:auto;font-size:20px}.hero-image-wrap{width:min(72vw,calc((100svh - 370px)*1.777778))}}

/* Continuous editorial rails: the physics owns settling, never CSS scroll snap. */
.kinetic-rail{scroll-snap-type:none!important;scroll-behavior:auto!important;overscroll-behavior-x:contain;scrollbar-width:none;overflow-anchor:none}
.kinetic-rail::-webkit-scrollbar{display:none}
.selected-card img{transform:scale(var(--card-presence,1));transform-origin:center;transition:none}
.journal-card{transform:scale(var(--card-presence,1));transform-origin:center;transition:background .3s}
.drawing-main.kinetic-rail{display:flex;gap:24px;overflow-x:auto;padding:16px 12%;height:560px;max-height:65svh;min-height:0}
.drawing-card{position:relative;flex:0 0 100%;height:100%;min-width:0;padding:0;background:transparent;transform:scale(var(--card-presence,1))}
.drawing-card img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.drag-surface button{cursor:inherit}.drag-surface:focus-visible,.drawing-card:focus-visible{outline:1px solid currentColor;outline-offset:-3px}
@media(max-width:760px){.drawing-main.kinetic-rail{height:320px;max-height:none;padding:12px 8%;gap:16px}}
@media(prefers-reduced-motion:reduce){.selected-card img,.journal-card,.drawing-card{transform:none!important}}

/* Casa Austral: central image with a continuous procession of adjacent views. */
.project .gallery-grid{display:flex;align-items:start;gap:0;width:calc(100% + var(--pad)*2);margin-inline:calc(var(--pad)*-1);padding:0 20vw 22px;overflow-x:auto}
.project .gallery-grid figure{flex:0 0 60vw;margin:0!important;min-width:0}
.project .gallery-grid figure[hidden]{display:none!important}
.project .gallery-grid .image-button{display:block;width:100%;aspect-ratio:3/2;transform:scale(var(--card-presence,1));transform-origin:center;transition:none;overflow:hidden}
.project .gallery-grid .image-button img{width:100%;height:100%;object-fit:cover;transform:none!important;transition:none}
.project .gallery-grid .image-open{display:none}
.project .gallery-grid figcaption{padding:16px 12px 0;opacity:var(--card-presence,1)}
.gallery-navigation{display:flex;gap:18px}.gallery-navigation button{font-size:22px;width:44px;height:44px}
.gallery-bottom{align-items:center}.gallery-bottom #more-views{display:none}
@media(max-width:760px){.project .gallery-grid{padding-inline:12vw}.project .gallery-grid figure{flex-basis:76vw}.project .gallery-grid figcaption{font-size:10px;padding-inline:4px}.gallery-bottom{gap:12px}}
@media(hover:hover) and (pointer:fine){
 .drag-surface,.drag-surface *,.drag-surface.is-dragging,.drag-surface.is-dragging *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='3.5' fill='%23fff' stroke='%231c211c' stroke-width='.7'/%3E%3C/svg%3E") 6 6,grab!important}
}
@media(prefers-reduced-motion:reduce){.project .gallery-grid .image-button{transform:none!important}}

/* Clear, readable explanation of the integrated design and construction process. */
.process-intro-columns{grid-template-columns:1fr;gap:16px;max-width:460px}
.process-intro-columns p{font-size:14px;line-height:1.55}.process-intro-columns strong{font-weight:500;color:var(--paper)}
.process-detail{max-width:460px;padding-right:24px;min-height:170px}.process-detail p{font-size:14px;line-height:1.55}
@media(max-width:760px){.process-intro-columns{max-width:none}.process-detail{min-height:200px;padding-right:0}.process-detail p{max-width:none}}
