:root{--paper:#f5f4ef;--ink:#24251f;--muted:#6c6e63;--line:#d6d7cc;--accent:#b3bb8d;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #a3663a;outline-offset:6px}img{display:block;max-width:100%}button{border:0;background:none;padding:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}::selection{background:#c4cbb1;color:#20251b}.skip{position:fixed;left:20px;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header{height:108px;padding:10px 3.2%;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--paper);position:relative;z-index:20}.brand{width:122px;flex:none}.brand img{width:100%;height:83px;object-fit:contain}.desktop-nav{display:flex;gap:38px;margin-left:8vw;font-size:13px}.desktop-nav a{position:relative;padding:12px 0}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:4px;width:0;height:1px;background:var(--ink);transition:width .3s}.desktop-nav a:hover:after{width:100%}.contact-nav{display:flex;align-items:center;gap:22px;font-size:12px}.contact-nav span{border:1px solid #a6a89a;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:19px;transition:background .3s}.contact-nav:hover span{background:var(--accent)}.mobile-toggle,.mobile-nav{display:none}.hero{min-height:660px;height:calc(100svh - 108px);max-height:1040px;position:relative;background:#18201c;color:white;overflow:hidden}.hero-panels,.hero-panel,.hero-shade{position:absolute;inset:0}.hero-panel{opacity:0;transition:opacity 1.1s var(--ease)}.hero-panel.active{opacity:1}.hero-panel img,.hero-panel video{position:absolute;width:100%;height:100%;object-fit:cover}.hero-panel video{opacity:0;transition:opacity .6s}.hero-panel.video-ready video{opacity:1}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,0) 28%,rgba(0,0,0,.52) 78%,rgba(0,0,0,.6));pointer-events:none}.hero-top{position:absolute;left:3.2%;right:3.2%;top:29px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.04em}.hero-copy{position:absolute;left:5.6%;bottom:181px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.19em;margin-bottom:24px;color:#e1e3d6}h1{font-size:clamp(64px,7.6vw,126px);letter-spacing:-.062em;line-height:.99}.dot{color:#c5d2a2}.hero-cta{display:flex;justify-content:space-between;align-items:center;width:172px;border-bottom:1px solid #ffffff80;padding:0 0 13px;margin-top:30px;font-size:12px}.hero-cta span{font-size:21px;transition:transform .3s}.hero-cta:hover span{transform:translate(3px,-3px)}.hero-info{position:absolute;right:3.2%;bottom:177px;text-align:right;display:flex;align-items:flex-end;flex-direction:column;gap:13px}.mono{font-family:monospace;font-size:11px;letter-spacing:.04em;color:#d8ddcf}.hero-project{text-align:right;font-size:13px;line-height:1.5}.hero-project small{display:block;font-size:10px;color:#d2d5c9;margin-top:4px}.hero-controls{display:flex;gap:8px;margin-top:10px}.hero-controls button{height:35px;width:35px;border:1px solid #ffffff55;border-radius:50%;font-size:16px;transition:background .25s}.hero-controls button:hover{background:#ffffff22}.theme-bar{position:absolute;bottom:0;left:3.2%;right:3.2%;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #ffffff50}.theme-tab{position:relative;text-align:left;padding:23px 15px 29px 0;font-size:12px;color:#c9cdc5;transition:color .3s;line-height:1.5;min-height:92px}.theme-tab:before{content:'';position:absolute;top:-1px;left:0;height:2px;width:0;background:white;transition:width .4s}.theme-tab[aria-pressed=true]:before{width:90%}.theme-tab[aria-pressed=true]{color:white}.theme-tab small{display:block;font-size:9px;letter-spacing:.1em;margin-bottom:8px;opacity:.65}.section-pad{padding:108px 5.6%}.section-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;display:flex;align-items:center;gap:10px;line-height:1.6}.tiny-square{width:6px;height:6px;background:currentColor;display:inline-block;flex:none}.studio{display:grid;grid-template-columns:32% 68%;gap:0;padding-top:122px;padding-bottom:130px;border-bottom:1px solid var(--line)}.studio-content h2{font-size:clamp(43px,4.8vw,78px);line-height:1.08;letter-spacing:-.047em}.studio-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:38px}.studio-bottom p{font-size:14px;line-height:1.75;max-width:390px;color:var(--muted)}.text-link{font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #8d9182;padding-bottom:13px;align-self:flex-end;width:max-content;max-width:100%}.text-link span{font-size:23px}.text-link:hover{color:#747c55}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-heading h2,.service-intro h2{font-size:clamp(37px,4.05vw,64px);letter-spacing:-.048em;line-height:1.12;margin-top:25px}.section-heading>p{font-size:12px;line-height:1.65;color:var(--muted);padding-bottom:4px}.filters{display:flex;flex-wrap:wrap;gap:13px 28px;padding:5px 0 28px;border-bottom:1px solid var(--line);margin-bottom:37px}.filter{font-size:11px;color:var(--muted);position:relative;padding:7px 0}.filter[aria-pressed=true]{color:var(--ink)}.filter[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor}.filter sup{font-size:8px;margin-left:5px;opacity:.7}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px;align-items:start}.project-card{min-width:0}.project-card[hidden]{display:none}.project-media{position:relative;overflow:hidden;background:#d7d7cb;aspect-ratio:1}.project-open{position:absolute;inset:0;width:100%;height:100%;text-align:left}.project-media img,.project-media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.project-media img{transition:transform .9s var(--ease)}.project-media video{opacity:0;transition:opacity .5s}.project-media.is-playing video{opacity:1}.project-arrow{position:absolute;right:18px;top:18px;width:36px;height:36px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;color:white;font-size:20px;background:#0002;transition:transform .4s}.project-open:hover .project-arrow{transform:rotate(45deg);background:#0005}.motion-toggle{position:absolute;left:16px;bottom:16px;z-index:2;background:#171c17b0;backdrop-filter:blur(7px);color:white;padding:9px 13px;border-radius:2px;font-size:10px;letter-spacing:.02em}.project-caption{display:flex;justify-content:space-between;gap:15px;padding-top:17px}.project-caption a{text-align:left}.project-caption h3{font-size:19px;letter-spacing:-.03em}.project-caption p{margin-top:7px;font-size:10px;color:var(--muted)}.project-caption>span{font-size:9px;color:var(--muted);padding-top:4px;white-space:nowrap}.portfolio-note{font-size:10px;color:var(--muted);margin-top:45px;line-height:1.7}.method{display:grid;grid-template-columns:1.05fr 1fr;background:#dfe2d5}.method-photo{position:relative;min-height:540px}.method-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.method-photo>span{position:absolute;bottom:24px;left:28px;background:#24251f75;color:white;padding:7px 12px;font-size:10px}.method-copy{padding:80px 12% 80px 10%;display:flex;flex-direction:column;justify-content:center}.method-copy h2{font-size:clamp(35px,3.1vw,53px);line-height:1.13;letter-spacing:-.045em;margin:35px 0 25px}.method-copy p{font-size:13px;line-height:1.8;color:#555d4e;max-width:370px}.method-copy .text-link{align-self:flex-start;margin-top:34px}.services{display:grid;grid-template-columns:45% 55%;gap:0;border-bottom:1px solid var(--line)}.service-intro h2{font-size:clamp(30px,3.2vw,48px);margin-right:55px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;padding:27px 0;gap:25px;font-size:19px;letter-spacing:-.025em}summary::-webkit-details-marker{display:none}.service-num{font-family:monospace;font-size:10px;color:var(--muted)}.plus{margin-left:auto;font-size:24px;transition:transform .25s}.service-list details[open] .plus{transform:rotate(45deg)}.service-list p{padding:0 50px 27px 40px;font-size:13px;line-height:1.8;color:var(--muted);max-width:500px}.journal{padding-bottom:115px}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.journal-card{text-align:left;border-top:1px solid var(--ink);padding:21px 0 0;transition:border-color .3s}.journal-type{font-size:9px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.journal-type span{font-size:20px}.journal-card h3{font-size:clamp(24px,2.6vw,40px);letter-spacing:-.045em;line-height:1.16;margin:48px 10px 24px 0;transition:color .3s}.journal-card:hover h3{color:#737c51}.journal-card p{font-size:12px;line-height:1.7;color:var(--muted);max-width:280px;margin-right:10px}.journal-status{font-size:9px;color:var(--muted);display:block;margin-top:28px}.contact{background:#c0c8aa;padding-top:62px;padding-bottom:45px}.contact-row{display:flex;justify-content:space-between;align-items:center;padding-top:43px;padding-bottom:62px}.contact h2{font-size:clamp(65px,8.6vw,140px);letter-spacing:-.06em;line-height:.98}.contact-circle{width:126px;height:126px;border:1px solid #657154;border-radius:50%;display:grid;place-items:center;font-size:64px;font-weight:200;transition:transform .5s,background .5s}.contact-circle:hover{background:#d7dec5;transform:rotate(45deg)}.contact-bottom{display:flex;justify-content:space-between;border-top:1px solid #66735866;padding-top:25px;font-size:12px;line-height:1.6}.contact-bottom>a{font-size:17px}footer{display:flex;justify-content:space-between;padding:26px 5.6%;font-size:9px;color:var(--muted);gap:20px}dialog{padding:0;border:0;width:min(940px,94vw);max-height:92svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#11180fbb;backdrop-filter:blur(6px)}.dialog-top{position:sticky;top:0;z-index:3;background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:20px 30px;border-bottom:1px solid var(--line);font-size:10px}.dialog-top button{font-size:12px;padding:8px}.dialog-content{padding:32px}.dialog-content h2{font-size:clamp(33px,4vw,60px);letter-spacing:-.05em;line-height:1.07;margin-bottom:18px}.dialog-content .dialog-meta{font-size:11px;color:var(--muted);margin-bottom:26px}.dialog-content>img{width:100%;max-height:600px;object-fit:contain;background:#ebece5;margin-bottom:25px}.dialog-content p{font-size:14px;line-height:1.8;max-width:720px}.dialog-content ul{padding:0 0 0 20px;font-size:14px;line-height:1.9;margin-top:24px}.dialog-source{margin-top:24px!important;font-size:10px!important;color:var(--muted)}.no-scroll{overflow:hidden}@media(min-width:1800px){.section-pad{padding-left:max(5.6%,calc((100vw - 1580px)/2));padding-right:max(5.6%,calc((100vw - 1580px)/2))}}@media(max-width:1050px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{margin-left:0;gap:24px}.contact-nav{font-size:11px;gap:10px}.hero-copy{bottom:196px}.hero-info{bottom:180px}.hero-project{max-width:200px}.hero-copy h1{font-size:8vw}.studio-bottom{grid-template-columns:1fr;gap:25px}.studio-bottom .text-link{align-self:auto}.theme-tab{font-size:10px}.services{grid-template-columns:42% 58%}summary{font-size:17px}.section-pad{padding-top:85px;padding-bottom:85px}.method-copy{padding:55px 10%}.method-photo{min-height:480px}}@media(max-width:720px){html{scroll-padding-top:20px}.header{height:88px;padding:7px 6%;gap:20px}.brand{width:100px}.brand img{height:69px}.desktop-nav,.contact-nav{display:none}.mobile-toggle{display:flex;gap:22px;align-items:center;font-size:12px}.mobile-toggle span{font-size:25px;font-weight:300}.mobile-nav:not([hidden]){display:flex;position:absolute;top:88px;left:0;right:0;z-index:30;background:var(--paper);padding:26px 7% 35px;flex-direction:column;gap:20px;border-top:1px solid var(--line)}.mobile-nav a{font-size:26px;letter-spacing:-.04em}.hero{height:calc(100svh - 88px);min-height:640px;max-height:880px}.hero-top{left:6%;right:6%;top:22px;font-size:9px}.hero-top span:last-child{display:none}.hero-copy{left:6%;right:6%;bottom:238px}.eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:20px}.hero-copy h1{font-size:clamp(49px,10.8vw,78px);letter-spacing:-.06em}.hero-cta{margin-top:25px;width:160px;font-size:11px}.hero-info{left:6%;right:6%;bottom:139px;text-align:left;flex-direction:row;align-items:center;gap:15px;justify-content:space-between}.hero-info .mono{display:none}.hero-project{text-align:left;font-size:11px;max-width:210px}.hero-project small{font-size:9px}.hero-controls{margin-top:0;gap:5px}.hero-controls button{width:31px;height:31px;font-size:14px}.theme-bar{left:6%;right:6%;grid-template-columns:repeat(3,1fr)}.theme-tab{min-height:54px;padding:12px 8px 12px 0;font-size:10px}.theme-tab small{display:none}.theme-tab:before{top:0}.theme-tab:nth-child(n+4){border-top:1px solid #ffffff22}.hero-shade{background:linear-gradient(180deg,#0002,#0000 16%,#0003 35%,#0009 74%,#000a)}.section-pad{padding:65px 6%}.studio{display:block}.studio-content h2{font-size:45px;margin-top:30px}.studio-bottom{margin-top:25px;gap:24px}.studio-bottom p{font-size:13px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:39px;margin-top:22px}.section-heading>p{margin-top:20px;font-size:12px}.filters{gap:9px 20px;margin-bottom:27px;padding-bottom:23px}.filter{font-size:10px}.project-grid{grid-template-columns:1fr;gap:35px}.project-caption h3{font-size:19px}.project-caption p{font-size:10px}.portfolio-note{margin-top:30px}.method{display:block}.method-photo{min-height:350px}.method-copy{padding:48px 6% 58px}.method-copy h2{font-size:39px;margin-top:27px}.method-copy p{max-width:500px}.services{display:block}.service-intro h2{font-size:37px;margin-right:0;margin-bottom:35px}summary{padding:24px 0;font-size:17px;gap:17px}.service-list p{padding-left:30px;padding-right:10px}.journal-grid{grid-template-columns:1fr;gap:36px}.journal-card h3{font-size:34px;margin-top:24px;margin-bottom:17px}.journal-status{margin-top:20px}.journal-card p{max-width:360px}.contact{padding-top:46px;padding-bottom:35px}.contact-row{padding:35px 0 45px}.contact h2{font-size:66px}.contact-circle{width:66px;height:66px;font-size:34px;flex:none;margin-left:15px}.contact-bottom{font-size:10px;gap:20px}.contact-bottom>a{font-size:13px}footer{padding:22px 6%;font-size:8px;flex-wrap:wrap;row-gap:14px}footer>span:nth-child(2){order:3;flex-basis:100%}.dialog-content{padding:24px}.dialog-top{padding:13px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-panel video{display:none}}

/* Home film: sound is always opt-in. */
/* Animate original photos at the display refresh rate, without quantized video crops. */
.hero-panels{isolation:isolate}
.hero-panel{transition:opacity 1.1s ease-in-out;pointer-events:none}
.hero-panel.active{z-index:2}
.hero-panel.is-outgoing{opacity:1;z-index:1}
.hero-panel.photo-panel img{transform-origin:50% 50%;animation:photo-drift 24s ease-in-out infinite;animation-play-state:paused}
.hero-panel.photo-panel.is-moving img{animation-play-state:running;will-change:transform}
.project-media img{transform-origin:50% 50%;animation:photo-drift 24s ease-in-out infinite;animation-play-state:paused;transition:none}
.project-media.is-playing img{animation-play-state:running;will-change:transform}
.motion-toggle[hidden]{display:none}
.project-media.has-video img{animation:none;transform:none}
.project-media.has-video:not(.video-ready) video{opacity:0}
@keyframes photo-drift{0%,100%{transform:translate3d(0,0,0) scale(1.015)}50%{transform:translate3d(-.45%,.2%,0) scale(1.045)}}
.hero-audio{position:absolute;z-index:3;top:66px;right:3.2%;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid #ffffff80;border-radius:24px;background:#172019a6;backdrop-filter:blur(8px);color:#fff;font-size:12px;transition:background .2s}
.hero-audio[hidden]{display:none}.hero-audio:hover{background:#172019d9}.audio-icon{display:flex}.audio-icon svg{width:20px;height:20px}
.theme-bar{grid-template-columns:1.3fr repeat(3,1fr)}
@media(max-width:720px){.hero-audio{top:50px;right:6%;font-size:11px}.theme-bar{grid-template-columns:repeat(3,1fr)}.theme-tab:first-child{grid-column:1/-1;min-height:42px}.theme-tab:nth-child(n+2){border-top:1px solid #ffffff22}.hero-info{bottom:183px}.hero-copy{bottom:282px}}


.site-footer{border-top:1px solid var(--line);align-items:flex-start;gap:30px;padding-top:30px;padding-bottom:30px;font-size:11px;line-height:1.8}.footer-company{display:flex;flex-direction:column;gap:4px}.footer-company strong{font-weight:500;color:var(--ink);font-size:13px}.footer-links{display:flex;gap:12px 22px;flex-wrap:wrap;justify-content:flex-end;max-width:310px}.footer-links a,.footer-top{white-space:nowrap}.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}.footer-top{margin-left:auto}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #77875c;outline-offset:5px}.contact-privacy{font-size:11px;line-height:1.7;margin-top:16px;color:#45503a}.contact-privacy a{text-decoration:underline;text-underline-offset:3px}@media(max-width:850px){.site-footer{flex-wrap:wrap;font-size:11px}.footer-company{flex-basis:100%}.footer-links{justify-content:flex-start}.footer-top{margin-left:0}}


/* Media retain intrinsic proportions; portrait Casa P is not stretched into the hero. */
.hero-panel[data-project="interior"]{background:#302e26}
.hero-panel[data-project="interior"] img,.hero-panel[data-project="interior"] video{object-fit:contain}
.hero-media-link{position:absolute;inset:0;z-index:2}
.hero-shade{z-index:2}
.hero-copy,.hero-info,.theme-bar,.hero-top{z-index:3}
.hero-audio{z-index:4}
.hero-copy h1 a{color:inherit}
.hero-media-link:focus-visible{outline:2px solid #fff;outline-offset:-8px}

/* Studio and complete commissions archive. */
.home-team-names{font-size:11px!important;line-height:1.8!important;color:var(--muted);margin-top:22px!important}
.portfolio-archive-link{display:inline-flex;margin-top:20px;font-size:12px}
@media(min-width:721px) and (max-width:1200px){.desktop-nav{gap:18px;margin-left:0}.contact-nav{font-size:10px;gap:8px}}

/* Small-screen controls and contact layout, verified from 320 px. */
@media(max-width:720px){.mobile-toggle{min-height:44px}.hero-controls{flex:none}.hero-controls button{width:44px;height:44px}.hero-project{min-width:0}.filter{min-height:44px;min-width:44px}.motion-toggle{min-height:44px;min-width:44px}.contact h2{font-size:clamp(38px,10vw,66px)}.contact-row{gap:16px}.contact-circle{margin-left:0;width:56px;height:56px}}

/* One stable title frame across every slide, including the opening film. */
.hero-copy{right:32%;bottom:181px}
.hero-copy h1{font-size:clamp(48px,5vw,84px);font-weight:400;line-height:1.04;letter-spacing:-.05em;height:3.12em;display:flex;align-items:flex-end;overflow-wrap:normal}
.hero-copy h1 a{display:block;max-width:100%;overflow-wrap:break-word}
@media(max-width:1050px){.hero-copy{bottom:196px;right:30%}.hero-copy h1{font-size:clamp(38px,5.6vw,59px)}}
@media(max-width:720px){.hero-copy{left:6%;right:6%;bottom:282px}.hero-copy h1{font-size:clamp(30px,7.7vw,46px)}}

/* Shared dark masthead and transparent white brand. */
.header{background:#292a2d;color:#fff}.header .brand{background:transparent}.header .brand img{filter:brightness(0) invert(1);background:transparent}.header .desktop-nav a:after{background:currentColor}.header .contact-nav span{border-color:#ffffff80}.header .contact-nav:hover span{background:#ffffff20}.mobile-nav:not([hidden]){background:#292a2d;color:#fff;border-top-color:#ffffff26}

/* Persistent masthead with original artwork arranged horizontally. */
.header{position:sticky;top:0;z-index:50}.header .brand{width:238px;display:flex;align-items:center;gap:16px;flex-shrink:0}.brand-symbol,.brand-wordmark{display:block;flex:none;background-repeat:no-repeat;background-position:center;background-size:contain}.brand-symbol{width:64px;height:64px;background-image:url('/assets/rehabita-header-symbol.svg')}.brand-wordmark{width:158px;height:56px;background-image:url('/assets/rehabita-header-wordmark.svg')}.header .desktop-nav{margin-left:0;gap:25px}.mobile-nav:not([hidden]){position:fixed;top:108px;z-index:49}
@media(max-width:1100px) and (min-width:721px){.header .desktop-nav{gap:15px}.header .contact-nav{max-width:155px;gap:10px}.header .brand{width:218px;gap:10px}.brand-wordmark{width:144px;height:52px}}
@media(max-width:720px){.header .brand{width:208px;gap:12px}.header .brand-symbol{width:56px;height:56px}.header .brand-wordmark{width:140px;height:50px}.mobile-nav:not([hidden]){top:88px}.header .mobile-toggle{gap:10px}}

.project-motion-control{margin-left:auto;align-self:center;min-height:44px;padding:10px 0 10px 16px;font-size:10px;color:var(--muted);white-space:nowrap}.project-motion-control[hidden]{display:none}
