@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--bg:#08090d;--white:#f1f1f5;--muted:#999ba9;--line:rgba(255,255,255,.12);--accent:#b1a0f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,video:focus-visible{outline:2px solid #c6b9ff;outline-offset:6px}button{color:inherit}img{display:block;max-width:100%}.wrap{max-width:1240px;width:calc(100% - 112px);margin-inline:auto}.header{height:92px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:3;background:linear-gradient(180deg,#11121a88,#08090d44)}.brand{display:flex;align-items:center;gap:18px}.monogram{font:800 27px 'Manrope',Arial,sans-serif;letter-spacing:-4px;position:relative;padding-right:10px}.monogram>span{position:absolute;font-size:12px;letter-spacing:0;top:0;right:-2px;color:#cbbcff}.brand-name{font-size:12px;letter-spacing:.2em;font-weight:600}.header nav{display:flex;gap:34px;color:#adafba;font-size:14px}.header nav a:hover{color:white}.nav-contact{padding:10px 19px;border:1px solid #ffffff29;border-radius:30px;font-size:14px;background:linear-gradient(130deg,#ffffff13,#ffffff03);box-shadow:inset 0 1px #ffffff16}.nav-contact span{margin-left:18px}.hero{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:40px;padding-top:83px;min-height:730px;align-items:center}.hero:before{content:'';position:absolute;width:650px;height:600px;right:-20px;top:-40px;background:radial-gradient(ellipse,#65519523,transparent 68%);pointer-events:none;z-index:-1}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600;color:#b2aec4;margin:0 0 24px;display:flex;gap:12px;align-items:center}.tiny-line{height:1px;width:26px;background:var(--accent)}h1,h2,p{margin-top:0}h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(48px,5.45vw,78px);line-height:1.13;letter-spacing:-.065em;font-weight:650;margin-bottom:26px}h1 .silver{background:linear-gradient(175deg,#fff 20%,#bdc1d0 70%,#707283);color:transparent;background-clip:text}h1 em,h2 em,.muted-serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;font-style:italic}h1 em{font-size:1.24em;color:#cbbdf0}.hero-description{color:#a7a8b5;line-height:1.85;font-size:16px;margin-bottom:31px}.hero-actions{display:flex;gap:27px;align-items:center}.button{display:inline-flex;gap:35px;justify-content:center;align-items:center;border-radius:100px;min-height:52px;padding:14px 24px;font-size:14px;font-weight:600;transition:transform .25s,box-shadow .25s}.button-light{color:#18161f;background:linear-gradient(155deg,#fff,#c9c7d2);box-shadow:inset 0 2px 1px #fff,0 5px 25px #aaa4dc15;border:1px solid #fff9}.button:hover{transform:translateY(-3px);box-shadow:0 5px 30px #b2a4ff30}.text-link{font-size:14px;border-bottom:1px solid #ffffff39;padding-block:6px;color:#c5c3ce}.hero-visual{position:relative;padding:0 15px 15px 20px;align-self:stretch;min-height:530px}.portrait-panel{height:100%;min-height:500px;border-radius:180px 180px 26px 26px;border:1px solid #ffffff24;position:relative;overflow:hidden;background:radial-gradient(ellipse at 55% 40%,#8b809833,transparent 65%),linear-gradient(145deg,#22232e,#11121b 55%,#282432);box-shadow:inset 2px 3px 3px #ffffff0c,20px 25px 80px #0009}.panel-reflection{position:absolute;inset:0;background:linear-gradient(125deg,transparent 18%,#fff1 18.2%,#fff0 37%,transparent 60%,#ffffff09);pointer-events:none;z-index:2}.portrait-word{font-family:'Manrope',Arial,sans-serif;font-weight:800;position:absolute;top:110px;left:50%;transform:translateX(-50%);font-size:clamp(76px,9vw,130px);letter-spacing:-.08em;color:#c8c5d617;white-space:nowrap}.hero-person{position:absolute;height:95%;width:100%;object-fit:contain;object-position:50% bottom;bottom:0;filter:drop-shadow(15px 8px 18px #0005)}.portrait-panel:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0a0912e8);pointer-events:none}.portrait-caption{position:absolute;z-index:3;bottom:29px;left:30px;display:flex;flex-direction:column;gap:5px}.portrait-caption span:first-child{font-size:12px;letter-spacing:.17em;color:#beb9c9}.portrait-caption span:last-child{font-family:Georgia,serif;font-size:25px;font-style:italic}.corner-mark{position:absolute;bottom:30px;right:25px;z-index:3;font-size:25px;color:#bfb7d7}.floating-label{position:absolute;bottom:100px;right:-15px;z-index:3;display:flex;align-items:center;gap:14px;border:1px solid #ffffff32;border-radius:14px;padding:15px 20px;background:linear-gradient(130deg,#59546380,#1c1b29aa);backdrop-filter:blur(22px);box-shadow:0 15px 40px #0006,inset 0 1px #ffffff15;font-size:14px}.floating-label small{display:block;font-size:12px;letter-spacing:.12em;color:#bebacb;margin-top:3px}.label-icon{height:35px;width:35px;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff20;border-radius:50%;font-size:12px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:34px 0 25px;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.16em;color:#898998;margin-top:22px}.hero-bottom a span{padding-left:20px;color:#e5dcff}.section{padding-top:110px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:30px}.section-heading .eyebrow{margin-bottom:16px}h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(38px,4.1vw,56px);line-height:1.15;letter-spacing:-.055em;font-weight:500;margin-bottom:0}.muted-serif{color:#a7a2ba}.section-note{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:5px}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.video-card{min-width:0}.video-button{display:block;text-align:left;cursor:pointer;width:100%;border:1px solid #ffffff20;padding:0;border-radius:19px;position:relative;overflow:hidden;background:#171821;isolation:isolate;box-shadow:0 16px 35px #0004,inset 0 1px #fff2;aspect-ratio:9/14;transition:transform .3s,border-color .3s,box-shadow .3s}.video-button>img{height:100%;width:100%;object-fit:cover;transition:transform .65s;opacity:.86}.video-button:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003,transparent 35%,#08080dc9 100%);pointer-events:none;z-index:1}.video-button:before{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 1px #ffffff45;z-index:4;pointer-events:none}.video-button:hover{transform:translateY(-5px);border-color:#b6a8e280;box-shadow:0 20px 50px #0008,0 0 25px #8871b811}.video-button:hover>img{transform:scale(1.035);opacity:1}.card-number{position:absolute;top:20px;left:20px;z-index:2;font-size:12px;letter-spacing:.1em;color:#e0dce8}.duration{position:absolute;top:16px;right:16px;z-index:2;padding:3px 9px;background:#15151c77;backdrop-filter:blur(15px);border-radius:6px;font-size:12px;color:#fff}.card-overlay{position:absolute;bottom:23px;left:23px;right:23px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-overlay small{display:block;font-size:12px;letter-spacing:.14em;color:#ddd6ea;margin-bottom:5px}.card-overlay strong{font-size:18px;font-weight:500;line-height:1.3;display:block}.play-icon{flex-shrink:0;display:grid;place-items:center;width:49px;height:49px;border-radius:50%;border:1px solid #ffffff69;background:linear-gradient(135deg,#ffffff36,#ffffff0a);box-shadow:inset 0 1px 2px #ffffff4d;backdrop-filter:blur(10px);font-size:14px;padding-left:3px}.card-caption{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#8d8d9b;padding:14px 3px 0}.landscape-section{display:grid;grid-template-columns:.8fr 1.65fr;gap:65px;align-items:center;padding-top:105px;padding-bottom:100px;border-bottom:1px solid var(--line)}.landscape-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:280px;margin-top:22px}.format-label{font-size:12px;letter-spacing:.15em;color:#b5adca}.landscape-section .video-button{aspect-ratio:16/9}.landscape-section .card-overlay{bottom:20px}.landscape-section .video-button>img{object-fit:contain}.portfolio-count{color:#90909f;font-size:12px;letter-spacing:.13em;margin-bottom:7px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 20px}.portfolio-grid .video-button{aspect-ratio:9/14;border-radius:13px}.portfolio-grid .card-overlay{left:15px;right:15px;bottom:17px}.portfolio-grid .card-overlay strong{font-size:15px}.portfolio-grid .card-overlay small{font-size:12px}.portfolio-grid .play-icon{width:36px;height:36px;font-size:12px}.portfolio-grid .card-number{display:none}.portfolio-grid .duration{top:12px;right:12px;font-size:12px}.portfolio-grid .card-caption{font-size:12px}.portfolio-grid .landscape-card .video-button{background:radial-gradient(ellipse,#3e354a44,#111119)}.portfolio-grid .landscape-card .video-button>img{object-fit:contain}.about-section{display:grid;grid-template-columns: .86fr 1.2fr;gap:95px;align-items:center;padding-top:135px;padding-bottom:135px}.about-photo{position:relative;border-radius:22px;overflow:hidden;border:1px solid #ffffff20;box-shadow:0 20px 65px #0008;transform:rotate(-2deg)}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;filter:saturate(.72)}.about-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#09090bba);pointer-events:none}.photo-label{position:absolute;bottom:25px;left:25px;font-size:12px;letter-spacing:.15em;z-index:1}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){color:#a3a4b1;font-size:16px;line-height:1.9}.skill-line{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px;color:#b8b3c6}.contact-section{text-align:center;position:relative;isolation:isolate;padding:80px 20px 74px;border:1px solid #ffffff1b;border-radius:28px;overflow:hidden;background:linear-gradient(130deg,#2624336e,#111119 45%,#1b1823);box-shadow:inset 0 1px 1px #ffffff12,0 20px 80px #0005}.contact-glow{position:absolute;inset:-100% -30% 0;background:radial-gradient(ellipse,#8173b135,transparent 60%);z-index:-1;pointer-events:none}.contact-section .eyebrow{justify-content:center;color:#b2a8ca;margin-bottom:20px}.contact-section h2{font-size:clamp(45px,5.6vw,76px);margin-bottom:35px}.contact-section h2 em{color:#c3b2e4}.contact-section .email{display:block;font-size:13px;color:#a6a1b4;margin-top:20px;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;align-items:center;padding-top:42px;padding-bottom:42px;margin-top:35px;color:#858492;font-size:12px;gap:25px}.footer .brand{color:#d6d2e1}.footer .brand-name{font-size:12px}.footer .monogram{font-size:23px}.skip{position:absolute;top:-80px;left:10px;z-index:20;background:white;color:black;padding:12px}.skip:focus{top:10px}dialog{max-width:1000px;width:calc(100% - 32px);max-height:94dvh;padding:20px;border:1px solid #ffffff40;border-radius:20px;background:linear-gradient(135deg,#20202b,#0c0c12);color:white;box-shadow:0 30px 100px #000b}dialog::backdrop{background:#05050bea;backdrop-filter:blur(15px)}.player-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:15px}.player-top .eyebrow{font-size:12px;margin:0 0 4px}.player-top h2{font:500 18px 'DM Sans',Arial,sans-serif;letter-spacing:0}.close-player{background:#ffffff0c;border:1px solid #ffffff24;width:42px;height:42px;border-radius:50%;cursor:pointer;flex-shrink:0}#main-player{display:block;width:100%;height:calc(88dvh - 95px);max-height:760px;object-fit:contain;background:#000;border-radius:9px}#player-error{font-size:14px;margin:15px 0 0}#player-error a{text-decoration:underline}.hero-copy{animation:appear .8s both}.hero-visual{animation:appear 1.1s both}@keyframes appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{padding-top:95px;min-height:780px}.portrait-panel{min-height:550px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:15px;padding-top:60px;min-height:650px}.hero-visual{min-height:440px;padding-left:5px}.portrait-panel{min-height:440px}.hero-actions{gap:18px}.text-link{font-size:12px}.floating-label{right:-8px;padding:12px;font-size:12px}.landscape-section{gap:30px}.about-section{gap:50px}.portfolio-grid{gap:25px 14px}.portfolio-grid .card-overlay strong{font-size:14px}.portfolio-grid .card-overlay{left:12px;right:12px}.portfolio-grid .card-overlay small{display:none}.header nav{gap:22px}.brand-name{font-size:12px}.card-overlay strong{font-size:16px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:76px;padding-inline:20px}.header .brand-name{display:none}.header nav{gap:20px;font-size:13px}.header nav a:last-child{display:none}.nav-contact{padding:8px 14px;font-size:12px}.nav-contact span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:45px;gap:30px}.hero-copy{padding-right:0}.hero h1{font-size:clamp(43px,9.3vw,70px)}.hero-description{font-size:15px;margin-bottom:24px}.hero-actions{gap:24px}.hero-visual{height:420px;min-height:0;width:85%;max-width:380px;justify-self:center;padding:0 8px 0 0}.portrait-panel{min-height:0;border-radius:150px 150px 22px 22px}.hero-person{height:98%}.portrait-word{font-size:88px;top:100px}.floating-label{right:-20px;bottom:85px}.hero-bottom{margin-top:10px;gap:20px;padding-top:20px;font-size:12px}.hero-bottom a{white-space:nowrap}.hero-bottom a span{padding-left:8px}.section{padding-top:75px}.section-heading{align-items:flex-start;gap:20px;margin-bottom:28px}.section-heading h2{font-size:36px}.section-note{max-width:140px;font-size:12px;margin-top:34px}.eyebrow{font-size:12px;letter-spacing:.14em}.featured-grid{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.featured-grid .video-button{border-radius:12px;aspect-ratio:9/16}.featured-grid .card-overlay{bottom:12px;left:12px;right:12px;justify-content:center}.featured-grid .card-overlay>div{display:none}.featured-grid .card-number{top:12px;left:12px;font-size:12px}.featured-grid .duration{display:none}.featured-grid .play-icon{width:36px;height:36px;font-size:12px}.featured-grid .card-caption{display:block;font-size:12px;line-height:1.5}.featured-grid .card-caption span:last-child{display:none}.landscape-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:65px;gap:25px}.landscape-copy h2 br{display:none}.landscape-copy h2{font-size:36px}.landscape-copy h2 br:after{content:' '}.landscape-copy>p:not(.eyebrow){max-width:100%;margin-top:18px;font-size:14px}.landscape-copy .eyebrow{margin-bottom:15px}.landscape-section .card-overlay strong{font-size:16px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.portfolio-grid .video-button{aspect-ratio:9/15}.portfolio-grid .card-overlay{gap:6px}.portfolio-grid .card-overlay strong{font-size:13px}.portfolio-grid .play-icon{width:31px;height:31px}.portfolio-count{font-size:12px;align-self:end;white-space:nowrap}.about-section{grid-template-columns:1fr;gap:40px;padding-top:80px;padding-bottom:80px}.about-photo{width:80%;max-width:330px;justify-self:center}.about-copy h2{font-size:39px}.about-copy>p:not(.eyebrow){font-size:15px}.contact-section{padding:55px 20px;border-radius:20px}.contact-section h2{font-size:44px}.footer{flex-wrap:wrap;gap:25px;font-size:12px}.footer .brand{width:100%;justify-content:center}.footer .brand-name{font-size:12px}.footer{justify-content:space-between}.button{gap:20px;font-size:13px;padding-inline:21px}.text-link{font-size:12px}.hero:before{width:100%;right:0}dialog{padding:14px}.player-top h2{font-size:16px}.player-top .eyebrow{font-size:12px}#main-player{height:calc(85dvh - 75px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:760px){.hero-bottom{flex-wrap:wrap;font-size:12px;gap:12px}.hero-bottom a{font-size:12px}.portfolio-count{white-space:normal;text-align:right}.footer .brand-name{font-size:12px}.card-caption{font-size:12px}}

