:root{--ym-bg:#06080f;--ym-bg-elevated:#0c1018;--ym-text:#f2f4f8;--ym-muted:rgba(242,244,248,.58);--ym-line:hsla(0,0%,100%,.08);--ym-accent:#c8252e;--ym-serif:"Cormorant Garamond",Georgia,serif;--ym-sans:"DM Sans",system-ui,sans-serif}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--ym-bg);color:var(--ym-text);font-family:var(--ym-sans);font-size:1rem;line-height:1.55}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#fff}.ym-public-nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1.1rem max(1.25rem,env(safe-area-inset-right)) 1rem max(1.25rem,env(safe-area-inset-left));border-bottom:1px solid var(--ym-line);background:rgba(6,8,15,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ym-public-nav a.brand{font-family:var(--ym-serif);font-size:1.35rem;font-weight:600;letter-spacing:.02em;text-decoration:none}.ym-public-nav a.brand span{color:var(--ym-accent)}.ym-public-nav-links{display:flex;gap:1.5rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em}.ym-public-nav-links a{text-decoration:none;color:var(--ym-muted)}.ym-btn,.ym-public-nav-links a:hover{color:var(--ym-text)}.ym-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1.35rem;font-family:var(--ym-sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ym-line);background:transparent;cursor:pointer;transition:border-color .2s ease,background .2s ease}.ym-btn:hover{border-color:hsla(0,0%,100%,.22);background:hsla(0,0%,100%,.04)}.ym-btn-primary{border-color:var(--ym-accent);background:var(--ym-accent);color:#fff}.ym-btn-primary:hover{filter:brightness(1.06);background:var(--ym-accent)}.ym-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.ym-protected-bar{display:flex;align-items:center;gap:1rem;height:56px;padding:0 1rem;border-bottom:1px solid var(--ym-line);background:#000;font-size:.85rem}.ym-protected-brand{font-family:var(--ym-serif);font-weight:600;text-decoration:none}.ym-protected-meta{flex:1 1;color:var(--ym-muted);letter-spacing:.12em}.ym-protected-meta,.ym-protected-signout{font-size:.75rem;text-transform:uppercase}.ym-protected-signout{margin-left:auto;border:1px solid var(--ym-line);background:transparent;color:var(--ym-text);padding:.45rem .85rem;cursor:pointer;letter-spacing:.08em}.ym-protected-signout:hover{border-color:hsla(0,0%,100%,.25)}.ym-login-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--ym-bg)}.ym-login-card{width:min(400px,100%);padding:2rem;border:1px solid var(--ym-line);background:var(--ym-bg-elevated)}.ym-login-card h1{font-family:var(--ym-serif);font-size:1.75rem;font-weight:500;margin:0 0 .35rem}.ym-login-card .sub{margin:0 0 1.5rem;font-size:.85rem;color:var(--ym-muted)}.ym-login-card label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ym-muted);margin-bottom:.35rem}.ym-login-card input{width:100%;margin-bottom:1rem;padding:.65rem .75rem;border:1px solid var(--ym-line);background:#05070c;color:var(--ym-text);font:inherit}.ym-login-error{color:#f0a8a8;font-size:.85rem;margin:0 0 1rem}.ym-login-card button[type=submit]{width:100%;margin-top:.25rem}.ym-portraits-note{margin-top:2.5rem;padding:1.25rem 1.5rem;border:1px solid var(--ym-line);max-width:36rem}.ym-portraits-note p{margin:0;color:var(--ym-muted);font-size:.95rem}.ym-portraits-note a{color:var(--ym-text);font-weight:600}.ym-landing-main{padding-top:56px}.ym-hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:6rem max(1.5rem,env(safe-area-inset-right)) 4rem max(1.5rem,env(safe-area-inset-left))}.ym-hero-bg{position:absolute;inset:0;z-index:0}.ym-hero-bg .ym-hero-img{object-fit:cover;object-position:center 28%}.ym-hero-overlay{position:absolute;inset:0;z-index:1;background:rgba(5,7,14,.78)}.ym-hero-content{position:relative;z-index:2;max-width:44rem}.ym-hero-kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ym-muted);margin:0 0 .75rem}.ym-hero h1{font-family:var(--ym-serif);font-size:clamp(3rem,8vw,5.25rem);font-weight:500;line-height:1.05;margin:0 0 1rem;letter-spacing:-.02em}.ym-hero-sub{margin:0;font-size:1.15rem;color:var(--ym-muted);max-width:32rem}.ym-section{padding:5rem max(1.5rem,env(safe-area-inset-right)) 4rem max(1.5rem,env(safe-area-inset-left));border-top:1px solid var(--ym-line)}.ym-section-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ym-muted);margin:0 0 1rem}.ym-section h2{font-family:var(--ym-serif);font-size:clamp(2rem,4vw,2.75rem);font-weight:500;margin:0 0 2rem}.ym-portfolio-strip-wrap{overflow-x:auto;margin:0 -1.5rem;padding:0 1.5rem .5rem;scrollbar-width:thin}.ym-portfolio-strip{display:flex;gap:1rem;width:max-content;padding-bottom:.25rem}.ym-strip-card{flex:0 0 auto;width:min(72vw,320px);aspect-ratio:3/4;position:relative;overflow:hidden;border:1px solid var(--ym-line);background:#0a0c12}.ym-strip-card img{width:100%;height:100%;object-fit:cover}.ym-section-foot{margin-top:2rem}.ym-services-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.ym-services-grid{grid-template-columns:1fr}}.ym-service-card{padding:1.75rem 1.5rem;border:1px solid var(--ym-line);background:var(--ym-bg-elevated);display:flex;flex-direction:column;gap:.75rem;min-height:11rem}.ym-service-card h3{font-family:var(--ym-serif);font-size:1.45rem;font-weight:500;margin:0}.ym-service-card p{margin:0;font-size:.95rem;color:var(--ym-muted);flex:1 1}.ym-service-card .ym-btn{align-self:flex-start;margin-top:.5rem}.ym-booking-block{text-align:center;max-width:32rem;margin:0 auto}.ym-booking-block h2{margin-bottom:1rem}.ym-booking-block p{color:var(--ym-muted);margin:0 0 1.75rem}.ym-site-footer{padding:3rem max(1.5rem,env(safe-area-inset-right)) max(2rem,env(safe-area-inset-bottom)) max(1.5rem,env(safe-area-inset-left));border-top:1px solid var(--ym-line);align-items:center;justify-content:space-between;font-size:.85rem;color:var(--ym-muted)}.ym-site-footer,.ym-site-footer nav{display:flex;flex-wrap:wrap;gap:1.5rem}.ym-site-footer a{text-decoration:none;color:var(--ym-muted)}.ym-site-footer a:hover{color:var(--ym-text)}.ym-page-inner{max-width:1100px;margin:0 auto;padding:6rem max(1.5rem,env(safe-area-inset-right)) 4rem max(1.5rem,env(safe-area-inset-left))}.ym-page-inner h1{font-family:var(--ym-serif);font-size:clamp(2.25rem,4vw,3rem);font-weight:500;margin:0 0 .5rem}.ym-page-lede{color:var(--ym-muted);margin:0 0 2.5rem;max-width:40rem}.ym-portfolio-section{margin-top:3.5rem}.ym-portfolio-section:first-of-type{margin-top:0}.ym-portfolio-section-title{font-family:var(--ym-serif);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:500;margin:0 0 .35rem;letter-spacing:-.02em}.ym-portfolio-section-lede{color:var(--ym-muted);margin:0 0 1.75rem;max-width:40rem;font-size:.98rem;line-height:1.55}.ym-portfolio-feature--landscape .ym-pf-media{max-height:none;aspect-ratio:16/9}.ym-portfolio-feature--landscape img{width:100%;height:100%;max-height:min(58vh,640px);object-fit:cover}.ym-portfolio-card-title{display:block;margin-bottom:.2rem}.ym-portfolio-card-meta{display:block;font-size:.78rem;color:var(--ym-muted)}.ym-portfolio-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:800px){.ym-portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ym-portfolio-feature{grid-column:1/-1;border:1px solid var(--ym-line);overflow:hidden;background:#080a10}.ym-portfolio-feature .ym-pf-media{position:relative;width:100%;max-height:70vh;background:#000}.ym-portfolio-feature img{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block;margin:0 auto}.ym-portfolio-feature figcaption{padding:1.25rem 1.5rem 1.5rem;border-top:1px solid var(--ym-line)}.ym-portfolio-card{border:1px solid var(--ym-line);overflow:hidden;background:#080a10}.ym-portfolio-card .ym-pc-media{aspect-ratio:3/4;position:relative}.ym-portfolio-card img{width:100%;height:100%;object-fit:cover}.ym-portfolio-card figcaption{padding:.85rem 1rem 1rem;font-size:.88rem}.ym-book-panel{max-width:520px;margin:0 auto;padding:2rem;border:1px solid var(--ym-line);background:var(--ym-bg-elevated)}.ym-tiers-intro{margin-bottom:2.5rem;color:var(--ym-muted);max-width:40rem}