/* Portfolio and treatment imagery. */
.portfolio{max-width:1500px;margin:auto;border:1px solid #d5c8b7;border-radius:20px;overflow:hidden;background:#f1e8dc;color:var(--ink);box-shadow:0 20px 60px #59463e08}
.portfolio [hidden]{display:none!important}.portfolio-stage{display:grid;grid-template-columns:.72fr 1.28fr;min-height:480px}.portfolio-copy{padding:32px 34px 26px;display:flex;flex-direction:column;align-items:start;min-width:0}.portfolio-meta{width:100%;display:flex;align-items:center;gap:14px;margin-bottom:28px;color:#9d855f;font:500 12px var(--display);letter-spacing:.15em}.portfolio-meta>span:first-child{display:block;width:35px;height:1px;background:#b39a70}.portfolio-copy>.eyebrow{font-size:9px;color:#a28756;line-height:1.4}.portfolio-copy h2{font:500 clamp(32px,3.1vw,48px)/1.07 var(--display);letter-spacing:-.04em;margin:14px 0 18px;max-width:450px}.portfolio-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;max-width:370px;color:#705e4e}.portfolio-note{font-size:11px;line-height:1.65;color:#82705c;margin:12px 0}.portfolio-nav{display:flex;gap:9px;align-items:center;margin-top:auto;padding-top:24px}.portfolio-nav button{border:1px solid #bba88b;border-radius:50%;width:42px;height:42px;background:transparent;color:#6a5442;font:28px/1 var(--display);cursor:pointer;transition:background .3s,color .3s,transform .3s}.portfolio-nav button:hover{background:#574538;border-color:#574538;color:white;transform:translateY(-2px)}.portfolio-nav>span{margin-left:8px;color:#97826b;font-size:9px;line-height:1.5;max-width:95px}.portfolio-index{display:flex;width:100%;gap:5px;align-items:center;margin-top:26px}.portfolio-index button{padding:9px 0;border:0;background:none;cursor:pointer;flex:1;min-width:0}.portfolio-index button>span{height:2px;display:block;background:#d6c6b1;transition:background .5s,transform .5s;transform-origin:left}.portfolio-index button[aria-pressed=true]>span{background:#8d7047;transform:scaleY(2)}
.portfolio-media{padding:16px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px}.portfolio-view{position:relative;height:366px;min-width:0;background:#c7af98;border-radius:13px;overflow:hidden;isolation:isolate}.portfolio-main-image{position:absolute;inset:0;border:0;padding:0;background:transparent;width:100%;height:100%;cursor:zoom-in;overflow:hidden}.portfolio-main-image img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;will-change:opacity,transform}.portfolio-main-image>span{position:absolute;z-index:5;bottom:14px;right:14px;width:33px;height:33px;display:grid;place-items:center;border:1px solid #fffa;color:white;border-radius:50%;font-size:20px;background:#4b352b30;backdrop-filter:blur(8px)}.portfolio-view video{position:absolute;inset:0;z-index:3;width:100%;height:100%;object-fit:cover;background:#a58b78;border-radius:0}.portfolio-view>[data-portfolio-caption]{position:absolute;z-index:4;bottom:0;left:0;right:0;margin:0;padding:32px 60px 17px 20px;pointer-events:none;color:#fff;font:500 10px/1.5 var(--sans);letter-spacing:.03em;background:linear-gradient(0deg,#39271b8c,transparent)}.portfolio-view:has(video:not([hidden]))>[data-portfolio-caption]{top:0;bottom:auto;padding:12px 18px;background:linear-gradient(#39271b85,transparent)}.portfolio-thumbs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;min-height:60px;align-items:start}.portfolio-thumbs:empty{min-height:60px}.portfolio-thumbs::-webkit-scrollbar{display:none}.portfolio-thumbs button{border:1px solid transparent;border-radius:8px;flex:0 0 62px;background:none;cursor:pointer;padding:3px;color:#7f6a54;text-align:left;transition:border-color .3s,opacity .3s;opacity:.65}.portfolio-thumbs button[aria-pressed=true]{border-color:#a58c63;opacity:1}.portfolio-thumbs img{display:block;width:54px;height:38px;border-radius:4px;object-fit:cover}.portfolio-thumbs span{display:block;max-width:54px;font-size:7px;line-height:1.4;margin:5px 0 0}.portfolio-thumbs button:hover{opacity:1}
.portfolio-page-intro{max-width:1500px;margin:auto;padding:120px 7vw 28px}.portfolio-page-intro .breadcrumbs{margin-bottom:25px}.portfolio-page-intro .eyebrow{color:#a28756}.portfolio-page-intro h1{font:500 clamp(42px,4.5vw,64px)/.97 var(--display);letter-spacing:-.04em;margin:18px 0}.portfolio-page-intro h1 em{font:400 .9em var(--script);color:#a77967;letter-spacing:0}.portfolio-page-intro>p:last-child{max-width:650px;font-size:13px;line-height:1.8;color:#796754}.portfolio-page-shell{padding:0 7vw 45px}.work-home{background:#f6f0e8}.work-home.section-pad{padding:55px 6vw}.work-home .section-label{margin-bottom:24px}
/* Keep the full photograph available in the enlarged view. */
.work-lightbox{padding:48px 18px 18px;border:0;border-radius:15px;background:#f9f5ef;color:var(--ink);max-width:min(1100px,94vw);max-height:95vh;margin:auto;width:max-content}.work-lightbox::backdrop{background:#21180fe8;backdrop-filter:blur(10px)}.work-lightbox figure{margin:0}.work-lightbox figure img{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}.work-lightbox figcaption{text-align:center;font-size:12px;margin:14px 0}.work-close{position:absolute;right:15px;top:8px;border:0;background:none;font-size:30px;cursor:pointer;color:inherit}.work-lightbox-controls{display:flex;justify-content:center;gap:25px;align-items:center;font-size:12px}.work-lightbox-controls button{border:1px solid #c8b792;border-radius:50%;width:40px;height:40px;background:none;font-size:26px;color:inherit;cursor:pointer}
/* Unified image-led treatment cards. */
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-photo-card{color:#fff;min-height:460px;padding:26px;justify-content:space-between;background:#88705d}.service-photo-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}.service-photo-card:hover>img{transform:scale(1.035)}.service-photo-card:nth-child(1)>img{object-position:46% 60%}.service-photo-card:nth-child(2)>img{object-position:45% 45%}.service-photo-card:nth-child(3)>img{object-position:50% center}.service-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#34251d20 15%,#34251d15 30%,#34251dc9 100%)}.service-photo-kicker{z-index:1;font:700 8px var(--sans);letter-spacing:.16em;text-transform:uppercase}.service-photo-copy{position:relative;z-index:1;margin-top:auto;padding-top:125px}.service-photo-copy h3{font-size:clamp(32px,3.1vw,52px);line-height:.95;color:white}.service-photo-copy>p{font-size:12px;line-height:1.6;margin:15px 0 20px;min-height:50px;opacity:.92}.service-photo-copy>a{border-top:1px solid #ffffff90;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font:700 9px var(--sans);letter-spacing:.1em;text-transform:uppercase}.service-photo-copy>a>span{font-size:25px}.service-photo-copy>a:hover{color:#ead6ae}.about-portrait .portrait-frame img[src*="munka-29"]{object-position:42% 40%;filter:none}
/* Tighter vertical rhythm on the home page. */
body:not(.subpage) .section-pad{padding-top:65px;padding-bottom:65px}body:not(.subpage) .section-label{margin-bottom:34px}body:not(.subpage) .service-grid{margin-top:42px}body:not(.subpage) .precision-strip{margin-top:32px;padding:22px 0;gap:35px}body:not(.subpage) .editorial-teaser{margin-top:20px;padding:18px 25px}body:not(.subpage) .about{gap:6vw}body:not(.subpage) .about h2{font-size:clamp(50px,5.2vw,80px)}body:not(.subpage) .about-copy>p:not(.eyebrow){margin-top:18px;font-size:14px;line-height:1.8}body:not(.subpage) .portrait-frame{height:600px;min-height:0}body:not(.subpage) .credential-row{margin-top:28px}body:not(.subpage) .credential-row div{min-height:105px;padding:16px 12px}body:not(.subpage) .partner-brand-card{min-height:400px}body:not(.subpage) .partner-copy h2{font-size:clamp(50px,5vw,78px)}body:not(.subpage) .partner-grid{gap:6vw}body:not(.subpage) .partner-facts{margin:24px 0}body:not(.subpage) .phorma{padding-top:65px;padding-bottom:65px;min-height:0;gap:6vw}body:not(.subpage) .phorma-visual{min-height:480px}body:not(.subpage) .phorma-visual img{max-height:470px;object-fit:contain;width:auto;max-width:75%}body:not(.subpage) .phorma h2{font-size:clamp(70px,7vw,110px)}body:not(.subpage) .phorma-lead{margin:27px 0}body:not(.subpage) .philosophy-title h2{font-size:clamp(50px,5vw,78px)}body:not(.subpage) .value-grid{margin-top:35px}body:not(.subpage) .value-card{min-height:240px;padding:27px}body:not(.subpage) .value-card h3{font-size:34px;margin-bottom:12px}body:not(.subpage) .brand-direction-head h2{font-size:clamp(50px,5vw,78px)}body:not(.subpage) .editorial-card-grid{margin-top:32px}body:not(.subpage) .editorial-card-image{height:240px}body:not(.subpage) .editorial-card-copy{padding:20px 24px}body:not(.subpage) .editorial-card-copy h3{margin:12px 0;font-size:39px}body:not(.subpage) .editorial-card-copy p{font-size:13px;line-height:1.7}body:not(.subpage) .booking-cta{min-height:420px;padding-top:65px;padding-bottom:65px}body:not(.subpage) .booking-cta h2{font-size:clamp(58px,6vw,90px)}body:not(.subpage) .booking-cta-monogram{width:200px;font-size:70px}body:not(.subpage) .footer{padding-top:40px}body:not(.subpage) .footer-top{padding-bottom:30px}body:not(.subpage) .footer-grid>div{min-height:125px;padding-top:22px;padding-bottom:22px}
@media(min-width:1121px){.desktop-nav{gap:clamp(12px,1.6vw,28px)}}
@media(max-width:1000px){.portfolio-stage{grid-template-columns:.85fr 1.15fr}.portfolio-copy{padding:25px}.portfolio-copy h2{font-size:34px}.portfolio-view{height:340px}.service-photo-copy h3{font-size:34px}.service-photo-card{padding:22px}body:not(.subpage) .section-pad{padding-top:55px;padding-bottom:55px}}
@media(max-width:760px){body:not(.subpage) .section-pad{padding:48px 22px}body:not(.subpage) .section-label{margin-bottom:27px}body:not(.subpage) .service-grid{margin-top:32px}.service-photo-card{min-height:440px;flex:0 0 min(84vw,360px)}.service-photo-copy h3{font-size:43px}body:not(.subpage) .about{gap:45px}body:not(.subpage) .portrait-frame{height:450px}body:not(.subpage) .about h2{font-size:56px}body:not(.subpage) .credential-row{grid-template-columns:1fr 1fr;gap:8px}body:not(.subpage) .credential-row div{min-height:105px}body:not(.subpage) .partner-grid{gap:32px}body:not(.subpage) .partner-brand-card{min-height:250px}body:not(.subpage) .partner-copy h2{font-size:54px}body:not(.subpage) .partner-facts{margin:20px 0}body:not(.subpage) .partner-facts>div{min-height:85px}body:not(.subpage) .phorma{padding:48px 22px;gap:15px}body:not(.subpage) .phorma-visual{min-height:340px}body:not(.subpage) .phorma-visual img{max-height:330px;max-width:62%}body:not(.subpage) .phorma h2{font-size:78px}body:not(.subpage) .new-badge{width:100px;top:15px}body:not(.subpage) .phorma-benefits{grid-template-columns:1fr 1fr}body:not(.subpage) .phorma-benefits>div{padding:12px 7px;gap:5px}body:not(.subpage) .phorma-benefits strong{font-size:10px}body:not(.subpage) .phorma-benefits p{font-size:10px}body:not(.subpage) .philosophy-title h2,body:not(.subpage) .brand-direction-head h2{font-size:54px}body:not(.subpage) .value-grid{margin-top:28px}body:not(.subpage) .value-card{min-height:230px}body:not(.subpage) .editorial-card-grid{margin-top:15px}body:not(.subpage) .editorial-card-image{height:210px}body:not(.subpage) .booking-cta{padding:55px 22px;min-height:390px}body:not(.subpage) .booking-cta h2{font-size:64px}body:not(.subpage) .footer-grid>div{min-height:0;padding:18px 0}body:not(.subpage) .work-home.section-pad{padding:38px 16px}}
@media(max-width:640px){.portfolio{border-radius:16px}.portfolio-stage{display:flex;flex-direction:column-reverse;min-height:0}.portfolio-media{padding:10px 10px 0;gap:8px}.portfolio-view{height:240px;border-radius:10px}.portfolio-thumbs{min-height:42px;gap:5px}.portfolio-thumbs:empty{display:none}.portfolio-thumbs button{flex-basis:48px;padding:2px;border-radius:5px}.portfolio-thumbs img{width:42px;height:30px;border-radius:3px}.portfolio-thumbs span{display:none}.portfolio-copy{padding:18px 22px 20px}.portfolio-meta{margin-bottom:15px;font-size:10px}.portfolio-copy>.eyebrow{font-size:8px}.portfolio-copy h2{font-size:32px;line-height:1.03;margin:10px 0 13px}.portfolio-copy>p:not(.eyebrow){font-size:12px;line-height:1.7}.portfolio-note{font-size:10px;line-height:1.6}.portfolio-nav{padding-top:19px}.portfolio-nav button{width:39px;height:39px}.portfolio-nav>span{max-width:none}.portfolio-index{margin-top:16px}.portfolio-page-intro{padding:106px 22px 24px}.portfolio-page-intro h1{font-size:43px}.portfolio-page-shell{padding:0 16px 35px}.work-lightbox{padding:48px 12px 15px}.work-lightbox figure img{max-height:70vh}.portfolio-view>[data-portfolio-caption]{font-size:9px;padding-left:14px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.portfolio *{transition:none!important}.portfolio-main-image img{will-change:auto}}
.portfolio{overflow-anchor:none}.portfolio-clip-meta{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#9a8369;margin:12px 0}.portfolio-thumbs:has(.portfolio-clip-meta){min-height:60px}
@media(max-width:640px){.portfolio-copy{min-height:350px}.portfolio-thumbs:has(.portfolio-clip-meta){min-height:42px}.portfolio-clip-meta{margin:10px 6px;font-size:9px}}

/* Keep the hover and return motion independent of the scroll reveal. */
.service-photo-card.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1),border-radius .8s cubic-bezier(.22,1,.36,1),box-shadow .8s cubic-bezier(.22,1,.36,1)}
.service-photo-card.visible{transform:translateY(0) scale(1) rotate(0deg);border-radius:28px;box-shadow:0 0 0 rgba(61,39,27,0)}
.service-photo-card>img{transform:scale(1);transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.service-photo-copy{transform:translateY(0);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.service-photo-copy>a>span{transform:translateX(0);transition:transform .8s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
 .service-photo-card.visible:is(:hover,:focus-within){transform:translateY(-20px) scale(1.025) rotate(.65deg);border-radius:64px 18px 64px 18px;box-shadow:0 32px 64px rgba(61,39,27,.24)}
 .service-photo-card:is(:hover,:focus-within)>img{transform:scale(1.1)}
 .service-photo-card:is(:hover,:focus-within) .service-photo-copy{transform:translateY(-8px)}
 .service-photo-card:is(:hover,:focus-within) .service-photo-copy>a>span{transform:translateX(7px)}
}
@media(hover:none),(pointer:coarse){
 .service-photo-card.visible:hover{transform:none;border-radius:28px;box-shadow:none}
 .service-photo-card:hover>img{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .service-photo-card.visible:is(:hover,:focus-within){transform:none}
 .service-photo-card:is(:hover,:focus-within)>img,.service-photo-card:is(:hover,:focus-within) .service-photo-copy,.service-photo-card:is(:hover,:focus-within) .service-photo-copy>a>span{transform:none}
}
