@font-face{font-family:StudioSans;src:url('assets/sans.ttf')}@font-face{font-family:StudioSans;src:url('assets/bold.ttf');font-weight:600}@font-face{font-family:StudioSerif;src:url('assets/serif.ttf')}@font-face{font-family:StudioItalic;src:url('assets/italic.ttf')}@font-face{font-family:StudioDisplay;src:url('assets/display.ttf');font-display:swap}
:root{--bg:#211810;--surface:#2b1f16;--hero:#4b2f1c;--glow:#a16e3e;--ink:#fbf2e5;--muted:#cbbcac;--button:#f5eedf;--button-ink:#251c15;--line:#655443;--works:#120f0c;--shadow:#180e04;--card:#553927;color-scheme:dark}:root[data-theme=light]{--bg:#fbf7ef;--surface:#f2e9dd;--hero:#e6d1b4;--glow:#fff8e4;--ink:#3c2b1d;--muted:#766452;--button:#5d3e2a;--button-ink:#fff9ed;--line:#cdbba6;--works:#f2e9dd;--shadow:#b39879;--card:#d7bda1;color-scheme:light}:root[data-theme=purple]{--bg:#faf5fc;--surface:#eee4f3;--hero:#d7c2e2;--glow:#fff2fc;--ink:#422a50;--muted:#7d6586;--button:#654376;--button-ink:#fff6fd;--line:#c6b0d0;--works:#eee3f4;--shadow:#a988b8;--card:#bca1cb;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 StudioSans,Arial,sans-serif;transition:background .3s,color .3s}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,.carousel:focus-visible{outline:2px solid var(--ink);outline-offset:6px}h1,h2,p,figure{margin:0}h1,h2{font-weight:400}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;gap:35px;padding:25px 3%;}.brand{font-size:27px;letter-spacing:-.045em;line-height:1.2;white-space:nowrap}.site-header nav{display:flex;gap:35px;align-items:center;margin-left:auto;font-size:14px;line-height:1.5}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--ink)}.theme-switch{display:flex;gap:4px;padding:3px 5px;border:1px solid var(--line);border-radius:25px;background:color-mix(in srgb,var(--bg),transparent 35%)}.theme-switch button{width:27px;height:27px;border:0;background:none;border-radius:50%;display:grid;place-items:center;padding:0}.theme-switch button span{width:15px;height:15px;border-radius:50%;border:1px solid #fff7;display:block}.theme-switch button[data-theme=dark] span{background:#432d1e}.theme-switch button[data-theme=light] span{background:#f5e8d0}.theme-switch button[data-theme=purple] span{background:#cfb4e2}.theme-switch button[aria-pressed=true]{outline:1px solid var(--ink);outline-offset:-3px}.hero{min-height:680px;height:min(52vw,860px);position:relative;overflow:hidden;background:var(--hero);isolation:isolate}.hero-glow{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 48% 39%,var(--glow) 0%,transparent 67%),linear-gradient(100deg,var(--shadow),transparent 55%);opacity:.46}.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.065}.hero-model{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.hero-copy{position:relative;padding-top:clamp(160px,11vw,215px);width:54%;margin-left:5%;padding-bottom:65px}h1{font-family:StudioDisplay,StudioSerif,Georgia,serif;font-size:clamp(95px,9.8vw,172px);line-height:.83;letter-spacing:-.065em}h1 span{display:block}h1 span+span{margin-left:11%;margin-top:.12em}.hero-copy>p{font-size:clamp(16px,1.25vw,21px);margin:37px 0 24px 11%;letter-spacing:.01em;white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 25px;border:0;border-radius:40px;background:var(--button);color:var(--button-ink);font-size:15px;line-height:1.6;min-height:50px;transition:transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:24px;line-height:1}.hero .button{margin-left:11%}.section-pad{padding:65px 6%}.styles{padding-top:36px;padding-bottom:80px}.styles h2{font-size:30px;line-height:1.3;margin-bottom:28px;letter-spacing:-.025em}.style-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.style-grid img{height:auto;aspect-ratio:1.9;object-position:50% 30%;transition:filter .25s}.style-grid a:hover img{filter:brightness(1.08)}.style-grid span{display:flex;justify-content:space-between;gap:12px;font-size:18px;letter-spacing:.13em;padding-top:13px}.style-grid b{font-weight:400;letter-spacing:0}.works{background:var(--works);padding:90px 0 45px;overflow:hidden}.works-heading{display:flex;align-items:center;gap:3%;padding:0 6%}.works-heading p{font-size:16px;font-style:italic;line-height:1.4;flex:0 0 21%}.works-heading h2{font-size:clamp(70px,9.9vw,172px);font-weight:600;line-height:1;letter-spacing:-.055em;white-space:nowrap}.carousel{outline-offset:-5px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}.carousel:active{cursor:grabbing}.carousel-stage{height:610px;position:relative;perspective:1100px;overflow:hidden;transform-style:preserve-3d}.work-card{position:absolute;top:70px;left:50%;width:23%;height:440px;border-radius:25px;overflow:hidden;will-change:transform;transform-origin:center center;backface-visibility:hidden;background:var(--card);pointer-events:auto;box-shadow:0 8px 25px #0000000c}.work-card img{pointer-events:none;-webkit-user-drag:none;object-position:center 30%}.work-card.detail img{transform:scale(1.35);object-position:50% 10%}.work-card:after{content:'';position:absolute;inset:58% 0 0;background:linear-gradient(transparent,#160f08a6);pointer-events:none}.work-card figcaption{position:absolute;bottom:24px;left:25px;right:20px;z-index:1;color:#fffaf3;font-size:clamp(16px,1.6vw,25px);line-height:1.25}.carousel-controls{display:flex;justify-content:center;gap:7px;align-items:center}.carousel-controls button{height:56px;width:82px;border:1px solid var(--line);background:transparent;border-radius:40px;font-size:29px;line-height:1}.carousel-controls button:hover{background:var(--surface)}.carousel-controls #autoplay{width:42px;height:42px;border-color:transparent;font-size:17px;margin-left:10px;opacity:.65}.carousel-hint{font-size:12px;color:var(--muted);text-align:center;margin-top:14px;letter-spacing:.025em}.studio{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:120px;padding-bottom:120px;align-items:center}.studio-photo{height:580px;max-width:510px}.studio-copy .eyebrow{margin-bottom:25px}.eyebrow{font-size:12px;letter-spacing:.2em;line-height:1.5}.studio h2{font:72px/.98 StudioSerif,Georgia,serif;letter-spacing:-.035em;margin-bottom:35px}.studio-copy>p:not(.eyebrow){font-size:17px;line-height:1.9;color:var(--muted);margin:20px 0;max-width:460px}.text-link{display:inline-flex;gap:60px;border-bottom:1px solid var(--line);padding:8px 0;font-size:15px;margin-top:14px}.booking{text-align:center;padding-top:100px;padding-bottom:110px;background:var(--surface)}.booking h2{font:clamp(65px,7vw,115px)/1.1 StudioSerif,Georgia,serif;letter-spacing:-.04em;margin:30px 0 18px}.booking>p:not(.eyebrow){color:var(--muted);margin-bottom:27px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:55px;padding-bottom:28px}footer p{font-size:14px;color:var(--muted);margin-top:15px}footer>a{font-size:14px}footer small{width:100%;font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:24px}dialog{border:1px solid var(--line);border-radius:20px;background:var(--bg);color:var(--ink);width:min(90%,490px);padding:45px}dialog::backdrop{background:#0009}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px}dialog h2{font:45px/1.1 StudioSerif,Georgia,serif;margin:20px 0}dialog p:not(.eyebrow){color:var(--muted);margin-bottom:30px}.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}
@media(min-width:1650px){.carousel-stage{height:710px}.work-card{height:520px;top:80px}.hero-copy{padding-top:210px}}@media(max-width:1100px){.site-header{gap:18px}.site-header nav{gap:20px}.brand{font-size:24px}.hero{min-height:590px}.hero-copy{padding-top:155px;margin-left:4%}h1{font-size:10.2vw}.hero-copy>p{white-space:normal;font-size:16px}.style-grid{gap:22px}.style-grid span{font-size:15px;letter-spacing:.04em}.carousel-stage{height:500px}.work-card{height:350px;top:60px}.works-heading p{font-size:14px}.studio h2{font-size:58px}.studio-photo{height:470px}}
@media(max-width:700px){.site-header{padding:23px 20px;flex-wrap:wrap;gap:20px}.brand{font-size:22px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:13px}.theme-switch{margin-left:auto}.theme-switch button{width:29px;height:29px}.hero{height:790px;min-height:0}.hero-model{width:154%;max-width:none;left:-51%;height:65%;top:35%;object-fit:cover;object-position:70% top}.hero-copy{padding-top:143px;margin-left:7%;width:86%}h1{font-size:clamp(75px,16vw,118px);line-height:.86;letter-spacing:-.055em}h1 span+span{margin-left:10%;margin-top:.06em}.hero-copy>p{font-size:14px;margin:25px 0 17px;max-width:250px}.hero .button{margin-left:0;font-size:13px;min-height:46px;gap:14px;padding:10px 17px}.section-pad{padding-left:7%;padding-right:7%}.styles{padding-top:34px;padding-bottom:52px}.styles h2{font-size:24px;margin-bottom:22px}.style-grid{gap:16px;grid-template-columns:1fr}.style-grid img{aspect-ratio:1.85}.style-grid span{font-size:16px;letter-spacing:.06em;padding-top:9px;padding-bottom:17px}.works{padding-top:52px}.works-heading{display:block;padding:0 7%}.works-heading p{font-size:14px;margin-bottom:22px}.works-heading h2{font-size:clamp(44px,12vw,80px);letter-spacing:-.05em}.carousel-stage{height:465px;perspective:900px}.work-card{width:57%;height:315px;top:49px;border-radius:20px}.work-card figcaption{font-size:18px;left:18px;bottom:20px}.carousel-controls button{width:65px;height:47px;font-size:25px}.carousel-hint{font-size:11px}.studio{grid-template-columns:1fr;gap:40px;padding-top:65px;padding-bottom:65px}.studio-photo{height:450px;max-width:none}.studio h2{font-size:60px}.studio-copy>p:not(.eyebrow){font-size:16px}.booking{padding-top:70px;padding-bottom:80px}.booking h2{font-size:65px}.booking .eyebrow{font-size:11px}footer .brand{font-size:25px}footer{align-items:flex-start}footer p{max-width:220px;font-size:12px}.button{font-size:14px}dialog{padding:35px}}
.hero-model img{object-position:center top}.hero-copy{z-index:1}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(90deg,#21130b35,transparent 60%)}:root[data-theme=light] .hero:before{background:linear-gradient(90deg,#faedda25,transparent 60%)}:root[data-theme=purple] .hero:before{background:linear-gradient(90deg,#dbc5e5 0%,#e1cfe9 30%,#e4d3e988 45%,transparent 65%)}
@media(max-width:700px){.hero:before{background:linear-gradient(180deg,var(--hero) 0%,var(--hero) 30%,transparent 58%)}:root[data-theme=light] .hero:before,:root[data-theme=purple] .hero:before{background:linear-gradient(180deg,var(--hero) 0%,var(--hero) 30%,transparent 58%)}}


@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body,.button{transition:none}}

@media(max-width:380px){.site-header{gap:12px}.site-header .brand{font-size:18px}.theme-switch button{width:25px;height:25px}}

:root[data-theme=dark] .site-header nav{color:#fff}
@media(min-width:701px){:root:not([data-theme=dark]) .site-header{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}:root:not([data-theme=dark]) .site-header nav{margin:0;justify-self:center;gap:25px}:root:not([data-theme=dark]) .theme-switch{justify-self:end}}
@media(min-width:701px) and (max-width:1000px){:root:not([data-theme=dark]) .site-header .brand{font-size:20px}:root:not([data-theme=dark]) .site-header nav{gap:16px;font-size:13px}}
/* Approved identity and service menu */
.brand{display:block;width:210px;flex-shrink:0}.brand img{width:100%;height:auto;object-fit:contain}.logo-light{display:none}:root:not([data-theme=dark]) .logo-dark{display:none}:root:not([data-theme=dark]) .logo-light{display:block}.site-header{padding-top:16px;padding-bottom:16px}.site-header nav a[aria-current=page]{border-color:currentColor}.skip-link{position:absolute;left:15px;top:-100px;z-index:20;background:var(--bg);padding:12px}.skip-link:focus{top:15px}.social-links{display:flex;gap:28px;flex-wrap:wrap;font-size:16px}.secondary-phone{margin-top:18px!important;margin-bottom:28px!important}.secondary-phone a{text-decoration:underline;text-underline-offset:4px}address{font-style:normal;font-size:18px;line-height:1.6}.services-page .site-header{position:relative;background:var(--bg);border-bottom:1px solid var(--line)}.menu-intro{padding-top:90px;padding-bottom:35px}.menu-intro h1{font:clamp(56px,8vw,110px)/1.1 StudioSerif,Georgia,serif;letter-spacing:-.04em;margin:18px 0 26px}.price-notice{max-width:720px;color:var(--muted);font-size:18px}.price-notice strong{display:block;color:var(--ink);margin-bottom:7px}.service-menu{display:grid;grid-template-columns:1fr 1fr;column-gap:9%;row-gap:45px;padding-top:25px;padding-bottom:80px}.service-group:first-child{grid-row:span 2}.service-group h2{font:42px/1.2 StudioSerif,Georgia,serif;margin-bottom:20px}.service-group dl{margin:0}.service-row{display:flex;gap:16px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:18px}.service-row dd{margin:0;white-space:nowrap;font-weight:600}.service-row small{display:block;color:var(--muted);font-size:14px;margin-top:5px}.length-pricing{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:20px;background:var(--surface);padding:30px 35px}.length-pricing h2{font:38px/1.2 StudioSerif,Georgia,serif;margin-top:10px}.length-pricing strong{font-size:24px}.length-pricing>p{flex-basis:100%;color:var(--muted)}.missing-style{background:var(--surface);text-align:center;padding-top:75px;padding-bottom:65px}.missing-style h2{font:clamp(46px,6vw,75px)/1.1 StudioSerif,Georgia,serif}.missing-style>p:first-of-type{max-width:650px;margin:25px auto;color:var(--muted);font-size:18px}.eyebrow{font-size:14px}.services-page footer .brand{width:230px}
@media(min-width:701px) and (max-width:1000px){.brand{width:170px}.site-header{gap:15px}.site-header nav{font-size:13px;gap:16px}:root:not([data-theme=dark]) .site-header{grid-template-columns:170px 1fr auto}}
@media(max-width:700px){.site-header .brand{width:175px}.site-header{gap:13px}.site-header nav{font-size:14px}.service-menu{grid-template-columns:1fr;gap:35px}.service-group:first-child{grid-row:auto}.menu-intro{padding-top:45px}.price-notice{font-size:16px}.service-row{font-size:16px}.length-pricing{padding:25px}.length-pricing h2{font-size:32px}.length-pricing strong{font-size:21px}.social-links{gap:20px}.hero-copy{padding-top:170px}.hero{height:825px}.booking .button{font-size:14px;gap:10px}.theme-switch button{width:28px;height:28px}}
/* Illustrated service catalogue */
.service-jump{display:flex;gap:28px;flex-wrap:wrap;padding:0 6% 25px;font-size:16px}.service-jump a{border-bottom:1px solid var(--line);padding:8px 0}.image-note{color:var(--muted);font-size:14px;margin-top:16px;max-width:650px}.service-menu{display:block}.service-group{margin-bottom:70px;scroll-margin-top:30px}.service-group h2{font-size:48px;margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}.service-card{min-width:0}.service-image{overflow:hidden;background:var(--card);aspect-ratio:3/4;border-radius:3px}.service-image img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform 850ms cubic-bezier(.2,.65,.3,1)}.service-card-copy{padding-top:18px}.service-card-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.service-card h3{font:30px/1.15 StudioSerif,Georgia,serif;margin:0}.service-card strong{font-size:17px;font-weight:600;white-space:nowrap}.service-note{font-size:14px;color:var(--muted);line-height:1.5;margin-top:8px}.braid-detail img{transform:scale(1.6);object-position:80% 10%}.will-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .9s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}.will-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover .service-image img{transform:scale(1.045)}.service-card.braid-detail:hover .service-image img{transform:scale(1.65)}}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.service-card h3{font-size:28px}}
@media(max-width:700px){.service-grid{grid-template-columns:1fr;gap:35px}.service-image{aspect-ratio:4/5}.service-group{margin-bottom:48px}.service-group h2{font-size:40px}.service-jump{padding-left:7%;padding-right:7%;gap:20px}.service-card-title{flex-direction:row;align-items:baseline;justify-content:space-between;gap:14px}.service-card h3{font-size:28px}.service-card strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none;transition:none}.service-image img{transition:none}}

