:root{--ink:#14243a;--ink-soft:#536070;--cream:#f5f0e8;--paper:#fffdf9;--gold:#b98b45;--gold-light:#e8d6b6;--navy:#101f33;--line:#14243a24;--shadow:0 22px 60px #1922301c}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.62}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.section-shell{width:min(1200px,100% - 64px);margin:0 auto}.site-header{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf9f0;border-bottom:1px solid #14243a17;justify-content:space-between;align-items:center;min-height:72px;padding:0 max(32px,50vw - 600px);display:flex;position:sticky;top:0}.brand{color:#fff;background:var(--navy);letter-spacing:.08em;border-radius:50%;place-items:center;width:40px;height:40px;font-family:Prata,Georgia,serif;font-size:15px;display:grid}.site-header nav{color:#425064;letter-spacing:.035em;align-items:center;gap:30px;font-size:13px;font-weight:700;display:flex}.site-header nav a:hover{color:var(--gold)}.hero{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);align-items:end;gap:7vw;min-height:670px;padding-top:104px;padding-bottom:92px;display:grid}.eyebrow{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:700}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1,h2{font-family:Prata,Georgia,serif;font-weight:400;line-height:1.13}h1{letter-spacing:-.055em;max-width:760px;margin-bottom:22px;font-size:clamp(58px,7.7vw,112px)}h2{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(36px,5vw,64px)}.role{color:var(--ink);margin-bottom:25px;font-size:clamp(18px,2vw,25px);font-weight:600}.lead{max-width:745px;color:var(--ink-soft);margin-bottom:0;font-size:clamp(17px,1.4vw,20px)}.portfolio-map{border-top:1px solid var(--line)}.portfolio-map a{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:0 12px;padding:18px 0;transition:transform .18s,color .18s;display:grid}.portfolio-map a:hover{color:var(--gold);transform:translate(6px)}.portfolio-map span{color:var(--gold);grid-row:1/span 2;font-size:12px;font-weight:700}.portfolio-map strong{line-height:1.35}.portfolio-map small{color:#7a8290}.skills-section{background:var(--cream);padding:100px 0 108px}.skills-heading{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:end;gap:70px;margin-bottom:48px;display:grid}.skills-heading h2{max-width:720px;margin-bottom:0}.skills-heading>p{color:var(--ink-soft);margin-bottom:8px;font-size:17px}.skills-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.skills-grid article{background:var(--paper);border:1px solid #14243a1a;border-radius:7px;min-height:285px;padding:28px 25px}.skills-grid article>span{color:var(--gold);letter-spacing:.15em;font-size:11px;font-weight:700}.skills-grid h3,.skills-certificates-title h3{margin:14px 0 12px;font-family:Prata,Georgia,serif;font-size:24px;font-weight:400;line-height:1.2}.skills-grid p{min-height:92px;color:var(--ink-soft);margin-bottom:20px;font-size:14px}.skill-tools{flex-wrap:wrap;gap:6px;display:flex}.skill-tools b{border:1px solid var(--gold-light);color:#7d612e;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700}.skills-certificates{border-top:1px solid var(--line);grid-template-columns:minmax(210px,.38fr) minmax(0,1.62fr);align-items:center;gap:32px;margin-top:24px;padding-top:32px;display:grid}.skills-certificates-title .eyebrow{margin-bottom:8px}.skills-certificates-title h3{margin:0}.hero-strip{background:var(--navy);grid-template-columns:repeat(4,1fr);min-height:330px;display:grid;overflow:hidden}.hero-strip button,.case-preview button,.visual-grid button,.book-cover,.book-pages button,.education-grid button{cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:relative;overflow:hidden}.hero-strip button{border-right:1px solid #fff3;min-height:330px}.hero-strip img{object-fit:contain;background:#ebe4d9;width:100%;height:100%;transition:transform .4s,opacity .3s}.hero-strip button:hover img{opacity:.72;transform:scale(1.025)}.hero-strip span,.visual-grid span,.book-cover span{color:#fff;text-align:left;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a1728d1;padding:11px 14px;font-size:13px;font-weight:600;position:absolute;bottom:16px;left:16px;right:16px}.section-title{max-width:830px;margin-bottom:60px}.section-title>p:last-child{max-width:590px;color:var(--ink-soft);margin:0;font-size:18px}.cases-section{background:var(--cream);padding:130px 0 42px}.case-list{gap:34px;display:grid}.case-study{background:var(--paper);min-height:660px;box-shadow:var(--shadow);border:1px solid #14243a14;border-radius:10px;grid-template-columns:minmax(330px,.68fr) minmax(0,1.32fr);display:grid;overflow:hidden}.case-copy{flex-direction:column;padding:clamp(34px,5vw,70px);display:flex}.case-number{color:var(--gold);margin-bottom:36px;font-family:Prata,Georgia,serif;font-size:28px}.case-kind{color:#818a98;letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:700}.case-copy h3,.video-card h3{margin-bottom:18px;font-family:Prata,Georgia,serif;font-size:clamp(27px,3vw,40px);font-weight:400;line-height:1.18}.case-summary{color:var(--ink-soft);margin-bottom:30px;font-size:17px}.case-detail{border-top:1px solid var(--line);padding:20px 0}.case-detail h4{margin:0 0 8px;font-size:13px}.case-detail p,.case-detail ul{color:var(--ink-soft);margin:0;font-size:14px}.case-detail ul{padding-left:20px}.tool-tags{flex-wrap:wrap;gap:7px;margin-top:5px;display:flex}.tool-tags span{border:1px solid var(--gold-light);color:#7d612e;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:600}blockquote{border-top:1px solid var(--line);border-left:3px solid var(--gold);color:var(--ink);margin:28px 0 0;padding:18px 0 0 18px;font-family:Prata,Georgia,serif;font-size:15px}.open-case{border:0;border-bottom:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;align-self:flex-start;margin-top:auto;padding:14px 0 8px;font-size:13px;font-weight:700}.open-case:hover{color:var(--gold);border-color:var(--gold)}.case-preview{background:#e9e2d7;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;padding:28px;display:grid}.case-preview button{background:#fff;min-height:0;box-shadow:0 8px 22px #14243a1f}.case-preview img{object-fit:contain;width:100%;height:auto;transition:transform .25s}.case-preview button:hover img{transform:scale(1.02)}.slides-2,.slides-3,.slides-4{grid-template-columns:repeat(2,1fr)}.slides-3 button:last-child{grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}.more-slides{color:#fff;background:#0b1b2fad;place-items:center;font-family:Prata,Georgia,serif;font-size:46px;display:grid;position:absolute;inset:0}.video-section{color:#fff;background:var(--navy);padding:130px 0}.light-title .eyebrow{color:#d3ab6c}.light-title>p:last-child{color:#aab5c4}.video-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.video-card{background:#ffffff0b;border:1px solid #ffffff21;border-radius:8px;overflow:hidden}.video-card video{object-fit:contain;background:#070f1b;width:100%;height:auto}.video-card>div{padding:25px 22px 28px}.video-card span{color:#d3ab6c;letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:700}.video-card h3{margin:10px 0 12px;font-size:22px}.video-card p{color:#aab5c4;margin:0;font-size:13px}.visual-section{padding-top:130px;padding-bottom:130px}.visual-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.visual-grid button{aspect-ratio:3/4;background:var(--cream);border-radius:5px}.visual-grid button:first-child,.visual-grid button:nth-child(5),.visual-grid button:nth-child(2),.visual-grid button:nth-child(6){grid-column:auto}.visual-grid img{object-fit:contain;background:#eee8de;width:100%;height:100%;transition:transform .3s}.visual-grid button:hover img{transform:scale(1.025)}.book-section{background:#efe7da;padding:130px 0}.book-layout{grid-template-columns:1fr minmax(320px,.68fr);align-items:center;gap:9vw;display:grid}.book-copy h2{max-width:660px}.book-copy>p:not(.eyebrow),.book-copy ul{max-width:650px;color:var(--ink-soft);font-size:17px}.book-copy ul{margin:26px 0 36px;padding-left:22px}.book-link{color:#fff;background:var(--navy);border-radius:2px;padding:14px 22px;font-size:13px;font-weight:700;display:inline-flex}.book-link:hover{background:#263c57}.book-cover{border-radius:5px;max-height:720px;box-shadow:0 26px 70px #14243a33}.book-cover img{object-fit:contain;width:100%;max-height:720px}.book-pages{grid-template-columns:repeat(4,1fr);gap:13px;margin-top:78px;display:grid}.book-pages button{aspect-ratio:3/4;border-radius:4px;box-shadow:0 12px 25px #14243a1f}.book-pages img{object-fit:contain;width:100%;height:100%}.education-section{padding:130px 0}.education-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.education-grid button{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:6px;grid-template-columns:minmax(140px,.7fr) 1fr;align-items:center;display:grid}.education-grid img{aspect-ratio:4/3;object-fit:contain;width:100%}.education-grid span{color:var(--ink-soft);gap:8px;padding:26px;font-size:13px;display:grid}.education-grid strong{color:var(--ink);font-size:17px}.contact-section{color:#fff;background:var(--navy);padding:105px 0}.contact-layout{grid-template-columns:1fr auto;align-items:end;gap:60px;display:grid}.contact-layout h2{max-width:700px}.contact-layout>div>p:last-child{color:#aab5c4;max-width:690px;margin-bottom:0;font-size:17px}.contact-links{gap:8px;font-size:clamp(18px,2vw,25px);display:grid}.contact-links a{border-bottom:1px solid #ffffff52}footer{color:#9ca8b7;background:#0b1829;justify-content:space-between;padding:26px max(32px,50vw - 600px);font-size:12px;display:flex}.gallery-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#050d18f0;place-items:center;padding:10px;display:grid;position:fixed;inset:0}.gallery-modal{background:#111d2c;border-radius:7px;flex-direction:column;width:min(1240px,100%);height:calc(100dvh - 20px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000073}.gallery-close,.gallery-arrow{z-index:2;color:#fff;cursor:pointer;background:0 0;border:0}.gallery-close{z-index:4;background:#07101cb8;border-radius:50%;width:46px;height:46px;font-size:30px;line-height:1;position:absolute;top:7px;right:11px}.gallery-arrow{z-index:4;background:#07101cb8;border-radius:30px;width:48px;height:92px;font-size:48px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.gallery-arrow:hover,.gallery-close:hover{color:#e8be7d}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-main{flex:auto;place-items:center;min-height:0;padding:20px 70px 10px;display:grid;overflow:auto}.gallery-main img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.gallery-footer{color:#fff;background:#0b1727;flex:none;grid-template-columns:minmax(220px,.6fr) 1.4fr;align-items:center;gap:22px;padding:15px 22px;display:grid}.gallery-footer>div:first-child{display:grid}.gallery-footer strong{font-size:13px}.gallery-footer span{color:#91a0b2;font-size:12px}.gallery-thumbs{scrollbar-width:thin;gap:8px;min-width:0;display:flex;overflow-x:auto}.gallery-thumbs button{cursor:pointer;background:0 0;border:2px solid #0000;flex:0 0 48px;height:56px;padding:2px;overflow:hidden}.gallery-thumbs button.active{border-color:var(--gold)}.gallery-thumbs img{object-fit:contain;width:100%;height:100%}@media (width<=1050px){.hero{grid-template-columns:1fr;gap:55px;min-height:auto}.portfolio-map{max-width:650px}.case-study{grid-template-columns:.72fr 1.28fr}.education-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}.skills-grid p{min-height:68px}}@media (width<=780px){.section-shell{width:min(100% - 36px,1200px)}.site-header{min-height:62px;padding:0 18px}.site-header nav{gap:18px}.site-header nav a:nth-child(4),.site-header nav a:nth-child(6){display:none}.hero{padding-top:76px;padding-bottom:62px}h1{font-size:clamp(48px,15vw,76px)}.hero-strip{grid-template-columns:repeat(2,1fr)}.hero-strip button{min-height:280px}.cases-section,.skills-section,.video-section,.visual-section,.book-section,.education-section{padding-top:85px;padding-bottom:85px}.skills-heading,.skills-certificates{grid-template-columns:1fr;gap:24px}.skills-heading{margin-bottom:38px}.section-title{margin-bottom:42px}.case-study{grid-template-columns:1fr}.case-copy{min-height:610px}.case-preview{min-height:0}.visual-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}.visual-grid button,.visual-grid button:first-child,.visual-grid button:nth-child(2),.visual-grid button:nth-child(5),.visual-grid button:nth-child(6){grid-column:span 1}.book-layout{grid-template-columns:1fr;gap:60px}.book-cover{width:min(100%,480px)}.book-pages{grid-template-columns:repeat(2,1fr);margin-top:50px}.contact-layout{grid-template-columns:1fr;gap:40px}}@media (width<=540px){body{font-size:15px}.site-header nav{gap:13px;font-size:11px}.site-header nav a:nth-child(5){display:none}.skills-grid{grid-template-columns:1fr}.skills-grid article,.skills-grid p{min-height:0}.hero-strip{grid-template-columns:1fr}.hero-strip button{min-height:380px}.case-copy{min-height:auto;padding:32px 25px 40px}.case-number{margin-bottom:28px}.case-preview{gap:10px;min-height:0;padding:14px}.slides-2,.slides-3,.slides-4{grid-template-columns:repeat(2,1fr)}.slides-3 button:last-child{width:calc(50% - 5px)}.video-grid,.visual-grid{grid-template-columns:1fr}.visual-grid button,.visual-grid button:first-child,.visual-grid button:nth-child(2),.visual-grid button:nth-child(5),.visual-grid button:nth-child(6){grid-column:1}.education-grid button{grid-template-columns:1fr}.education-grid span{padding:22px}.contact-section{padding:80px 0}.contact-links{font-size:17px}footer{padding-left:18px;padding-right:18px}.gallery-backdrop{padding:0}.gallery-modal{border-radius:0;width:100%;height:100dvh}.gallery-main{padding:58px 12px 8px}.gallery-footer{grid-template-columns:1fr;gap:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
