/* Editorial portfolio: generous spacing and restrained architectural details. */
:root{--paper:#f7f5ef;--warm:#ebe8df;--ink:#252823;--accent:#902d32;--brand-red:#902d32}
body{font-family:Arial,Helvetica,sans-serif}body.viewer-open{overflow:hidden}header{height:98px;padding:0 5%}.brand img{width:58px;height:58px}.brand>span{font-size:21px;letter-spacing:.05em}.brand small{font-size:10px}nav{font-size:10px;gap:25px}.studio-ribbon{padding:0 5%}
.hero{display:grid;grid-template-columns:46% 54%;position:relative;padding:36px 5% 62px;min-height:0;height:auto;max-height:none;align-items:center;gap:0}
.hero-copy{width:100%;padding:35px 8% 40px 0;pointer-events:auto}.hero h1{font-size:clamp(45px,4.6vw,80px);line-height:1.12;letter-spacing:-.055em}.hero-bottom{max-width:none;gap:15px}.hero-bottom p{font-size:13px}.round-link b{flex-shrink:0}
.hero-image{position:relative;inset:auto;height:550px;width:100%;margin:0;box-shadow:none}.hero-image>img{height:100%;object-position:55% center;filter:none;transform:none}.hero-image>img.is-zooming{transform:none}.image-caption{left:22px;bottom:22px}.hero-controls{right:5%;bottom:16px}.hero:after{left:5%;bottom:26px}.hero-drawing{opacity:.14}
.design-note{padding:30px 5%}.design-note p{font-size:25px}.section{padding:95px 7%}h2{font-size:clamp(38px,4.2vw,64px)}.studio>.eyebrow{min-height:0}.studio>.eyebrow:before,.studio>.eyebrow:after{display:none}
.feature{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;background:var(--warm);align-items:center}.feature-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#64675e;max-width:390px}.feature figure{margin:0}.feature figure img{width:100%;height:auto}.feature figcaption{font-size:9px;letter-spacing:.08em;padding-top:16px;display:flex;justify-content:space-between;gap:15px;color:#64675e}.line-study{margin-top:38px;max-width:350px;color:#8a816e}.line-study svg{width:100%;height:auto;stroke-width:1}.line-study span{font-size:8px;letter-spacing:.22em}
.work{background:var(--paper)}.section-head h2{margin-bottom:10px}.filters{margin:24px 0 35px;gap:28px}.filters button{min-height:48px}.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 25px}.projects article:nth-child(even){padding-top:0}.projects article{min-width:0}.project-image{aspect-ratio:1/1;display:block;background:var(--warm)}.project-image img{width:100%;height:100%;object-fit:cover;filter:none}.project-image.portfolio-sheet img{object-fit:contain}.project-image span{bottom:12px;right:12px;padding:10px 12px;font-size:9px}.project-info{display:block;padding-top:17px}.project-info h3{font-size:23px;line-height:1.25;margin-bottom:8px}.project-info p{font-size:8px;text-align:left;max-width:none;line-height:1.7}.work-footer{margin-top:40px}
.services{border-top:1px solid #d3d0c5;background-color:var(--warm);background-size:40px 40px}.service-list{padding:0;background:transparent}.service-list summary{font-size:17px;gap:16px}.detail-banner{margin:0;height:460px}.detail-banner>div{left:7%}.detail-banner h2{font-size:clamp(42px,5vw,70px)}
.contact{padding:95px 7%;gap:10%}.contact h2{font-size:clamp(42px,4.5vw,68px)}.contact-phone{font-size:30px}.contact-phone.secondary{font-size:25px}.contact form{align-self:center}.email{overflow-wrap:anywhere}.footer-note{gap:20px;line-height:1.8}footer .brand>span{font-size:22px}footer .brand img{width:58px;height:58px}.reveal{opacity:1;transform:none}
@media(min-width:1600px){.hero-image{height:650px}}
@media(max-width:1100px){.hero-image{height:470px}.hero h1{font-size:4.7vw}.projects{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:80px 6%}.feature{gap:6%}nav{gap:17px}}
@media(max-width:900px){header{height:88px}nav{top:88px}.hero-copy{padding-right:6%}.hero-bottom p br{display:none}.contact{gap:6%}.brand>span{font-size:19px}.hero h1{font-size:4.9vw}.hero .eyebrow{font-size:8px}.hero-image{height:430px}}
@media(max-width:650px){header{height:82px;gap:10px}.brand img{width:44px;height:44px}.brand>span{font-size:15px;letter-spacing:.025em}.brand small{font-size:8px}.brand{gap:8px}nav{top:82px}.hero{grid-template-columns:1fr;padding:12px 5% 55px}.hero-copy{padding:28px 0}.hero h1{font-size:clamp(42px,10.2vw,64px);margin-bottom:24px}.hero .eyebrow{margin-bottom:18px}.hero-bottom p{font-size:12px}.hero-image{height:380px;width:100%;margin:0}.image-caption{bottom:20px}.hero-controls{bottom:14px}.hero:after{font-size:7px;bottom:23px}.design-note{padding:26px 6%}.design-note p{font-size:24px}.section{padding:65px 6%}.feature{grid-template-columns:1fr;gap:30px}.line-study{display:none}.feature figcaption{font-size:8px}.projects{grid-template-columns:1fr;gap:32px}.project-info h3{font-size:25px}.filters{gap:23px;margin-top:10px}.services,.contact{gap:35px}.detail-banner{height:380px}.contact-phone{font-size:28px}.contact h2{font-size:45px}footer .brand>span{font-size:17px}.footer-note{gap:8px}}

/* Enlarged identity framed like an architectural drawing. */
header{height:116px;gap:22px}
header .brand{min-width:0;flex-shrink:1;gap:16px}
header .brand img{width:66px;height:66px}
header .brand>span{position:relative;padding:12px 15px;font-size:clamp(25px,2.4vw,36px);letter-spacing:.035em;line-height:1.08;font-weight:600}
header .brand>span:before,header .brand>span:after{content:'';position:absolute;width:20px;height:20px;pointer-events:none;border-color:var(--brand-red);border-style:solid;opacity:.75}
header .brand>span:before{left:0;top:0;border-width:1px 0 0 1px}
header .brand>span:after{right:0;bottom:0;border-width:0 1px 1px 0}
header .brand small{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.25em;margin-top:10px}
header .brand small:before{content:'';width:27px;height:2px;background:var(--brand-red)}
.consultation-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--brand-red);color:white;padding:17px 22px;margin:0 0 28px;min-height:62px;max-width:100%;font-size:15px;line-height:1.3}
.consultation-cta small{display:block;font-size:12px;font-weight:400;margin-top:4px;letter-spacing:.02em}.consultation-cta b{font-size:25px;font-weight:400}.consultation-cta:hover{background:#702329}.consultation-cta:focus-visible{outline:2px solid var(--brand-red);outline-offset:5px}
@media(min-width:901px) and (max-width:1150px){header{flex-wrap:wrap;height:auto;padding-top:16px;padding-bottom:16px;row-gap:16px}header nav{width:100%;justify-content:flex-end}}
@media(max-width:900px){header{height:108px}nav{top:108px}header .brand>span{font-size:28px}header .brand img{width:58px;height:58px}}
@media(max-width:650px){header{height:108px;gap:10px}nav{top:108px}header .brand{gap:9px}header .brand img{width:43px;height:43px}header .brand>span{font-size:23px;max-width:205px;padding:9px 11px;letter-spacing:.025em}header .brand small{font-size:8px;gap:7px;margin-top:7px}header .brand small:before{width:17px}header .brand>span:before,header .brand>span:after{width:14px;height:14px}.consultation-cta{width:100%;font-size:15px;margin-bottom:25px}}
@media(max-width:360px){header .brand>span{font-size:20px;padding:8px}header .brand img{width:35px;height:35px}header .brand{gap:6px}header .brand small{font-size:7px;letter-spacing:.18em}}

/* Entry composition: signature identity and a stronger value statement. */
header .brand>span{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.025em}header .brand small{font-family:Arial,Helvetica,sans-serif}
.entry-identity{display:flex;align-items:center;gap:15px;margin-bottom:26px;color:var(--brand-red)}.entry-identity svg{width:45px;height:56px;flex-shrink:0}.entry-identity p{font-size:18px;line-height:1.35;letter-spacing:.09em;font-weight:600;margin:0}.entry-identity p span{display:block;font-size:9px;letter-spacing:.18em;margin-top:7px;font-weight:400;color:#66675e}.entry-identity i{font-style:normal;margin:0 8px;color:var(--brand-red)}
.hero-copy{padding-top:12px;padding-bottom:15px}.hero h1{font-size:clamp(43px,4.3vw,74px);margin-bottom:24px}.affordable-statement{margin:0 0 24px}.affordable-statement strong{display:block;font-size:clamp(24px,2.1vw,34px);font-weight:500;line-height:1.25;letter-spacing:-.025em;color:var(--ink)}.affordable-statement>span{display:block;font-size:14px;line-height:1.7;color:#62665d;margin-top:12px}.hero-bottom{padding-top:17px}.hero-bottom .work-invitation{font-size:12px;max-width:230px}.consultation-cta{margin-bottom:22px}.hero-image{height:610px}.hero-drawing{opacity:.1}
@media(max-width:1100px){.entry-identity p{font-size:15px;letter-spacing:.06em}.entry-identity{gap:12px}.hero-image{height:580px}.hero h1{font-size:4.5vw}.affordable-statement strong{font-size:25px}.affordable-statement>span{font-size:13px}}
@media(max-width:650px){.hero-copy{padding:22px 0 28px}.entry-identity{margin-bottom:23px;gap:12px}.entry-identity svg{width:37px;height:47px}.entry-identity p{font-size:16px;letter-spacing:.06em}.entry-identity p span{font-size:8px}.hero h1{font-size:clamp(40px,10vw,62px);line-height:1.08;margin-bottom:23px}.affordable-statement strong{font-size:28px}.affordable-statement>span{font-size:14px;margin-top:10px}.affordable-statement{margin-bottom:22px}.hero-image{height:380px}}
@media(max-width:360px){.entry-identity p{font-size:14px}.affordable-statement strong{font-size:25px}}

/* Show the full interior photograph at every viewport width. */
.detail-banner{height:auto;min-height:0}
.detail-banner>img{width:100%;height:auto;object-fit:contain;transform:none}
.detail-banner:hover>img{transform:none}
.detail-banner>div{top:50%;transform:translateY(-50%);right:7%}
.detail-banner h2{margin-bottom:0}
.hero-controls{display:flex;align-items:center;gap:8px;bottom:6px}
.hero-controls button{min-width:44px;min-height:44px;padding:10px 8px}
.hero-controls .previous,.hero-controls .next{font-size:20px}
.hero:after{display:none}
@media(max-width:650px){.detail-banner h2{font-size:clamp(28px,7vw,42px)}.detail-banner .eyebrow{font-size:8px;margin-bottom:12px}.hero{padding-bottom:62px}}

/* Responsive corrections: preserve the logo and uncropped detail photograph. */
header .brand img,footer .brand img{display:block;visibility:visible;opacity:1;flex-shrink:0;object-fit:contain;mix-blend-mode:normal;background:#fff;border-radius:3px}
header .menu{flex-shrink:0}
@media(max-width:650px){
 header .brand{flex:1;min-width:0;gap:8px}
 header .brand img{width:56px;height:56px;min-width:56px}
 header .brand>span{font-size:clamp(17px,4.8vw,23px);padding:8px;min-width:0;max-width:none;letter-spacing:0}
 header .brand small{font-size:8px;letter-spacing:.12em}
 header .menu{padding:10px 4px}
 footer .brand img{width:64px;height:64px}
}
.hero-controls{z-index:5;gap:10px}
.hero-controls button{touch-action:manipulation;cursor:pointer;color:#252823;background:#f7f5ef;border:1px solid #b8b6ac;border-radius:3px}
.hero-controls button:focus-visible{outline:2px solid #902d32;outline-offset:3px}
.detail-banner>div.reveal,.detail-banner>div.reveal.in-view{transform:translateY(-50%);opacity:1}
@media(min-width:651px){
 .detail-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;height:auto;background:#ebe8df;overflow:visible}
 .detail-banner>img{display:block;width:100%;height:auto;object-fit:contain;filter:none;transform:none}
 .detail-banner>div,.detail-banner>div.reveal,.detail-banner>div.reveal.in-view{position:static;transform:none;padding:40px 12%;color:#252823}
 .detail-banner h2{font-size:clamp(34px,4vw,66px);line-height:1.15}
 .detail-banner em{color:#902d32}
 .detail-banner:after{display:none}
}
