@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600;700&display=swap');
/* Defaults reproduce v2.0.1. Widget style controls have higher specificity.
   No rule changes the widths or padding of other Elementor elements. */
.vtf-site{margin:0;background:#000;font-family:Inter,Arial,sans-serif}
.vtf-page{position:relative;--gap:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
.vtf-page>.elementor-widget{width:100%;max-width:100%;margin:0}
.elementor .elementor-widget.elementor-widget-vtf-header{z-index:100;position:absolute;inset:0 0 auto}
.vtf{font:400 16px/1.5 Inter,Arial,sans-serif;color:#f6f2eb;--vtf-max:1200px;--vtf-red:#b50c00;--vtf-paper:#f3f0ea;min-width:0}
.vtf *{box-sizing:border-box}
.vtf a{text-decoration:none}
.vtf img{display:block;max-width:100%}
.vtf p{margin:0 0 .9rem}
.vtf h1,.vtf h2,.vtf h3{padding:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;text-transform:none;color:inherit}
.vtf h3{margin:8px 0 16px}
.vtf-wrap{width:calc(100% - 48px);max-width:var(--vtf-max);margin:0 auto}
.vtf-header{height:84px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;background:#000;position:relative;z-index:10}
.vtf .vtf-brand img{width:175px;height:60px;object-fit:contain;opacity:.92}
.vtf-header nav{display:flex;align-items:center;gap:31px;margin-left:auto}
.vtf-header nav a{display:block;font:500 16px/1.5 'Cormorant Garamond',Georgia,serif;color:#c9ccca}
.vtf-header nav a:hover{color:#d5392f}
.vtf-header nav .vtf-nav-cta{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:13px 17px;border-radius:50%;background:#b50c00;color:#fff;font-size:0}
.vtf-nav-cta:after{content:'武';font-size:18px}
.vtf .vtf-menu-toggle{display:none;border:0;background:transparent}
.vtf-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;height:100vh;min-height:700px;border-bottom:1px solid #252525;background:#000;color:#fff}
.vtf-hero-visual{position:absolute;inset:84px 0 0 42%;margin:0;background:#000;overflow:hidden}
.vtf .vtf-hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:saturate(.78) contrast(1.08)}
.vtf-hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000 0,rgba(0,0,0,.85) 12%,transparent 48%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 32%);pointer-events:none}
.vtf-hero-shade{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 75% 27%,rgba(181,12,0,.08),transparent 22%);pointer-events:none}
.vtf-hero-copy{position:relative;z-index:2;margin:auto;display:flex;flex-direction:column;align-items:flex-start;padding:0 0 82px;text-align:left}
.vtf-hero-copy>span{display:block;color:#b50c00;font-size:10px;font-weight:500;letter-spacing:.25em;margin:0 0 17px}
.vtf-hero h1{font-size:clamp(62px,7.4vw,108px);font-weight:500;line-height:.86;letter-spacing:-.035em;max-width:650px;margin:0 0 27px}
.vtf-hero h1 em{font-style:normal;color:inherit}
.vtf-hero-copy>p{font:400 19px/1.45 'Cormorant Garamond',Georgia,serif;max-width:420px;color:#c5c0b9;margin:0 0 5px}
.vtf-hero-actions{display:flex;align-items:center;gap:28px;margin-top:27px}
.vtf-btn{display:inline-block;background:#b50c00;border:0;border-radius:0;color:#fff;padding:17px 25px;font:600 11px/1.5 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.vtf-hero .vtf-btn{padding:15px 23px;font-size:10px}
.vtf-btn:hover{background:#222;color:#fff}
.vtf-hero .vtf-btn:hover{background:#fff;color:#000}
.vtf a:focus-visible,.vtf button:focus-visible{outline:2px solid #d5392f;outline-offset:5px}
.vtf-section{padding:130px 0}
.vtf-light{background:#f3f0ea;color:#181818}
.vtf-dark{background:#000;color:#f6f2eb}
.vtf-red{position:relative;overflow:hidden;background:#b50c00;color:#f6f2eb}
.vtf-red:before{content:'';position:absolute;inset:0;background:var(--vtf-image) 82% 42%/auto 145% no-repeat;opacity:.12;filter:grayscale(1);pointer-events:none}
.vtf-red>.vtf-wrap{position:relative}
.vtf-title span{font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#b50c00}
.vtf-title h2{font-size:clamp(56px,7vw,98px);font-weight:500;line-height:.9;letter-spacing:-.035em;margin:16px 0 55px}
.vtf-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.vtf-benefits-grid article{display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;min-height:560px;padding:35px;background:#111}
.vtf-benefits-grid article:nth-child(n+4){min-height:380px}
.vtf-benefits-grid article:before{content:'';position:absolute;inset:0;background:var(--vtf-image) center/cover;opacity:.72;transition:transform .5s,opacity .5s}
.vtf-benefits-grid article:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 67%);pointer-events:none}
.vtf-benefits-grid article>*{position:relative;z-index:1}
.vtf-benefits-grid article:hover:before{opacity:.82;transform:scale(1.04)}
.vtf-benefits-grid b{font:500 12px/normal Inter,Arial,sans-serif;letter-spacing:.18em;color:#d5392f}
.vtf-benefits-grid h3{font-size:31px;font-weight:700;line-height:normal;margin:8px 0 2px;color:#f6f2eb}
.vtf-benefits-grid p{font-size:14px;line-height:1.6;color:#ddd}
.vtf-sifu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:center}
.vtf-collage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.vtf .vtf-collage img{width:100%;height:640px;object-fit:cover;object-position:50% 35%;border:1px solid rgba(0,0,0,.14)}
.vtf-collage img+img{margin-top:90px}
.vtf-sifu .vtf-title span{color:#d5392f}
.vtf-sifu .vtf-title h2{margin-bottom:20px}
.vtf-sifu p{font-size:17px;line-height:1.75;color:#9da3a2}
.vtf-sifu .vtf-lead{font:500 31px/normal 'Cormorant Garamond',Georgia,serif;color:#d5392f}
.vtf-locations-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid rgba(232,167,123,.35)}
.vtf-locations-grid a{color:#fff;padding:50px 50px 55px 0;border-right:1px solid rgba(232,167,123,.25)}
.vtf-locations-grid a+a{padding-left:50px;border:0}
.vtf-locations-grid span{font:600 11px/normal Inter,Arial,sans-serif;letter-spacing:.2em;color:#fff}
.vtf-locations-grid h3{font:500 42px/normal 'Cormorant Garamond',Georgia,serif;margin:28px 0 10px}
.vtf-locations-grid p{color:#f2d8d5}
.vtf-contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;position:relative}
.elementor-widget-vtf-contact .vtf-section{overflow:clip}
.vtf-contact:after{content:'';position:absolute;width:240px;height:340px;right:-90px;bottom:-130px;background:var(--vtf-image) center/cover;opacity:.08;pointer-events:none}
.vtf-contact .vtf-title h2{margin-bottom:0}
.vtf-form{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-height:423px}
.vtf-form label{display:block;color:#504b47;font:500 10px/1 Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.vtf-form input,.vtf-form select,.vtf-form textarea{display:block;width:100%;max-width:100%;margin-top:9px;padding:15px;border:1px solid #c8c2ba;background:#fff;color:#181818;border-radius:0;font:inherit;box-shadow:none}
.vtf-form input:focus,.vtf-form select:focus,.vtf-form textarea:focus{outline:2px solid #b50c00;border-color:#b50c00}
.vtf-form textarea{height:82px;resize:vertical}
.vtf-wide{grid-column:1/-1}
.vtf-form .vtf-btn{justify-self:start}
.vtf-form input[type=hidden],.vtf-honeypot{display:none}
.vtf-feedback{padding:16px;background:#dff2df;color:#181818}
.vtf-error{background:#f9ddd8}
.vtf-footer{padding:70px max(24px,calc((100% - 1200px)/2)) 30px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;background:#000;color:#aaa;border-top:1px solid rgba(0,0,0,.14)}
.vtf-footer img{display:inline-block;width:180px}
.vtf-footer p{line-height:1.6}
.vtf-footer strong,.vtf-footer a{display:block;color:#d6d2cc;margin-bottom:14px}
.vtf-footer a:hover{color:#b50c00}
.vtf-footer small{grid-column:1/-1;border-top:1px solid #333;padding-top:25px;font-size:80%}
.vtf-map .vtf-title h2{margin-bottom:45px}
.vtf-place-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);background:#fff;color:#181818;box-shadow:0 25px 70px rgba(0,0,0,.09)}
.vtf-place-grid iframe{width:100%;height:520px;border:0;filter:grayscale(100%) invert(90%)}
.vtf-place-grid>div{padding:60px}
.vtf-kicker{display:block;font-size:11px;font-weight:500;letter-spacing:.18em;margin-bottom:20px;color:#b50c00}
.vtf-place-grid h3{font:500 38px/normal 'Cormorant Garamond',Georgia,serif;margin:10px 0 35px}
.vtf-schedule{border-top:1px solid rgba(0,0,0,.14);margin-bottom:35px}
.vtf-schedule p{display:flex;justify-content:space-between;padding:17px 0;margin:0;border-bottom:1px solid rgba(0,0,0,.14);color:#424242}
.vtf-place-grid>div>p{line-height:1.75;color:#5d5955}
.vtf-focus{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:45px;align-items:end}
.vtf-focus .vtf-title h2{margin:0}
.vtf-focus>div:not(.vtf-title){border-left:1px solid #444;padding-left:35px}
.vtf-focus p{color:#9da3a2}
.vtf-focus strong{font:500 82px/normal 'Cormorant Garamond',Georgia,serif;color:#d5392f}
.vtf-focus small{display:block;font-size:80%}
.vtf-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vtf-pricing-grid article{padding:50px;border:1px solid rgba(0,0,0,.14);background:#fff;color:#181818}
.vtf-pricing-grid article.featured{background:#000;color:#fff}
.vtf-pricing-grid article>span{font-size:12px;font-weight:800;letter-spacing:.2em;color:#777}
.vtf-pricing-grid h3{font:500 44px/normal 'Cormorant Garamond',Georgia,serif}
.vtf-pricing-grid h3 small{font-size:18px}
.vtf-pricing-grid strong{display:block;font:500 92px/normal 'Cormorant Garamond',Georgia,serif;color:#d5392f}
.vtf-pricing-grid p{min-height:55px;line-height:1.6;color:#676767}
.vtf-pricing-grid .featured p{color:#aaa}
.vtf-choose{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.vtf-choose a{padding:25px;font-size:16px;letter-spacing:0;font-weight:800;border:1px solid rgba(232,167,123,.3)}
.vtf-registration{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:start}
.vtf-registration>.vtf-title{grid-column:1/-1}
.vtf-registration .vtf-title h2{margin-bottom:0}
.vtf-registration aside{padding:38px;background:#17100d;border:1px solid rgba(232,167,123,.28);color:#fff}
.vtf-registration aside h3{font:500 31px/normal 'Cormorant Garamond',Georgia,serif;color:#b50c00}
.vtf-registration aside li{margin-bottom:14px}
.vtf-registration aside a{color:#b50c00}
.vtf-wpforms-shell{min-width:0;padding:clamp(22px,4vw,48px);background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.1)}
/* Only the embedded WPForms skin uses priority declarations, as v2.0.1 did.
   These never apply to Elementor layout or the Stripe iframe. */
.vtf-wpforms-shell .wpforms-container-full{margin:0!important}
.vtf-wpforms-shell .wpforms-field-label{color:#181818!important;font:600 11px/1.4 Inter,Arial,sans-serif!important;letter-spacing:.08em;text-transform:uppercase}
.vtf-wpforms-shell input:not([type=checkbox]):not([type=radio]),.vtf-wpforms-shell select,.vtf-wpforms-shell textarea{max-width:none!important;background:#f8f6f2!important;border:1px solid #c8c2ba!important;border-radius:0!important;color:#181818!important;box-shadow:none!important}
.vtf-wpforms-shell input:focus,.vtf-wpforms-shell select:focus,.vtf-wpforms-shell textarea:focus{border-color:#b50c00!important;box-shadow:0 0 0 1px #b50c00!important}
.vtf-wpforms-shell button[type=button],.vtf-wpforms-shell button[type=submit]{height:auto!important;background:#b50c00!important;border:0!important;border-radius:0!important;color:#fff!important;font:600 11px/1 Inter,Arial,sans-serif!important;letter-spacing:.13em!important;text-transform:uppercase!important;padding:17px 24px!important}
.vtf-wpforms-shell button[type=button]:hover,.vtf-wpforms-shell button[type=submit]:hover{background:#000!important}
.vtf-wpforms-shell .wpforms-page-indicator-page-progress{background:#b50c00!important}
.vtf-wpforms-shell .wpforms-page-indicator{color:#555!important}
.vtf-wpforms-shell .wpforms-error,.vtf-wpforms-shell label.wpforms-error{color:#b50c00!important}
.vtf-wpforms-shell .wpforms-field-description,.vtf-wpforms-shell .wpforms-field-sublabel,.vtf-wpforms-shell .wpforms-payment-total{color:#555!important}
@media(max-width:900px){
 .vtf-header{padding:0 24px}.vtf .vtf-brand img{width:140px}
 .vtf .vtf-menu-toggle{display:block;position:relative;z-index:102;cursor:pointer;width:46px;height:46px;padding:12px;margin-left:auto}
 .vtf-menu-toggle span{display:block;width:23px;height:1px;background:#fff;position:absolute;left:11px;top:17px}.vtf-menu-toggle span+span{top:27px}
 .vtf-header nav{position:fixed;inset:0;z-index:100;width:100%;height:100dvh;min-height:100vh;margin:0;padding:105px 28px 38px;background:#050505;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;visibility:hidden;opacity:0;pointer-events:none;overflow-y:auto;overscroll-behavior:contain}
 .vtf-header nav:before{content:'NAVIGATION';color:#d2382d;font:600 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.28em;margin:0 0 22px}
 .vtf-header nav a,.vtf-header nav .vtf-nav-cta{display:block;width:100%;height:auto;padding:14px 2px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.18);border-radius:0;color:#fff;font:500 clamp(32px,8.5vw,52px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;white-space:normal}
 .vtf-header nav .vtf-nav-cta{color:#e04438}.vtf-nav-cta:after{display:none}
 /* Announcer adds an inline top offset to fixed elements; the open menu must cover the full viewport. */
 .vtf-header.is-open nav{top:0!important;opacity:1;visibility:visible;pointer-events:auto}
 .vtf-header.is-open .vtf-menu-toggle{position:fixed;right:20px;top:16px;z-index:102;background:#151515;border-radius:50%}
 .vtf-header.is-open .vtf-menu-toggle span{top:22px;transform:rotate(45deg)}.vtf-header.is-open .vtf-menu-toggle span+span{transform:rotate(-45deg)}
 .vtf-header.is-open .vtf-brand{position:fixed;left:24px;top:12px;z-index:102}
 body.vtf-menu-open{overflow:hidden}body.vtf-menu-open .elementor .elementor-widget.elementor-widget-vtf-header{z-index:2147483000}
 .vtf-wrap{width:100%;padding-left:24px;padding-right:24px}
 .vtf-hero{min-height:850px}.vtf-hero-visual{inset:84px 0 0 20%}.vtf-hero-copy{padding-bottom:60px}.vtf-hero h1{font-size:72px}
 .vtf-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vtf-sifu,.vtf-contact,.vtf-place-grid,.vtf-focus,.vtf-registration{grid-template-columns:1fr}
 .vtf-sifu{gap:55px}.vtf .vtf-collage img{height:500px}
 .vtf-focus .vtf-title h2{margin-bottom:20px}
 .vtf-footer{grid-template-columns:1fr 1fr}.vtf-footer>div:first-child{grid-column:1/-1}
 .vtf-contact:after{right:0;max-width:35%}
}
@media(max-width:600px){
 .vtf-header{height:68px}.vtf .vtf-brand img{width:135px}
 .vtf-wrap{padding-left:18px;padding-right:18px}
 .vtf-hero{height:100svh;min-height:760px}.vtf-hero-visual{inset:68px -120px 0 -30px}.vtf .vtf-hero-visual img{object-position:center 8%}
 .vtf-hero-visual:after{background:linear-gradient(0deg,#000 0,rgba(0,0,0,.92) 28%,transparent 67%),linear-gradient(90deg,rgba(0,0,0,.4),transparent)}
 .vtf-hero-copy{padding-bottom:42px;align-self:flex-end;margin-top:auto;margin-bottom:0}.vtf-hero-copy>span{margin-bottom:12px}.vtf-hero h1{font-size:55px;margin-bottom:17px;overflow-wrap:anywhere}.vtf-hero-copy>p{font-size:16px;max-width:310px}.vtf-hero-actions{margin-top:18px}
 .vtf-section{padding:85px 0}.vtf-title h2{font-size:52px;margin-bottom:35px;overflow-wrap:break-word}
 .vtf-benefits-grid,.vtf-locations-grid,.vtf-pricing-grid,.vtf-choose,.vtf-form{grid-template-columns:1fr}
 .vtf-benefits-grid{gap:14px}.vtf-benefits-grid article,.vtf-benefits-grid article:nth-child(n+4){min-height:470px}
 .vtf-sifu{gap:45px}.vtf .vtf-collage img{height:400px}.vtf-collage img+img{margin-top:65px}
 .vtf-locations-grid a,.vtf-locations-grid a+a{padding:30px 0;border-right:0;border-bottom:1px solid rgba(0,0,0,.25)}
 .vtf-footer{grid-template-columns:1fr;gap:30px}.vtf-footer>div:first-child,.vtf-footer small{grid-column:auto}
 .vtf-place-grid>div,.vtf-pricing-grid article{padding:30px}.vtf-place-grid iframe{height:360px}
 .vtf-focus strong{font-size:62px}.vtf-registration{gap:40px}.vtf-wpforms-shell{padding:20px 16px}
 .vtf-wpforms-shell .wpforms-one-half{width:100%!important;margin-left:0!important}
 .vtf-contact:after{bottom:-85px}.vtf-contact{overflow:clip}
}
@media(prefers-reduced-motion:reduce){.vtf *{transition:none;scroll-behavior:auto}}
