@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;1,6..96,400&family=Inter:wght@400;500;600&display=swap";:root{--bg: #f1f0ee;--ink: #171717;--muted: #55504d;--line: #1c1c1c;--soft-line: rgba(23, 23, 23, .14);--blush: #f2cdd1;--cream: #fbf4ea;--font-serif: "Bodoni Moda", Georgia, serif;--font-sans: "Inter", Arial, sans-serif;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--font-sans);font-size:15px;line-height:1.25;overflow-x:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}em{font-family:var(--font-serif);font-style:italic;font-weight:400}.top-address{display:flex;justify-content:space-between;gap:24px;max-width:1440px;margin:0 auto;padding:10px 4vw 9px;border-bottom:1px solid var(--line);font-size:clamp(.82rem,1vw,1rem);font-weight:600}.top-address span,.top-address em{white-space:nowrap}.top-address:hover span{text-decoration:underline;text-underline-offset:3px}.site-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);grid-template-rows:auto auto;column-gap:4vw;max-width:1440px;margin:0 auto;padding:16px 4vw 12px}.brand-mark{grid-row:1 / span 2;align-self:end;width:max-content;max-width:100%;font-family:var(--font-serif);font-size:clamp(4.8rem,7.8vw,8.7rem);font-weight:500;line-height:.8;letter-spacing:0;position:relative;z-index:1}.brand-mark:after{content:"o";display:inline-block;margin-left:.05em;font-family:var(--font-sans);font-size:.12em;font-weight:600;vertical-align:top;transform:translateY(-.12em)}.site-nav{position:relative;z-index:2;display:flex;justify-content:space-between;gap:24px;min-height:32px;font-size:14px;font-weight:600}.site-nav a,.site-footer a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:opacity .22s ease,background-size .32s var(--ease)}.site-nav a:hover,.site-footer a:hover{background-size:100% 1px}.top-booking-actions{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.top-booking-actions a{display:inline-flex;min-height:58px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:0 24px;color:var(--ink);background:transparent;font-size:clamp(1rem,1.18vw,1.22rem);font-weight:700;white-space:nowrap;transition:transform .3s var(--ease),background .3s ease,color .3s ease}.top-booking-actions a:first-child{color:#fff;background:var(--ink)}.top-booking-actions a:hover{transform:translateY(-2px)}.top-booking-actions a:first-child:hover{background:#1767ff}.intro-copy{position:relative;z-index:2;max-width:610px;margin:22px 0 0;font-size:clamp(1rem,1.28vw,1.2rem);font-weight:500}.side-note{position:fixed;z-index:10;top:205px;right:2vw;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;font-weight:600;letter-spacing:.02em}main{max-width:1440px;margin:0 auto}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 2vw;padding:0 4vw}.hero-grid{padding-top:8px}.studio-grid{margin-top:112px}.work-item{margin:0 0 72px}.work-large{grid-column:1 / 9}.work-small{grid-column:9 / 13}.work-medium{grid-column:1 / 7}.work-wide{grid-column:7 / 13}.work-drop{margin-top:28vw}.work-lower{margin-top:9vw}.image-link,.map-link{position:relative;display:block;overflow:hidden;background:#dedbd7}.image-link{transform:translateY(0);transition:transform .7s var(--ease),box-shadow .7s var(--ease)}.image-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:var(--bg);transform:translateY(0);transition:transform .95s var(--ease)}.image-link:after,.map-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#fff0,#0000000f);opacity:0;transition:opacity .45s ease}.img-reveal.visible .image-link:before{transform:translateY(-101%)}.image-link:hover:after,.map-link:hover:after{opacity:1}.work-item img{height:auto;object-fit:cover;transition:transform 1.25s var(--ease),filter .45s ease}.hero-image img{object-position:center 42%}.hero-media-row{display:block}.work-large img,.work-wide img{aspect-ratio:16 / 9}.work-small img{aspect-ratio:1 / 1.18}.builder-image img{aspect-ratio:4 / 3;object-position:center 44%}.work-item:hover img{animation:none;transform:scale(1.065) translateY(-8px);filter:saturate(1.04)}.work-item:hover .image-link,.map-link:hover{transform:translateY(-7px);box-shadow:0 22px 44px #1717171f}.work-item h2{margin:16px 0 2px;font-family:var(--font-sans);font-size:clamp(1rem,1.28vw,1.24rem);font-weight:500;letter-spacing:0}.work-item h2 em{font-size:.98em}.work-item p{margin:0;color:var(--ink);font-size:11px;font-weight:600}.news-line{max-width:calc(1440px - 8vw);margin:56px auto 0;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.marquee-track{display:flex;width:max-content;align-items:baseline;gap:18px;padding:13px 0 16px;font-size:clamp(1.9rem,4vw,4rem);line-height:1;white-space:nowrap;animation:marquee 30s linear infinite}.marquee-track span{font-family:var(--font-sans);font-weight:400}.marquee-track em{font-size:.9em}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.editorial-section{display:grid;grid-template-columns:1fr 2fr;gap:8vw;max-width:calc(1440px - 8vw);margin:0 auto;padding:88px 0;border-top:1px solid var(--soft-line)}.section-title{font-family:var(--font-serif);font-size:clamp(1.7rem,3vw,3.25rem);line-height:1}.section-copy{max-width:860px}.section-copy p{margin:0 0 24px;font-size:clamp(1.45rem,2.6vw,3rem);line-height:1.12;font-weight:400}.faq-section{padding-top:0}.faq-item{border-top:1px solid var(--soft-line)}.faq-item:last-child{border-bottom:1px solid var(--soft-line)}.faq-question{display:flex;width:100%;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border:0;color:var(--ink);background:transparent;font:inherit;text-align:left;cursor:pointer}.faq-question span{font-size:clamp(1.05rem,1.6vw,1.45rem);font-weight:500}.faq-question b{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:18px;font-weight:500;line-height:1}.faq-answer{max-height:0;overflow:hidden;color:var(--muted);font-size:1.05rem;line-height:1.45;transition:max-height .42s var(--ease),padding .42s var(--ease)}.faq-item.active .faq-answer{max-height:150px;padding:0 0 26px}.contact-section{max-width:calc(1440px - 8vw);margin:0 auto;padding:12px 0 80px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw;padding:36px 0 48px;border-top:1px solid var(--soft-line)}.contact-grid h3{margin:0 0 13px;font-family:var(--font-sans);font-size:12px;font-weight:600;text-transform:uppercase}.contact-grid p,.contact-grid a{margin:0;font-size:clamp(1.2rem,1.8vw,1.9rem);line-height:1.2}.contact-grid a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px}.map-link img{display:block;width:100%;aspect-ratio:21 / 8;min-height:280px;object-fit:cover}.site-footer{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2vw;max-width:calc(1440px - 8vw);margin:0 auto;padding:12px 0 16px;border-top:1px solid var(--line);font-size:12px;font-weight:500}.site-footer a:last-child{justify-self:end}.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:90ms}.delay-2{transition-delay:.18s}.img-reveal img{transform:scale(1.12) translateY(18px)}.img-reveal.visible img{transform:scale(1) translateY(0);animation:photo-drift 10s ease-in-out 1.1s infinite alternate}@keyframes photo-drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.035) translate3d(0,-10px,0)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}@media (max-width: 920px){.top-address{display:block;padding:9px 18px;font-size:12px;line-height:1.35}.top-address span,.top-address em{display:block;white-space:normal}.site-header{display:block;padding:18px 18px 8px}.brand-mark{display:block;margin-bottom:18px;font-size:clamp(4.2rem,19vw,8rem)}.site-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;font-size:12px}.top-booking-actions{gap:10px;margin:0 0 18px}.top-booking-actions a{min-height:58px;padding:0 14px;font-size:17px}.intro-copy{max-width:none;margin-top:0}.side-note{display:none}.portfolio-grid{display:block;padding:0 18px}.work-item,.work-drop,.work-lower{margin:0 0 58px}.work-large img,.work-wide img,.work-small img{aspect-ratio:4 / 3}.news-line,.editorial-section,.contact-section,.site-footer{max-width:none;margin-left:18px;margin-right:18px}.marquee-track{font-size:2rem}.studio-grid{margin-top:72px}.editorial-section,.contact-grid,.site-footer{display:block}.editorial-section{padding:62px 0}.section-title{margin-bottom:28px}.section-copy p{font-size:1.7rem}.contact-grid>div{margin-bottom:28px}.map-link img{aspect-ratio:4 / 3}.site-footer{padding-bottom:22px}.site-footer>*{display:block;margin-bottom:10px}.site-footer a:last-child{justify-self:auto}.reveal{opacity:1;transform:translateY(0);transition-duration:.68s}.img-reveal img{transform:scale(1.08) translateY(12px)}.img-reveal.visible img{animation:none;transform:scale(1.03) translateY(var(--mobile-scroll-y, 0px))}.work-item:hover img{transform:scale(1.045) translateY(var(--mobile-scroll-y, 0px))}}@media (max-width: 430px){.brand-mark{font-size:4.55rem}.site-nav{grid-template-columns:repeat(2,1fr)}.work-item h2{font-size:1rem}.work-item p{font-size:10px}}
