:root{--ink:#33242a;--dark:#37242a;--darkest:#271b20;--rose:#6e4147;--paper:#f7f2eb;--ivory:#fdfaf5;--cream:#ede5da;--warm:#e5d8c9;--gold:#b89770;--gold-light:#d2b992;--muted:#7c706d;--line:#dfd3c7;--font-body:'DM Sans','Manrope',Arial,sans-serif;--font-display:'Playfair Display',Georgia,serif;--wrap:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--ivory);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}svg.i{width:19px;height:19px;display:inline-block;vertical-align:middle}h1,h2,h3,p,blockquote{margin-top:0}h1,h2,h3,blockquote{font-family:var(--font-display);font-weight:400}h2{font-size:clamp(42px,4.6vw,72px);line-height:1.13;letter-spacing:-2px;margin-bottom:0}h2 em,h1 em,blockquote em{font-weight:400;color:var(--rose)}p{line-height:1.82}.wrap{width:min(calc(100% - 104px),var(--wrap));margin:0 auto}.section{padding:118px 0}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2.3px;font-weight:700;color:#907051;text-transform:uppercase}.eyebrow .line{height:1px;width:29px;background:currentColor;display:inline-block}.eyebrow .dot{width:3px;height:3px;border-radius:50%;background:currentColor}.eyebrow-gold{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:18px 26px;text-transform:uppercase;letter-spacing:1.1px;font-weight:700;font-size:11px;white-space:nowrap;border:1px solid transparent;transition:background .25s,transform .25s,color .25s,box-shadow .25s;min-height:55px}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--dark);color:#fff}.button-dark:hover{background:#58373d;box-shadow:0 12px 24px #37242a1e}.button-light{background:#ead8c3;color:#342227}.button-light:hover{background:#fff}.button-small{min-height:42px;padding:13px 18px;font-size:10px;gap:21px}.text-link{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding-bottom:8px;font-size:11px;letter-spacing:.55px;font-weight:700;transition:gap .2s;color:var(--dark)}.text-link:hover{gap:21px}.text-link .i{width:19px}.skip-link{position:absolute;left:20px;top:-60px;z-index:999;background:#fff;color:#000;padding:12px}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ce965a;outline-offset:4px}::selection{color:#fff;background:#9c6d64}
/* Slim demo indicator prevents this unsolicited concept being mistaken for an official site */
.preview-ribbon{height:29px;background:var(--darkest);color:#decbb4;display:flex;justify-content:center;align-items:center;gap:13px;font-size:9px;letter-spacing:1.6px;text-align:center}.ribbon-dot{width:5px;height:5px;background:#c79b70;border-radius:100%}.preview-ribbon-sep{opacity:.6}.site-header{height:86px;z-index:90;position:sticky;top:0;background:rgba(253,250,245,.96);border-bottom:1px solid rgba(62,36,31,.08);backdrop-filter:blur(18px);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 6px 24px #2b191514}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;flex-direction:column;line-height:1;min-width:166px}.brand-word{font-family:var(--font-display);font-weight:500;font-size:41px;letter-spacing:-3.5px}.brand-flower{font-size:11px;color:var(--gold);vertical-align:top;margin-left:7px;letter-spacing:0}.brand-caption{font-size:8px;letter-spacing:2.05px;font-weight:700;margin-left:2px}.brand-amp{color:var(--gold)}.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}.desktop-nav a{font-size:11px;letter-spacing:.2px;color:#5d5350;transition:color .2s}.desktop-nav a:hover{color:#9c6c59}.nav-actions{display:flex;align-items:center;gap:24px}.nav-social{display:inline-flex}.nav-social:hover{color:var(--rose)}.menu-toggle,.mobile-nav{display:none}
/* HERO */
.hero{background:var(--paper);overflow:hidden}.hero-main{min-height:670px;display:grid;grid-template-columns:49% 51%;align-items:stretch}.hero-content{padding:93px 32px 56px 18px;display:flex;align-items:flex-start;flex-direction:column;position:relative;z-index:1}.hero h1{font-size:clamp(66px,7.1vw,106px);letter-spacing:-5.5px;line-height:1.04;margin:31px 0 26px}.hero h1 em{font-style:italic;color:#986d6f}.hero-lede{font-size:14px;line-height:2.0;color:#726865;max-width:440px;margin-bottom:34px}.hero-lede strong{font-weight:600;color:var(--ink)}.hero-buttons{display:flex;align-items:center;gap:29px;flex-wrap:wrap}.hero-footnote{display:flex;gap:15px;margin-top:auto;padding-top:42px;align-items:flex-start;color:#6d5b55;font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.85}.hero-footnote small{font-size:11px;letter-spacing:0;font-weight:400;color:#93847c}.hero-footnote-icon{font-size:26px;color:#ad8a60;line-height:1.1}.hero-media{position:relative;min-height:670px;display:flex;align-items:center;justify-content:center}.hero-media-bg{position:absolute;top:0;bottom:0;left:8%;right:-200vw;background:#e9ded1}.hero-image-frame{position:absolute;inset:28px 8% 37px 16%;box-shadow:15px 15px 0 #d7c8b6;overflow:hidden;background:#8a6c62}.hero-image-frame img{object-position:center 37%;filter:saturate(.88) contrast(1.03);transition:transform 1.4s ease}.hero-image-frame:hover img{transform:scale(1.035)}.hero-image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,12,10,.22),transparent 40%);pointer-events:none}.hero-vertical{position:absolute;left:4.3%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:3px;color:#685951;font-weight:700}.hero-stamp{position:absolute;left:5%;top:38px;width:124px;height:124px;border-radius:50%;background:#fcf5eb;border:1px solid #d9bca0;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-13deg);box-shadow:0 8px 28px #3c201b1f;color:#7b554d;z-index:1}.stamp-top,.stamp-bottom{font-size:7px;letter-spacing:1.05px}.stamp-star{font-size:35px;color:#b39165}.hero-image-tag{position:absolute;bottom:36px;left:16%;right:8%;height:44px;background:rgba(41,29,28,.8);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 25px;font-size:10px;letter-spacing:1.9px;font-weight:700}.hero-ticker{background:#e4d6c5;overflow:hidden;border-block:1px solid #d6c4ad}.ticker-inner{display:flex;justify-content:space-around;gap:24px;align-items:center;white-space:nowrap;height:64px;width:max(100%,1280px);margin:auto;color:#66504a}.ticker-inner span{font-size:10px;letter-spacing:2px;font-weight:700}.ticker-inner b{color:#a17b59;font-weight:400;font-size:18px}
/* SECTIONS */
.section-heading{margin-bottom:49px}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:90px}.section-heading h2{margin-top:25px}.split-heading>p{font-size:14px;color:#716761;max-width:305px;line-height:1.9;margin:0 0 11px}.services-section{background:var(--ivory)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service-card{background:#f3ece4;position:relative;overflow:hidden}.service-image{height:350px;position:relative;overflow:hidden;background:#dfc9b5}.service-image img{transition:transform .75s;object-position:center 30%;filter:saturate(.83)}.service-card:hover .service-image img{transform:scale(1.055)}.service-number{position:absolute;top:18px;left:18px;color:white;background:#37252b90;border:1px solid #ffffff6f;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:10px;letter-spacing:1px}.service-body{padding:31px 34px 38px;min-height:235px;position:relative}.service-cat{font-size:9px;font-weight:700;letter-spacing:2.0px;color:#a18063}.service-body h3{font-size:33px;letter-spacing:-1px;margin:10px 0}.service-body p{font-size:12px;color:#7a6a67;max-width:265px;line-height:1.8;margin-bottom:0}.circle-arrow{position:absolute;right:23px;bottom:28px;border:1px solid #b8a698;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:17px;transition:background .2s,color .2s}.circle-arrow:hover{background:var(--dark);color:white}.services-note{margin-top:25px;font-size:11px;color:#84756b;letter-spacing:.25px;display:flex;align-items:center;gap:8px}.services-note span{color:var(--gold);font-size:16px}.services-note a{text-decoration:underline;text-underline-offset:4px;color:#5c4543}
/* ABOUT */
.about-section{background:#eee5dc;overflow:hidden}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:6%;align-items:center}.about-visual{height:610px;position:relative}.about-image-main{position:absolute;inset:0 19% 15% 3%;background:#a18676}.about-image-main img{object-position:center 29%;filter:saturate(.79)}.about-panel{position:absolute;bottom:7%;right:9%;background:#f9f3eb;border:1px solid #e4d8c7;box-shadow:0 12px 45px #3c231021;min-width:265px;display:flex;align-items:center;gap:18px;padding:20px 22px}.about-panel-big{font-family:var(--font-display);font-size:58px;line-height:1;color:#865f4e;letter-spacing:-4px}.about-panel-big span{font-size:29px;vertical-align:top}.about-panel>span:last-child{font-size:11px;font-weight:700;letter-spacing:.6px;line-height:1.7}.about-panel small{font-size:9px;letter-spacing:0;color:#a39288;font-weight:400}.about-vertical{position:absolute;right:0;top:50px;writing-mode:vertical-rl;font-size:9px;font-weight:700;letter-spacing:2px;color:#8b7365}.about-copy{padding-right:8%;max-width:530px}.about-copy h2{font-size:clamp(44px,4.1vw,65px);margin:26px 0 31px}.mini-divider{height:1px;width:77px;background:#b58f70;margin-bottom:24px}.about-copy p{font-size:13px;color:#776962;margin-bottom:18px;line-height:2}.about-copy .lead{font-family:var(--font-display);font-size:21px;color:#4b3839;line-height:1.55}.about-copy .text-link{margin-top:14px}.about-small-label{font-size:10px;color:#a28b80;border-top:1px solid #d6c7b8;margin-top:28px;padding-top:18px}.quote-break{text-align:center;background:#faf7f2;padding:96px 0 98px}.quote-ornament{font-size:36px;color:#ad865f}.quote-break blockquote{font-size:clamp(34px,4vw,59px);line-height:1.42;letter-spacing:-1.6px;margin:15px 0 29px}.quote-attribution{font-size:10px;color:#a38b80;letter-spacing:2.1px;font-weight:700}
/* GALLERY */
.gallery-section{background:#fffdf9}.gallery-head{display:flex;align-items:end;justify-content:space-between;gap:65px}.gallery-intro{max-width:345px}.gallery-intro p{font-size:13px;color:#736860}.gallery-intro .text-link{margin-top:13px}.gallery-filters{display:flex;align-items:center;justify-content:center;gap:30px;margin:10px 0 32px}.filter{border:0;background:transparent;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;color:#978984;padding:10px 1px;border-bottom:1px solid transparent}.filter.active{color:#36252b;border-color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:310px 310px;gap:16px}.gallery-item{border:0;background:#ddd0c5;min-width:0;padding:0;overflow:hidden;position:relative;text-align:left}.gallery-item[hidden]{display:none}.gallery-item img{transition:transform .65s;filter:saturate(.87);object-position:center 25%}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.055)}.gallery-item:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#2316159c);pointer-events:none}.gallery-caption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:0 22px 20px;color:#fff;font-size:10px;font-weight:700;letter-spacing:1.4px;display:flex;justify-content:space-between;align-items:center}.gallery-caption i{font-style:normal;font-size:20px}.imagery-disclaimer{margin:28px auto 0;max-width:780px;text-align:center;color:#91837d;font-size:10px;line-height:1.9}.imagery-disclaimer a{text-decoration:underline}
/* ACADEMY */
.academy-section{background:var(--dark);color:#f9efe3;overflow:hidden}.academy-grid{display:grid;grid-template-columns:54% 46%;min-height:665px}.academy-copy{padding:105px 70px 92px 0}.academy-overline{display:block;color:#c8b4a6;letter-spacing:2px;font-size:10px;margin:30px 0 8px}.academy-copy h2{font-size:clamp(49px,5vw,78px);line-height:1.12;letter-spacing:-3px;margin:0 0 28px}.academy-copy h2 em{color:#d9b499}.academy-copy>p{max-width:465px;font-size:13px;line-height:1.95;color:#d2c2bc}.academy-features{display:grid;grid-template-columns:1fr;gap:0;max-width:460px;margin:29px 0 35px;border-top:1px solid #ffffff34}.academy-features span{padding:12px 0;font-size:12px;letter-spacing:.25px;border-bottom:1px solid #ffffff34}.academy-features b{font-size:10px;letter-spacing:1.5px;font-weight:500;color:#c7a783;margin-right:19px}.academy-note{font-size:10px!important;color:#b6a5a0!important;margin-top:20px;line-height:1.7!important}.academy-visual{min-height:665px;position:relative}.academy-photo{position:absolute;top:0;bottom:0;left:5%;right:-500px;background:#9b7467}.academy-photo img{height:100%;width:calc(100% - 500px);object-position:center 25%;filter:saturate(.72)}.academy-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#37242a1c 0%,transparent 55%);pointer-events:none}.academy-decor{position:absolute;bottom:45px;left:-23px;color:#f6e8d9;line-height:1.1;font-family:var(--font-display);font-size:clamp(42px,5vw,76px);text-shadow:0 6px 20px #281b1994}.academy-decor i{font-style:italic;color:#e5c09c}
/* STEPS */
.steps-section{background:#f3e9dd}.centered{text-align:center;max-width:610px;margin:0 auto 65px}.centered .eyebrow{justify-content:center}.centered h2{margin:20px 0}.centered p{color:#86746c;font-size:13px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px}.step{border-top:1px solid #d0bfae;padding:26px 8px 0}.step-no{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#ad8965;letter-spacing:2px}.step-no span{font-size:27px}.step h3{font-size:27px;margin:26px 0 10px}.step p{font-size:12px;color:#806f69;max-width:300px;line-height:1.9}
/* ENQUIRY */
.enquiry-section{background:var(--darkest);color:#fdf7ee;padding:108px 0;overflow:hidden}.enquiry-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:4%;align-items:center}.enquiry-left{position:relative;min-height:540px}.enquiry-left h2{font-size:clamp(50px,5.1vw,79px);margin:29px 0;line-height:1.16;letter-spacing:-3px}.enquiry-left h2 em{color:#d3ae9e}.enquiry-left>p{font-size:13px;color:#c0b0ac;max-width:410px;margin-bottom:47px}.enquiry-contact{margin:0 0 28px;position:relative;z-index:2}.enquiry-contact>span{display:block;font-size:10px;letter-spacing:1.6px;color:#baa08c;margin-bottom:12px}.enquiry-contact a{font-family:var(--font-display);font-size:25px}.enquiry-contact a .i{margin-left:10px;width:17px}.enquiry-contact p{font-size:12px;color:#dfd0c8;line-height:1.9}.enquiry-watermark{position:absolute;font-family:var(--font-display);font-size:370px;bottom:-170px;left:-80px;line-height:1;color:#ffffff09;pointer-events:none}.enquiry-card{background:#f7f2ec;color:var(--ink);padding:40px 43px 42px;box-shadow:0 22px 40px #00000015}.form-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;border-bottom:1px solid #d9cfc5;padding-bottom:25px}.form-label-top{font-size:9px;font-weight:700;letter-spacing:2px;color:#a18470}.form-top h3{font-size:30px;margin:10px 0 0}.form-top>span{font-size:30px;color:#b18c69}.field{display:flex;flex-direction:column;min-width:0;margin-bottom:17px;flex:1}.form-row{display:flex;gap:18px}.field label{font-size:11px;color:#615250;margin-bottom:10px;font-weight:700}.field label span{color:#b3756f}.field label small{font-weight:400;color:#a89a90}.field input,.field select,.field textarea{width:100%;height:46px;border:1px solid #d8ccc1;border-radius:0;background:#fffdf9;padding:12px 13px;color:#3d2c32;transition:border-color .2s;font-size:12px;min-width:0}.field textarea{height:auto;min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#ad8a61;outline:2px solid #bfa78340;outline-offset:0}.field input::placeholder,.field textarea::placeholder{color:#a49891}.form-submit{width:100%;margin-top:7px;justify-content:space-between}.form-submit .i{width:21px}.form-privacy{font-size:10px;line-height:1.7;color:#92837b;margin:15px 0 0}.form-privacy strong{font-weight:700}.form-error{color:#9d3434!important}.form-retry{display:inline-block;margin-top:11px;font-size:11px;color:#743f42;text-decoration:underline;text-underline-offset:4px}
/* VISIT & FAQ */
.visit-section{background:var(--ivory)}.visit-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:35px;align-items:center}.visit-grid h2{margin:25px 0}.visit-grid p{font-size:13px;color:#7d6f68;max-width:420px}.visit-facts{margin:34px 0}.visit-facts>div{display:flex;gap:26px;align-items:start;padding:15px 0;border-bottom:1px solid #e7dbcf}.visit-facts span{min-width:170px;font-size:9px;letter-spacing:1px;font-weight:700;color:#aa8b70}.visit-facts strong{font-size:11px;line-height:1.7;font-weight:500}.visit-actions{display:flex;align-items:center;gap:30px}.visit-art{height:530px;background:#e5d9cc;margin-left:35px;padding:24px;position:relative}.visit-art:before{content:'';position:absolute;left:-30px;top:-30px;right:24px;bottom:24px;border:1px solid #bc9f83;pointer-events:none}.visit-art-inner{height:100%;background:#3c282b;color:#ead8c5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.visit-small,.visit-coords{font-size:9px;letter-spacing:2.2px}.visit-small{position:absolute;top:33px}.visit-coords{position:absolute;bottom:36px}.visit-monogram{font-family:var(--font-display);font-size:170px;line-height:1;color:#ddc4a4;position:relative}.visit-monogram>span{position:absolute;font-family:serif;font-size:28px;color:#c8a06e;right:-12px;top:15px}.visit-line{height:1px;width:100px;background:#b69876;margin:8px 0 23px}.visit-art p{font-family:var(--font-display);font-size:25px;line-height:1.5;color:#efddce}.faq-section{background:#f1e8de;border-top:1px solid #e4d9ca}.faq-grid{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:6%}.faq-heading h2{margin:26px 0}.faq-heading p{font-size:12px;color:#88776f;max-width:330px}.faq-list{padding-right:9%}.faq-list details{border-bottom:1px solid #d6c8b9}.faq-list summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;font-size:13px;font-weight:700;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:26px;line-height:1;font-weight:400;color:#9c7758;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0 0 19px;color:#76685f;font-size:12px;max-width:500px;line-height:1.9}
/* FOOTER */
.site-footer{background:var(--dark);color:#e6d8cd;padding:67px 0 27px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:43px;border-bottom:1px solid #ffffff2a}.footer-brand{display:flex;flex-direction:column}.footer-word{font-family:var(--font-display);font-size:66px;line-height:.95;letter-spacing:-6px;color:#f3e4d1}.footer-word span{font-size:14px;color:#c3a17a;vertical-align:top;letter-spacing:0;margin-left:6px}.footer-brand>span:last-child{font-size:8px;letter-spacing:2.6px;margin-top:12px}.footer-top p{font-family:var(--font-display);font-size:20px;line-height:1.6;margin:0;color:#d9c9bf}.footer-social{display:flex;align-items:center;gap:15px}.footer-social a{border:1px solid #ffffff48;display:grid;place-items:center;width:41px;height:41px;border-radius:50%;transition:background .2s}.footer-social a:hover{background:#ffffff24}.footer-links{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;padding:33px 0}.footer-links a{font-size:11px;color:#dfd1c8}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #ffffff22;padding-top:27px;display:flex;justify-content:space-between;gap:22px;color:#b9a8a0;font-size:10px;line-height:1.7}.footer-bottom strong{color:#f2e4d1}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}.floating-whatsapp{position:fixed;z-index:75;bottom:26px;right:27px;background:#2d7b53;color:white;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;box-shadow:0 5px 20px #1e4b373a;font-size:11px;font-weight:700;transition:transform .2s}.floating-whatsapp:hover{transform:translateY(-4px)}.floating-whatsapp .i{width:23px;height:23px}
/* MODAL */
.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:999;inset:0;background:rgba(24,16,20,.95);display:flex;align-items:center;justify-content:center;gap:20px;padding:50px}.lightbox-frame{height:min(75vh,820px);width:min(82vw,720px);display:flex;align-items:center;flex-direction:column;justify-content:center}.lightbox-frame img{max-height:calc(100% - 85px);width:100%;object-fit:contain}.lightbox-frame p{font-family:var(--font-display);color:#fff;font-size:24px;margin:15px 0 3px;text-align:center}.lightbox-frame>span{font-size:9px;letter-spacing:1.2px;color:#c3b1a9;text-align:center}.lightbox button{background:none;color:white;border:1px solid #fff7;display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;font-size:25px}.lightbox-close{position:absolute;right:30px;top:27px}.lightbox button:hover{background:#ffffff29}
/* RESPONSIVE */
@media(max-width:1180px){.wrap{width:min(calc(100% - 70px),var(--wrap))}.desktop-nav{gap:18px}.nav-actions{gap:14px}.hero h1{font-size:clamp(62px,7vw,85px)}.hero-main,.hero-media{min-height:630px}.hero-content{padding-top:78px}.about-grid{gap:5%}.enquiry-card{padding:36px 30px}.visit-facts span{min-width:145px}.services-grid{gap:18px}.service-body{padding:27px}.service-body h3{font-size:29px}}
@media(max-width:1023px){.desktop-nav,.nav-social{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:43px;height:43px;border:1px solid var(--line);background:transparent}.menu-toggle span{width:20px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;padding:20px 35px 32px;background:#fffbf6;box-shadow:0 14px 30px #25141a1b}.mobile-nav a{display:block;border-bottom:1px solid #e5d9cd;padding:13px 3px;font-size:13px}.mobile-nav .mobile-cta{font-weight:700;color:#8c594d}.hero-main{grid-template-columns:51% 49%}.hero h1{font-size:clamp(52px,6.8vw,75px);letter-spacing:-3px}.hero-buttons{gap:20px}.hero-buttons .button{gap:15px;padding:17px}.hero-image-frame{left:13%;right:3%}.hero-vertical{left:1%}.hero-image-tag{left:13%;right:3%}.hero-stamp{left:0}.section{padding:90px 0}.about-visual{height:535px}.about-copy h2{font-size:45px}.about-panel{min-width:230px;right:0}.about-panel-big{font-size:48px}.academy-copy{padding-right:25px}.visit-art{height:460px}.visit-facts>div{flex-wrap:wrap;gap:6px}.visit-facts span{min-width:100%;display:block}.enquiry-grid{gap:3%}}
@media(max-width:767px){html{scroll-padding-top:90px}.preview-ribbon{font-size:7px;letter-spacing:.7px;height:30px;gap:6px;padding:0 6px}.preview-ribbon-sep{display:none}.site-header{height:75px}.wrap{width:calc(100% - 40px)}.brand-word{font-size:36px}.brand-caption{font-size:7px;letter-spacing:1.6px}.nav-actions{gap:11px}.nav-book{display:none}.hero-main{display:flex;flex-direction:column}.hero-content{padding:60px 2px 41px;min-height:525px}.hero h1{font-size:clamp(57px,12vw,77px);margin:28px 0 22px}.hero-lede{font-size:13px;max-width:420px;line-height:1.85;margin-bottom:28px}.hero-buttons{gap:23px}.hero-footnote{padding-top:35px}.hero-media{height:520px;min-height:520px;margin-inline:-20px}.hero-media-bg{left:0}.hero-image-frame{inset:16px 8% 28px 10%;box-shadow:12px 12px 0 #d4c3b1}.hero-image-tag{left:10%;right:8%;bottom:28px}.hero-stamp{left:2%;top:14px;width:102px;height:102px}.stamp-top,.stamp-bottom{font-size:6px}.hero-vertical{left:3%}.ticker-inner{height:57px;width:max-content;padding:0 22px;gap:26px}.ticker-inner span{font-size:9px}.section{padding:78px 0}.section-heading h2,h2{font-size:clamp(42px,9vw,57px);letter-spacing:-1.8px}.split-heading,.gallery-head{display:block}.split-heading>p,.gallery-intro{max-width:500px;margin-top:24px}.services-grid{grid-template-columns:1fr;gap:18px}.service-image{height:400px}.service-body{min-height:190px;padding:25px 28px 29px}.service-body h3{font-size:33px}.service-body p{max-width:350px}.services-note{line-height:1.6;flex-wrap:wrap}.about-grid{display:block}.about-visual{height:500px;margin-bottom:30px}.about-image-main{inset:0 18% 15% 0}.about-panel{bottom:5%;right:3%}.about-copy{padding:20px 0 0}.about-copy h2{font-size:clamp(44px,9vw,62px)}.quote-break{padding:74px 0}.quote-break blockquote{font-size:clamp(32px,7vw,47px)}.gallery-intro{max-width:500px}.gallery-filters{justify-content:flex-start;overflow-x:auto;gap:22px;white-space:nowrap;padding-bottom:3px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:10px}.gallery-item{height:275px}.gallery-item.tall{height:350px}.gallery-caption{padding:0 12px 13px;font-size:8px;letter-spacing:.6px}.imagery-disclaimer{text-align:left}.academy-grid{display:flex;flex-direction:column}.academy-copy{padding:75px 0 60px}.academy-copy h2{font-size:clamp(50px,9vw,74px)}.academy-visual{min-height:470px;margin-inline:-20px}.academy-photo{left:0;right:0}.academy-photo img{width:100%}.academy-decor{left:25px;font-size:57px}.steps-grid{grid-template-columns:1fr;gap:26px}.centered{margin-bottom:42px}.step{padding-top:17px}.step h3{margin-top:15px}.step p{max-width:600px}.enquiry-section{padding:77px 0}.enquiry-grid{display:block}.enquiry-left{min-height:auto;margin-bottom:40px}.enquiry-left h2{font-size:clamp(52px,10vw,75px)}.enquiry-card{padding:28px 23px}.visit-grid,.faq-grid{display:block}.visit-grid>div:first-child{margin-bottom:60px}.visit-art{height:430px;margin-left:25px}.faq-list{padding-right:0}.faq-heading{margin-bottom:28px}.footer-top{display:block;text-align:center}.footer-brand{align-items:center;margin-bottom:25px}.footer-top p{margin-bottom:22px}.footer-social{justify-content:center}.footer-links{gap:19px}.footer-bottom{display:block;text-align:center}.footer-bottom>span{display:block;margin-bottom:9px}.floating-whatsapp{right:16px;bottom:16px;padding:13px 16px}.lightbox{padding:50px 12px;gap:3px}.lightbox-frame{width:calc(100vw - 120px);height:75vh}.lightbox button{width:36px;height:36px;flex-basis:36px}.lightbox-frame p{font-size:16px}.lightbox-frame>span{font-size:7px}}
@media(max-width:420px){.wrap{width:calc(100% - 32px)}.preview-ribbon{font-size:6.1px;letter-spacing:.55px}.hero h1{font-size:clamp(54px,13vw,65px)}.hero-content{padding-top:48px;min-height:530px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:24px}.hero-media{margin-inline:-16px;height:465px;min-height:465px}.hero-image-frame{inset:10px 9% 30px 11%}.hero-stamp{width:87px;height:87px}.stamp-star{font-size:26px}.service-image{height:345px}.gallery-item{height:215px}.gallery-item.tall{height:275px}.gallery-caption{font-size:7px}.about-visual{height:460px}.about-panel{padding:15px;min-width:210px}.form-row{display:block}.form-top h3{font-size:25px}.enquiry-card{padding:26px 18px}.visit-art{height:375px}.visit-actions{flex-wrap:wrap;gap:24px}.visit-monogram{font-size:140px}.visit-art p{font-size:20px}.floating-whatsapp span{display:none}.floating-whatsapp{border-radius:50%;width:54px;height:54px;padding:0}.faq-list summary{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* WEBTECHIO MOBILE QA PATCH v2 — scoped to responsive viewports only. */
@media (max-width: 900px) {
  html { -webkit-text-size-adjust: 100%; }
  html, body { max-width: 100%; }
  img, picture, video, canvas, svg { max-width: 100%; }
  iframe { max-width: 100%; }
  input, select, textarea { max-width: 100%; min-width: 0; }
  button, [role="button"], a { touch-action: manipulation; }
  :is(main, header, footer, section, article, aside, .container, .wrap, .grid, .hero, .hero-copy) { min-width: 0; }
  :is(h1, h2, h3, h4, p, a, button) { overflow-wrap: break-word; }
  [hidden] { display: none !important; }
}
@media (max-width: 480px) {
  html, body { max-width: 100%; }
  :is(input, select, textarea) { font-size: max(16px, 1em); }
  :is(.page-title, .hero-title, .hero h1) { max-width: 100%; }
  :is(.button-group, .hero-actions, .cta-actions) { flex-wrap: wrap; }
  table { max-width: 100%; }
  :is(.table-wrap,.table-responsive,.table-scroll) { overflow-x:auto; -webkit-overflow-scrolling:touch; }
}


/* WEBTECHIO-QA31-20261102: non-invasive responsive/touch hardening */
@media (max-width: 980px) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-menu.is-open) {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  :where(form,fieldset,.form-grid,.contact-form,.booking-form) { min-width:0; }
  :where(form input:not([type=checkbox]):not([type=radio]),form textarea,form select) {
    min-width:0; max-width:100%;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) {
    flex-wrap: wrap;
  }
  :where(.hero-buttons,.hero-actions,.cta-group,.hero-cta,.buttons) > :is(a,button) {
    max-width:100%;
  }
}
@media (max-width: 767px) and (pointer:coarse) {
  :where(.navlinks.open,.nav.open,.nav-links.open,.primary-menu.is-open,.mobile-links.open,.mobile-menu.open,.mobile-nav.open,.mobile-nav.is-open) a {
    min-height:44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior:auto;}
}
