@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/ibm-plex-mono.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Sorts Mill Goudy';src:url('/assets/fonts/sorts-mill-goudy.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono Light';src:url('/assets/fonts/ibm-plex-mono-light.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#111;--logo-w:258px;--line-w:6.5px;--mono:'IBM Plex Mono',monospace;--serif:'Sorts Mill Goudy',Georgia,serif}
*{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink)}body{font:18px/1.5 var(--serif)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:1px solid #555;outline-offset:6px}img{display:block;max-width:100%}[hidden]{display:none!important}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}h1{font:400 18px/1.5 var(--mono);letter-spacing:.28em;margin:0 0 60px}h2{font-size:23px;font-weight:400;margin:0 0 10px}p{margin:0}.text-link{text-decoration:underline;text-underline-offset:5px}.hamburger{position:fixed;right:3%;bottom:max(3.5%,env(safe-area-inset-bottom));width:44px;height:44px;display:grid;place-items:center;background:white;z-index:20}.hamburger img{width:30px;height:19px;object-fit:fill}.ink-line{width:var(--line-w);background-image:url('/assets/line.png');background-size:100% 100%;background-repeat:no-repeat;pointer-events:none}.brand-column{position:absolute;left:27.5%;top:0;width:var(--logo-w);height:88svh;transform:translateX(-50%);--logo-y:29svh;pointer-events:none}.brand-logo{position:absolute;top:var(--logo-y);width:var(--logo-w);height:auto;transform:translateY(-50%)}.brand-column .ink-line{position:absolute;left:calc(50% + 7px);transform:translateX(-50%)}.line-upper{top:0;height:calc(var(--logo-y) - var(--logo-w)*.165)}.line-lower{top:calc(var(--logo-y) + var(--logo-w)*.10);bottom:0}.home{height:100svh;min-height:350px;position:relative;overflow:hidden}.home .brand-column{left:50%;height:100%;--logo-y:47svh}.about-content{margin-left:53.1%;width:32%;padding:16svh 0 100px;line-height:1.6}.about-content section+section{margin-top:40px}.mobile-copy{display:none}.translation-note{margin-bottom:20px}.contact-page .brand-column{--logo-y:17svh}.contact-content{margin-left:44%;padding-top:32svh;font-family:var(--mono);padding-bottom:90px;width:50%;font-size:18px}.contact-content h1{font-size:18px;margin-bottom:42px}.contact-content p+p{margin-top:34px}.appointment{font:400 18px/1.6 var(--mono);display:block;margin-top:10px}.boutique-content{margin-left:53%;padding:30svh 0 100px}.boutique-content p{margin-bottom:25px}.menu-composition{position:relative;height:100svh;min-height:650px;--menu-axis:25vw}.menu-line{position:absolute;top:0;left:var(--menu-axis);height:92svh;min-height:595px}.menu-label{position:absolute;top:19svh;right:calc(100% - var(--menu-axis) + 18px);margin:0;width:112px}.menu-label img{width:100%}.handwritten-nav{position:absolute;top:29svh;left:calc(var(--menu-axis) + 24px);display:flex;flex-direction:column;gap:17px}.handwritten-nav a{display:flex;align-items:center;min-height:47px;width:220px}.handwritten-nav img{height:39px;width:auto;max-width:220px;object-fit:contain;object-position:left center;filter:url('#menu-ink-filter')}.handwritten-nav .word-lookbook{height:36px}.handwritten-nav .word-boutique{height:64px;margin-top:-9px;margin-bottom:-8px}.handwritten-nav .word-contact{height:29px}.languages{position:absolute;left:calc(var(--menu-axis) + 24px);top:max(77svh,570px);display:flex;gap:9px;align-items:center;font:16px var(--mono);letter-spacing:.16em}.languages a{display:grid;place-items:center;min-width:30px;min-height:44px}.languages a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
/* The gallery retains unequal image sizes and generous individual spacing. */
.lookbook-page{overflow:hidden}.lookbook{--focus-x:42vw;--focus-y:48svh;position:relative;height:100svh;overflow:hidden}.gallery-line{position:absolute;left:var(--focus-x);top:0;height:83svh;z-index:0;transform:translateX(-50%)}.gallery-scroll{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior:contain;cursor:grab;touch-action:pan-x}.gallery-scroll::-webkit-scrollbar{display:none}.gallery-scroll.dragging{cursor:grabbing;user-select:none}.gallery-track{display:flex;align-items:center;gap:85px;width:max-content;min-height:100%;padding-left:var(--focus-x);padding-right:calc(100vw - var(--focus-x));position:relative;transform:translateY(-2svh)}.look-item{position:relative;flex:none;margin:0;width:var(--photo-w);height:calc(var(--photo-w)/var(--ratio));z-index:1}.photo-button{display:block;border:0;background:transparent;padding:0;width:100%;height:100%;transform:scale(1);transform-origin:center;position:relative;touch-action:pan-x}.photo-button img{width:100%;height:100%;object-fit:contain;pointer-events:none}.look-item.active{z-index:2}.look-item.active .photo-button{transform:scale(2)}.look-item figcaption{display:none}.gallery-arrow{position:absolute;top:calc(var(--focus-y) - 24px);width:46px;height:48px;background:rgba(255,255,255,.9);border:0;padding:10px;z-index:6}.gallery-arrow svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1}.gallery-arrow.previous{left:12px}.gallery-arrow.next{right:12px}.gallery-arrow:disabled{opacity:.2;cursor:default}.desktop-caption{position:absolute;left:3%;right:auto;width:62%;max-width:900px;bottom:7svh;display:flex;justify-content:flex-start;gap:30px;font:11px/1.2 var(--mono);letter-spacing:.18em;text-transform:uppercase;margin:0;pointer-events:none}.desktop-caption div{flex:1;min-width:0}.desktop-caption dd{padding-left:calc(3ch + .54em);margin-top:0;overflow-wrap:anywhere}dt,dd{margin:0}dd{padding-left:23px}.lightbox{position:fixed;inset:0;border:0;padding:55px 30px 35px;width:100vw;max-width:none;height:100svh;max-height:none;background:white;overflow:auto}.lightbox::backdrop{background:white}.lightbox[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.lightbox>img{max-height:calc(100svh - 130px);max-width:92vw;width:auto;height:auto;object-fit:contain}.close-lightbox{position:fixed;right:25px;top:15px;border:0;background:white;font:32px var(--mono);width:48px;height:48px}.lightbox-caption{font:12px var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (hover: none) and (pointer: coarse){:root{--logo-w:134px;--line-w:6.5px}body{font-size:16px}.hamburger{right:6%;bottom:max(4%,env(safe-area-inset-bottom))}.brand-column{left:22.2%;height:92svh;--logo-y:11svh}.brand-column .ink-line{left:calc(50% + 4px)}.home .brand-column{top:18.6svh;height:52.3svh;--logo-y:26svh}.home .line-upper{height:calc(26svh - 22px)}.home .line-lower{top:calc(26svh + 13px)}.about-content{margin-left:31.4%;width:60%;padding-top:20.5svh;padding-bottom:110px;font-size:16px;line-height:1.2}.about-content h1{font-size:13px;margin-bottom:45px}.about-content h2{font-size:17px}.about-content p+p{margin-top:12px}.about-content section+section{margin-top:34px}.desktop-copy{display:none}.mobile-copy{display:block}.contact-page .brand-column{--logo-y:10svh}.contact-content{margin-left:29%;width:66%;padding-top:31svh;font-family:var(--mono);padding-bottom:100px;font-size:16px}.contact-content h1{font-size:16px;margin-bottom:36px}.contact-content p+p{margin-top:34px}.appointment{font-size:16px;max-width:100%;line-height:1.6}.boutique-content{margin-left:31%;padding-top:30svh;padding-right:15px}.boutique-content h1{font-size:16px}.menu-composition{--menu-axis:46vw;min-height:650px}.menu-line{top:7svh;height:88svh;min-height:580px}.menu-label{width:98px;right:calc(100% - var(--menu-axis) + 15px);top:19svh}.handwritten-nav{top:29svh;left:calc(var(--menu-axis) + 15px);gap:16px}.handwritten-nav a{width:calc(54vw - 25px);min-height:40px}.handwritten-nav img{height:31px;max-width:100%}.handwritten-nav .word-lookbook{height:30px}.handwritten-nav .word-boutique{height:49px}.handwritten-nav .word-contact{height:25px}.languages{left:calc(var(--menu-axis) + 16px);top:max(77svh,570px);font-size:14px;gap:4px}.lookbook{--focus-x:50vw;--focus-y:48svh}.gallery-line{left:4vw;top:var(--focus-y);width:var(--line-w);height:92vw;transform:rotate(-90deg);transform-origin:top left}.gallery-scroll{overflow-x:hidden;overflow-y:auto;touch-action:pan-y}.gallery-track{flex-direction:column;gap:55px;width:100%;min-height:0;padding:var(--focus-y) 0 calc(100svh - var(--focus-y));transform:none}.look-item{order:var(--mobile-order);width:var(--mobile-w);height:calc(var(--mobile-w)/var(--ratio));margin-bottom:145px}.photo-button{touch-action:pan-y}.look-item figcaption{display:none;position:absolute;top:calc(150% + 22px);width:calc(100vw - 25px);left:50%;transform:translateX(-50%);text-align:right;font:9px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.16em;padding-right:10px;pointer-events:none}.look-item.active figcaption{display:block}.look-item figcaption dl{margin:0}.look-item figcaption div{display:flex;justify-content:flex-end;gap:10px;margin-bottom:4px}.look-item figcaption dd{padding:0}.desktop-caption{display:none}.gallery-arrow{display:none}.lightbox{padding:65px 12px 35px}.lightbox>img{max-width:96vw}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Menu uses the approved original composition at +15%; link targets remain transparent overlays. */
.menu-art{position:absolute;top:0;left:calc(var(--menu-axis) - 127.8px);width:332.35px;height:auto;max-width:none;z-index:1}
.handwritten-nav{top:0;left:calc(var(--menu-axis) - 127.8px);width:332.35px;height:873px;display:block;z-index:2}
.handwritten-nav a{position:absolute;left:0;width:100%;height:58px;min-height:0;display:block}
.handwritten-nav a:nth-child(1){top:205px}.handwritten-nav a:nth-child(2){top:267px}.handwritten-nav a:nth-child(3){top:330px}.handwritten-nav a:nth-child(4){top:395px;height:72px}.handwritten-nav a:nth-child(5){top:478px}
.handwritten-nav img{opacity:0;width:100%;height:100%!important}
.languages{z-index:3;color:transparent}
.languages a{color:transparent;text-decoration:none!important}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (hover: none) and (pointer: coarse){.menu-art{top:7svh;left:calc(var(--menu-axis) - 127.8px);width:332.35px}.handwritten-nav{top:7svh;left:calc(var(--menu-axis) - 127.8px);width:332.35px;height:873px}.handwritten-nav a{height:58px}.handwritten-nav a:nth-child(1){top:205px}.handwritten-nav a:nth-child(2){top:267px}.handwritten-nav a:nth-child(3){top:330px}.handwritten-nav a:nth-child(4){top:395px;height:72px}.handwritten-nav a:nth-child(5){top:478px}.languages{top:570px}}
/* Menu scale adjustment: original composition at 112%. */
.menu-art,.handwritten-nav{transform:scale(.974);transform-origin:top left}
/* Menu scale adjustment: original composition at 112%. */
.menu-art,.handwritten-nav{transform:scale(.974);transform-origin:top left}
/* Final menu line and control refinements. */
.menu-composition::before{content:"";position:absolute;left:var(--menu-axis);top:0;width:var(--line-w);height:14px;background:url('/assets/line.png') 50% 0/100% 100% no-repeat;transform:translateX(-50%);z-index:4;pointer-events:none}
.menu-composition::after{content:"";position:absolute;left:calc(var(--menu-axis) - 4px);top:91svh;bottom:0;width:14px;background:#fff;z-index:4;pointer-events:none}
.contact-content h1{font-size:18px}
.hamburger img{height:22px}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (hover: none) and (pointer: coarse){.menu-composition::before{height:7svh}.menu-composition::after{top:91svh}.contact-content h1{font-size:16px}.hamburger img{height:21px}}

/* Approved menu: original PNG, unfiltered, with proportional click targets. */
.approved-menu{position:relative;height:100svh;overflow:hidden}
.approved-menu-panel{position:absolute;top:min(0px,calc(100svh - 850px));left:calc(25vw - 126.56px);width:289px;height:747px;transform:scale(1.12);transform-origin:top left}
.approved-menu-art{width:289px;height:747px;max-width:none}
.contact-art{position:absolute;left:126px;top:510px;width:136px;height:37px;background:#fff url('/assets/menu-approved.png') -126px -510px / 289px 747px no-repeat;transform:scale(1.03);transform-origin:center}
.menu-target{position:absolute;left:122px;width:167px;height:44px;z-index:2}
.approved-languages{position:absolute;left:134px;top:674px;display:flex;gap:22px;z-index:2}.approved-languages a{display:block;width:28px;height:42px}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (hover: none) and (pointer: coarse){.approved-menu-panel{left:calc(46vw - 101.25px);transform:scale(.896)}}

/* Desktop focus size participates in layout so the original 85px gaps survive enlargement. */
.gallery-scroll{overflow-anchor:none}
@media (min-width: 701px) and (min-height: 601px), (min-width: 701px) and (hover: hover), (min-width: 701px) and (pointer: fine){
.lookbook{--active-photo-height:max(120px,calc(96svh - 226.77px))}
.look-item.active{height:var(--active-photo-height);width:calc(var(--active-photo-height)*var(--ratio))}
.look-item.active .photo-button{transform:none}
}


/* Secondary information follows the page, entirely below its initial viewport. */
.page-composition{position:relative;min-height:100svh}
.quiet-footer{position:static;background:#fff;padding:72px 8% 64px;color:#555}
.quiet-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;font:11px/1.6 var(--mono)}
.quiet-footer a{display:inline-flex;align-items:center;min-height:44px}
.secondary-page{max-width:600px;margin-left:27.5%;padding:16svh 24px 100px}
.secondary-page section+section{margin-top:48px}.secondary-page h2{font:13px/1.5 var(--mono);margin-bottom:16px}.secondary-page p+p{margin-top:8px}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (hover: none) and (pointer: coarse){.quiet-footer{padding:54px 8%}.quiet-footer nav{gap:6px 18px}.secondary-page{margin-left:15%;padding-top:16svh;padding-right:8%}}

/* Contact-only final constraints */
.contact-content{font-weight:400}
.contact-content p,.contact-content a,.contact-content .appointment{font-weight:400}
.contact-content{white-space:nowrap}
@media (max-width: 700px), (orientation: landscape) and (max-height: 600px) and (hover: none) and (pointer: coarse){.contact-content{white-space:nowrap;font-size:16px}}

.contact-content p,.contact-content p a,.contact-content .appointment{font-family:'IBM Plex Mono Light',var(--mono);font-weight:300}
/* Contact desktop alignment to supplied visual master */
@media (min-width: 701px) and (min-height: 601px), (min-width: 701px) and (hover: hover), (min-width: 701px) and (pointer: fine){
  .contact-page .brand-column{height:calc(100% - 11svh);--logo-y:31svh}
  .contact-page .contact-content{margin-left:35.7%;padding-top:50.8svh;font-size:14px;line-height:27px;letter-spacing:.21em}
  .contact-page .contact-content h1{font-size:17px;line-height:27px;letter-spacing:.18em}
  .contact-page .contact-content .appointment{font-size:13px;line-height:27px;letter-spacing:.21em}
}
/* Keep the atelier information on the single line shown in the master. */
.contact-content .appointment{display:inline;margin-top:0}