/* Compact service portraits with an editorial slide-in. */
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 24px}
.service-image{aspect-ratio:4/5;max-height:300px}
.service-card h3{font-size:26px}.service-card-copy{padding-top:14px}
.will-reveal{opacity:0;transform:translate(48px,24px) rotate(3deg) scale(.95);transform-origin:50% 90%;transition:opacity .85s ease var(--reveal-delay,0ms),transform 1.15s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.will-reveal:nth-child(even){transform:translate(-48px,24px) rotate(-3deg) scale(.95)}
.will-reveal.is-visible{opacity:1;transform:translate(0,0) rotate(0) scale(1)}
.service-menu{overflow:hidden}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.service-image{aspect-ratio:4/5;max-height:260px}.service-card-title{flex-direction:column;align-items:flex-start;gap:7px}.service-card h3{font-size:23px}.service-card strong{font-size:15px}.service-note{font-size:12px}.will-reveal{transform:translate(24px,20px) rotate(3deg) scale(.95)}.will-reveal:nth-child(even){transform:translate(-24px,20px) rotate(-3deg) scale(.95)}.will-reveal.is-visible{transform:none}}
@media(prefers-reduced-motion:reduce){.will-reveal,.will-reveal:nth-child(even){opacity:1;transform:none;transition:none}}

