.kinetic-story{position:relative;grid-template-columns:.82fr 1.18fr;gap:5vw;padding:90px 7vw 100px;overflow:hidden;background:radial-gradient(ellipse at 25% 48%,#454036 0,#2c2b28 45%,#242321 100%);align-items:center;isolation:isolate}.kinetic-story .motion-story-copy{max-width:510px;z-index:6}.kinetic-story .motion-story-copy h2{font-size:clamp(54px,5.3vw,80px);line-height:1.05;margin-bottom:25px}.kinetic-story .motion-story-copy p:not(.eyebrow){font-size:16px;max-width:380px;line-height:1.9;margin-bottom:28px}.kinetic-story .eyebrow{color:#d4c5ac}.story-key{display:flex;gap:24px;margin-top:50px;font-size:10px;color:#cabca9;letter-spacing:.06em}.story-key span{position:relative}.story-key span+span:before{content:'';position:absolute;right:-13px;top:50%;width:3px;height:3px;background:#a99b82;border-radius:50%}.story-stage{position:relative;height:775px;min-width:0;--story-y:0px;--story-y-inverse:0px;--story-angle:0deg;--story-scale:1}.story-orbit{position:absolute;top:65px;bottom:70px;right:7%;left:7%;border:1px solid #b09c7740;border-radius:48%;transform:rotate(-14deg);z-index:-1}.story-orbit:after{content:'';position:absolute;inset:28px -12px;border:1px solid #b09c771a;border-radius:48%;transform:rotate(27deg)}.story-word{position:absolute;top:5px;left:-16px;z-index:0;font:italic clamp(52px,7vw,105px) Heebo,sans-serif;color:#d2c0a319;letter-spacing:-.055em;white-space:nowrap}.kinetic-story .story-film{position:absolute;top:78px;left:50%;width:58%;height:610px;max-width:340px;transform:translateX(-50%) translateY(calc(var(--story-y-inverse)*.22)) scale(var(--story-scale));border:1px solid #ffffff26;border-radius:100px 100px 25px 25px;box-shadow:0 30px 65px #00000054;z-index:3;overflow:hidden;will-change:transform}.story-photo{position:absolute;width:36%;max-width:220px;z-index:5;border:1px solid #f7f3ec4a;background:#292825;border-radius:18px;padding:7px;box-shadow:0 20px 45px #00000045;will-change:transform}.story-photo img{height:100%;width:100%;object-fit:cover;border-radius:12px}.story-photo figcaption{position:absolute;bottom:15px;right:15px;left:15px;color:white;font-size:9px;letter-spacing:.05em;text-shadow:0 2px 7px #00000090}.story-photo-a{height:265px;top:18px;right:-2%;transform:translateY(var(--story-y)) rotate(calc(-8deg + var(--story-angle)))}.story-photo-b{height:220px;left:-3%;bottom:39px;transform:translateY(var(--story-y-inverse)) rotate(calc(7deg - var(--story-angle)))}.story-scroll-note{position:absolute;bottom:0;right:24%;display:flex;align-items:center;gap:13px;color:#c4b9a8;font-size:10px}.story-line{width:50px;height:1px;background:#aa997850}.kinetic-story .video-motion-toggle{bottom:18px;right:15px;padding:8px 13px}.kinetic-story .film-label{top:23px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:7px;text-shadow:0 1px 5px #000}.story-photo-a img{object-position:center 50%}.story-photo-b img{object-position:center 37%}
@media(min-width:1200px){.kinetic-story{padding-inline:9vw}.story-stage{max-width:630px}}
@media(min-width:761px) and (max-width:1000px){.kinetic-story{gap:2vw;padding-inline:5vw}.kinetic-story .motion-story-copy h2{font-size:57px}.kinetic-story .motion-story-copy p:not(.eyebrow){font-size:14px}.story-stage{height:670px}.kinetic-story .story-film{height:510px;top:70px;width:61%}.story-photo-a{height:205px}.story-photo-b{height:170px}.story-key{gap:18px}}
@media(max-width:760px){.kinetic-story{display:block;padding:68px 7vw 63px;background:radial-gradient(ellipse at 50% 60%,#484137 0,#2c2b28 48%,#242321 100%)}.kinetic-story .motion-story-copy{max-width:100%}.kinetic-story .motion-story-copy h2{font-size:clamp(52px,14vw,63px);line-height:1.05;margin-bottom:22px}.kinetic-story .motion-story-copy p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:310px;margin-bottom:24px}.kinetic-story .motion-story-copy .button{font-size:12px;padding:13px 20px}.story-key{margin-top:26px;gap:26px;font-size:9px}.story-stage{height:620px;margin-top:38px;margin-inline:-3vw}.story-word{top:0;left:4px;font-size:65px}.story-orbit{top:45px;bottom:65px;right:0;left:0;transform:rotate(-13deg)}.kinetic-story .story-film{top:75px;left:50%;width:65%;max-width:255px;height:450px;border-radius:85px 85px 22px 22px}.story-photo{width:36%;max-width:155px;border-radius:15px;padding:5px}.story-photo img{border-radius:10px}.story-photo-a{right:0;top:26px;height:183px;transform:translateY(var(--story-y)) rotate(calc(-8deg + var(--story-angle)))}.story-photo-b{left:0;bottom:52px;height:160px;transform:translateY(var(--story-y-inverse)) rotate(calc(7deg - var(--story-angle)))}.story-photo figcaption{font-size:8px;bottom:11px;right:11px;left:8px}.story-scroll-note{bottom:6px;right:22%;font-size:9px;gap:10px}.story-line{width:32px}.kinetic-story .video-motion-toggle{right:11px;bottom:14px;padding:7px 10px;font-size:9px;gap:5px}.kinetic-story .video-motion-toggle .icon{width:12px;height:12px}.kinetic-story .film-label{font-size:6px;top:20px}}
@media(max-width:360px){.story-stage{height:565px}.kinetic-story .story-film{height:415px;width:66%}.story-photo-a{height:160px}.story-photo-b{height:142px}.kinetic-story .motion-story-copy h2{font-size:51px}}
@media(prefers-reduced-motion:reduce){.kinetic-story .story-film{transform:translateX(-50%)!important}.story-photo-a{transform:rotate(-8deg)!important}.story-photo-b{transform:rotate(7deg)!important}.story-orbit{transform:rotate(-14deg)!important}.story-photo,.story-film{will-change:auto!important}}
:root{--display:Heebo,sans-serif}html,body,button,input,select,textarea,summary,output,small,span,p,a,h1,h2,h3,h4,em,i,b,strong,figcaption,label{font-family:Heebo,sans-serif!important}h1,h2{font-weight:700;letter-spacing:-.04em;line-height:1.12}h1 em,h2 em{font-weight:300}.cinematic-hero h1{font-family:Heebo,sans-serif;font-weight:700;line-height:1.05;font-size:clamp(65px,6.7vw,102px);letter-spacing:-.055em}.cinematic-hero h1 em{font-weight:300}.section-heading h2{font-weight:600;line-height:1.16;font-size:clamp(44px,4.6vw,68px)}.page-hero h1{font-weight:700;font-size:clamp(49px,5.1vw,74px);line-height:1.15}.editorial-copy h2,.motion-story-copy h2{font-weight:600;line-height:1.15}.kinetic-story .motion-story-copy h2{font-size:clamp(45px,4.1vw,62px);font-weight:700;line-height:1.16}.kinetic-story .motion-story-copy h2 em{font-weight:300}.eyebrow{font-weight:400;letter-spacing:.2em}.intro{font-weight:300}.service-row h3{font-weight:500;letter-spacing:-.035em;font-size:31px}.service-row:first-of-type h3{font-weight:700;font-size:37px}.faq summary{font-weight:500;font-size:22px}.closing h2{font-weight:600;font-size:clamp(43px,5.4vw,78px)}.social-heading h2{font-weight:600;font-size:65px;line-height:1.13}.lead-section h2{font-weight:600;font-size:53px;line-height:1.15}.type-art span{font-weight:300;letter-spacing:.14em}.type-art i{font-style:normal;font-weight:300}.portrait-signature{font-style:normal;font-weight:300;font-size:57px!important;letter-spacing:-.07em}.story-word{font-family:Heebo,sans-serif;font-style:normal;font-weight:300;letter-spacing:-.07em}.mood-interlude h2{font-weight:500;font-size:78px}.button,.header-cta{font-weight:500}.contact-page h1{font-weight:700;font-size:clamp(51px,6.1vw,87px)}.accessibility-header h2{font-family:Heebo,sans-serif!important;font-weight:600;font-size:24px!important}.care-note h2{font-weight:600;line-height:1.2;font-size:42px}
@media(max-width:760px){.cinematic-hero h1{font-size:clamp(54px,14.6vw,66px);line-height:1.08}.section-heading h2{font-size:43px;line-height:1.15}.page-hero h1{font-size:46px;line-height:1.16}.kinetic-story .motion-story-copy h2{font-size:clamp(40px,10.6vw,48px);line-height:1.2}.editorial-copy h2{font-size:43px;line-height:1.18}.service-row h3{font-size:27px}.service-row:first-of-type h3{font-size:31px}.faq summary{font-size:19px}.social-heading h2{font-size:48px;line-height:1.18}.lead-section h2{font-size:43px;line-height:1.17}.closing h2{font-size:46px;line-height:1.18}.mood-interlude h2{font-size:52px}.contact-page h1{font-size:47px}.gallery-page .section-heading h1{font-size:48px}.care-note h2{font-size:34px}.portrait-signature{font-size:43px!important}.story-word{font-size:56px}}
.cinematic-hero .actions .button{position:relative;isolation:isolate;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.74);border-radius:999px;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #ffffff15,0 12px 30px #00000022;padding:18px 30px;font-weight:600;font-size:15px;text-shadow:0 1px 8px #00000070;overflow:hidden}.cinematic-hero .actions .button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(125deg,#ffffff24 0%,#ffffff03 48%,#ffffff19 100%)}.cinematic-hero .actions .button:hover{background:#ffffff24;color:#fff;box-shadow:inset 0 1px 2px #ffffff9c,0 14px 36px #00000030}.a11y-high-contrast .cinematic-hero .actions .button{background:#111!important;color:#fff!important;border-color:#111;backdrop-filter:none;text-shadow:none}.cinematic-hero .actions .button:focus-visible{outline:3px solid white;outline-offset:6px}@media(max-width:760px){.cinematic-hero .actions .button{font-size:13px;padding:16px 24px;min-height:54px}}
@media(min-width:1001px){.cinematic-hero .hero-copy{width:48%;max-width:620px}.cinematic-hero h1{font-size:clamp(68px,6.1vw,93px)}}

/* Mobile rhythm: retain desktop spacing, shorten the cinematic tail and story lead-in. */
@media(max-width:760px){.cinematic-hero{min-height:780px;padding-top:132px;padding-bottom:100px}.kinetic-story{padding-top:38px;padding-bottom:48px}.section{padding-block:58px}.editorial{padding-block:58px}.sv-carousel{padding-block:56px}.hero-bottom{bottom:24px}.ribbon{padding-block:15px}}

.portrait-composition img{transform:translateY(var(--portrait-scroll-y,0px)) scale(var(--portrait-scroll-scale,1));transform-origin:50% 100%;will-change:transform}.a11y-reduced-motion .portrait-composition img{transform:none!important;will-change:auto}@media(prefers-reduced-motion:reduce){.portrait-composition img{transform:none!important;will-change:auto}}
/* Mobile-only Instagram brand watermark, in the upper-left of the shared section. */
@media(max-width:760px){.social-section{position:relative;isolation:isolate}.social-section:before{content:'';position:absolute;pointer-events:none;top:30px;left:4vw;width:clamp(105px,32vw,145px);aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'%3E%3Crect x='7' y='7' width='50' height='50' rx='14' stroke='%23756651' stroke-width='2.5'/%3E%3Ccircle cx='32' cy='32' r='12' stroke='%23756651' stroke-width='2.5'/%3E%3Ccircle cx='47' cy='17' r='3' fill='%23756651'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.13;z-index:-1;transform:rotate(-9deg)}.a11y-high-contrast .social-section:before{display:none}}

/* Homepage mobile header: clear glass at the top, existing milk glass after scroll/menu opening. */
@media(max-width:760px){.home-site header{transition:background-color .28s ease,box-shadow .28s ease,border-color .28s ease,backdrop-filter .28s ease;top:max(14px,env(safe-area-inset-top))}.home-site.header-at-top:not(.a11y-high-contrast) header{background:rgba(247,243,236,.045);border-color:#ffffff4d;box-shadow:inset 0 1px 0 #ffffff1c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);color:#fff}.home-site.header-at-top:not(.a11y-high-contrast) header .brand img{filter:brightness(0) invert(1) drop-shadow(0 1px 2px #000)}.home-site.header-at-top:not(.a11y-high-contrast) header:after{background:#ffffff35}.home-site.header-at-top:not(.a11y-high-contrast) header .menu-toggle{color:#fff}.home-site.a11y-reduced-motion header{transition:none}@media(prefers-reduced-motion:reduce){.home-site header{transition:none}}}

@media(max-width:760px){.home-site.header-at-top:not(.a11y-high-contrast) header .menu-toggle span{background:#fff}}
.portrait-composition .portrait-base{opacity:var(--portrait-base-opacity,1)}.portrait-composition .portrait-scissors{position:absolute;inset:0;opacity:var(--portrait-scissors-opacity,0);pointer-events:none}.a11y-reduced-motion .portrait-composition .portrait-base{opacity:1!important}.a11y-reduced-motion .portrait-composition .portrait-scissors{opacity:0!important}@media(prefers-reduced-motion:reduce){.portrait-composition .portrait-base{opacity:1!important}.portrait-composition .portrait-scissors{opacity:0!important}}

@media(max-width:1000px){#mobile-nav:not([hidden]){display:block;max-height:calc(100dvh - 130px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;padding:22px}#mobile-nav .mobile-extension-priority a{display:flex;align-items:center;min-height:58px;padding:13px 4px;font-size:23px;font-weight:600;color:var(--ink)}#mobile-nav .mobile-extension-priority a:first-child{font-size:26px}#mobile-nav .mobile-other-services{margin-top:16px;border-bottom:1px solid var(--line)}#mobile-nav .mobile-other-services summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;font-size:17px;font-weight:500;list-style:none}#mobile-nav .mobile-other-services summary::-webkit-details-marker{display:none}#mobile-nav .mobile-other-services[open] summary .icon{transform:rotate(45deg)}#mobile-nav .mobile-other-services>div{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding-bottom:12px}#mobile-nav .mobile-other-services a{font-size:15px;min-height:46px;display:flex;align-items:center}#mobile-nav .mobile-secondary-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:16px}#mobile-nav .mobile-secondary-links a{border:0;font-size:14px;min-height:44px;padding:10px 0}}

footer .site-credit{grid-column:1/-1;margin:2px 0 0;padding-top:20px;border-top:1px solid var(--line);font-family:Heebo,sans-serif;font-size:14px;font-weight:400;line-height:1.8;color:var(--ink)}footer .site-credit a{display:inline-flex;align-items:center;min-height:44px;padding:5px 3px;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;border-radius:4px;transition:color .2s ease,background-color .2s ease}footer .site-credit a:hover{color:var(--gold);background:#e7ded266}footer .site-credit a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;background:#e7ded2}.a11y-high-contrast footer .site-credit a{color:#000!important}@media(max-width:760px){footer .site-credit{font-size:14px;padding-top:15px}}@media(prefers-reduced-motion:reduce){footer .site-credit a{transition:none}}.a11y-reduced-motion footer .site-credit a{transition:none}
