:root{--ink:#34292c;--ink2:#55474a;--rose:#9b6c73;--plum:#6b464e;--plum-deep:#442d34;--brown:#b38d7f;--cream:#faf7f3;--cream2:#f2ebe5;--white:#fffdf9;--line:#e4d9d2;--muted:#8e7d7c;--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'DM Sans','Manrope',Arial,sans-serif;--container:1240px;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#d5b8b8;color:#34292c}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b78b95;outline-offset:4px}.container{width:min(calc(100% - 88px),var(--container));margin-inline:auto}.section{padding:135px 0}.skip-link{position:fixed;z-index:99999;background:#fff;padding:14px;top:-90px;left:12px}.skip-link:focus{top:12px}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:#9d7471;z-index:200;transition:width .07s linear;pointer-events:none}.demo-banner{min-height:30px;background:var(--plum-deep);color:#f7eae6;font-size:9px;letter-spacing:.20em;display:flex;justify-content:center;gap:14px;align-items:center;text-align:center;padding:7px 14px;font-weight:700}.tiny-star{color:#c7a398;font-size:12px}.demo-divider{opacity:.35}
/* navigation */
.header{position:sticky;top:0;z-index:100;background:rgba(250,247,243,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(130,97,101,.10);transition:box-shadow .3s,background .3s}.header.scrolled{box-shadow:0 10px 45px rgba(50,29,34,.06)}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-icon{display:grid;place-items:center;width:52px;height:52px}.brand-icon svg{width:48px;height:48px;stroke:#94686e;stroke-width:1.5}.brand-copy{display:flex;flex-direction:column}.brand-name{font-family:var(--serif);font-weight:500;letter-spacing:-.07em;font-size:30px;line-height:1}.brand-name i{font-weight:400;color:#9b7577}.brand-caption{font-size:8px;letter-spacing:.31em;margin-top:9px;color:#9e8281;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav>a{font-size:12px;font-weight:600;position:relative;padding:15px 0;white-space:nowrap}.desktop-nav>a::after{position:absolute;content:'';bottom:8px;left:0;width:0;height:1px;background:var(--plum);transition:width .3s}.desktop-nav>a:hover::after{width:100%}.nav-actions{display:flex;align-items:center}.nav-book{background:var(--plum);color:#fff;padding:16px 23px;border-radius:999px;display:flex;align-items:center;gap:21px;white-space:nowrap;font-size:12px;font-weight:700;transition:transform .35s var(--ease),background .35s}.nav-book:hover,.button.primary:hover{background:#52343b;transform:translateY(-3px)}.nav-book span{font-size:18px;font-weight:400}.menu-button{border:0;background:none;display:none;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-button span{width:22px;height:1.5px;background:var(--ink);transition:transform .25s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{display:none}
/* shared */
.eyebrow,.section-label{font-size:10px;font-weight:700;letter-spacing:.235em;color:var(--plum);display:flex;align-items:center;gap:19px}.eyebrow-line{width:44px;height:1px;background:var(--rose)}.section-label .label-line{background:var(--rose);height:1px;width:48px}.section h2,.contact-top h2{font:400 clamp(47px,5.2vw,76px)/1.13 var(--serif);letter-spacing:-.055em;margin:28px 0;color:var(--ink)}h1,h2,h3,p{margin-top:0}h1 em,h2 em,h3 em,blockquote em{color:var(--rose);font-weight:400}.button{border:0;min-height:58px;display:inline-flex;gap:32px;justify-content:center;align-items:center;padding:16px 29px;border-radius:999px;font-size:12px;font-weight:700;transition:transform .35s var(--ease),background .35s,color .35s}.button.primary{background:var(--plum);color:white}.button .arrow{font-size:21px;font-weight:400;line-height:0}.under-link{font-size:12px;font-weight:700;padding:10px 0 13px;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #9b6c73;transition:gap .3s,color .3s}.under-link:hover{gap:44px;color:var(--plum)}.under-link span{font-size:17px}
/* hero */
.hero{position:relative;min-height:750px;background:#faf7f2;isolation:isolate;overflow:hidden}.hero-blush{position:absolute;width:730px;height:850px;right:-7%;top:-8%;background:radial-gradient(ellipse at center,rgba(226,197,186,.37),transparent 70%);z-index:-1}.hero-grid{min-height:750px;display:grid;grid-template-columns:58% 42%;align-items:stretch}.hero-copy{padding-top:121px;position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.hero-copy h1{font:400 clamp(65px,6.8vw,104px)/1.15 var(--serif);letter-spacing:-.075em;margin:34px 0 28px;max-width:780px;position:relative;z-index:3}.hero-copy h1 em{font-weight:400;color:var(--rose)}.hero-lead{font-size:16px;line-height:1.95;max-width:430px;color:#76696b}.hero-ctas{margin-top:24px;display:flex;align-items:center;gap:30px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;white-space:nowrap}.play-dot{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c1a5a5;border-radius:50%;font-size:18px;transition:background .25s,color .25s}.text-link:hover .play-dot{background:var(--plum);color:white}.hero-bottom{margin-top:auto;padding-bottom:65px;display:flex;align-items:center;gap:17px;width:100%}.hero-mini-icon{font-size:44px;color:#af8586;line-height:1}.hero-bottom p{font-size:11px;line-height:1.8;letter-spacing:.015em;color:#a18b8a;margin:0}.hero-bottom p strong{color:var(--ink);font-weight:600}.hero-scroll{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:8px;letter-spacing:.2em;font-weight:700;color:#a28d8a}.scroll-line{height:1px;width:60px;background:#cbb6ac}.hero-visual{position:relative;min-height:750px;display:flex;align-items:flex-end;justify-content:center}.hero-visual-shape{background:#efe1d8;position:absolute;bottom:-160px;right:-25%;width:120%;height:680px;border-radius:50% 50% 0 0;z-index:-1}.hero-photo-wrap{height:650px;width:455px;max-width:93%;overflow:hidden;border-radius:245px 245px 10px 10px;margin-bottom:27px;position:relative;box-shadow:0 30px 80px rgba(67,36,35,.10)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:52% 30%;filter:saturate(.85);transition:transform 1.2s var(--ease)}.hero-photo-wrap:hover .hero-photo{transform:scale(1.065)}.hero-photo-vignette{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 75%,rgba(41,24,25,.12))}.floating-note{position:absolute;bottom:108px;left:-37px;background:#fffaf4;box-shadow:0 19px 53px rgba(53,36,36,.12);padding:25px 30px;display:flex;gap:16px;align-items:center;z-index:2;transform:rotate(-5deg)}.floating-note-icon{font-size:43px;color:#b89181}.floating-note>span:last-child{font-family:var(--serif);font-size:17px;line-height:1.38}.floating-note em{color:#b28487}.side-vertical{position:absolute;right:-29px;top:45%;font-size:8px;white-space:nowrap;letter-spacing:.22em;writing-mode:vertical-rl;transform:rotate(180deg);color:#a08384;font-weight:700}.hero-number{position:absolute;bottom:48px;right:10px;font:400 20px var(--serif);letter-spacing:-.02em}.hero-number span{font:400 11px var(--sans);color:#9b8181}.hero-corner-shape{position:absolute;top:47px;right:40px;color:#c3a4a1;font-size:34px;opacity:.6}
.ticker{background:#6a454e;color:#fcf1ec;overflow:hidden;padding:21px 0;white-space:nowrap}.ticker-inner{display:flex;width:max-content;animation:marquee 41s linear infinite}.ticker span{font-size:11px;letter-spacing:.24em;font-weight:700}.ticker b{margin:0 34px;color:#d6ada8;font-size:18px;vertical-align:middle}@keyframes marquee{to{transform:translateX(-50%)}}
/* about */
.section-about{background:var(--white);overflow:hidden}.about-grid{display:grid;grid-template-columns:48% 52%;gap:70px;align-items:center}.about-photo-stage{height:640px;max-width:480px;position:relative;padding:24px 36px 20px 28px}.about-photo-back{position:absolute;left:0;top:0;right:8px;bottom:40px;border:1px solid #d6b9ad;border-radius:250px 250px 0 0;transform:rotate(-5deg)}.about-photo-stage>img{position:relative;width:100%;height:100%;object-fit:cover;object-position:center 31%;border-radius:230px 230px 3px 3px;filter:saturate(.77)}.about-stamp{position:absolute;right:-58px;bottom:48px;width:136px;height:136px;border-radius:50%;background:#f4e4dc;display:grid;place-items:center;box-shadow:0 15px 45px rgba(60,40,40,.08)}.about-stamp svg{position:absolute;width:120px;height:120px;animation:stamp 30s linear infinite}.about-stamp svg text{font-size:10.8px;fill:#9b7579;letter-spacing:1.8px;font-family:var(--sans);font-weight:600}.about-stamp>span{font-size:48px;color:#ad8582}@keyframes stamp{to{transform:rotate(360deg)}}.about-content{padding:10px 0 10px 45px}.about-content h2{margin:31px 0;line-height:1.17}.section-intro{font-size:15px;line-height:2;color:#796e6f;max-width:480px}.about-features{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px;margin:29px 0 30px}.about-features div{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600}.feature-icon{font-size:24px;color:#aa8183}.about-sign{font:italic 29px var(--serif);color:#a6787c;margin-top:35px}.about-sign span{font-family:Arial;font-size:22px}
/* stats */
.numbers-section{background:#f4ebe6;border-block:1px solid #eadbd2;padding:53px 0}.numbers-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);align-items:center}.numbers-intro{display:flex;align-items:center;gap:30px;justify-content:space-between;padding-right:46px}.numbers-intro span{font-size:10px;letter-spacing:.22em;line-height:2.1;font-weight:700;color:#9a7578}.numbers-intro svg{height:46px;width:46px;stroke:#ae8786;stroke-width:1}.number-item{padding-left:52px;min-height:100px;border-left:1px solid #d8c8c1;display:flex;flex-direction:column;justify-content:center}.number-item strong{font:400 68px/1.05 var(--serif);letter-spacing:-.08em;color:#775058}.number-item>span{font-size:11px;letter-spacing:.02em;color:#897477;margin-top:10px}
/* services */
.services{background:#faf8f5}.section-header{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:46px}.section-header h2{margin-bottom:0}.section-header-right{max-width:330px;padding-bottom:6px}.section-header-right p,.gallery-description{font-size:14px;line-height:1.9;color:#887577}.section-header-right .under-link{margin-top:8px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-card{background:white;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s}.service-card:hover{transform:translateY(-9px);box-shadow:0 22px 50px rgba(74,44,49,.09)}.service-image{height:300px;display:block;position:relative;overflow:hidden;background:#eddcd3}.service-image img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease);filter:saturate(.76)}.service-card:hover .service-image img{transform:scale(1.07)}.image-arrow{position:absolute;bottom:20px;right:20px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;transform:translateY(48px);transition:transform .4s var(--ease);font-size:20px;color:var(--plum)}.service-card:hover .image-arrow{transform:translateY(0)}.service-info{padding:29px 30px 24px}.service-kind{font-size:9px;letter-spacing:.16em;color:#af8d88;font-weight:700}.service-info h3{font:400 27px/1.25 var(--serif);letter-spacing:-.035em;margin:13px 0}.service-info p{color:#89797a;font-size:12px;line-height:1.8;min-height:44px;margin-bottom:23px}.service-end{padding-top:19px;border-top:1px solid #f0e7e2;display:flex;align-items:center;justify-content:space-between}.service-end span{font-weight:700;color:#77515b;font-size:13px}.service-end small{font-size:9px;color:#aea0a0;font-weight:400}.service-end a{font-size:22px;color:#89696c;padding:0 2px}.offer-note{text-align:center;color:#9f9390;font-size:10px;margin:29px 0 0}
/* quote */
.quote-section{background:#60404b;color:#fff8f4;position:relative;overflow:hidden;padding:125px 0}.quote-section:before,.quote-section:after{content:'';position:absolute;inset:auto auto -160px -100px;border:1px solid rgba(250,240,230,.18);width:400px;height:400px;border-radius:50%}.quote-section:after{inset:-220px -140px auto auto;width:500px;height:500px}.quote-content{text-align:center;position:relative;z-index:1}.quote-sparkle{font-size:38px;color:#ddbbb7;margin-bottom:20px}.quote-content>span{font-size:10px;letter-spacing:.3em;color:#dbbdb8;font-weight:700}.quote-content blockquote{font:400 clamp(32px,5vw,64px)/1.5 var(--serif);margin:25px auto 35px;letter-spacing:-.05em}.quote-content blockquote em{color:#e9bdbc}.quote-end{display:flex;gap:24px;justify-content:center;align-items:center;font-size:9px;letter-spacing:.2em;font-weight:700;color:#d7bab8}.quote-end .line{width:60px;height:1px;background:#c69ea1}
/* gallery */
.gallery{background:#fffdfa}.gallery-top{margin-bottom:37px}.gallery-description{max-width:350px}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:27px}.filter-btn{border:1px solid #e5d8d5;background:transparent;border-radius:99px;padding:11px 20px;font-size:11px;font-weight:600;color:#7c6f6d;transition:background .3s,color .3s,border-color .3s}.filter-btn:hover,.filter-btn.is-active{background:#6d4850;border-color:#6d4850;color:white}.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;grid-template-rows:290px 290px;gap:15px}.gallery-item{position:relative;padding:0;border:0;overflow:hidden;background:#e8d6cb;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease);filter:saturate(.8)}.gallery-item:hover img{transform:scale(1.085)}.gallery-item-1{grid-column:1;grid-row:1/3}.gallery-item-2{grid-column:2;grid-row:1}.gallery-item-3{grid-column:3;grid-row:1}.gallery-item-4{grid-column:4;grid-row:1/3}.gallery-item-5{grid-column:2;grid-row:2}.gallery-item-6{grid-column:3;grid-row:2}.gallery-item[hidden]{display:none!important}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 19px 18px;display:flex;align-items:center;justify-content:space-between;color:white;font-size:9px;letter-spacing:.1em;font-weight:700;background:linear-gradient(transparent,rgba(33,18,20,.48))}.gallery-overlay b{font-weight:400;font-size:23px}.gallery-bottom{font-size:10px;letter-spacing:.24em;color:#a68b86;text-align:center;margin:34px 0 0;font-weight:700}.gallery-bottom span{font-size:17px;margin:0 22px}
/* reviews */
.reviews{background:#f3e8e2}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.review-heading h2{margin-bottom:23px}.review-heading>p{color:#8c797a;font-size:14px;line-height:1.9;max-width:400px}.review-controls{display:flex;gap:10px;margin-top:26px}.review-controls button{height:49px;width:49px;border:1px solid #cdb1b0;background:transparent;border-radius:50%;font-size:20px;color:var(--plum);transition:background .25s,color .25s}.review-controls button:hover{background:var(--plum);color:#fff}.review-card{background:#fffcf8;padding:53px 49px;min-height:365px;box-shadow:25px 25px 0 rgba(227,203,194,.50);display:flex;flex-direction:column}.review-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.review-card-top span:first-child{color:#aa777b;letter-spacing:.16em}.review-card-top span:last-child{font-size:9px;letter-spacing:.10em;color:#b8aaa6}.review-card-quote{font:400 29px/1.55 var(--serif);letter-spacing:-.035em;margin:44px 0 30px;flex:1;transition:opacity .2s}.review-card-bottom{display:flex;align-items:center;gap:12px}.review-avatar{height:42px;width:42px;background:#edd8d0;color:#8d5b66;display:grid;place-items:center;border-radius:50%;font-family:var(--serif);font-size:22px}.review-card-bottom div:nth-child(2){display:flex;flex-direction:column;gap:3px}.review-card-bottom strong{font-size:12px}.review-card-bottom div:nth-child(2) span{font-size:10px;color:#a08a86}.review-index{margin-left:auto;font-size:11px;color:#967b78}
/* faq */
.faq{background:#fffefa}.faq-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:115px}.faq-lead{max-width:370px;color:#8c797a;font-size:14px;line-height:1.95;margin-bottom:30px}.faq-list{border-top:1px solid #ddd0cc}.faq-list details{border-bottom:1px solid #ddd0cc;padding:0 0}.faq-list summary{list-style:none;font-size:14px;font-weight:600;padding:27px 3px;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{font-size:25px;font-weight:300;color:#a88185;transition:transform .25s}.faq-list details[open] .faq-plus{transform:rotate(45deg)}.faq-list details p{font-size:13px;line-height:1.9;color:#857676;margin:0 15px 24px 2px;max-width:530px}
/* contact */
.contact-section{background:#eddcd6;padding:115px 0 125px;position:relative;overflow:hidden}.contact-section:before{content:'✳';position:absolute;left:-90px;top:-140px;font:400 400px Georgia;line-height:1;color:#e1c3bc;opacity:.4;pointer-events:none}.contact-top{text-align:center;margin-bottom:64px;position:relative}.contact-kicker{font-size:10px;letter-spacing:.24em;font-weight:700;color:#845f66}.contact-top h2{margin:20px auto 23px;max-width:900px}.contact-top p{color:#806b6e;font-size:14px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;background:#fffaf6;box-shadow:0 28px 95px rgba(72,43,47,.06);padding:65px 70px;position:relative}.contact-info{border-right:1px solid #eadad5;padding-right:65px}.contact-info-title{font:400 34px var(--serif);margin-bottom:35px}.contact-details{display:flex;flex-direction:column;gap:29px}.contact-small{font-size:9px;letter-spacing:.20em;font-weight:700;color:#a67e80}.contact-details p{font-size:14px;line-height:1.75;margin:8px 0;color:#4a3b3e}.contact-details a{display:inline-block;border-bottom:1px solid #ae8d8e;font-size:12px;padding-bottom:5px;font-weight:600}.contact-hint{font-size:9px;color:#a08c8e;display:block;margin-top:10px}.contact-socials{display:flex;gap:14px;margin-top:38px}.contact-socials a{border:1px solid #dfcdc9;padding:10px 13px;font-size:10px;font-weight:700;transition:background .2s}.contact-socials a:hover{background:#eaddd8}.contact-form-kicker{font-size:9px;letter-spacing:.22em;color:#a58083;font-weight:700}.contact-form-wrap h3{font:400 41px/1.25 var(--serif);margin:12px 0 27px}.contact-form-wrap label{display:block;font-size:11px;font-weight:700;color:#685457;margin-bottom:16px}.contact-form-wrap label>span{color:#a75b6a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select{background:#fffdf9;display:block;width:100%;border:1px solid #e5d5d0;border-radius:0;outline:none;padding:15px 14px;margin-top:9px;font-size:12px;color:#544449;min-height:49px;appearance:none;transition:border-color .2s}.contact-form-wrap select{background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23846d70" stroke-width="2"%3E%3Cpath d="m6 9 6 6 6-6"/%3E%3C/svg%3E');background-position:right 14px center;background-repeat:no-repeat}.contact-form-wrap textarea{resize:vertical;min-height:95px}.contact-form-wrap input:focus,.contact-form-wrap textarea:focus,.contact-form-wrap select:focus{border-color:#9a7178;outline:none}.contact-form-wrap input::placeholder,.contact-form-wrap textarea::placeholder{color:#b3a4a0}.contact-submit{width:100%;margin-top:5px}.form-note{font-size:10px;line-height:1.65;margin-top:15px;color:#9b8784}
/* footer */
.footer{background:#34292d;color:#f7ede6;padding:57px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:47px;border-bottom:1px solid rgba(255,255,255,.16)}.footer-brand{display:flex;flex-direction:column;font:400 39px var(--serif);letter-spacing:-.055em}.footer-brand em{color:#d4a9a9}.footer-brand small{font:600 9px var(--sans);letter-spacing:.23em;margin-top:8px;color:#bda8a4}.footer-links{display:flex;gap:24px}.footer-links a{font-size:11px;color:#ebded8;transition:color .2s}.footer-links a:hover{color:white}.footer-to-top{width:45px;height:45px;border:1px solid #947b7d;border-radius:50%;display:grid;place-items:center;font-size:21px;transition:background .2s}.footer-to-top:hover{background:#704c55}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:24px;font-size:10px;color:#baa6a2}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
/* gallery lightbox */
.lightbox{position:fixed;max-width:none;max-height:none;margin:0;width:100vw;height:100dvh;inset:0;border:0;background:rgba(30,20,24,.96);padding:60px 9%;color:#fff;overflow:hidden}.lightbox::backdrop{background:rgba(30,20,24,.96)}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;max-width:min(920px,calc(100vw - 210px));max-height:100%}.lightbox figure img{max-height:calc(100dvh - 145px);max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 15px 90px rgba(0,0,0,.22)}.lightbox figcaption{display:flex;justify-content:space-between;width:100%;max-width:800px;font-size:11px;margin-top:20px;letter-spacing:.09em;color:#e4c9c6}.lightbox-close{position:absolute;right:30px;top:23px;width:46px;height:46px;background:transparent;border:1px solid #886a6f;color:white;border-radius:50%;font-size:32px;font-weight:200;line-height:1}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid #8c6f73;border-radius:50%;background:transparent;color:white;font-size:24px}.lightbox-prev{left:26px}.lightbox-next{right:26px}
/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .95s var(--ease),transform .95s var(--ease)}.reveal.in-view{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.delay-3{transition-delay:.32s}
@media (max-width:1190px){.container{width:min(calc(100% - 62px),var(--container))}.desktop-nav{gap:19px}.hero-copy h1{font-size:clamp(62px,6.6vw,83px)}.hero-photo-wrap{height:605px}.hero-copy{padding-top:110px}.about-grid{gap:45px}.about-content{padding-left:15px}.review-grid{gap:55px}.faq-grid{gap:55px}.contact-grid{gap:45px;padding:50px}.contact-info{padding-right:42px}}
@media (max-width:960px){.desktop-nav{display:none}.menu-button{display:flex;margin-left:18px}.mobile-nav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#faf7f3;padding:16px 34px 27px;border-bottom:1px solid #eadad3;box-shadow:0 20px 30px rgba(55,33,33,.08);opacity:0;pointer-events:none;transform:translateY(-8px);transition:opacity .2s,transform .2s}.mobile-nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a{padding:13px 0;border-bottom:1px solid #ede1dd;font:500 18px var(--serif)}.hero-grid{grid-template-columns:56% 44%}.hero-photo-wrap{height:560px;width:100%;margin-bottom:44px}.hero-visual{min-height:675px}.hero-grid{min-height:675px}.hero{min-height:675px}.hero-copy{padding-top:90px}.hero-copy h1{font-size:clamp(54px,6.7vw,76px)}.hero-lead{font-size:14px}.hero-ctas{gap:17px}.button{gap:14px;padding:14px 22px}.floating-note{padding:14px 19px;left:-30px;bottom:105px}.side-vertical{display:none}.hero-bottom{padding-bottom:40px}.numbers-grid{grid-template-columns:repeat(3,1fr)}.numbers-intro{display:none}.number-item:first-of-type{border-left:0}.number-item{padding-left:38px}.services-grid{gap:16px}.service-image{height:235px}.service-info{padding:22px}.service-info h3{font-size:22px}.service-info p{font-size:11px}.gallery-grid{grid-template-rows:230px 230px}.contact-top h2{font-size:58px}}
@media (max-width:700px){.container{width:calc(100% - 40px)}.demo-banner{font-size:8px;letter-spacing:.07em;padding:8px 8px}.demo-banner .tiny-star{display:none}.nav{height:75px}.brand-icon,.brand-icon svg{width:39px;height:39px}.brand-name{font-size:25px}.brand-caption{font-size:7px;letter-spacing:.19em}.nav-book{font-size:0;padding:0;display:grid;place-items:center;width:42px;height:42px}.nav-book span{font-size:20px}.menu-button{margin-left:8px}.section{padding:86px 0}.section h2{font-size:clamp(43px,10vw,59px)}.hero{min-height:0}.hero-grid{display:flex;flex-direction:column;min-height:0}.hero-copy{padding-top:76px;align-items:flex-start}.hero-copy h1{font-size:clamp(51px,11.2vw,82px);line-height:1.15;margin:26px 0 20px;letter-spacing:-.07em}.hero-lead{font-size:14px;line-height:1.85;max-width:90%}.hero-ctas{margin-top:21px;flex-wrap:wrap;gap:20px}.hero-bottom{display:none}.hero-visual{min-height:0;height:510px;margin-top:40px}.hero-photo-wrap{height:485px;width:min(75%,350px);margin-bottom:10px;max-width:none}.hero-visual-shape{height:520px;bottom:-200px;right:-20%;width:130%}.floating-note{left:3%;bottom:78px;transform:rotate(-7deg)}.floating-note-icon{font-size:30px}.floating-note>span:last-child{font-size:13px}.hero-number{right:4%;bottom:25px}.hero-corner-shape{display:none}.ticker{padding:17px 0}.ticker span{font-size:9px}.ticker b{margin:0 20px}.about-grid{grid-template-columns:1fr;gap:25px}.about-photo-stage{height:480px;width:min(100% - 35px,405px);margin:auto;padding:16px 20px 15px 15px}.about-photo-back{bottom:28px}.about-stamp{right:-30px;bottom:20px;width:105px;height:105px}.about-stamp svg{width:98px;height:98px}.about-stamp>span{font-size:38px}.about-content{padding:15px 0 0}.about-content h2{margin:25px 0}.section-intro{font-size:14px}.numbers-section{padding:30px 0}.numbers-grid{grid-template-columns:repeat(3,1fr)}.number-item{padding-left:13px;min-height:70px}.number-item:first-of-type{padding-left:0}.number-item strong{font-size:42px}.number-item>span{font-size:9px;line-height:1.5}.section-header{display:block;margin-bottom:30px}.section-header-right{max-width:100%;margin-top:18px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-image{height:220px}.service-info{padding:17px 15px}.service-kind{font-size:8px;letter-spacing:.07em}.service-info h3{font-size:21px;min-height:51px}.service-info p{font-size:11px;min-height:76px}.service-end span{font-size:11px}.service-end small{display:block;margin-top:5px;font-size:8px}.quote-section{padding:95px 0}.quote-content blockquote{font-size:clamp(29px,7.7vw,43px)}.quote-end{font-size:7px}.gallery-description{max-width:100%;margin-top:18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,220px);gap:10px}.gallery-item-1,.gallery-item-2,.gallery-item-3,.gallery-item-4,.gallery-item-5,.gallery-item-6{grid-column:auto;grid-row:auto}.gallery-overlay{font-size:8px;padding:15px 10px}.gallery-bottom{font-size:8px;letter-spacing:.11em}.gallery-bottom span{margin:0 9px}.review-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.review-card{padding:32px 27px;min-height:280px;box-shadow:12px 12px 0 rgba(227,203,194,.5)}.review-card-quote{font-size:26px;margin:25px 0}.faq-list summary{font-size:13px;padding:23px 0}.contact-section{padding:84px 0}.contact-top h2{font-size:clamp(41px,8.8vw,61px)}.contact-top{margin-bottom:35px}.contact-grid{grid-template-columns:1fr;gap:40px;padding:32px 23px}.contact-info{border-right:none;border-bottom:1px solid #eadad5;padding:0 0 40px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-details div:first-child{grid-column:1 / -1}.contact-info-title{font-size:30px}.contact-form-wrap h3{font-size:37px}.form-row{grid-template-columns:1fr}.footer-top{flex-wrap:wrap;row-gap:25px}.footer-links{order:3;flex-wrap:wrap;gap:15px;width:100%}.footer-bottom{align-items:flex-start;flex-direction:column;line-height:1.5}.lightbox{padding:60px 10px}.lightbox figure{max-width:calc(100vw - 104px)}.lightbox figure img{max-height:calc(100dvh - 115px)}.lightbox-arrow{width:37px;height:37px;font-size:18px}.lightbox-prev{left:7px}.lightbox-next{right:7px}.lightbox-close{right:12px;top:12px}}
@media (max-width:390px){.container{width:calc(100% - 30px)}.hero-copy h1{font-size:49px}.hero-ctas{gap:14px}.button{padding-inline:19px}.text-link{font-size:11px}.hero-visual{height:440px}.hero-photo-wrap{height:418px}.floating-note{left:-5px}.service-image{height:185px}.service-info h3{font-size:19px}.service-info p{min-height:95px}.service-info{padding:13px}.contact-details{grid-template-columns:1fr}.contact-details div:first-child{grid-column:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Reflow gallery after category selection: no empty columns */
.gallery-grid.is-filtered{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:360px}.gallery-grid.is-filtered .gallery-item{grid-column:auto;grid-row:auto}@media(max-width:700px){.gallery-grid.is-filtered{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px}}@media(max-width:390px){.gallery-grid.is-filtered{grid-auto-rows:190px}}