/* Shorter landscape service windows; preserve the upper hair detail. */
.service-image{aspect-ratio:6/5;max-height:220px}.service-image img{object-position:center 15%}
@media(max-width:700px){.service-image{aspect-ratio:6/5;max-height:180px}}

.compact-notice{font-size:17px}.compact-notice strong{margin-bottom:4px}.pricing-details{max-width:650px;margin-top:15px;color:var(--muted);font-size:14px;line-height:1.6}.pricing-details summary{cursor:pointer;width:fit-content;text-decoration:underline;text-underline-offset:4px}.pricing-details p{margin-top:10px}.pricing-details summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}

/* About Yama */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:75px;padding-bottom:85px}.about-copy h1{font:clamp(60px,7vw,100px)/1.05 StudioSerif,Georgia,serif;letter-spacing:-.04em;margin:20px 0}.about-copy>p:not(.eyebrow){max-width:480px;color:var(--muted);margin:20px 0}.about-copy .about-lead{font:32px/1.25 StudioSerif,Georgia,serif;color:var(--ink)!important}.about-copy .button{margin-top:12px}.yama-portrait{aspect-ratio:4/5;background:var(--surface);border:1px solid var(--line)}.portrait-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;padding:35px}.portrait-placeholder img{width:75%;height:auto}.portrait-placeholder p{font-size:13px;color:var(--muted)}.about-visit{background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-visit h2{font:44px/1.15 StudioSerif,Georgia,serif;margin:15px 0 25px}.about-visit p{margin-top:20px;line-height:2}
/* Mobile-first refinement: compact visual scale, comfortable tap targets. */
@media(max-width:700px){
body{font-size:15px}.site-header{padding:14px 20px 8px;gap:6px 10px}.site-header .brand{width:140px}.theme-switch{padding:0 2px;gap:0}.theme-switch button{width:34px;height:40px}.theme-switch button span{width:13px;height:13px}.site-header nav{font-size:12px;gap:8px;margin:0}.site-header nav a{min-height:44px;display:flex;align-items:center}.hero{height:690px;height:min(760px,96svh);min-height:610px}.hero-copy{padding-top:145px;width:88%;margin-left:6%;padding-bottom:25px}.hero-copy h1{font-size:clamp(58px,15vw,80px)}.hero-copy>p{font-size:13px;margin:20px 0 15px;max-width:230px}.hero-model{top:37%;height:63%;width:154%;left:-51%}.hero .button{font-size:12px;padding:10px 17px;min-height:44px}.section-pad{padding:42px 6%}.styles h2{font-size:22px;margin-bottom:18px}.style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.style-grid img{aspect-ratio:4/5;object-position:55% 15%}.style-grid span{font-size:12px;letter-spacing:0;line-height:1.35;padding:9px 0;gap:4px}.style-grid b{display:none}.text-link{font-size:13px;gap:20px;min-height:44px;align-items:center}.works{padding:38px 0 28px}.works-heading{padding:0 6%}.works-heading p{font-size:12px;margin-bottom:16px;max-width:240px}.works-heading h2{font-size:clamp(38px,11vw,54px)}.carousel-stage{height:365px}.work-card{height:230px;top:25px;border-radius:14px}.work-card figcaption{font-size:14px;left:14px;bottom:16px}.carousel-controls button{width:58px;height:44px}.carousel-controls #autoplay{height:44px;width:44px}.studio{gap:25px}.studio-photo{height:280px}.studio-photo img{object-position:center 20%}.studio h2{font-size:43px;margin-bottom:18px}.studio-copy .eyebrow{margin-bottom:14px}.studio-copy>p:not(.eyebrow){font-size:14px;line-height:1.75;margin:14px 0}.eyebrow{font-size:10px;letter-spacing:.16em}.booking h2{font-size:43px;margin:18px 0 14px}.booking>p:not(.eyebrow){font-size:14px;margin-bottom:18px}.booking .button{font-size:13px;padding:11px 16px;min-height:46px}.secondary-phone{margin-top:12px!important;margin-bottom:22px!important}address{font-size:14px}.menu-intro{padding-top:32px;padding-bottom:20px}.menu-intro h1{font-size:46px;margin:12px 0 18px}.compact-notice{font-size:14px}.pricing-details{font-size:13px;margin-top:10px}.pricing-details summary{padding:8px 0;min-height:40px}.service-jump{padding:0 6% 10px;gap:18px;font-size:13px}.service-jump a{min-height:44px}.service-menu{padding-top:18px;padding-bottom:35px}.service-group h2{font-size:31px;margin-bottom:20px}.service-card h3{font-size:20px;line-height:1.2}.service-card strong{font-size:13px}.service-card-copy{padding-top:10px}.service-grid{gap:24px 14px}.length-pricing{padding:20px;gap:12px}.length-pricing h2{font-size:27px}.length-pricing strong{font-size:18px}.length-pricing>p{font-size:13px}.missing-style h2{font-size:35px}.missing-style>p:first-of-type{font-size:14px;margin:18px auto}.missing-style .button{font-size:13px;min-height:44px}.social-links{gap:16px;font-size:13px}.social-links a{min-height:44px;display:flex;align-items:center}footer{gap:14px}.services-page footer .brand,footer .brand{width:155px}footer small{font-size:10px;margin-top:12px}.about-intro{grid-template-columns:1fr;gap:28px;padding-top:32px}.about-copy h1{font-size:48px;margin:14px 0}.about-copy .about-lead{font-size:27px}.about-copy>p:not(.eyebrow){font-size:14px;margin:15px 0}.about-copy .about-lead{font-size:27px!important}.yama-portrait{width:100%;max-width:360px;aspect-ratio:1}.about-visit{grid-template-columns:1fr;gap:20px}.about-visit h2{font-size:32px}.portrait-placeholder p{font-size:12px}
}

.nav-book-short{display:none}@media(max-width:700px){.nav-book-full{display:none}.nav-book-short{display:inline}.site-header nav a{white-space:nowrap}.site-header nav{font-size:12px}}

/* Full-bleed page painting with safe space for device cutouts and home indicator. */
html{background:var(--bg)}
.site-header{padding-left:max(3%,env(safe-area-inset-left,0px));padding-right:max(3%,env(safe-area-inset-right,0px));padding-top:calc(16px + env(safe-area-inset-top,0px))}
.section-pad{padding-left:max(6%,env(safe-area-inset-left,0px));padding-right:max(6%,env(safe-area-inset-right,0px))}
footer.section-pad{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
@media(max-width:700px){.site-header{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-top:calc(14px + env(safe-area-inset-top,0px))}.hero-copy{padding-top:calc(145px + env(safe-area-inset-top,0px))}footer.section-pad{padding-bottom:calc(42px + env(safe-area-inset-bottom,0px))}}

/* Founder portrait is framed from the supplied collage; source remains unedited. */
.founder{display:grid;grid-template-columns:minmax(250px,400px) minmax(0,460px);justify-content:center;gap:9%;align-items:center;padding-top:90px;padding-bottom:90px}.founder-photo{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--surface)}.founder-photo img{position:absolute;width:201%;max-width:none;height:auto;right:0;top:0}.founder-copy h2{font:clamp(45px,5vw,72px)/1.05 StudioSerif,Georgia,serif;letter-spacing:-.025em;margin:18px 0 12px}.founder-role{font-size:13px;color:var(--muted);margin-bottom:24px}.founder-copy>p:not(.eyebrow):not(.founder-role){font-size:16px;line-height:1.8;color:var(--muted);max-width:410px}.founder-copy .text-link{margin-top:22px}
@media(max-width:700px){.founder{grid-template-columns:1fr;gap:26px;padding:42px 6%}.founder-photo{width:100%;max-width:340px;aspect-ratio:1;justify-self:center}.founder-copy h2{font-size:42px;margin:12px 0 10px}.founder-role{font-size:12px;margin-bottom:16px}.founder-copy>p:not(.eyebrow):not(.founder-role){font-size:14px;line-height:1.7}.founder-copy .text-link{margin-top:14px}}

.founder-photo img{position:static;width:100%;height:100%;object-fit:cover;object-position:center top}

/* A paper invitation for booking; all copy remains selectable and accessible. */
.booking{padding-top:90px;padding-bottom:75px;background:var(--surface)}.booking-paper{position:relative;isolation:isolate;max-width:760px;margin:0 auto;padding:100px 50px 45px;color:#552424;filter:drop-shadow(0 10px 12px #00000012)}.booking-paper:before{content:"";position:absolute;inset:0;z-index:-1;background:#f6efdf;clip-path:polygon(.6% 1%,8% .5%,19% 1%,30% .4%,44% .8%,58% .3%,73% .8%,88% .4%,99.5% 1%,99.1% 18%,99.7% 34%,99.2% 53%,99.8% 70%,99.3% 86%,99.6% 99%,87% 99.5%,72% 99%,55% 99.6%,38% 99.1%,23% 99.6%,9% 99.2%,.5% 99.6%,.9% 83%,.3% 64%,.8% 48%,.2% 31%,.7% 17%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.075' filter='url(%23paper)'/%3E%3C/svg%3E")}.booking-seal{position:absolute;left:50%;top:-29px;transform:translateX(-50%) rotate(-9deg);width:88px;height:88px;display:grid;place-items:center;border-radius:48% 52% 47% 53%;background:radial-gradient(ellipse at 35% 25%,#96585a,#552424 75%);color:#e5c6a5;border:5px solid #7b4041;outline:1px solid #4d2525;box-shadow:inset 0 0 0 2px #c68e8060,0 5px 7px #32161438;font:48px/1 StudioItalic,Georgia,serif}.booking-paper .eyebrow{font-size:11px;letter-spacing:.16em;color:#795849}.booking-paper h2{font:76px/.98 StudioSerif,Georgia,serif;margin:22px 0}.booking-note{font:italic 23px/1.5 StudioSerif,Georgia,serif;margin-bottom:28px}.booking-paper .button{background:#552424;color:#fbf2e5;min-height:48px;font-size:14px;gap:30px}.booking-numbers{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;margin:14px 0 26px;font-size:15px}.booking-numbers a{min-height:44px;display:inline-flex;align-items:center}.booking-numbers span{font-size:12px;color:#876d5b}.booking-location{border-top:1px solid #55242426;padding-top:24px;max-width:370px;margin:auto}.booking-location address{font-size:16px}.booking-paper .text-link{border-color:#55242455;font-size:13px;margin-top:8px}.booking-signoff{margin-top:28px;font-size:13px;color:#795849}.booking-signoff span{display:inline-block;font:38px/1.5 StudioItalic,Georgia,serif;color:#552424}
@media(max-width:700px){.booking{padding:64px 4% 38px}.booking-paper{padding:66px 22px 28px}.booking-seal{width:65px;height:65px;top:-23px;font-size:37px;border-width:4px}.booking-paper .eyebrow{font-size:9px;letter-spacing:.12em;max-width:230px;margin:auto}.booking-paper h2{font-size:49px;margin:18px 0}.booking-note{font-size:19px;line-height:1.45;margin-bottom:22px}.booking-paper .button{font-size:13px;min-height:46px}.booking-numbers{font-size:13px;gap:0 8px;margin:8px 0 17px}.booking-location{padding-top:19px}.booking-location address{font-size:13px}.booking-signoff{margin-top:20px;font-size:12px}.booking-signoff span{font-size:32px}}

/* Champagne parchment: deckled edge, visible paper thickness and curled ends. */
.booking{padding-top:64px;padding-bottom:45px}.booking-paper{max-width:700px;padding:65px 45px 34px;filter:drop-shadow(0 4px 0 #9d7954) drop-shadow(0 13px 12px #160a0438)}
.booking-paper:before{background-color:#d9bb9b;background-image:linear-gradient(90deg,#b8926c44,transparent 8%,#f5e0c333 48%,transparent 93%,#a77e5044),linear-gradient(180deg,#a9825955,transparent 8%,transparent 89%,#a9825933),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.17' filter='url(%23p)'/%3E%3C/svg%3E");clip-path:polygon(0% 0.29%,2% 0.45%,4% 0.28%,6% 0.46%,8% 0.61%,10% 0.68%,12% 0.33%,14% 0.42%,16% 0.26%,18% 0.83%,20% 0.36%,22% 0.89%,24% 0.17%,26% 0.11%,28% 0.48%,30% 0.48%,32% 0.78%,34% 0.88%,36% 0.56%,38% 0.37%,40% 0.74%,42% 0.51%,44% 0.33%,46% 0.39%,48% 0.10%,50% 0.74%,52% 0.14%,54% 0.27%,56% 0.66%,58% 0.66%,60% 0.66%,62% 0.67%,64% 0.82%,66% 0.95%,68% 0.97%,70% 0.45%,72% 0.42%,74% 0.22%,76% 0.49%,78% 0.26%,80% 0.94%,82% 0.78%,84% 0.31%,86% 0.72%,88% 0.73%,90% 0.19%,92% 0.83%,94% 0.76%,96% 0.53%,98% 0.95%,100% 0.18%,98.55% 2%,99.51% 4%,99.43% 6%,98.51% 8%,99.35% 10%,99.33% 12%,99.03% 14%,98.68% 16%,99.65% 18%,99.75% 20%,99.28% 22%,98.81% 24%,99.26% 26%,99.40% 28%,99.22% 30%,99.62% 32%,98.82% 34%,99.74% 36%,99.51% 38%,98.68% 40%,98.63% 42%,99.59% 44%,98.96% 46%,99.76% 48%,99.80% 50%,98.89% 52%,99.54% 54%,98.80% 56%,99.20% 58%,98.77% 60%,99.62% 62%,98.70% 64%,99.79% 66%,99.01% 68%,98.90% 70%,98.56% 72%,98.80% 74%,98.59% 76%,98.81% 78%,99.87% 80%,99.42% 82%,98.66% 84%,98.65% 86%,99.14% 88%,99.73% 90%,99.14% 92%,99.00% 94%,99.43% 96%,98.68% 98%,100% 99.17%,98% 99.48%,96% 99.75%,94% 99.42%,92% 99.26%,90% 99.48%,88% 99.72%,86% 99.19%,84% 99.13%,82% 99.45%,80% 99.31%,78% 99.13%,76% 99.19%,74% 99.78%,72% 99.18%,70% 99.31%,68% 99.85%,66% 99.34%,64% 99.85%,62% 99.75%,60% 99.43%,58% 99.42%,56% 99.02%,54% 99.35%,52% 99.47%,50% 99.89%,48% 99.07%,46% 99.74%,44% 99.86%,42% 99.80%,40% 99.47%,38% 99.61%,36% 99.32%,34% 99.03%,32% 99.37%,30% 99.67%,28% 99.08%,26% 99.43%,24% 99.05%,22% 99.12%,20% 99.76%,18% 99.04%,16% 99.56%,14% 99.24%,12% 99.25%,10% 99.84%,8% 99.40%,6% 99.51%,4% 99.80%,2% 99.59%,0% 99.12%,0.55% 98%,1.26% 96%,0.53% 94%,0.25% 92%,0.52% 90%,0.49% 88%,0.77% 86%,0.31% 84%,1.28% 82%,1.47% 80%,0.38% 78%,0.84% 76%,0.42% 74%,1.00% 72%,0.48% 70%,0.10% 68%,0.12% 66%,0.13% 64%,0.51% 62%,1.11% 60%,0.77% 58%,0.62% 56%,0.33% 54%,1.31% 52%,1.41% 50%,0.29% 48%,0.60% 46%,0.72% 44%,0.58% 42%,0.21% 40%,1.15% 38%,0.90% 36%,0.12% 34%,0.11% 32%,1.05% 30%,0.71% 28%,0.62% 26%,1.29% 24%,0.14% 22%,1.46% 20%,1.36% 18%,0.78% 16%,0.69% 14%,0.30% 12%,1.03% 10%,0.88% 8%,0.59% 6%,1.04% 4%,0.23% 2%)}
.paper-roll{position:absolute;left:2%;right:2%;height:17px;border-radius:50% / 35%;background:linear-gradient(180deg,#ae875f,#e9ceb0 36%,#f0d7b7 52%,#c29b72 80%,#9d7751);box-shadow:0 5px 5px #58351c35;pointer-events:none;z-index:0}.paper-roll-top{top:0;transform:rotate(-.4deg)}.paper-roll-bottom{bottom:-3px;transform:rotate(.3deg);height:19px}.booking-seal{z-index:2;width:72px;height:72px;font-size:40px;top:-27px}.booking-paper h2{font-size:58px;margin:16px 0}.booking-note{font-size:21px;max-width:420px;margin:0 auto 20px;line-height:1.4}.booking-numbers{margin:4px 0 12px}.booking-location{padding-top:16px}.booking-signoff{margin-top:14px}.booking-signoff span{font-size:29px;margin-left:5px;vertical-align:middle}.booking-paper .eyebrow,.booking-signoff{color:#63412f}.booking-numbers span{color:#63412f}
@media(max-width:700px){.booking{padding:48px 4% 30px}.booking-paper{padding:48px 23px 26px}.booking-seal{width:56px;height:56px;top:-23px;font-size:31px;border-width:3px}.booking-paper h2{font-size:36px;line-height:1.05;margin:13px 0}.booking-paper .eyebrow{font-size:8px;max-width:250px}.booking-note{font-size:17px;line-height:1.35;margin-bottom:16px}.booking-paper .button{min-height:44px;padding:8px 18px}.booking-numbers{margin:2px 0 8px;font-size:12px;gap:0 6px}.booking-location{padding-top:13px}.booking-paper .text-link{margin-top:0;min-height:44px}.booking-signoff{margin-top:6px;font-size:11px}.booking-signoff span{font-size:27px}.paper-roll{height:13px}.paper-roll-bottom{height:15px}}

/* Mobile header: a single, accessible menu for links and color preferences. */
.header-navigation{display:contents}.menu-toggle{display:none}
@media(max-width:700px){
 .site-header{justify-content:space-between;flex-wrap:nowrap;z-index:10;padding-bottom:14px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;padding:10px;border:0;background:transparent;margin-left:auto;position:relative;z-index:2}
 .menu-toggle span{display:block;width:24px;height:1px;background:currentColor;transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .header-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:18px 24px 26px;box-shadow:0 16px 24px #0002;border-bottom:1px solid var(--line)}
 .site-header.menu-open{background:var(--bg)}
 .site-header.menu-open .header-navigation{display:block}
 .site-header .header-navigation nav{display:flex;flex-direction:column;align-items:stretch;gap:8px;font-size:17px;margin:0 0 20px}
 .header-navigation nav a{padding:6px 0}
 .header-navigation .theme-switch{width:max-content;margin:0;gap:12px;padding:4px 8px}
 .header-navigation .theme-switch button{width:44px;height:44px}
 .hero{height:100svh;min-height:100svh}
 .hero-copy{padding-top:calc(110px + env(safe-area-inset-top,0px))}
 .hero-model{top:34%;height:66%}
 .hero:before,:root[data-theme=light] .hero:before,:root[data-theme=purple] .hero:before{background:none}
}
@media(max-width:700px){
 .hero-glow{display:none}
 .hero-model{mask-image:linear-gradient(to bottom,transparent,#000 2%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 2%)}
}

/* A transparent portrait over one continuous mobile backdrop. */
@media(max-width:700px){
 .hero{background:radial-gradient(ellipse at 70% 65%,#785334 0%,#4b321f 65%,#3d2b1d 100%)}
 :root[data-theme=light] .hero{background:linear-gradient(160deg,#cfad85 0%,#e2c7a6 24%,#f3e6d5 53%,#fffcf6 82%,#fffefa 100%)}
 :root[data-theme=purple] .hero{background:linear-gradient(160deg,#ae8bc9 0%,#c9b0dc 24%,#e7dbed 53%,#faf5f1 82%,#fffdfa 100%)}
 .hero-copy,.hero-copy h1,.hero-copy>p{text-align:left}
 .hero-copy h1 span+span{margin-left:0}
 .hero-copy>p,.hero .button{margin-left:0}
 .hero-model{top:auto;bottom:0;left:0;width:100%;height:62%;mask-image:none;-webkit-mask-image:none}
 .hero-model img{object-fit:contain;object-position:right bottom}
}

/* Compact footer and side-by-side founder on phones. */
footer.section-pad{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding-top:28px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
footer>div:first-child{grid-column:1;grid-row:1/3}
footer>.social-links{grid-column:2;grid-row:1;justify-content:flex-end;gap:22px}
footer>a{grid-column:2;grid-row:2;justify-self:end}
footer small{grid-column:1/-1;margin-top:4px;padding-top:12px}
@media(max-width:700px){
 .founder{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:18px;align-items:center;padding:34px 6%}
 .founder-photo{width:100%;max-width:none;aspect-ratio:3/5;align-self:center}
 .founder-copy .eyebrow{font-size:9px;letter-spacing:.1em}
 .founder-copy h2{font-size:30px;margin:9px 0}
 .founder-role{font-size:10px;line-height:1.5;margin-bottom:10px}
 .founder-copy>p:not(.eyebrow):not(.founder-role){font-size:12px;line-height:1.6}
 .founder-copy .text-link{font-size:12px;gap:14px;margin-top:8px;padding:5px 0}
 footer.section-pad{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:20px 6% calc(16px + env(safe-area-inset-bottom,0px))}
 footer>div:first-child{grid-row:1}
 footer .brand,.services-page footer .brand{width:125px}
 footer>div:first-child>p{display:none}
 footer>a{grid-row:1;font-size:11px;min-height:44px;display:flex;align-items:center}
 footer>.social-links{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px;font-size:12px}
 footer small{grid-row:3;font-size:9px;margin:0;padding-top:8px}
}

/* Slimmer booking paper with a stacked signature. */
.booking-paper{max-width:600px}
.booking-signoff span{display:block;margin:0;line-height:1.25}

/* Booking form */
.booking-form{display:flex;flex-direction:column;gap:16px;max-width:380px;margin:20px auto 0;text-align:left}.booking-field{display:flex;flex-direction:column;gap:5px}.booking-field>span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#63412f}.booking-field input,.booking-field select{font:15px/1.6 StudioSans,Arial,sans-serif;padding:10px 14px;border:1px solid #55242433;border-radius:8px;background:#f6efdf;color:#552424;min-height:44px}.booking-field input::placeholder{color:#9c8a7a}.booking-field input:focus,.booking-field select:focus{outline:2px solid #552424;outline-offset:2px}.booking-form .button{margin-top:8px;width:100%}.booking-or{font-size:14px;color:#63412f;margin:16px 0 4px}.booking-call-btn{background:transparent;border:1px solid #552424;color:#552424}
@media(max-width:700px){.booking-paper{width:92%;padding-left:20px;padding-right:20px}.booking-paper h2{font-size:34px}.booking-form{max-width:none}.booking-field input,.booking-field select{font-size:16px}}
