:root{
  --ink:#352d29;--paper:#f8f4ee;--cream:#fffdf9;--blush:#eee2d9;
  --champagne:#dfcbbb;--taupe:#b99882;--mocha:#8f6855;--line:rgba(73,56,48,.16);
  --serif:Baskerville,'Iowan Old Style','Times New Roman',serif;
  --script:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;
  --sans:'Helvetica Neue',Helvetica,Arial,sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}
.site-header{height:82px;padding:0 clamp(24px,5.5vw,88px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(255,253,249,.94);backdrop-filter:blur(20px);z-index:20;box-shadow:0 1px 0 rgba(143,104,85,.13),0 8px 24px rgba(92,65,52,.025)}
.wordmark{display:inline-flex;align-items:baseline;font:400 1.2rem/1 var(--serif);letter-spacing:.08em}.wordmark span{font-family:var(--script);font-size:1.55em;letter-spacing:-.035em;color:var(--mocha);margin-left:7px}
.site-header nav{display:flex;gap:32px;font-size:.66rem;text-transform:uppercase;letter-spacing:.21em}.site-header nav a{position:relative;padding:3px 0}.site-header nav a:after{content:"";position:absolute;left:50%;bottom:-6px;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--taupe),transparent);transition:.3s;transform:translateX(-50%)}.site-header nav a:hover:after{width:115%}.menu-toggle{display:none;align-items:center;gap:11px;padding:8px 0;background:none;border:0;color:inherit;font:500 .64rem/1 var(--sans);text-transform:uppercase;letter-spacing:.22em}.menu-toggle i{position:relative;display:block;width:24px;height:8px;border-top:1px solid var(--mocha);border-bottom:1px solid var(--mocha)}
.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.05fr .95fr;padding:clamp(22px,3.5vw,54px);gap:clamp(20px,3vw,45px);background:linear-gradient(rgba(248,244,238,.86),rgba(248,244,238,.92)),url("silk-texture.png") center/cover}
.hero-copy{padding:clamp(58px,8vw,120px) clamp(12px,5vw,76px);display:flex;flex-direction:column;justify-content:center}.script-kicker{font:italic 1.02rem/1.2 var(--serif);letter-spacing:.07em;color:var(--mocha);margin:0 0 22px;padding-left:52px;position:relative;width:max-content}.script-kicker:before{content:"";position:absolute;left:0;top:50%;width:36px;height:1px;background:var(--taupe)}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:.68rem;font-weight:500;color:#806f65;margin:0 0 22px}.hero h1,.section h2{font-family:var(--serif);font-weight:400;line-height:.99;letter-spacing:-.035em}.hero h1{font-size:clamp(3.7rem,6.8vw,7.2rem);margin:0 0 32px}.hero h1 em{color:var(--mocha);font-family:var(--script);font-size:1.08em;font-weight:400;letter-spacing:-.06em}.intro{font-family:var(--serif);font-size:clamp(1.1rem,1.55vw,1.4rem);max-width:580px;color:#64564e}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--mocha);color:white;padding:14px 27px;border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:.69rem;box-shadow:0 9px 22px rgba(87,60,48,.12);transition:.25s}.button:hover{transform:translateY(-2px);background:#795443;box-shadow:0 13px 30px rgba(87,60,48,.18)}.text-link{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid var(--taupe);padding-bottom:3px}.dainty-arrow{position:relative;display:inline-block;flex:0 0 auto;width:12px;height:12px;margin-left:8px;color:inherit;vertical-align:middle}.dainty-arrow:before{content:"";position:absolute;top:1px;right:1px;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor}.dainty-arrow:after{content:"";position:absolute;left:1px;top:6px;width:10px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:center}.button-light .dainty-arrow{color:var(--mocha)}
.hero-art{position:relative;overflow:hidden;min-height:600px;border-radius:220px 220px 18px 18px;box-shadow:0 24px 65px rgba(79,55,44,.13);background:#d8c2b2}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 64%;filter:saturate(.82) contrast(.96) brightness(.98)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(48,39,34,.04) 25%,rgba(48,39,34,.38) 100%)}.vertical-note{position:absolute;z-index:3;right:19px;top:40%;writing-mode:vertical-rl;font-size:.56rem;letter-spacing:.22em;color:#fff}.stone-card{position:absolute;z-index:4;bottom:20px;left:20px;background:rgba(255,253,249,.9);backdrop-filter:blur(10px);color:var(--ink);padding:20px 24px;width:235px;border-radius:4px;border:1px solid rgba(255,255,255,.55)}.stone-card span{font-size:.56rem;color:var(--mocha);letter-spacing:.16em}.stone-card p{font:italic 1rem var(--serif);margin:7px 0 0}
.marquee{overflow:hidden;background:var(--mocha);color:#fffaf5;padding:14px 0;white-space:nowrap}.marquee div{font-size:.64rem;letter-spacing:.28em;text-align:center}.marquee i{color:#e9d2c3;padding:0 28px}
.section{padding:clamp(90px,10vw,145px) clamp(24px,7vw,110px)}.section-number{font-size:.62rem;letter-spacing:.19em;text-transform:uppercase;color:#8b7568}.about{display:grid;grid-template-columns:.45fr 1.45fr .75fr;gap:clamp(32px,5vw,78px);align-items:start;background:var(--cream)}.about h2,.work h2,.services h2,.audience h2,.contact h2{font-size:clamp(3.1rem,5.5vw,5.9rem);margin:0 0 32px}.lead{font:400 clamp(1.3rem,2.15vw,1.95rem)/1.42 var(--serif);margin-bottom:26px}.about-copy>p:last-child{max-width:700px;color:#685a52}.signature-card{background:linear-gradient(145deg,#f3e9e1,#e5d4c7);padding:42px 30px;min-height:350px;display:flex;flex-direction:column;justify-content:space-between;border-radius:150px 150px 22px 22px;border:1px solid rgba(142,104,84,.12);box-shadow:0 18px 45px rgba(87,60,48,.09)}.signature-card .jp{font:1.7rem var(--serif);letter-spacing:.2em;text-align:center}.signature-card p{font:italic 1.18rem/1.55 var(--serif);text-align:center}.signature{font:400 1.8rem var(--script);text-align:right;color:var(--mocha)}
.work{background:var(--blush)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:72px}.section-heading>p{max-width:400px;color:#6b5b53}.projects{display:grid;grid-template-columns:1.1fr .9fr;gap:34px}.project-large{grid-row:span 2}.project-wide{grid-column:span 2}.project{background:rgba(255,253,249,.58);padding:12px;border-radius:20px;box-shadow:0 14px 35px rgba(92,65,52,.07)}.project-visual{height:390px;position:relative;overflow:hidden;padding:26px;color:var(--paper);display:flex;align-items:flex-end;border-radius:14px}.project-large .project-visual{height:832px;border-radius:190px 190px 14px 14px}.project-wide .project-visual{height:430px}.project-visual>span{position:absolute;right:26px;top:8px;font:9rem/1 var(--serif);opacity:.12}.project-visual>p{z-index:2;text-transform:uppercase;letter-spacing:.21em;font-size:.59rem}.tokyo{background:linear-gradient(145deg,#3a302c,#806b5f)}.frame-lines{position:absolute;inset:12% 16%;border:1px solid rgba(255,255,255,.28);border-radius:140px 140px 8px 8px}.frame-lines:after{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.13);border-radius:110px 110px 6px 6px}.matcha{background:linear-gradient(145deg,#9b9c7e,#767b65)}.orb{position:absolute;width:220px;height:220px;border-radius:50%;background:#c8c7a4;right:12%;top:20%;box-shadow:inset 0 0 0 25px rgba(255,255,255,.08)}.coast{background:linear-gradient(#d5dedb 0 54%,#84969a 55% 58%,#c3b299 59%)}.horizon{position:absolute;left:20%;right:20%;top:54%;height:1px;background:white}.dining{background:linear-gradient(135deg,#a17059,#7f513f)}.dining-mark{font:400 clamp(5rem,12vw,11rem) var(--script);position:absolute;right:7%;top:48%;transform:translateY(-50%) rotate(-4deg);color:#e6cabb;opacity:.8}.project-meta{display:flex;justify-content:space-between;gap:18px;padding:20px 10px 18px}.project-meta span,.project-meta strong{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:#806f65}.project-meta h3{font:400 1.55rem var(--serif);margin:4px 0}.profile-cta{margin-top:72px;display:flex;align-items:center;justify-content:center;gap:28px}.profile-cta p{font:400 1.45rem var(--script);color:var(--mocha)}.button-dark{background:var(--ink)}
.services{display:grid;grid-template-columns:.45fr .95fr 1.3fr;gap:clamp(34px,5vw,78px);background:var(--cream)}.services-title h2{font-size:clamp(3rem,5.2vw,5.7rem)}.service-list>div{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;column-gap:20px}.service-list span{font-size:.62rem;color:var(--mocha)}.service-list h3{font:400 1.6rem var(--serif);margin:0}.service-list p{grid-column:2;color:#6b5c54;margin:8px 0 0}
.audience{background:linear-gradient(135deg,#e7d6c9,#d9c2b1);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.audience-copy>p:last-child{max-width:560px}.stats{display:grid;grid-template-columns:1fr 1fr;background:rgba(255,253,249,.45);padding:18px;border-radius:18px}.stats div{padding:30px 22px;border-top:1px solid rgba(73,56,48,.18)}.stats div:nth-child(-n+2){border-top:0}.stats strong{display:block;font:400 clamp(2.6rem,4vw,4.3rem) var(--serif);color:#513f36}.stats span{font-size:.64rem;text-transform:uppercase;letter-spacing:.15em}
.contact{text-align:center;background:#3b302b;color:#fffaf5;position:relative;overflow:hidden}.contact:before{content:"J";position:absolute;font:400 34rem/1 var(--serif);color:rgba(255,255,255,.025);left:72%;top:43%;transform:translate(-50%,-50%)}.contact>*{position:relative}.contact-intro{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(480px,1.28fr);gap:clamp(54px,8vw,110px);align-items:center}.contact-portrait{position:relative;aspect-ratio:3/4;margin:0;overflow:hidden;border-radius:150px 150px 18px 18px;background:#e6d0cb;box-shadow:0 25px 60px rgba(0,0,0,.2)}.contact-portrait:after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.28);border-radius:142px 142px 12px 12px;pointer-events:none}.contact-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:40% 42%}.contact-copy{text-align:left}.contact .eyebrow{color:#d4bcae}.contact h2{font-size:clamp(3.6rem,6.5vw,7rem)}.contact-copy>p:not(.eyebrow){max-width:620px;margin:0 0 34px;color:#d5c9c1}.button-light{background:#fffaf5;color:var(--ink)}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.contact-email{font:italic 1.15rem var(--serif);color:#e4d6cd;border-bottom:1px solid rgba(255,255,255,.25);transition:.25s}.contact-email:hover{color:white;border-color:white}.social-links{max-width:850px;margin:70px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.social-links a{padding:24px 20px;display:flex;flex-direction:column;gap:6px;transition:.25s}.social-links a+a{border-left:1px solid rgba(255,255,255,.16)}.social-links a:hover{background:rgba(255,255,255,.06)}.social-links span{font-size:.61rem;text-transform:uppercase;letter-spacing:.18em;color:#bfaea4}.social-links strong{font:400 1.08rem var(--serif)}.contact-foot{margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#bfaea4}
footer{padding:24px clamp(24px,7vw,110px);display:flex;justify-content:space-between;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;background:var(--paper)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){.hero{grid-template-columns:1fr;padding:24px}.hero-copy{min-height:64vh}.hero-art{min-height:680px;max-width:680px;width:100%;margin:0 auto}.sun-disc{width:520px;height:520px}.about,.services{grid-template-columns:1fr}.section-number{margin-bottom:20px}.signature-card{min-height:290px;max-width:430px;width:100%;margin:auto}.section-heading{display:block}.section-heading>p{margin-top:25px}.projects{grid-template-columns:1fr}.project-large,.project-wide{grid-row:auto;grid-column:auto}.project-large .project-visual,.project-wide .project-visual,.project-visual{height:520px;border-radius:150px 150px 14px 14px}.audience{grid-template-columns:1fr}.contact-intro{grid-template-columns:1fr;max-width:650px}.contact-portrait{width:min(100%,390px);margin:0 auto}.contact-copy{text-align:center}.contact-copy>p:not(.eyebrow){margin:0 auto 34px}.contact-actions{align-items:center}.contact-foot{gap:25px;flex-direction:column}.profile-cta{flex-direction:column}}
@media (max-width:620px){.site-header{height:72px;padding:0 22px}.wordmark{font-size:1.02rem;letter-spacing:.06em}.wordmark span{font-size:1.5em;margin-left:6px}.menu-toggle{display:inline-flex}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:rgba(255,253,249,.98);padding:30px 24px 34px;gap:22px;flex-direction:column;border-bottom:1px solid rgba(143,104,85,.13);box-shadow:0 18px 35px rgba(92,65,52,.08)}.site-header nav.open{display:flex}.hero{min-height:auto;padding:14px}.hero-copy{padding:68px 14px 62px}.script-kicker{font-size:.98rem}.hero h1{font-size:3.55rem}.hero-art{min-height:610px;border-radius:150px 150px 12px 12px}.hero-photo{object-position:center 65%}.hero-actions{align-items:flex-start;flex-direction:column}.section{padding:88px 22px}.about h2,.work h2,.services h2,.audience h2,.contact h2{font-size:3.15rem}.projects{gap:20px}.project-visual,.project-large .project-visual,.project-wide .project-visual{height:450px;border-radius:120px 120px 12px 12px}.project-meta{align-items:flex-start}.project-meta strong{text-align:right}.stats{grid-template-columns:1fr}.stats div:nth-child(2){border-top:1px solid rgba(73,56,48,.18)}.marquee div{text-align:left;animation:move 14s linear infinite}.social-links{grid-template-columns:1fr;margin-top:48px}.social-links a+a{border-left:0;border-top:1px solid rgba(255,255,255,.16)}.contact-foot{margin-top:70px}footer{flex-direction:column;gap:10px}.vertical-note{display:none}.stone-card{left:14px;bottom:14px}}
@keyframes move{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.marquee div{animation:none}}
.creator-card{padding:0;position:relative;overflow:hidden;min-height:500px;background:#d8c8bb}.creator-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.creator-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(42,33,29,.48) 100%)}.creator-caption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;color:#fff}.creator-caption>span{font:500 .62rem var(--sans);letter-spacing:.24em}.creator-caption p{font:italic 1rem/1.42 var(--serif);text-align:left;margin:9px 0 0;text-wrap:balance}
.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.project-large,.project-wide{grid-row:auto;grid-column:auto}.project-visual,.project-large .project-visual,.project-wide .project-visual{height:auto;aspect-ratio:3/4;border-radius:150px 150px 14px 14px;padding:0;background:#d8c8bb}.project-visual.photo>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.project:nth-child(2) .project-visual img{object-position:center 48%}.project:nth-child(3) .project-visual img{object-position:center 45%}.project:nth-child(4) .project-visual img{object-position:center 50%}.project:nth-child(5) .project-visual img{object-position:center 46%}.project:nth-child(6) .project-visual img{object-position:center 48%}
@media (max-width:1050px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.creator-card{min-height:520px}.projects{grid-template-columns:1fr}.project-visual,.project-large .project-visual,.project-wide .project-visual{height:auto;aspect-ratio:3/4;border-radius:120px 120px 12px 12px}}
.motion{background:var(--cream)}.motion .section-heading{margin-bottom:58px}.motion-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;max-width:1240px;margin:0 auto}.motion-card{width:100%;max-width:292px;justify-self:center}.video-frame{position:relative;aspect-ratio:9/16;overflow:hidden;padding:9px;border-radius:46px;background:linear-gradient(145deg,#303030 0%,#090909 36%,#171717 72%,#3a3a3a 100%);box-shadow:0 22px 46px rgba(65,48,40,.18),inset 0 0 0 1px rgba(255,255,255,.2)}.video-frame::before{content:"";position:absolute;z-index:3;top:17px;left:50%;width:74px;height:20px;transform:translateX(-50%);border-radius:999px;background:#050505;box-shadow:inset 0 1px 1px rgba(255,255,255,.1)}.video-frame::after{content:"";position:absolute;z-index:3;top:23px;left:calc(50% + 22px);width:5px;height:5px;border-radius:50%;background:#18202a;box-shadow:0 0 0 1px #050505}.video-frame video{width:100%;height:100%;display:block;object-fit:cover;border-radius:38px;background:#16130f}.motion-meta{text-align:center;padding:20px 8px 0}.motion-meta span{font-size:.61rem;text-transform:uppercase;letter-spacing:.16em;color:#806f65}.motion-meta h3{font:400 1.35rem var(--serif);margin:5px 0 0}.video-frame video:focus-visible{outline:2px solid var(--mocha);outline-offset:-4px}
@media (max-width:1050px){.motion-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}}
@media (max-width:620px){.motion-grid{grid-template-columns:1fr;max-width:320px;gap:38px}.motion-card{max-width:292px}.video-frame{border-radius:44px;padding:8px}.video-frame video{border-radius:36px}}
