:root{color-scheme:dark;--ink:#111;--paper:#f7f7f3;--muted:#c7c7c3;--line:rgba(255,255,255,.3);--gutter:clamp(1.5rem,4.5vw,6rem);font-family:Arial,Helvetica,sans-serif;font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid white;outline-offset:6px}button[hidden],[hidden]{display:none!important}p{margin:0}.skip-link{position:absolute;z-index:20;top:1rem;left:1rem;padding:1rem;background:var(--paper);color:var(--ink);transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;height:6.75rem;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid rgba(255,255,255,.18);background:linear-gradient(rgba(0,0,0,.22),transparent)}.wordmark{font-size:1.7rem;font-weight:700;letter-spacing:-.085em;padding:10px 0}.wordmark-period{margin-left:2px}.desktop-nav{display:flex;align-items:center;gap:clamp(1.5rem,3.5vw,4rem)}.desktop-nav a,.desktop-nav span,.instagram{font-size:.875rem;letter-spacing:.08em}.desktop-nav a{padding:14px 0}.desktop-nav a:hover,.instagram:hover{text-decoration:underline;text-underline-offset:6px}.desktop-nav [aria-disabled]{color:#c1c1be;cursor:default}.instagram{letter-spacing:.02em}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;min-height:100dvh;width:100%;overflow:hidden;display:flex;align-items:center}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media{background:#171717}.hero-video,.hero-poster{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 8%}.hero-video{opacity:0}.hero-video.is-playing{opacity:1}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.12) 72%),linear-gradient(0deg,rgba(0,0,0,.6),transparent 65%)}.hero-content{width:100%;padding:8.5rem var(--gutter) 7.5rem;position:relative}.eyebrow{font-size:.875rem;letter-spacing:.16em;line-height:1.6}.disciplines{font-size:.875rem;letter-spacing:.1em;line-height:1.8}.disciplines span{padding:0 .25rem}.booking{margin-top:4rem}.availability{font-size:.875rem;letter-spacing:.1em;line-height:1.6;color:var(--muted);margin-bottom:1.25rem}.hero-actions{display:flex;gap:.75rem;align-items:center}.button{min-height:3.5rem;min-width:11.25rem;display:inline-flex;align-items:center;justify-content:center;gap:2rem;padding:1rem 1.5rem;font-size:.875rem;letter-spacing:.07em;border:1px solid var(--line);border-radius:0;box-shadow:none;background-image:none;transition:background-color .15s,color .15s}.button-primary{color:var(--ink);background:var(--paper);border-color:var(--paper)}.button-primary:hover{background:#dcdcd6;border-color:#dcdcd6}.button-secondary:hover{background:rgba(255,255,255,.12)}.hero-bottom{position:absolute;bottom:2.25rem;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:1rem}.hero-bottom p{font-size:.75rem;letter-spacing:.13em;line-height:1.5;color:var(--muted)}.hero-bottom p span{padding:0 .5rem}
@media(max-width:1100px){.site-header{height:5.5rem;gap:1rem}.desktop-nav{gap:1.75rem}.instagram{font-size:.875rem}.disciplines{max-width:31rem}}
@media(max-width:700px){.site-header{height:5rem}.wordmark{font-size:1.5rem}.desktop-nav,.site-header>.instagram{display:none}.menu-toggle{display:flex;align-items:center;gap:.8rem;min-height:44px;background:none;border:0;padding:0;font-size:.75rem;letter-spacing:.1em}.menu-icon{width:21px;display:grid;gap:5px}.menu-icon i{height:1px;background:var(--paper);width:100%;display:block}.menu-toggle[aria-expanded=true] .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.site-header:has(.menu-toggle[aria-expanded=true]){background:#111}.mobile-nav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;padding:1rem var(--gutter) 2rem;background:#111;border-bottom:1px solid var(--line);gap:.25rem}.mobile-nav>a,.mobile-nav>span{padding:.85rem 0;min-height:44px;font-size:1.125rem;letter-spacing:.08em}.mobile-nav [aria-disabled]{color:#999}.mobile-nav .mobile-instagram{font-size:.875rem;margin-top:.75rem;color:var(--muted)}.hero{align-items:flex-end}.hero-video,.hero-poster{object-position:50% 12%}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.52) 32%,rgba(0,0,0,.1) 75%)}.hero-content{padding:8rem var(--gutter) 7.5rem}.eyebrow{font-size:.875rem;letter-spacing:.1em}.disciplines{font-size:.875rem;letter-spacing:.025em;max-width:23rem}.disciplines span{padding:0 .05rem}.booking{margin-top:1.7rem}.availability{font-size:.75rem;letter-spacing:.055em;margin-bottom:1rem}.hero-actions{gap:.65rem}.button{flex:1;min-width:0;padding:1rem .75rem;gap:1rem;font-size:.8125rem}.hero-bottom{bottom:1.75rem;align-items:center}.hero-bottom p{font-size:.75rem;letter-spacing:.03em;max-width:12rem}.hero-bottom p span{padding:0 .2rem}}
@media(max-height:550px) and (min-width:701px){.hero-content{padding-top:7rem;padding-bottom:5rem}.booking{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.hero-video{display:none}}
/* Final accessibility and mobile navigation refinements. */
:root{--gutter:clamp(24px,4.5vw,96px)}
.skip-link{max-width:calc(100% - 2rem)}
.site-header{background:rgba(17,17,17,.2);height:auto;min-height:6.75rem;flex-wrap:wrap;padding-block:.75rem}
.hero-actions{flex-wrap:wrap}
.button{overflow-wrap:anywhere}
@media(min-width:701px) and (max-width:1100px){.site-header{min-height:5.5rem}}
:target{scroll-margin-top:2rem}
.mobile-book{display:none}
.site-header>.instagram{display:inline-flex;align-items:center;min-height:44px}
/* Align the navigation beside Instagram while the logo stays at the left. */
@media(min-width:701px){.desktop-nav{margin-inline-start:auto}}
/* Keep the expanded portfolio navigation on one line on narrow desktops. */
@media(min-width:701px) and (max-width:1100px){.desktop-nav{gap:clamp(1rem,2.25vw,1.5rem)}}

#main:focus,section[tabindex="-1"]:focus,article[tabindex="-1"]:focus{outline:none}
@media(max-width:700px){
  .site-header{position:fixed;gap:1rem;flex-wrap:wrap;height:auto;min-height:5rem;padding-block:.5rem}
  .site-header.is-scrolled{background:rgba(17,17,17,.97)}
  .site-header>.instagram{display:none}
  .mobile-book{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:auto;font-size:.875rem;letter-spacing:.07em}
  .menu-toggle{font-size:.875rem;min-width:44px}
  .mobile-nav{max-height:calc(100dvh - 5rem);overflow-y:auto;overscroll-behavior:contain}

  .hero-actions .button{flex:1 1 8rem}
  .availability,.button{font-size:.875rem}
  :target,main[id],#main section[id],#main article[id]{scroll-margin-top:6rem}
  .inquiry-field :is(input,textarea,select),.inquiry-choice input,.inquiry-error-summary{scroll-margin-top:6rem}
}
@media(forced-colors:active){a:focus-visible,button:focus-visible{outline:2px solid Highlight}.button{border:1px solid ButtonText}}
/* Keep the portrait video's face and necklace in frame on wide screens. */
@media(min-aspect-ratio:1/1){.hero-video,.hero-poster{object-position:50% 25%}}
/* An opaque outgoing frame stays beneath the incoming film throughout each fade. */
.hero-video[data-hero-clip]{inset:0;z-index:1;opacity:0;pointer-events:none;will-change:opacity}
.hero-video.hero-video-second{object-position:70% 25%}
/* Shared, uncropped artwork retains its transparent background and proportions. */
.brand-logo{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.wordmark{display:inline-flex;align-items:center;flex:0 0 auto;width:11rem;max-width:176px;min-height:44px;padding:0;line-height:0}
@media(max-width:1100px){.wordmark{width:9rem;max-width:144px}}
@media(max-width:360px){.wordmark{width:7rem;max-width:112px}.site-header{column-gap:.5rem}}
.contact-wordmark{width:8rem;max-width:100%}

/* Keep text inside its available space, including enlarged browser text. */
:root{font-size:100%}
body{overflow-wrap:anywhere}
.hero-content{min-width:0}

.button{max-width:100%;white-space:normal;text-align:center}

/* A compact lower-left introduction keeps the portrait in focus. */
.hero{align-items:flex-end}
.hero-content{padding:8.5rem var(--gutter) clamp(7rem,13svh,9rem)}
.hero .hero-name{margin:0 0 1.125rem;font-size:1rem;font-weight:400;line-height:1.6;letter-spacing:.14em;overflow-wrap:normal}
.hero-content .disciplines{max-width:36rem}
.hero-content .booking{margin-top:1.75rem}
@media(max-width:700px){
  .hero-content{padding:7.5rem var(--gutter) 7rem}
  .hero .hero-name{font-size:.875rem;letter-spacing:.1em;margin-bottom:1rem}
  .hero-content .booking{margin-top:1.5rem}
}
@media(max-height:550px) and (min-width:701px){
  .hero-content{padding-top:8rem;padding-bottom:6rem}
  .hero-content .booking{margin-top:1.25rem}
}
