@font-face{font-family:Urbanist;src:url('assets/urbanist-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Urbanist;src:url('assets/urbanist-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Urbanist;src:url('assets/urbanist-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Instrument;src:url('assets/instrument-serif.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--paper:#f4f1e9;--paper-2:#e9e5dc;--ink:#1c2524;--dark:#17211f;--orange:#e96b2d;--line:rgba(28,37,36,.2);--wide:min(100% - 96px,1500px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Urbanist,Arial,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:Instrument,Georgia,serif;line-height:.97;letter-spacing:-.02em}h1 em,h2 em{font-weight:400}::selection{background:var(--orange);color:#fff}:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.skip{position:fixed;z-index:100;top:-60px;left:18px;background:#fff;padding:12px 18px}.skip:focus{top:18px}.section-pad{padding:105px max(48px,calc((100vw - 1500px)/2))}
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;height:94px;padding:0 48px;color:#fff;transition:height .35s,background .35s,color .35s,box-shadow .35s}.site-header.is-solid,.site-header.menu-open{height:78px;background:rgba(244,241,233,.97);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:11px;min-width:210px}.brand img{width:38px;height:33px;object-fit:contain}.brand>span{display:flex;flex-direction:column;font-size:22px;font-weight:600;letter-spacing:.18em;line-height:1}.brand small{font-size:9px;letter-spacing:.33em;font-weight:600;margin-top:5px}.desktop-nav{display:flex;gap:38px;align-items:center;font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:currentColor;transition:right .3s}.desktop-nav a:hover::after,.desktop-nav a.active::after{right:0}.menu-button,.mobile-nav{display:none}
.hero{position:relative;min-height:760px;height:100svh;max-height:1100px;color:#fff;overflow:hidden;background:#546363}.hero-image{position:absolute;inset:0;background-image:url('assets/villa-valegro-hero.jpg');background-size:cover;background-position:center 53%;transform:scale(1.06);animation:hero-settle 1.8s cubic-bezier(.2,.7,.1,1) forwards;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,20,20,.68) 0%,rgba(9,20,20,.34) 52%,rgba(9,20,20,.08) 100%),linear-gradient(0deg,rgba(5,15,15,.53),transparent 30%)}.hero-inner{position:relative;z-index:1;width:var(--wide);height:100%;margin:auto;padding:clamp(160px,22vh,260px) 0 65px;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;line-height:1.25;letter-spacing:.2em;text-transform:uppercase}.eyebrow .line{width:35px;height:1px;background:var(--orange);display:block;flex:none}.hero-eyebrow{animation:rise-in .9s .2s both}.hero h1{font-size:clamp(65px,6.8vw,111px);max-width:1110px;text-wrap:balance;animation:rise-in 1.1s .32s both}.hero h1 em{color:#e9e0d5}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;animation:rise-in 1s .56s both}.underlined-link{display:inline-flex;gap:70px;align-items:center;border-bottom:1px solid #fff;padding:0 0 8px;font-size:14px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.underlined-link span,.text-link span,.contact-link span{font-size:21px;line-height:1;transition:transform .3s}.underlined-link:hover span,.text-link:hover span,.contact-link:hover span{transform:translate(3px,-3px)}.video-link{display:flex;align-items:center;gap:16px;min-width:265px;font-size:16px;font-weight:600;line-height:1.25}.video-link small{display:block;margin-top:5px;font-size:12px;font-weight:400;letter-spacing:.06em}.play-ring{display:grid;place-items:center;flex:none;width:66px;height:66px;border:1px solid rgba(255,255,255,.85);border-radius:50%;transition:background .3s,transform .3s}.video-link:hover .play-ring{background:rgba(255,255,255,.2);transform:scale(1.07)}.play-triangle{display:block;width:0;height:0;margin-left:4px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #fff}.hero-scroll{position:absolute;z-index:2;right:48px;top:50%;display:flex;align-items:center;gap:16px;writing-mode:vertical-rl;font-size:10px;font-weight:600;letter-spacing:.18em}.hero-scroll span{height:65px;width:1px;background:#fff}
.section-index{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:13px;font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.18em;text-transform:uppercase}.section-index.light{border-color:rgba(255,255,255,.32)}
.manifesto{background:var(--paper)}.manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(70px,8vw,150px);padding:95px 0 90px;align-items:start}.manifesto h2{font-size:clamp(63px,6vw,105px)}.manifesto h2 em{color:#8b8e87}.manifesto-copy{padding-top:12px;max-width:485px}.manifesto-copy p{font-size:19px;line-height:1.48;margin-bottom:24px}.manifesto-copy p+p{font-size:16px;color:#535c57}.text-link{display:inline-flex;align-items:center;gap:42px;border-bottom:1px solid var(--ink);padding:0 0 8px;margin-top:15px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.manifesto-image{position:relative;height:570px;background:url('assets/villa-valegro-detail.jpg') center 55%/cover no-repeat;overflow:hidden}.manifesto-image::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.3))}.manifesto-image span{position:absolute;z-index:1;left:28px;bottom:22px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.18em}
.projects{background:var(--dark);color:#f8f6f0}.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:85px 0 58px}.projects-heading h2{font-size:clamp(85px,10vw,165px);line-height:.82}.orange-dot{color:var(--orange)}.projects-heading p{max-width:220px;font-size:16px;line-height:1.35}.project-feature{border-top:1px solid rgba(255,255,255,.32)}.project-photo{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:0;text-align:left;color:inherit;background:#64726d}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.project-photo:hover img{transform:scale(1.035);filter:brightness(.88)}.project-feature .project-photo{height:clamp(530px,62vw,830px)}.project-feature img{object-position:center 55%}.image-action{position:absolute;right:25px;bottom:25px;display:grid;place-items:center;width:50px;height:50px;border:1px solid #fff;border-radius:50%;color:#fff;font-size:25px;font-weight:400;line-height:1;transition:background .3s,color .3s}.project-photo:hover .image-action{background:#fff;color:var(--ink)}.project-info{display:grid;grid-template-columns:1fr 2fr 1fr;gap:35px;align-items:start;padding:26px 0 105px}.project-info>div{max-width:680px}.project-count,.project-location,.project-type{font-size:11px;font-weight:600;letter-spacing:.13em;line-height:1.3}.project-type{color:#c9c9be;margin-bottom:8px}.project-info h3,.project-small h3{font-family:Instrument,Georgia,serif;font-size:clamp(48px,4vw,68px);line-height:1}.project-info>div>p:last-child{font-size:16px;margin-top:11px;max-width:450px}.project-location{text-align:right}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,105px);padding-bottom:65px}.project-small .project-photo{height:clamp(380px,37vw,600px)}.project-small:nth-child(2) .project-photo{height:clamp(330px,33vw,500px)}.project-small-offset{padding-top:160px}.project-small-info{position:relative;padding:22px 0 0 59px;border-top:1px solid rgba(255,255,255,.32)}.project-small-info>span{position:absolute;top:29px;left:0;font-size:11px;font-weight:600;letter-spacing:.13em}.project-small h3{font-size:clamp(46px,4vw,64px)}.project-small p{font-size:16px;line-height:1.45;max-width:440px;margin-top:10px}
.studio{background:var(--paper)}.studio-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:clamp(65px,8vw,150px);padding-top:100px;align-items:center}.studio-photo img{width:100%;height:clamp(620px,56vw,840px);object-fit:cover;object-position:57% center;filter:grayscale(1)}.studio-photo figcaption{font-size:11px;letter-spacing:.17em;padding-top:13px}.studio-copy{max-width:640px}.studio h2{font-size:clamp(100px,10vw,160px);margin:30px 0 30px}.studio h2 em{color:#a0a198}.studio-copy>p:not(.eyebrow){max-width:600px;font-size:17px;line-height:1.55;margin-top:20px}.studio-copy .studio-lead{font-family:Instrument,Georgia,serif;font-size:clamp(30px,3.2vw,47px)!important;line-height:1.15!important;margin-bottom:28px}.studio blockquote{border-top:1px solid var(--line);padding-top:28px;margin-top:38px;font-family:Instrument,Georgia,serif;font-size:clamp(29px,2.8vw,42px);line-height:1.16}
.process{background:#24302c;color:#f4f1e9}.process-head{padding:85px 0 70px;display:grid;grid-template-columns:1fr 1.8fr;gap:30px}.process-head .eyebrow{align-self:start;padding-top:17px}.process h2{font-size:clamp(68px,7vw,110px)}.process h2 em{color:#c9c6bc}.process-head>p:last-child{grid-column:2;font-size:18px;color:#d3d5cb;margin-top:5px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.36);border-bottom:1px solid rgba(255,255,255,.36)}.process-step{min-height:350px;padding:31px 34px 42px 0;display:flex;flex-direction:column}.process-step+.process-step{border-left:1px solid rgba(255,255,255,.36);padding-left:34px}.process-step>span{font-size:13px;letter-spacing:.14em;color:var(--orange);font-weight:600}.process-step h3{font-family:Instrument,Georgia,serif;font-size:clamp(38px,3.4vw,56px);line-height:1.04;margin-top:auto;max-width:320px}.process-step p{font-size:15px;line-height:1.47;max-width:350px;margin-top:20px;color:#d5d8d0}.process-media{position:relative;margin-top:75px;height:570px;overflow:hidden}.process-media img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.process-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,22,21,.58),transparent 70%)}.process-media p{position:absolute;z-index:1;left:50px;bottom:45px;font-family:Instrument,Georgia,serif;font-size:clamp(36px,4vw,62px);line-height:1.03}
.contact{background:var(--dark);color:#f6f2e9;padding-bottom:35px}.contact-grid{display:grid;grid-template-columns:1fr .68fr;gap:80px;padding:105px 0 135px;align-items:end}.contact h2{font-size:clamp(100px,11vw,175px);margin-top:29px}.contact h2 em{color:#a8aaa0}.contact-grid>div:last-child{padding-bottom:20px}.contact-grid>div:last-child p{font-family:Instrument,Georgia,serif;font-size:clamp(31px,2.9vw,47px);line-height:1.15;margin-bottom:55px}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #fff;padding-bottom:9px;font-size:clamp(17px,1.8vw,26px)}.contact footer{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.32);padding-top:23px}.footer-brand{font-size:19px;font-weight:600;letter-spacing:.16em;line-height:1}.footer-brand span{display:block;font-size:9px;letter-spacing:.34em;margin-top:6px}.contact footer p{font-size:12px;max-width:300px;color:#b7beb4}.contact footer>a:last-child{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.video-dialog{width:min(100% - 40px,1160px);max-width:none;max-height:calc(100svh - 40px);padding:0;border:0;background:#141b1a;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.45)}.video-dialog::backdrop{background:rgba(0,0,0,.82)}.video-dialog-inner{padding:18px}.video-close{display:flex;align-items:center;gap:10px;margin:0 0 18px auto;padding:7px 4px;border:0;background:transparent;color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.video-close span{font-size:28px;line-height:.7}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{display:block;width:100%;height:100%;border:0}.video-dialog-inner>p{font-size:12px;color:#afb8b4;margin-top:13px}
.project-dialog{width:min(100% - 48px,1160px);max-width:none;max-height:calc(100svh - 48px);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.4)}.project-dialog::backdrop{background:rgba(0,0,0,.78)}.project-dialog-inner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;min-height:620px}.project-dialog-inner>img{width:100%;height:100%;max-height:calc(100svh - 48px);object-fit:cover}.project-dialog-close{position:absolute;z-index:2;top:20px;right:22px;display:flex;align-items:center;gap:8px;padding:8px 0;border:0;background:transparent;color:var(--ink);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.project-dialog-close span{font-size:28px;line-height:.7}.project-dialog-copy{display:flex;flex-direction:column;justify-content:center;padding:75px clamp(35px,5vw,80px)}.project-dialog-copy>p:first-child{font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#6c756d}.project-dialog-copy h2{font-size:clamp(65px,6vw,95px);margin:20px 0 28px}.project-dialog-copy>p:nth-child(3){font-size:17px;line-height:1.55}.project-dialog-copy>a{align-self:start;display:flex;align-items:center;gap:35px;margin-top:45px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
@keyframes hero-settle{to{transform:scale(1)}}@keyframes rise-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){:root{--wide:calc(100% - 64px)}.section-pad{padding:88px 32px}.site-header{padding:0 32px}.hero-scroll{right:25px}.hero h1{font-size:clamp(62px,7vw,85px)}.manifesto-grid{gap:50px}.manifesto h2{font-size:clamp(58px,6.1vw,78px)}.manifesto-copy p{font-size:17px}.studio-grid{gap:55px}.studio h2{font-size:clamp(82px,9vw,120px)}.project-small-offset{padding-top:95px}}
@media(max-width:760px){html{scroll-padding-top:70px}:root{--wide:calc(100% - 36px)}.section-pad{padding:72px 18px}.site-header{height:72px;padding:0 18px}.site-header.is-solid,.site-header.menu-open{height:70px}.brand{min-width:0}.brand img{width:34px;height:30px}.brand>span{font-size:17px}.brand small{font-size:7px}.desktop-nav{display:none}.menu-button{width:42px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;border:0;background:none;color:inherit}.menu-button span{display:block;width:25px;height:1px;background:currentColor;transition:transform .3s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){position:absolute;top:70px;left:0;right:0;display:flex;flex-direction:column;padding:12px 23px 26px;background:var(--paper);box-shadow:0 20px 30px rgba(0,0,0,.1)}.mobile-nav a{font-family:Instrument,Georgia,serif;font-size:34px;padding:10px 0;border-bottom:1px solid var(--line)}.hero{height:100svh;min-height:680px;max-height:none}.hero-image{background-position:54% center}.hero-shade{background:linear-gradient(90deg,rgba(9,20,20,.63),rgba(9,20,20,.18) 100%),linear-gradient(0deg,rgba(5,15,15,.63),transparent 52%)}.hero-inner{padding:150px 0 38px;justify-content:end;gap:25px}.hero-eyebrow{font-size:10px}.hero h1{font-size:clamp(51px,12.3vw,78px);line-height:.97}.hero h1 br:nth-of-type(2){display:none}.hero-bottom{align-items:start;flex-direction:column;gap:25px}.underlined-link{gap:40px;font-size:12px}.video-link{font-size:14px}.video-link small{font-size:11px}.play-ring{width:52px;height:52px}.hero-scroll{display:none}.section-index{font-size:9px;letter-spacing:.13em}.manifesto-grid{display:block;padding:60px 0 50px}.manifesto h2{font-size:clamp(54px,12vw,86px)}.manifesto-copy{padding-top:38px}.manifesto-copy p{font-size:17px}.manifesto-image{height:360px;background-position:54% center}.projects-heading{display:block;padding:60px 0 35px}.projects-heading h2{font-size:clamp(78px,18vw,130px)}.projects-heading p{margin-top:25px}.project-feature .project-photo{height:420px}.project-info{grid-template-columns:1fr;gap:10px;padding-bottom:70px}.project-count{grid-row:1}.project-info h3{font-size:54px}.project-location{text-align:left}.project-pair{grid-template-columns:1fr;gap:55px}.project-small-offset{padding-top:0}.project-small .project-photo,.project-small:nth-child(2) .project-photo{height:420px}.project-small-info{padding-left:53px}.project-small h3{font-size:52px}.studio-grid{display:flex;flex-direction:column;gap:50px;padding-top:65px}.studio-photo{width:100%}.studio-photo img{height:480px}.studio-copy{max-width:none}.studio h2{font-size:clamp(89px,18vw,135px);margin:22px 0}.studio-copy .studio-lead{font-size:34px!important}.studio-copy>p:not(.eyebrow){font-size:16px}.studio blockquote{font-size:31px}.process-head{display:block;padding:60px 0 45px}.process-head .eyebrow{margin-bottom:30px}.process h2{font-size:clamp(55px,11vw,82px)}.process-head>p:last-child{margin-top:25px;font-size:16px}.process-grid{grid-template-columns:1fr}.process-step{min-height:0;padding:23px 0 33px}.process-step+.process-step{border-left:0;border-top:1px solid rgba(255,255,255,.36);padding-left:0}.process-step h3{margin-top:20px;font-size:44px}.process-step p{font-size:15px;margin-top:11px}.process-media{margin-top:50px;height:410px}.process-media p{left:20px;bottom:24px;font-size:36px}.contact-grid{display:block;padding:65px 0 90px}.contact h2{font-size:clamp(85px,18vw,140px)}.contact-grid>div:last-child{margin-top:50px}.contact-grid>div:last-child p{font-size:34px;margin-bottom:38px}.contact-link{font-size:18px}.contact footer{align-items:start;flex-direction:column;gap:20px}.video-dialog{width:calc(100% - 18px)}.video-dialog-inner{padding:10px}.project-dialog{width:calc(100% - 18px);max-height:calc(100svh - 18px)}.project-dialog-inner{display:block;min-height:0}.project-dialog-inner>img{height:36svh;max-height:none}.project-dialog-copy{padding:30px 25px 45px}.project-dialog-copy h2{font-size:64px;margin:12px 0 18px}.project-dialog-copy>p:nth-child(3){font-size:15px}.project-dialog-copy>a{margin-top:27px}.project-dialog-close{top:12px;right:15px;padding:8px;background:var(--paper)}}
@media(max-width:400px){.hero h1{font-size:49px}.project-feature .project-photo,.project-small .project-photo,.project-small:nth-child(2) .project-photo{height:340px}.studio-photo img{height:390px}.contact-link{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-image{transform:none}}
