:root{--paper:#f2f1eb;--ink:#24251f;--muted:#66665c;--line:#cecec4;--accent:#777e4c;--ease-out:cubic-bezier(.23,1,.32,1);--header-height:112px;--dock-height:150px;--edge:42px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:#d5d9bf;color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,.orbit-stage:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.2}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}h1{text-wrap:balance}p{text-wrap:pretty}.view[hidden]{display:none}
/* Header, media, and bottom controls occupy separate regions. */
header{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:30;display:flex;align-items:flex-start;justify-content:space-between;padding:24px var(--edge) 18px;background:var(--paper);pointer-events:none}header a,header button{pointer-events:auto}
.wordmark{display:inline-grid;width:88px;gap:9px;color:var(--ink)}.brand-name{font-family:'Italiana',serif;font-size:54px;line-height:.88;letter-spacing:-.025em;text-align:center}.brand-surname{display:grid;grid-template-columns:repeat(8,1fr);font-family:'DM Sans',sans-serif;font-size:8px;line-height:1;text-align:center;letter-spacing:0}.booking{display:flex;align-items:center;gap:22px;font-size:12px;margin-top:9px;min-height:32px}.booking:hover{text-decoration:underline;text-underline-offset:5px}
body[data-page='home'],body[data-page='gallery']{overflow:hidden}.home,.photos{height:100svh;position:relative;overflow:hidden}
.orbit-stage{position:absolute;inset:var(--header-height) 0 var(--dock-height);overflow:hidden;perspective-origin:50% 50%;touch-action:none;cursor:grab;outline-offset:-8px!important;user-select:none}.orbit-scene{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}.orbit-card{position:absolute;left:50%;top:50%;margin:0;padding:0;border:0;background:none;display:block;text-align:left;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;cursor:pointer;pointer-events:auto}.orbit-card[hidden]{display:none}.orbit-card img,.orbit-card video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}.orbit-card>span{display:block;position:absolute;left:0;right:0;bottom:-25px;font-size:9px;letter-spacing:.06em;line-height:1.4;pointer-events:none}.photos-orbit .orbit-card>span{display:none}.orbit-card:focus-visible{outline-offset:7px}.orbit-stage.is-dragging,.orbit-stage.is-dragging .orbit-card{cursor:grabbing}
.home-identity{position:absolute;top:calc(var(--header-height) + 12px);left:var(--edge);right:var(--edge);text-align:center;pointer-events:none}.home-identity h1{font-family:'Italiana',serif;font-weight:400;font-size:clamp(52px,6.4vw,94px);line-height:1.06;letter-spacing:-.035em;margin:0 0 16px}.home-profession{font-size:13px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px}.home-profession span{margin:0 8px}.home-location{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.home-orbit{top:calc(var(--header-height) + 174px)}.orbit-controls{position:absolute;right:var(--edge);bottom:94px;z-index:12}.orbit-buttons{display:flex;align-items:center;gap:12px}.orbit-buttons button{display:grid;place-items:center;width:44px;height:44px;padding:0;background:none;border:1px solid var(--line);border-radius:50%;transition:background-color 160ms ease,color 160ms ease}.orbit-buttons button svg{width:19px;height:19px}
.gallery-tools{position:absolute;bottom:94px;left:var(--edge);z-index:12}.filters{display:flex;gap:23px}.filters :is(button, a){border:0;background:none;padding:10px 0;font-size:12px;color:var(--muted);min-height:40px}.filters :is(button, a).active{color:var(--ink);text-decoration:underline;text-underline-offset:7px}.photo-caption{position:absolute;bottom:101px;left:50%;transform:translateX(-50%);pointer-events:none;max-width:32%;text-align:center}.photo-caption>span{font-family:'Italiana',serif;font-size:25px;line-height:1.15}
.main-nav{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:35;display:flex;gap:28px;background:var(--paper);padding:13px 24px;border:1px solid #d5d5ca;border-radius:50px}.main-nav a{font-size:15px;color:var(--muted);position:relative}.main-nav a.active{color:var(--ink)}.main-nav a.active:after{content:'';position:absolute;left:50%;bottom:-7px;width:3px;height:3px;background:var(--ink);border-radius:50%}.main-nav a:hover{color:var(--ink)}footer{position:fixed;bottom:29px;left:var(--edge);font-size:8px;letter-spacing:.06em;z-index:20;pointer-events:none}
/* Contact retains its existing editorial composition. */
.contact{min-height:850px;height:100svh;display:grid;grid-template-columns:38% 1fr;gap:11%;align-items:center;padding:140px 10%}.contact-image{height:100%;max-height:540px;position:relative;transform:rotate(-5deg)}.contact-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.contact-image span{position:absolute;bottom:-25px;font-size:9px;letter-spacing:.15em;left:0}.contact-copy h1{font-family:'Italiana',serif;font-size:clamp(50px,6.2vw,94px);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:0 0 30px}.contact-copy em{font-weight:400;color:var(--accent)}.contact-copy p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:30px}.email{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:clamp(12px,1.3vw,19px)}.email:hover{color:var(--accent)}.copy-email{border:0;border-bottom:1px solid transparent;background:none;padding:0;margin-top:19px;font-size:10px;color:var(--muted)}.copy-email:hover{border-color:var(--muted)}#copy-status{font-size:10px;margin-left:15px}body[data-page='contact'] footer{position:relative;inset:auto;margin:0 var(--edge) 100px}
/* Native image/video viewer. */
dialog{border:0;background:#191b17;color:var(--paper);position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;padding:65px 10%;overflow:hidden}dialog::backdrop{background:#191b17}dialog[open]{display:flex;align-items:center;justify-content:center}dialog figure{margin:0;max-width:100%;height:100%;display:flex;flex-direction:column;align-items:center}dialog figure img{max-height:calc(100% - 35px);max-width:100%;object-fit:contain}dialog figcaption{width:100%;font-size:11px;margin-top:18px}dialog figure video{width:100%;height:calc(100% - 35px);max-width:100%;object-fit:contain;background:#191b17}dialog figure img[hidden],dialog figure video[hidden]{display:none}dialog figure:has(video:not([hidden])){width:100%}dialog figure video:focus-visible{outline:2px solid var(--paper);outline-offset:4px}dialog button{border:0;background:transparent;color:inherit}.close-lightbox{position:absolute;top:24px;right:35px;display:flex;align-items:center;gap:20px;font-size:12px;min-height:44px}.close-lightbox span{font-size:30px;font-weight:300}.previous,.next{position:absolute;top:50%;font-size:28px;padding:15px}.previous{left:25px}.next{right:25px}
@media(hover:hover) and (pointer:fine){.orbit-buttons button:not(:disabled):hover{background:var(--ink);color:var(--paper)}}
@media(max-width:700px){:root{--header-height:104px;--dock-height:182px;--edge:24px}header{padding-top:22px}.wordmark{width:76px;gap:8px}.brand-name{font-size:47px}.brand-surname{font-size:7px}.booking{font-size:10px;gap:11px;margin-top:5px}.booking svg{width:17px}.home-caption{bottom:108px;max-width:190px}.home-caption h1{font-size:17px}.home-caption p{font-size:10px}.orbit-card>span{font-size:8px;bottom:-22px}.orbit-controls{bottom:110px}.orbit-buttons{gap:10px}.main-nav{bottom:20px;padding:12px 23px;gap:27px}.main-nav a{font-size:14px}footer{bottom:82px;font-size:7px}.gallery-tools{bottom:141px;left:var(--edge);right:var(--edge);display:flex;justify-content:center}.filters{gap:21px}.filters :is(button, a){font-size:11px;min-height:36px}.photo-caption{left:var(--edge);bottom:108px;max-width:calc(100% - 172px);transform:none;text-align:left}.photo-caption>span{font-size:20px}.photos .orbit-controls{bottom:101px}.contact{height:auto;min-height:100svh;padding:140px 28px 100px;display:flex;flex-direction:column;gap:54px;align-items:stretch}.contact-image{height:300px;width:65%;margin-left:14px}.contact-copy h1{font-size:62px}.contact-copy p{font-size:11px}.email{font-size:15px}dialog{padding:80px 40px}.previous{left:0}.next{right:0}.previous,.next{font-size:22px;padding:9px}.close-lightbox{right:20px}}
@media(max-height:500px) and (min-width:701px){:root{--header-height:86px;--dock-height:132px}header{padding-top:16px}.brand-name{font-size:43px}.wordmark{width:74px;gap:7px}.brand-surname{font-size:7px}.home-caption{bottom:80px}.orbit-controls,.gallery-tools{bottom:78px}.photo-caption{bottom:86px}.main-nav{bottom:16px}footer{bottom:22px}}
/* Reduced motion uses the same protected media region. */
.orbit-stage.is-reduced{perspective:none!important;overflow-x:auto;overflow-y:hidden;touch-action:pan-x;cursor:auto}.is-reduced .orbit-scene{position:relative;inset:auto;display:flex;align-items:center;gap:32px;padding:18px 10vw 38px;width:max-content;min-width:100%;height:100%;transform-style:flat;pointer-events:auto}.is-reduced .orbit-card{position:relative;left:auto;top:auto;flex:none;transform:none!important;visibility:visible!important;will-change:auto;max-height:100%}.is-reduced .orbit-card>span{display:block}
.photos-orbit.is-reduced .orbit-scene{gap:var(--gallery-gap);padding-inline:var(--gallery-inset)}


.brand-name,.brand-surname{min-width:0}.main-nav{padding:0 10px;gap:8px}.main-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px}.main-nav a.active:after{bottom:6px}
@media(max-width:700px){:root{--dock-height:190px}.gallery-tools{bottom:146px}.filters :is(button, a){min-height:44px}}
.home-orbit .orbit-card>span{display:none}
@media(max-width:700px){.home-identity{top:calc(var(--header-height) + 14px)}.home-identity h1{font-size:clamp(41px,11.6vw,65px);margin-bottom:13px}.home-profession{font-size:11px;letter-spacing:.1em;margin-bottom:8px}.home-location{font-size:10px}.home-orbit{top:calc(var(--header-height) + 142px);bottom:155px}}
@media(max-height:500px) and (min-width:701px){.home-identity{top:calc(var(--header-height) + 4px)}.home-identity h1{font-size:42px;margin-bottom:8px}.home-profession{font-size:10px;margin-bottom:4px}.home-location{font-size:9px}.home-orbit{top:calc(var(--header-height) + 108px)}}
