@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/bodoni-moda-latin.woff2") format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url("assets/fonts/manrope-latin.woff2") format("woff2")}
:root{color-scheme:dark;--bg:#000;--ink:#f8f6f3;--muted:#999;--accent:#d84861;--gap:clamp(12px,1.56vw,20px);--serif:"Bodoni Moda",Didot,"Times New Roman",serif;--sans:Manrope,"Avenir Next",Arial,sans-serif}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.is-home{overflow:hidden}
button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{display:block;fill:none;stroke:currentColor;stroke-width:1.6}
a,button,input,textarea,select{outline-offset:6px}a:focus-visible,button:focus-visible{outline:2px solid #fff}[hidden]{display:none!important}
/* Route headings receive focus for screen readers, without a browser outline.
   Interactive controls retain their visible keyboard focus indicator. */
.page h1[tabindex="-1"]:focus,.page h2[tabindex="-1"]:focus{outline:none}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;left:15px;top:-100px;padding:12px;background:#fff;color:#000}.skip-link:focus{top:15px}
.site-header{height:96px;position:fixed;inset:0 0 auto;z-index:30;display:grid;grid-template-columns:64px minmax(0,1fr) 140px;align-items:center;gap:20px;padding:15px 28px;background:#000}
.is-home .site-header{background:linear-gradient(#000a,transparent)}
.brand{display:block;width:43px;height:auto;justify-self:start}.is-home .brand{visibility:hidden}
/* The original supplied image stays untouched. CSS shows either its full
   artwork or just the symbol above the lettering. */
.logo-art,.logo-symbol{display:block;position:relative;overflow:hidden;width:100%}
.logo-art{aspect-ratio:2003/1412}.logo-art img{position:absolute;width:175.137294%;max-width:none;height:auto;left:-37.543685%;top:-37.818697%}
.logo-symbol{aspect-ratio:486/639}.logo-symbol img{position:absolute;width:721.8107%;max-width:none;height:auto;left:-310.90535%;top:-83.56808%}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:clamp(15px,1.9vw,29px)}
.desktop-nav>a{text-transform:uppercase;font-size:11px;line-height:44px;letter-spacing:.65px;font-weight:650;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--accent)}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}
.instagram-link{display:grid;place-items:center;width:44px;height:44px;color:#ddd;transition:color .2s}.instagram-link:hover{color:#fff}.instagram-link svg{width:24px;height:24px;stroke-width:2}.instagram-dot{fill:currentColor;stroke:none}
.menu-toggle{display:none;width:44px;height:44px;padding:8px}.menu-toggle span{display:block;height:1.5px;background:currentColor;margin:5px 0;transition:.2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.home-page{height:100svh;min-height:400px;position:relative;overflow:hidden;isolation:isolate}
.photo-wall{position:absolute;inset:0 10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.wall-column{height:100%;overflow:hidden}.wall-track{will-change:transform}
.wall-photo{width:100%;display:block;margin:0 0 var(--gap);position:relative;overflow:hidden;background:#111}.wall-photo img{width:100%;height:auto}
.wall-photo::after{content:"";position:absolute;inset:0;background:#000;opacity:.07;pointer-events:none}
.home-shade{position:absolute;inset:0;background:linear-gradient(transparent 20%,#00000013 50%,transparent 75%,#000b 100%);pointer-events:none}
.hero-name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(182px,25.2vw,336px);z-index:2;filter:drop-shadow(0 2px 16px #000b);pointer-events:none}
.home-footer{position:absolute;z-index:3;left:30px;right:30px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 30px;text-shadow:0 1px 5px #000}
.home-copyright{margin:0;color:#ddd;font-size:11px;line-height:1.6;letter-spacing:.3px}
.page{min-height:calc(100svh - 80px);padding-top:130px;animation:page-in .35s ease both}
.gallery-title{text-align:center;margin:11px 20px 36px}.gallery-title h1,.about-bio h1{margin:0;font-family:var(--serif);font-size:38px;line-height:1.2;font-weight:600;text-transform:uppercase;letter-spacing:.2px}
.photo-grid{--gallery-columns:4;display:grid;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:16px;align-items:start;padding:0 10px}.gallery-column{min-width:0}.photo-tile{position:relative;display:block;width:100%;margin:0 0 16px;break-inside:avoid;padding:0;overflow:hidden;background:#111}.photo-tile img{width:100%;height:auto}
.editorial-page{display:grid;grid-template-columns:1fr 1fr;gap:8%;max-width:1380px;margin:auto;padding:138px 7vw 70px;align-items:center}.editorial-photo img{width:100%;max-height:780px;object-fit:cover}.editorial-copy{max-width:520px;padding:30px 0}
.editorial-copy h1{font-family:var(--serif);font-size:clamp(40px,5.5vw,82px);line-height:.98;font-weight:400;letter-spacing:-2px;margin:28px 0}.eyebrow{text-transform:uppercase;font-size:10px!important;letter-spacing:2px;color:#999!important}.editorial-copy p{font-size:14px;line-height:1.85;color:#b5b5b5}
.text-link{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #555;padding:18px 0;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;margin:25px 0 20px;text-align:left}.text-link:hover{border-color:#fff}.text-link span{font-size:22px}.subtle-link{color:#999;font-size:11px}
.contact-page{align-items:center;gap:7%}.contact-page h1{font-size:clamp(40px,4.6vw,72px)}
.contact-choices{display:flex;flex-direction:column;gap:14px;margin-top:32px;max-width:380px}
.contact-cta,.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}
.contact-cta{padding:16px 20px;background:var(--ink);color:#000;font-size:12px;letter-spacing:.4px;transition:background .2s}.contact-cta:hover{background:#ddd}.contact-cta span{font-size:20px}
.contact-email{font-size:13px;color:#bbb;border-bottom:1px solid #444;overflow-wrap:anywhere}.contact-email:hover{color:#fff;border-color:#aaa}
.site-footer{display:flex;justify-content:space-between;align-items:center;padding:45px 30px;color:#999;font-size:10px;letter-spacing:.5px;gap:30px}.site-footer a{font-size:12px;white-space:nowrap;line-height:44px}.site-footer a:hover{color:#fff}
.footer-main{min-width:0;display:grid;gap:14px;line-height:1.8}
.footer-services{margin:0;max-width:100%;color:inherit;font:inherit;letter-spacing:inherit}
.footer-service-row{display:block}
.site-footer .footer-services a{font:inherit;line-height:inherit;letter-spacing:inherit;white-space:normal;text-decoration:underline;text-decoration-color:#555;text-underline-offset:3px}
.site-footer .footer-services a:hover{color:#fff;text-decoration-color:currentColor}
.footer-availability{margin:0;font:inherit;color:inherit}
.footer-address{margin:0;font-style:normal;font-size:11px;line-height:1.8;text-align:right;letter-spacing:.2px}
.site-footer .footer-map{display:block;width:fit-content;margin:3px 0 0 auto;min-height:44px;font-size:11px;line-height:44px;color:#ddd;text-decoration:underline;text-underline-offset:4px}
.contact-actions{display:flex;align-items:center;gap:4px}
.contact-icon{display:grid;place-items:center;width:44px;height:44px;color:#ddd;transition:color .2s}.contact-icon svg{width:24px;height:24px;stroke-width:1.8}.contact-icon:hover{color:#fff}.whatsapp-control svg{fill:currentColor;stroke:none}
.phone-popover{position:fixed;right:28px;top:84px;z-index:35;width:260px;max-width:calc(100vw - 36px);padding:23px 24px 25px;background:#111;border:1px solid #555;box-shadow:0 8px 30px #0008}.phone-popover p{margin:0}.phone-popover #phone-title{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#aaa;margin-bottom:13px}.phone-popover .phone-number{font-size:21px;letter-spacing:.3px;white-space:nowrap}.phone-popover button{position:absolute;right:4px;top:4px;width:36px;height:36px;display:grid;place-items:center}.phone-popover button svg{width:18px;height:18px}
.mobile-menu{position:fixed;inset:0;z-index:25;background:#080808fa;padding:112px 30px 40px;overflow-y:auto}.mobile-menu nav{display:flex;flex-direction:column;gap:16px}.mobile-menu nav>a{font-family:var(--serif);font-size:27px;line-height:1.5}.mobile-menu a[aria-current="page"]{color:var(--accent)}.menu-open{overflow:hidden!important}
.no-script{position:fixed;inset:0;display:grid;place-content:center;z-index:70;background:#000;padding:30px;text-align:center}
.photo-tile{cursor:pointer}.photo-tile:focus-visible{outline-offset:-3px}
.viewer-open{overflow:hidden}
.photo-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#050505;color:var(--ink);overflow:hidden}
.photo-viewer::backdrop{background:#000}
.viewer-stage{position:absolute;inset:72px 80px 48px;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom}
.viewer-stage img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.viewer-control{position:absolute;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:1px solid #555;border-radius:50%;background:#111;color:#fff}
.viewer-control:hover{background:#292929}.viewer-control svg{width:24px;height:24px}
.viewer-close{top:max(16px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}
.viewer-previous{left:20px;top:calc(50% - 22px)}.viewer-next{right:20px;top:calc(50% - 22px)}
@keyframes page-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.photo-grid{--gallery-columns:5}}
@media(max-width:1000px){.site-header{gap:12px;padding-left:22px;padding-right:22px;grid-template-columns:48px minmax(0,1fr) 140px}.desktop-nav{gap:14px}.desktop-nav>a{font-size:10px;letter-spacing:.2px}.photo-grid{--gallery-columns:3}.editorial-page{padding-left:5vw;padding-right:5vw;gap:6%}.contact-page{gap:5%}.editorial-copy h1{font-size:58px}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.desktop-nav{display:none}.menu-toggle{display:block}}
@media(max-width:700px){
  :root{--gap:12px}
  .site-header{height:86px;padding:15px 16px}.brand{width:36px}.header-actions{gap:4px}.instagram-link svg{width:23px;height:23px}
  .photo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.wall-column:nth-child(n+3){display:none}
  .hero-name{width:42.84vw;max-width:226.1px}
  .page{padding-top:110px}.gallery-title{margin:14px 15px 26px}.gallery-title h1,.about-bio h1{font-size:28px}.photo-grid{--gallery-columns:2;gap:10px}.photo-tile{margin-bottom:10px}
  .editorial-page{grid-template-columns:1fr;gap:28px;padding:108px 22px 30px}.editorial-photo img{max-height:64vh;object-position:center 30%}.editorial-copy{padding:0;max-width:none}.editorial-copy h1{font-size:58px;margin-top:20px}.contact-page{gap:42px}.contact-page .editorial-copy{grid-row:1}.contact-page .editorial-photo{grid-row:2}.contact-page .editorial-photo img{max-height:48vh;object-position:center 23%}.contact-page h1{font-size:48px}.contact-choices{max-width:none}
  .site-footer{padding:30px 22px;gap:18px;align-items:flex-start;flex-direction:column;font-size:9px}.site-footer a{font-size:12px}
  .footer-main{gap:12px}
  .footer-address{text-align:left;max-width:100%}
  .site-footer .footer-map{margin-left:0}
  .phone-popover{right:16px;top:76px}.home-footer{left:20px;right:20px;display:block}.home-copyright{font-size:10px}
  .viewer-stage{inset:calc(72px + env(safe-area-inset-top)) 12px calc(82px + env(safe-area-inset-bottom))}
  .viewer-previous,.viewer-next{top:auto;bottom:calc(18px + env(safe-area-inset-bottom))}
  .viewer-previous{left:calc(50% - 56px)}.viewer-next{left:calc(50% + 12px);right:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
