:root{--paper:#f3efe8;--ink:#251c1b;--wine:#7d2835;--muted:#8d8580;--line:#d7d0c7;--serif:'Playfair Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}button,a{color:inherit;font:inherit}button{cursor:pointer}.demo-ribbon{height:23px;background:var(--wine);color:#fff;text-align:center;font:9px var(--mono);letter-spacing:.18em;line-height:23px}.nav-wrap{height:82px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}.wordmark{font:600 25px var(--sans);letter-spacing:.13em;text-decoration:none}.wordmark span{font:9px var(--mono);vertical-align:top;margin-left:3px}.nav-links{display:flex;gap:44px}.nav-links a,.nav-cta{font-size:11px;text-decoration:none;letter-spacing:.04em}.nav-links a{transition:color .25s}.nav-links a:hover{color:var(--wine)}.nav-cta{border:1px solid var(--ink);padding:12px 18px;background:transparent;transition:.3s}.nav-cta:hover{background:var(--ink);color:var(--paper)}.nav-cta span{margin-left:17px}.menu-toggle{display:none;background:none;border:0}.hero{padding:0 5.3%;min-height:710px;height:calc(100vh - 105px);max-height:900px;display:grid;grid-template-columns:45% 55%;position:relative}.hero-copy{padding-top:112px;position:relative;z-index:2}.eyebrow,.section-kicker,.hero-index,.hero-label,.hero-side,.text-link,.service-note,.service-price,.service-num,.demo-note,.gallery-card figcaption,.person p,.person-num,.quote-caption,.filter,.footer-bottom,.back-top{font:10px var(--mono);letter-spacing:.08em}.eyebrow{display:flex;align-items:center;gap:9px}.live-dot{width:7px;height:7px;background:#9c5148;border-radius:50%;box-shadow:0 0 0 4px #9c51481c;animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px #9c514800}}h1{font:500 clamp(76px,10.3vw,158px)/.79 var(--serif);letter-spacing:-.075em;margin:34px 0 26px;position:relative;z-index:2}h1 em,h2 em,blockquote em{color:var(--wine);font-weight:500}.hero-intro{max-width:310px;font-size:13px;line-height:1.8;color:#655d58;margin:27px 0 28px}.round-link{width:42px;height:42px;border:1px solid #9c948a;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:18px;transition:.35s}.round-link:hover{background:var(--wine);color:#fff;border-color:var(--wine);transform:translateY(4px)}.hero-index{position:absolute;bottom:37px;left:0}.hero-index span{padding:0 7px;color:#b3aaa0}.hero-visual{position:relative;overflow:hidden;margin:28px 0 26px 0;min-height:520px}.hero-image{position:absolute;inset:0 9% 0 2%;overflow:hidden;background:#c4aaa0;clip-path:inset(0 0 0 0)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform:scale(1.13);filter:saturate(.72);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hero-image:hover img{transform:scale(1.18)}.hero-image:after,.person-img:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#241b1b2b)}.image-grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");opacity:.15;mix-blend-mode:soft-light;pointer-events:none}.hero-label{position:absolute;bottom:13px;left:2%;right:9%;display:flex;justify-content:space-between;color:#fff;z-index:2;font-size:9px}.hero-stamp{width:90px;height:90px;border:1px solid var(--wine);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--wine);font:42px var(--serif);position:absolute;top:15%;right:0;background:#f3efe8d9;transform:rotate(-12deg)}.hero-stamp small{font:8px var(--mono);letter-spacing:.1em}.orbit{position:absolute;right:-13px;top:50%;height:160px;width:160px;border:1px solid #7d283554;border-radius:50%;display:grid;place-items:start center;color:var(--wine);font:8px var(--mono);letter-spacing:.09em;animation:spin 25s linear infinite}.orbit span{white-space:nowrap;transform:translateY(-6px)}.orbit-two{width:136px;height:136px;right:-3px;animation-direction:reverse;animation-duration:32s;top:calc(50% + 12px);border-color:#7d28352a}.hero-side{position:absolute;right:2%;bottom:48px;writing-mode:vertical-rl;color:#817770;font-size:9px}.hero-side span{margin-top:15px;color:var(--wine)}@keyframes spin{to{transform:rotate(360deg)}}.ticker{height:58px;background:var(--wine);color:#f4eae2;overflow:hidden;display:flex;align-items:center}.ticker-track{display:flex;align-items:center;gap:29px;white-space:nowrap;animation:ticker 28s linear infinite;width:max-content}.ticker-track span{font:10px var(--mono);letter-spacing:.15em}.ticker-track b{font-size:13px;font-weight:400}@keyframes ticker{to{transform:translateX(-50%)}}.section-pad{padding:122px 8.3%}.section-kicker{display:flex;justify-content:space-between;color:#8c817b;border-bottom:1px solid var(--line);padding-bottom:16px}.philo-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:48px 0 72px}h2{font:500 clamp(54px,7.1vw,102px)/.91 var(--serif);letter-spacing:-.06em;margin:0}.philo-right{max-width:365px;padding:0 0 5px 10%}.philo-right p,.team-intro p{font-size:14px;line-height:1.85;color:#6b625d}.text-link{display:inline-flex;gap:35px;margin-top:30px;text-decoration:none;color:var(--wine);border-bottom:1px solid #7d283555;padding-bottom:10px}.text-link span{font-size:15px}.philo-bottom{display:grid;grid-template-columns:1fr 1fr 1.5fr;align-items:end;gap:22px}.stat{display:flex;align-items:center;gap:13px;padding-bottom:30px;border-bottom:1px solid var(--line)}.stat strong{font:500 46px var(--serif);color:var(--wine)}.stat span{font:9px/1.6 var(--mono);color:#756b65}.philo-photo{height:290px;position:relative;overflow:hidden}.philo-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.62)}.philo-photo span{position:absolute;bottom:16px;left:18px;color:white;font:italic 17px var(--serif)}.services{background:#e9e3db;padding-top:112px;padding-bottom:125px}.service-head,.gallery-head{display:flex;justify-content:space-between;align-items:end;padding:48px 0}.service-head p{font:12px/1.8 var(--mono);color:#756b65;margin:0 7% 6px 0}.service-list{border-top:1px solid #c9bfb5}.service-row{width:100%;min-height:100px;border:0;border-bottom:1px solid #c9bfb5;background:transparent;display:grid;grid-template-columns:7% 1fr 1.1fr .7fr 30px;align-items:center;text-align:left;position:relative;overflow:hidden;padding:0 10px;transition:color .35s}.service-row:before{content:'';position:absolute;inset:0;background:var(--wine);transform:translateY(101%);transition:transform .42s cubic-bezier(.2,.7,.2,1)}.service-row:hover:before,.service-row:focus-visible:before{transform:translateY(0)}.service-row>*{position:relative;z-index:1}.service-row:hover,.service-row:focus-visible{color:#fff}.service-name{font:500 34px var(--serif);letter-spacing:-.03em}.service-note{color:#8b8079}.service-price{color:#756b65}.service-arrow{font-size:20px}.service-row:hover .service-note,.service-row:hover .service-price{color:#e7c9c6}.demo-note{color:#8a8079;font-size:9px;letter-spacing:.035em;margin-top:16px}.quote-band{min-height:570px;display:grid;grid-template-columns:1fr 1fr;background:#49262a;color:#f3efe8}.quote-image{min-height:570px;overflow:hidden}.quote-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.48) brightness(.78)}.quote-content{padding:84px 9%;position:relative;display:flex;flex-direction:column;justify-content:center}.quote-star{font-size:25px;color:#c78c86;margin-bottom:42px}.quote-content blockquote{font:500 clamp(44px,6vw,82px)/.98 var(--serif);letter-spacing:-.045em;margin:0}.quote-content blockquote em{color:#d7aaa0}.quote-caption{margin-top:44px;color:#c7a8a2}.gallery{padding-bottom:90px}.gallery-head{align-items:end}.filters{display:flex;gap:22px;padding-bottom:6px}.filter{border:0;background:none;color:#837972;padding:8px 0;position:relative}.filter:after{content:'';position:absolute;height:1px;background:var(--wine);bottom:0;left:0;width:0;transition:width .3s}.filter.active,.filter:hover{color:var(--wine)}.filter.active:after,.filter:hover:after{width:100%}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-template-rows:290px 260px;gap:18px}.gallery-card{position:relative;margin:0;overflow:hidden;background:#ded4cc;transition:opacity .3s,transform .45s}.gallery-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:transform .7s,filter .5s}.gallery-card:hover img{transform:scale(1.055);filter:saturate(.92)}.gallery-card.tall{grid-row:span 2}.gallery-card.wide{grid-column:span 2}.gallery-card figcaption{position:absolute;left:15px;right:15px;bottom:13px;color:white;display:flex;justify-content:space-between;text-shadow:0 1px 8px #0008;font-size:9px}.gallery-card.hidden{display:none}.gallery-card.filtered{grid-row:auto;grid-column:auto}.gallery-note{text-align:right}.team{padding-top:90px;padding-bottom:130px;background:#e9e3db}.team-intro{display:flex;align-items:end;justify-content:space-between;padding:50px 0 54px}.team-intro p{max-width:280px;margin:0 5% 5px 0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.person{position:relative}.person-img{height:380px;overflow:hidden;position:relative;background:#d2c2b8}.person-img img{height:100%;width:100%;object-fit:cover;filter:saturate(.58);transition:transform .7s,filter .5s}.person:hover .person-img img{transform:scale(1.04);filter:saturate(.84)}.person-num{position:absolute;top:15px;left:15px;color:#fff;z-index:1}.person h3{font:500 22px var(--serif);margin:18px 0 7px}.person p{margin:0;color:#887c76;font-size:9px}.person-mark{position:absolute;right:0;bottom:2px;color:var(--wine);font-size:17px}.team>.demo-note{margin-top:28px}.booking{min-height:610px;background:var(--wine);color:#f3efe8;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.booking-orbit{position:absolute;width:570px;height:570px;border:1px solid #ffffff25;border-radius:50%;display:grid;place-items:start center;padding-top:12px;font:9px var(--mono);letter-spacing:.2em;color:#e9c7c0;animation:spin 55s linear infinite}.booking-orbit:before,.booking-orbit:after{content:'';position:absolute;inset:25px;border:1px solid #ffffff18;border-radius:50%}.booking-orbit:after{inset:55px}.booking-inner{position:relative;z-index:1}.booking-inner .eyebrow{justify-content:center;color:#e3c8c0}.booking-inner h2{font-size:clamp(67px,9vw,120px);margin:30px 0}.booking-inner h2 em{color:#e6bcb5}.book-button{background:var(--paper);color:var(--wine);border:0;padding:18px 24px;font-size:12px;transition:transform .3s,background .3s}.book-button:hover{transform:translateY(-4px);background:white}.book-button span{margin-left:44px;font-size:17px}.booking-inner>p{font:9px var(--mono);color:#e2c4bd;margin-top:20px}.footer{padding:48px 8.3% 25px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:45px}.footer-top p{font:italic 17px/1.55 var(--serif);color:#766b65;margin:0}.back-top{text-decoration:none}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;color:#8b817a;font-size:8px}.footer-bottom a{color:inherit;text-decoration:none}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;visibility:hidden;opacity:0;transition:opacity .35s,visibility .35s}.modal.open{visibility:visible;opacity:1}.modal-backdrop{position:absolute;inset:0;background:#201819b5;backdrop-filter:blur(5px)}.modal-panel{position:relative;background:var(--paper);width:min(520px,calc(100% - 32px));padding:52px 56px;transform:translateY(25px);transition:transform .4s;max-height:90vh;overflow:auto}.modal.open .modal-panel{transform:translateY(0)}.modal-close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:30px;font-weight:200}.modal-panel .eyebrow{color:var(--wine);font-size:9px}.modal-panel h2{font-size:51px;margin:25px 0 30px}.modal-panel form{display:grid;gap:17px}.modal-panel label{font:9px var(--mono);color:#766c65;letter-spacing:.04em}.modal-panel input,.modal-panel select{display:block;width:100%;border:0;border-bottom:1px solid #cfc5bb;background:transparent;padding:11px 0 10px;font:12px var(--sans);color:var(--ink);outline:0}.modal-panel input:focus,.modal-panel select:focus{border-color:var(--wine)}.submit-btn{margin-top:6px;border:0;background:var(--wine);color:white;padding:16px;text-align:left;font-size:12px}.submit-btn span{float:right}.form-result{font:9px/1.6 var(--mono);color:#898078;margin:0}.cursor-dot{position:fixed;width:9px;height:9px;background:var(--wine);border-radius:50%;top:-20px;left:-20px;pointer-events:none;z-index:60;transition:transform .12s ease-out;mix-blend-mode:multiply}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:800px){.nav-wrap{height:70px;padding:0 6%}.nav-links{gap:20px}.nav-links a{font-size:10px}.hero{padding:0 6%;height:auto;min-height:790px;grid-template-columns:1fr;grid-template-rows:auto 1fr}.hero-copy{padding-top:70px}.hero h1{font-size:clamp(92px,17vw,140px);margin:28px 0 20px}.hero-intro{max-width:290px}.hero-index{bottom:-405px}.hero-visual{height:430px;min-height:0;margin:25px 0 38px 19%}.hero-image{inset:0 11% 0 0}.hero-label{left:0;right:11%}.orbit{right:0;width:120px;height:120px}.orbit-two{width:100px;height:100px}.hero-stamp{width:70px;height:70px;font-size:32px;right:5%}.hero-side{right:auto;left:2%;bottom:70px}.section-pad{padding:85px 7%}.philo-grid{padding:40px 0 45px}.philo-right{padding-left:5%}.philo-bottom{grid-template-columns:1fr 1fr}.philo-photo{grid-column:span 2;height:250px;margin-top:8px}.service-row{grid-template-columns:7% 1fr .8fr 25px;min-height:88px}.service-note{display:none}.service-name{font-size:29px}.service-head p{margin-right:0;font-size:10px}.quote-band{min-height:460px}.quote-image{min-height:460px}.quote-content{padding:60px 8%}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 260px}.gallery-card.tall{grid-row:span 2}.gallery-card.wide{grid-column:span 2}.team{padding-top:80px}.person-img{height:300px}.footer{padding:42px 7% 22px}.footer-bottom{gap:12px;flex-wrap:wrap}.booking{min-height:550px}}
@media(max-width:560px){.demo-ribbon{font-size:8px}.nav-wrap{height:64px}.wordmark{font-size:22px}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:22px 7%;border-bottom:1px solid var(--line);flex-direction:column;gap:20px}.nav-links.open{display:flex}.nav-cta{padding:10px 12px;font-size:10px;margin-left:auto;margin-right:17px}.nav-cta span{margin-left:7px}.menu-toggle{display:grid;gap:5px;padding:8px}.menu-toggle i{width:19px;height:1px;background:var(--ink)}.hero{min-height:720px}.hero-copy{padding-top:56px}.hero h1{font-size:clamp(82px,21vw,118px);margin:28px 0 20px}.hero-intro{font-size:12px;max-width:260px}.hero-visual{height:370px;margin:13px 0 32px 13%}.hero-index{bottom:-348px}.hero-side{bottom:60px;font-size:8px}.ticker{height:49px}.section-pad{padding:72px 6%}.section-kicker{font-size:8px}.philo-grid{grid-template-columns:1fr;gap:25px;padding:34px 0 40px}.philo-right{padding:0;max-width:100%}.philo-right p{font-size:13px}.philo-grid h2,.service-head h2,.gallery-head h2,.team-intro h2{font-size:64px}.philo-bottom{gap:11px}.stat{gap:8px;padding-bottom:18px;align-items:flex-start;flex-direction:column}.stat strong{font-size:37px}.stat span{font-size:8px}.philo-photo{height:200px}.services{padding-top:72px;padding-bottom:82px}.service-head{padding:37px 0;display:block}.service-head p{margin:20px 0 0}.service-row{grid-template-columns:34px 1fr auto 18px;min-height:78px;padding:0 4px}.service-num{font-size:8px}.service-name{font-size:25px}.service-price{font-size:8px}.service-arrow{font-size:16px}.quote-band{grid-template-columns:1fr;min-height:0}.quote-image{min-height:300px;height:300px}.quote-content{padding:55px 8%;min-height:360px}.quote-star{margin-bottom:25px}.quote-content blockquote{font-size:60px}.quote-caption{margin-top:30px}.gallery-head{display:block;padding:38px 0 28px}.filters{gap:17px;padding-top:22px}.filter{font-size:8px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 190px 220px;gap:9px}.gallery-card.tall{grid-row:span 2}.gallery-card.wide{grid-column:span 2}.gallery-card figcaption{left:9px;right:9px;font-size:7px}.team-intro{display:block;padding:38px 0 34px}.team-intro p{margin-top:20px}.team-grid{grid-template-columns:1fr 1fr;gap:25px 13px}.person-img{height:240px}.person h3{font-size:17px;margin:13px 0 6px}.person p{font-size:7px}.person:nth-child(3){grid-column:span 2;width:calc(50% - 7px)}.person:nth-child(3) .person-img{height:250px}.team{padding-bottom:84px}.booking{min-height:490px}.booking-orbit{width:400px;height:400px}.booking-inner h2{font-size:78px}.footer{padding:35px 6% 20px}.footer-top{align-items:flex-start;gap:15px;flex-wrap:wrap;padding-bottom:30px}.footer-top p{font-size:14px}.back-top{margin-left:auto;font-size:8px}.footer-bottom{font-size:7px}.footer-bottom span:nth-child(2){display:none}.modal-panel{padding:45px 26px}.modal-panel h2{font-size:43px}.cursor-dot{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