/* Ambient movement stays behind the content and never affects the page layout. */
body{isolation:isolate}.ambient-background{position:fixed;inset:0;overflow:hidden;z-index:-1;pointer-events:none;background:#08090d}.ambient-background:before,.ambient-background:after{content:'';position:absolute;inset:-25%;background:radial-gradient(ellipse at 28% 24%,rgba(111,75,154,.21),transparent 42%),radial-gradient(ellipse at 75% 70%,rgba(57,69,118,.19),transparent 45%);animation:ambient-drift 25s ease-in-out infinite alternate;will-change:transform}.ambient-background:after{background:radial-gradient(ellipse at 68% 30%,rgba(129,112,153,.11),transparent 38%);animation-duration:33s;animation-direction:alternate-reverse}@keyframes ambient-drift{from{transform:translate3d(-5%,-4%,0) scale(1)}to{transform:translate3d(7%,6%,0) scale(1.12)}}
.about-photo{width:100%;aspect-ratio:1;align-self:center;min-width:0;transform:perspective(1100px) rotateY(5deg) rotateZ(-2deg)}
.video-button>.card-preview{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0;transition:opacity .35s,transform .65s}.video-button>.card-preview.is-playing{opacity:1}.video-button:hover>.card-preview.is-playing{opacity:1;transform:scale(1.035)}.landscape-section .card-preview{object-fit:contain}.motion-toggle{padding:8px 13px;min-height:40px;border:1px solid #ffffff24;border-radius:30px;background:#ffffff08;color:#beb7ce;font-size:12px;cursor:pointer}body.motion-paused .ambient-background:before,body.motion-paused .ambient-background:after{animation-play-state:paused}
@media(max-width:760px){.about-photo{width:80%;max-width:330px}.footer{column-gap:14px}.motion-toggle{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ambient-background:before,.ambient-background:after{animation:none;will-change:auto}}

body:has(dialog[open]) .ambient-background:before,body:has(dialog[open]) .ambient-background:after{animation-play-state:paused}

.copy-email{display:block;margin:10px auto 0;padding:8px 14px;border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}.copy-email:hover{color:var(--white);border-color:var(--accent)}.copy-email-status{display:block;min-height:24px;margin-top:6px;font-size:14px;color:var(--muted)}
