
:root{--night:#17163d;--night2:#24205b;--white:#fbf9ff;--muted:#c6c4df;--ink:#242044;--violet:#a69bff;--mint:#92e8d5;--gold:#ffd486;--pink:#fa9caf;--line:#d6d2e7;--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #f5af4c;outline-offset:4px}button{font:inherit}.shell{width:min(1240px,calc(100% - 64px));margin:auto}.top{background:var(--night);color:white;border-bottom:1px solid #ffffff27}.top .shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:22px;font-weight:850;letter-spacing:-.055em}.brand b{color:var(--gold)}.nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:650}.nav a:hover,.footer a:hover{color:var(--gold)}.nav .last{border:1px solid #ffffff80;padding:9px 14px;border-radius:4px}.hero{background:var(--night);color:white;position:relative;overflow:hidden}.hero:before{content:'';width:430px;height:430px;border:1px solid #ffffff16;border-radius:50%;position:absolute;right:-140px;top:-200px}.hero .shell{position:relative;padding:84px 0 48px}.kicker,.number,.meta{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.kicker{color:var(--mint)}.hero h1{font:400 clamp(60px,7.7vw,116px)/.97 var(--serif);letter-spacing:-.06em;margin:24px 0 22px;max-width:1100px}.hero h1 em{font-style:italic;color:var(--gold)}.hero .lead{font:italic clamp(20px,2.4vw,30px)/1.35 var(--serif);max-width:780px;color:#ebe9ff;margin:0}.hero .intro{color:var(--muted);max-width:625px;margin:21px 0 0}.path-label{display:flex;justify-content:space-between;align-items:center;color:#d8d6f2;margin:72px 0 16px;font-size:13px}.path-label span:last-child{color:var(--gold)}.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.path{min-height:285px;padding:26px 27px 25px;border-radius:4px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}.path:hover{transform:translateY(-6px);box-shadow:0 18px 40px #080b2e55}.path .num{font-size:12px;letter-spacing:.15em;font-weight:800}.path h2{font:400 clamp(37px,3.2vw,50px)/1.02 var(--serif);letter-spacing:-.045em;margin:27px 0 13px;position:relative}.path p{margin:0;max-width:315px;line-height:1.47;position:relative}.path .enter{font-size:13px;font-weight:800;letter-spacing:.02em;margin-top:auto;padding-top:18px;position:relative}.path .glyph{position:absolute;font:italic 180px/.7 var(--serif);right:-15px;bottom:-8px;opacity:.14;pointer-events:none}.path.built{background:var(--violet);color:#17143d}.path.innov{background:var(--gold);color:#38243c}.path.deep{background:var(--mint);color:#183f45}.scrollcue{text-align:center;color:#d5d1f0;font-size:12px;letter-spacing:.13em;text-transform:uppercase;padding:31px 0 5px}.section{padding:96px 0;border-bottom:1px solid var(--line)}.heading{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:38px}.heading .number{color:#6656c7}.heading h2,.pagehero h1{font:400 clamp(50px,5.6vw,78px)/1.01 var(--serif);letter-spacing:-.05em;margin:0 0 14px}.heading p{color:#5c5977;max-width:610px;margin:0;font-size:17px}.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.feature{background:white;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}.feature .visual{min-height:280px;padding:25px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:#343185;color:#fff}.feature .visual:before{content:'';position:absolute;width:330px;height:330px;right:-15px;top:-90px;border:2px solid #ffffff80;border-radius:50%;box-shadow:0 0 0 55px #ffffff13,0 0 0 110px #ffffff0d}.feature .visual b{font:italic clamp(37px,3.5vw,55px)/1.02 var(--serif);letter-spacing:-.05em;position:relative;max-width:420px}.feature .visual i{position:absolute;top:23px;left:25px;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.13em}.feature .visual.alt{background:#166d77}.feature .visual.alt:before{border-color:#a1ead7;box-shadow:0 0 0 45px #92e8d51f,0 0 0 95px #92e8d517}.feature .content{padding:25px 27px 27px;display:flex;flex:1;flex-direction:column}.feature h3{font:400 31px/1.1 var(--serif);margin:8px 0}.feature p{margin:0 0 18px;color:#625f77}.feature .action{font-size:14px;font-weight:800;margin-top:auto;align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:3px}.feature .action:hover{color:#6656c7}.feature .meta{color:#6252be}.feature .muted-action{font-size:13px;color:#716e84;margin-top:auto}.ideas{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.idea{padding:30px;min-height:280px;background:#f6e2a9;border:1px solid #e7c872;display:flex;flex-direction:column;justify-content:space-between}.idea:nth-child(2){background:#e7e3ff;border-color:#c9c2f2}.idea small{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.idea h3{font:400 40px/1.1 var(--serif);letter-spacing:-.04em;max-width:480px;margin:20px 0 15px}.idea p{margin:0;color:#514e62;max-width:450px}.idea .status{font-size:13px;margin-top:28px;font-weight:700;color:#585373}.readlist{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.read{border-top:2px solid var(--ink);padding:23px 0 30px;min-height:200px}.read small{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#6252be}.read h3{font:400 36px/1.12 var(--serif);letter-spacing:-.035em;margin:16px 0}.read p{color:#625f77;margin:0}.story{background:#eceafa}.story .shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.storytitle{font:400 clamp(50px,5.6vw,78px)/1.01 var(--serif);letter-spacing:-.05em;margin:20px 0}.story .quote{font:italic 27px/1.4 var(--serif);color:#5146a0;margin:0}.storytext p{margin:0 0 17px;font-size:17px;color:#4c4867}.storytext a{font-weight:800;border-bottom:1px solid}.footer{background:var(--night);color:white;padding:78px 0 28px}.footer .shell{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer h2{font:400 clamp(48px,5.4vw,72px)/1.02 var(--serif);letter-spacing:-.05em;margin:15px 0}.footer p{color:#c6c4df;margin:0;max-width:500px}.footer .links{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:19px}.footer .links span{color:#aba8c6}.footer .links a,.footer .links span{border-bottom:1px solid #ffffff65;padding-bottom:4px;font-weight:700;font-size:14px}.footer .fine{grid-column:1/-1;border-top:1px solid #ffffff33;margin-top:60px;padding-top:20px;color:#aba8c6;font-size:12px;display:flex;justify-content:space-between}.pagehero{background:var(--night);color:white;padding:92px 0 100px}.pagehero .back{display:inline-block;color:var(--mint);font-size:13px;font-weight:700;margin-bottom:50px}.pagehero h1{max-width:850px;font-size:clamp(65px,7.5vw,110px)}.pagehero p{font:italic 25px/1.4 var(--serif);color:#d9d5ef;max-width:720px;margin:20px 0 0}.pagehero .number{color:var(--gold)}.pagebody{padding:80px 0 110px}.pagebody .introblock{max-width:800px;margin-bottom:55px}.pagebody h2{font:400 47px/1.1 var(--serif);letter-spacing:-.04em;margin:0 0 16px}.pagebody p{color:#5c5977}.article{max-width:800px}.article h2{margin-top:60px}.article h3{font:400 29px var(--serif);margin:32px 0 10px}.article ul{padding-left:24px;color:#5c5977}.article li{margin:10px 0}.notice{padding:22px 25px;background:#eceafa;border-left:4px solid #6f5ee0;color:#514d68;margin:30px 0}.inline-link{font-weight:800;border-bottom:1px solid currentColor}.tagrow{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.tagrow span{background:#e9e5fa;padding:7px 11px;font-size:12px;font-weight:750;border-radius:3px}.aboutgrid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.aboutgrid article{border-top:2px solid #6252be;padding-top:18px}.aboutgrid h3{font:400 28px var(--serif);margin:0 0 8px}.aboutgrid p{margin:0}.planned{font-size:13px;color:#716e84;margin:26px 0 0}
@media(max-width:900px){.shell{width:min(100% - 38px,700px)}.nav{gap:14px}.nav a:nth-child(2),.nav a:nth-child(3),.nav a:nth-child(4){display:none}.hero .shell{padding:70px 0 35px}.hero h1{font-size:clamp(60px,10vw,86px)}.path-label{margin-top:55px}.paths{grid-template-columns:1fr}.path{min-height:215px}.path h2{margin:17px 0 8px}.path .enter{padding-top:10px}.heading,.story .shell,.footer .shell{grid-template-columns:1fr;gap:17px}.section{padding:70px 0}.feature-grid,.ideas,.readlist,.aboutgrid{grid-template-columns:1fr}.feature .visual{min-height:230px}.footer .links{justify-content:flex-start}.footer .fine{margin-top:40px}.pagehero{padding:70px 0}.pagehero .back{margin-bottom:35px}.pagebody{padding:65px 0 90px}}
@media(max-width:440px){.brand{font-size:19px}.nav .last{padding:7px 10px}.hero h1{font-size:55px}.hero .lead{font-size:22px}.heading h2{font-size:50px}.idea h3{font-size:35px}.pagehero h1{font-size:62px}.footer h2{font-size:48px}.footer .fine{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.path{transition:none}}

:root{--night:#281122;--night2:#49314f;--white:#f4f2f0;--muted:#cfc1c9;--ink:#321625;--violet:#e6e0e8;--mint:#5bbfb9;--gold:#cdae76;--pink:#b994ac;--line:#ddd4da}
body{background:var(--white);color:var(--ink)}
a:focus-visible{outline-color:var(--mint)}
.shell{width:min(1450px,calc(100% - 9.5vw))}
.top{background:#20101e;border-bottom:1px solid #ffffff32}
.top .shell{min-height:82px}
.brand{display:inline-flex;align-items:center;gap:13px;font-family:var(--sans);font-weight:800;font-size:18px;letter-spacing:.01em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:var(--gold);color:var(--night);font:700 30px var(--serif)}
.nav{font-size:14px;gap:27px}
.nav .last{border-color:#b89970;border-radius:28px;padding:10px 19px;background:#4d2c42}
.hero-home{background:#21101f;color:#fff;min-height:685px;display:flex;align-items:center}
.hero-home:before{display:none}
.hero-home .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.hero-home .shell{padding:86px 0 92px;z-index:1}
.hero-copy{max-width:760px}
.hero-home .kicker{font-size:15px;color:#72d4cb;letter-spacing:.06em}
.hero-home h1{font:700 clamp(61px,5.4vw,88px)/1.08 var(--serif);letter-spacing:-.038em;margin:36px 0 37px;max-width:800px}
.hero-home h1 em{font-style:normal;color:#d5b57e}
.hero-home .lead{font:italic clamp(24px,2.1vw,31px)/1.25 var(--serif);color:#f1e5eb;max-width:660px}
.hero-home .intro{font-size:19px;line-height:1.55;color:#eadfe5;max-width:615px;margin:34px 0 0}
.hero-home .intro:before{content:'';display:block;background:#5bbfb9;width:78px;height:5px;margin-bottom:21px}
.entry{padding:45px 0 57px;background:var(--white)}
.entry .path-label{margin:0 0 22px;color:#75516c;display:block}
.entry .path-label span:first-child{font-weight:800;letter-spacing:.13em;font-size:14px;text-transform:uppercase}
.entry h2{font:700 clamp(39px,3.7vw,59px)/1.1 var(--serif);letter-spacing:-.035em;color:var(--night);margin:0 0 36px}
.entry .paths{gap:21px}
.entry .path{min-height:222px;border-radius:18px;padding:25px 29px;transition:transform .25s ease,box-shadow .25s ease}
.entry .path h3{font:700 clamp(31px,2.65vw,42px)/1.1 var(--serif);letter-spacing:-.03em;margin:24px 0 12px;position:relative}
.entry .path p{font-size:16px;line-height:1.5;max-width:370px}
.entry .path .num{font-size:14px;letter-spacing:.04em}
.entry .path .enter{font-size:14px}
.entry .path.built{background:#36172b;color:#fff9f6}
.entry .path.built .num,.entry .path.built .enter{color:var(--gold)}
.entry .path.innov{background:#e6e0e8;color:#36172b}
.entry .path.deep{background:#dce9e7;color:#36172b}
.entry .path .glyph{font-size:150px;opacity:.08}
.section{border-color:var(--line)}
.heading .number,.feature .meta,.read small{color:#79516f}
.heading p,.feature p,.idea p,.read p,.storytext p,.pagebody p,.article ul{color:#5f5560}
.feature{border-radius:14px;background:#fff}
.feature .visual{background:#49314f}
.feature .visual.alt{background:#365b5b}
.idea{background:#e8d8c9;border-color:#d7c1ac;border-radius:14px}
.idea:nth-child(2){background:#e7e1e8;border-color:#d3c8d4}
.story{background:#e8e2e9}
.story .quote{color:#684060}
.footer{background:#281122}
.pagehero{background:radial-gradient(ellipse at 85% 25%,#654454 0%,transparent 36%),linear-gradient(125deg,#260b18 5%,#3d1d35 58%,#26101f 100%);border-bottom:4px solid #cdae76;min-height:430px}
.pagehero .shell{position:relative}
.pagehero .number{color:#d4b37c;font-size:14px;letter-spacing:.13em}
.pagehero h1{color:#fffaf7;text-wrap:balance}
.pagehero p{color:#e3d4dd}
.pagehero .back{display:inline-flex;align-items:center;gap:8px;color:#78cfc7;border-bottom:1px solid #78cfc7;padding-bottom:4px}
.pagehero .back:hover{color:#f0d1a0;border-color:#f0d1a0}
.pagebody{background:#f4f2f0}
.pagebody .introblock{border-left:4px solid #5bbfb9;padding-left:27px}
.pagebody h2,.pagebody h3{color:#321625}
.pagebody .feature{border:1px solid #d8ced6;box-shadow:0 18px 35px #2c102009}
.pagebody .feature .visual{background:linear-gradient(145deg,#4c2546,#281122)}
.pagebody .feature .visual.alt{background:linear-gradient(145deg,#246266,#281122)}
.pagebody .feature .meta{color:#79516f}
.pagebody .feature .action{color:#663851}
.pagebody .feature .action:hover{color:#217b78}
.pagebody .idea{background:#e8dde5;border-color:#d3c2cf}
.pagebody .idea:nth-child(2){background:#dae9e7;border-color:#bfd8d5}
.pagebody .idea small,.pagebody .read small{color:#6d405e}
.pagebody .read{border-top:3px solid #79516f}
.pagebody .read:nth-child(even){border-color:#5bbfb9}
.pagebody .notice{background:#e8e2e9;border-color:#5bbfb9;border-radius:0 12px 12px 0}
.pagebody .tagrow span{background:#e6e0e8;color:#4d2b43;border:1px solid #d4c4d0;border-radius:20px;font-size:13px}
.pagebody .aboutgrid article{border-top:3px solid #cdae76;background:#fff;padding:22px 23px 26px;border-radius:0 0 13px 13px}
.pagebody .aboutgrid article:nth-child(even){border-color:#5bbfb9}
.pagebody .inline-link{color:#70475f}
.pagebody .inline-link:hover{color:#217b78}
.footer{background:linear-gradient(125deg,#2b101f,#45233b);border-top:4px solid #cdae76}
.footer .kicker{color:#7bd4ca}
.footer h2{color:#fff8f4}
.footer .links a:hover{color:#e2bd85}
@media(max-width:600px){.pagehero{min-height:0}.pagehero h1{font-size:clamp(48px,12vw,64px)}.pagebody .introblock{padding-left:17px}.pagebody .aboutgrid article{padding:20px}}
.pagehero .back{color:#74d4cc}
.notice{background:#e8e2e9;border-color:#5bbfb9}
.tagrow span{background:#e6e0e8}
.aboutgrid article{border-color:#79516f}
@media(max-width:900px){
 .shell{width:min(100% - 38px,700px)}
 .hero-home{min-height:680px;align-items:flex-end}
 .hero-home .hero-photo{object-position:60% center}
 .hero-home:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#21101fd9 0%,#21101f8f 74%,#21101f42)}
 .hero-home .shell{z-index:2;padding:100px 0 58px}
 .hero-copy{max-width:670px}
 .hero-home h1{font-size:clamp(55px,9vw,76px);margin:25px 0 25px}
 .entry .paths{grid-template-columns:1fr}
 .entry .path{min-height:185px}
 .entry .path h3{margin:18px 0 8px}
}
@media(max-width:600px){
 .hero-home{min-height:700px;align-items:flex-end}
 .hero-home .hero-photo{object-position:66% top}
 .hero-home:after{background:linear-gradient(180deg,#21101f12 0%,#21101f6b 33%,#21101ff4 70%,#21101f 100%)}
 .hero-home .shell{padding:330px 0 45px}
 .hero-home .kicker{font-size:13px}
 .hero-home h1{font-size:clamp(44px,11vw,60px);margin:18px 0 18px}
 .hero-home .lead{font-size:23px}
 .hero-home .intro{font-size:16px;margin-top:22px}
 .entry{padding:43px 0 52px}
 .entry h2{font-size:42px}
 .nav .last{font-size:13px;padding:8px 11px}
}
@media(prefers-reduced-motion:reduce){.entry .path{transition:none}}

.journey .eyebrow{display:block;color:#79516f;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:17px}
.journey-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;padding-bottom:66px;border-bottom:1px solid #d9cbd3}
.journey-intro h2,.work-section h2,.independent-note h2{font:700 clamp(41px,4vw,60px)/1.09 var(--serif);letter-spacing:-.04em;margin:0}
.journey-intro p{font-size:19px;line-height:1.65;margin:0}
.career{padding:24px 0 90px}.career-role{display:grid;grid-template-columns:210px 1fr;gap:40px;padding:32px 0;border-bottom:1px solid #d9cbd3}.career-date{color:#79516f;font-weight:800;font-size:15px;letter-spacing:.03em}.career-role h3{font:700 32px/1.15 var(--serif);margin:0 0 10px}.career-role h3 span{display:block;font:600 16px/1.5 var(--sans);color:#75516c;margin-top:4px}.career-role p{max-width:750px;font-size:17px;margin:0 0 13px}.career-role a,.independent-note a{color:#326c6d;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:3px}
.work-section{scroll-margin-top:25px}.work-section .section-lead{font-size:18px;max-width:750px;margin:17px 0 36px}.work-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.work-case{background:#fff;border:1px solid #d9cbd3;border-top:4px solid #cdae76;border-radius:0 0 15px 15px;padding:30px;scroll-margin-top:25px}.work-case:nth-child(even){border-top-color:#5bbfb9}.case-index{font-size:13px;color:#76516a;letter-spacing:.1em;font-weight:800}.work-case h3{font:700 clamp(30px,2.4vw,38px)/1.12 var(--serif);letter-spacing:-.025em;margin:19px 0 10px}.work-case .case-summary{font-size:17px;min-height:82px;margin:0 0 23px}.case-detail{display:grid;gap:19px;border-top:1px solid #e5dce1;padding-top:22px}.case-detail b{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#704b63}.case-detail p{margin:5px 0 0}.independent-note{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#382038;color:#fff;padding:38px 45px;border-radius:15px;margin-top:78px}.independent-note .eyebrow{color:#7ad3ca}.independent-note h2{font-size:39px}.independent-note p{color:#e7dbe3;max-width:650px;margin-bottom:0}.independent-note a{color:#d6ba86;white-space:nowrap}
@media(max-width:900px){.journey-intro{grid-template-columns:1fr;gap:22px}.work-cases{grid-template-columns:1fr}.work-case .case-summary{min-height:0}.nav a:nth-child(4){display:inline}.nav a:nth-child(1){display:none}.nav .last{display:none}}
@media(max-width:600px){.top .shell{flex-wrap:wrap;gap:8px;padding:10px 0}.top .nav{width:100%;justify-content:flex-start}.nav a:nth-child(4){font-size:14px}.journey-intro p{font-size:17px}.career-role{grid-template-columns:1fr;gap:6px}.career-role h3{font-size:29px}.work-case{padding:23px}.independent-note{display:block;padding:28px}.independent-note a{display:inline-block;margin-top:18px;white-space:normal}}

.outcome-list{padding-left:19px;margin:10px 0 0;color:#5c5977}.outcome-list li{margin:5px 0}.case-status{border-top:1px solid #dfd2d9;margin-top:21px;padding-top:14px;color:#79516f;font-size:13px;font-weight:650}.measurement-note{font-size:14px;max-width:800px;margin-top:25px}.education-note{border-top:1px solid #d9cbd3;margin-top:65px;padding-top:45px}.education-note h2{font:700 40px/1.1 var(--serif);letter-spacing:-.03em}.education-note p{line-height:1.9}.work-case{scroll-margin-top:28px}

/* Four ways into the portfolio */
.entry .paths{grid-template-columns:repeat(4,minmax(0,1fr))}.entry .path{min-height:285px;padding:25px}.entry .path h3{font-size:clamp(30px,2.5vw,39px)}.entry .path.company{background:linear-gradient(140deg,#70506b,#382038);color:#fff9f6;border:1px solid #b99c71}.entry .path.company .num,.entry .path.company .enter{color:#e6c994}.entry .path.company .glyph{opacity:.1}.case-status .inline-link{font-size:16px}@media(max-width:1100px){.entry .paths{grid-template-columns:repeat(2,minmax(0,1fr))}.entry .path{min-height:235px}}@media(max-width:600px){.entry .paths{grid-template-columns:1fr}.entry .path{min-height:220px}}

/* Published portfolio pathways */
.entry .paths{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.entry .paths{grid-template-columns:1fr}}

/* Video-filled hero text, with readable static fallback. */
.video-text{display:inline-block;position:relative;white-space:nowrap}
.video-text-layer{position:absolute;inset:0;opacity:0;pointer-events:none;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.video-text-layer video{display:block;width:100%;height:100%;object-fit:cover}
.video-text.video-ready:not(.motion-off) .video-text-layer{opacity:1}
.video-text.video-ready:not(.motion-off) .video-text-fallback{color:transparent}





@media(prefers-reduced-motion:reduce){.video-text-layer{display:none}.video-text.video-ready .video-text-fallback{color:#d5b57e}}

/* Progressive product-card entrances; preserve document order and layout. */
[data-animated-list] > *{transform-origin:50% 0}
[data-animated-list] > .list-pending{opacity:0}
@media(prefers-reduced-motion:reduce){[data-animated-list] > .list-pending{opacity:1}}

/* Ambient light shafts above the hero image and behind the copy. */
.hero-home{isolation:isolate;overflow:hidden}
.hero-home .hero-photo{z-index:0}
.hero-home .light-rays{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen;mask-image:linear-gradient(#000 0%,#000b 48%,transparent 95%);-webkit-mask-image:linear-gradient(#000 0%,#000b 48%,transparent 95%)}
.hero-home .shell{position:relative;z-index:3}
.hero-home:after{z-index:2;pointer-events:none}
.light-ray{position:absolute;top:-15%;left:58%;height:130%;width:70%;transform-origin:50% 0;filter:blur(16px);will-change:transform,opacity;background:conic-gradient(from 155deg at 50% 0%,transparent 0deg,#dfb57433 7deg,#ffe6ab55 13deg,transparent 22deg);animation:ray-drift 16s ease-in-out infinite alternate;opacity:.7}
.ray-teal{left:26%;width:95%;background:conic-gradient(from 162deg at 50% 0%,transparent 0deg,#72d4cb22 9deg,#a9eceb44 12deg,transparent 19deg);animation-duration:21s;animation-delay:-8s;opacity:.5}
.ray-soft{left:48%;width:80%;background:conic-gradient(from 181deg at 50% 0%,transparent 0deg,#f7e5c733 5deg,transparent 12deg);animation-duration:24s;animation-delay:-13s;opacity:.45}
@keyframes ray-drift{from{transform:rotate(-9deg) scaleX(.86);opacity:.38}to{transform:rotate(9deg) scaleX(1.1);opacity:.7}}
.animation-paused .light-ray{animation-play-state:paused}
@media(max-width:600px){.hero-home .light-rays{opacity:.55}.light-ray{left:15%;width:120%;filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){.light-ray{animation:none;will-change:auto;opacity:.3}}

/* 4 x 6 grayscale-to-colour image reveal. */
.pixel-image-grid{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.pixel-image-tile{position:absolute;display:block;overflow:hidden;transform-origin:center}
.pixel-image-tile img{position:absolute;max-width:none;object-fit:cover;pointer-events:none}
.hero-home .hero-photo.pixel-revealing{visibility:hidden}
@media(prefers-reduced-motion:reduce){.pixel-image-grid{display:none}.hero-home .hero-photo.pixel-revealing{visibility:visible}}

/* New AI portrait: keep copy in the darker right-hand space. */
@media(min-width:901px){
.hero-home .hero-copy{margin-left:auto;max-width:600px;width:53%}
.hero-home h1{font-size:clamp(48px,4.5vw,74px)}
.hero-home:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06131b0d 20%,#07121b66 52%,#160e1bc7 100%)}
}
@media(max-width:900px){.hero-home .hero-photo{object-position:35% center}}
@media(max-width:600px){.hero-home .hero-photo{object-position:34% top}}
