@import "tailwindcss";

:root{--paper:#eeeae1;--ink:#161616;--red:#e9432f;--line:rgba(22,22,22,.22);--muted:#9a958d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.siteHeader{height:92px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:20;background:rgba(238,234,225,.94);backdrop-filter:blur(12px);position:sticky;top:0}.brand{font-size:1.35rem;font-weight:900;letter-spacing:-.065em}.brand sup{font-size:.42rem;color:var(--red);vertical-align:top;margin-left:.15rem}.siteHeader nav{display:flex;height:100%}.siteHeader nav a{min-width:112px;padding:0 1.25rem;display:flex;align-items:center;justify-content:center;gap:.45rem;border-left:1px solid var(--line);text-transform:uppercase;font-size:.64rem;letter-spacing:.13em;transition:.2s}.siteHeader nav a:last-child{border-right:1px solid var(--line)}.siteHeader nav a:hover{background:var(--ink);color:var(--paper)}nav small{color:var(--red);font-size:.48rem;align-self:flex-start;margin-top:30px}.availability{justify-self:end;text-transform:uppercase;font-size:.6rem;letter-spacing:.14em;display:flex;align-items:center;gap:.6rem}.availability i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 1.8s infinite}.menuToggle{display:none}.hero,.section{padding-left:4vw;padding-right:4vw;background-image:radial-gradient(rgba(20,20,20,.04) .7px,transparent .7px);background-size:5px 5px}.hero{min-height:calc(100vh - 92px);padding-top:6.5vh;padding-bottom:4vh;display:flex;flex-direction:column;justify-content:space-between}.eyebrow{display:flex;gap:1.2rem;text-transform:uppercase;font-size:.6rem;letter-spacing:.17em}.eyebrow span+span:before{content:"•";color:var(--red);margin-right:1.2rem}.hero h1{font-size:clamp(4.8rem,11.5vw,12rem);line-height:.77;letter-spacing:-.09em;margin:0;font-weight:700}.hero h1 em,.sectionHead h2 em,.contact h2 em{font-family:Georgia,"Times New Roman",serif;color:var(--red);font-weight:400}.heroBottom{display:grid;grid-template-columns:minmax(270px,500px) 1fr auto;align-items:end;gap:2rem}.heroBottom>p{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.5;margin:0}.roundLink{justify-self:center;width:70px;height:70px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:1.8rem;transition:.25s}.roundLink:hover{background:var(--red);border-color:var(--red);color:white;transform:rotate(45deg)}.scrollNote{text-transform:uppercase;font-size:.55rem;line-height:1.6;letter-spacing:.14em;text-align:right}.section{padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem)}.sectionHead{display:grid;grid-template-columns:28% 1fr;margin-bottom:clamp(4rem,8vw,8rem)}.sectionHead>p,.contactIntro>p{margin:0;text-transform:uppercase;font-size:.62rem;letter-spacing:.18em}.sectionHead h2{font-size:clamp(3rem,6.5vw,7rem);line-height:.88;letter-spacing:-.065em;margin:0}.serviceList{border-top:1px solid var(--line)}.serviceList article{display:grid;grid-template-columns:8% 34% 1fr auto;align-items:center;gap:2rem;border-bottom:1px solid var(--line);padding:2rem 0;transition:.2s}.serviceList article:hover{padding-left:1rem;color:var(--red)}.serviceList span{font-size:.6rem;color:var(--red)}.serviceList h3{font-size:clamp(1.4rem,2.8vw,2.7rem);letter-spacing:-.045em;margin:0}.serviceList p{max-width:440px;line-height:1.5;margin:0;color:#5f5b55}.serviceList b{font-size:1.3rem}.dark{background-color:var(--ink);color:var(--paper);background-image:radial-gradient(rgba(255,255,255,.04) .7px,transparent .7px)}.dark .sectionHead>p{color:var(--muted)}.aboutGrid{display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;margin-left:28%}.aboutLead{font-size:clamp(1.7rem,3.2vw,3.2rem);line-height:1.15;letter-spacing:-.035em;margin:0}.aboutCopy{font-size:1rem;line-height:1.7;color:#b4afa7}.aboutCopy p:first-child{margin-top:0}.facts{grid-column:1/-1;border-top:1px solid #3c3a37;display:grid;grid-template-columns:repeat(3,1fr);margin-top:3rem}.facts div{padding:2rem 2rem 0 0;display:flex;flex-direction:column;gap:.4rem}.facts strong{font:400 clamp(3rem,5vw,5rem)/1 Georgia,serif;color:var(--red)}.facts span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#aaa59e;max-width:180px;line-height:1.5}.timelineGrid{display:grid;grid-template-columns:28% 1fr}.timelineGrid aside{padding-right:5vw}.timelineGrid aside>p{line-height:1.65;color:#615d56;margin-top:0}.timelineGrid aside>a{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:.8rem 0;text-transform:uppercase;font-size:.62rem;letter-spacing:.12em;margin-top:3rem}.timelineList{border-top:1px solid var(--line)}.timelineList article{display:grid;grid-template-columns:110px 1fr;gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--line)}.mark{width:74px;height:74px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.15rem;color:var(--red);position:relative}.mark:after{content:"";position:absolute;width:9px;height:9px;background:var(--red);border-radius:50%;right:-5px}.timelineList time,.educationList time{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.timelineList h3{font-size:clamp(1.5rem,2.5vw,2.5rem);letter-spacing:-.04em;margin:.5rem 0}.timelineList h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .8rem}.timelineList p{margin:0;max-width:680px;color:#645f59;line-height:1.55}.educationList{margin-left:28%;border-top:1px solid #3c3a37}.educationList article{display:grid;grid-template-columns:7% 18% 1fr 1fr;align-items:center;gap:1.5rem;padding:1.7rem 0;border-bottom:1px solid #3c3a37}.educationList article>span{color:var(--red);font-size:.6rem}.educationList h3{font-size:1.35rem;margin:0}.educationList p{color:#aaa59e;margin:0;line-height:1.4}.skillCloud{display:flex;flex-wrap:wrap;gap:.6rem;margin:5rem 0 0 28%}.skillCloud span{border:1px solid #55514c;border-radius:99px;padding:.75rem 1rem;text-transform:uppercase;font-size:.57rem;letter-spacing:.12em}.projectGrid{display:grid;grid-template-columns:1fr 1fr;gap:6vw 2vw}.projectGrid article:nth-child(even){margin-top:10vw}.projectVisual{aspect-ratio:4/3;position:relative;overflow:hidden;display:grid;place-items:center;transition:.4s}.projectVisual>span{font-size:clamp(4rem,10vw,10rem);font-weight:900;letter-spacing:-.08em;transition:.4s}.projectVisual small{position:absolute;top:1rem;right:1rem;border:1px solid currentColor;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}.projectGrid article:hover .projectVisual>span{transform:scale(1.09) rotate(-3deg)}.p1{background:#d64a33;color:#161616}.p2{background:#d8cfbd;color:#1a3748}.p3{background:#1e1e1e;color:#eeeae1}.p4{background:#afa69a;color:#e9432f}.projectMeta{display:grid;grid-template-columns:1fr auto;align-items:end;border-bottom:1px solid var(--line);padding:1.2rem 0}.projectMeta p{grid-column:1/-1;text-transform:uppercase;font-size:.56rem;letter-spacing:.13em;color:#706b64;margin:0 0 .5rem}.projectMeta h3{font-size:clamp(1.4rem,2.3vw,2.2rem);letter-spacing:-.04em;margin:0}.projectMeta>span{text-transform:uppercase;font-size:.55rem;letter-spacing:.1em}.contact{display:grid;grid-template-columns:1fr minmax(320px,560px);gap:8vw}.contact h2{font-size:clamp(3.5rem,7vw,7.3rem);line-height:.88;letter-spacing:-.07em;margin:4rem 0 3rem}.contactIntro>a{display:inline-block;border-bottom:1px solid #77736e;padding-bottom:.5rem}.contact form{display:flex;flex-direction:column;gap:1.6rem;align-self:end}.contact label{display:flex;flex-direction:column;gap:.6rem;color:#aaa59e;text-transform:uppercase;font-size:.58rem;letter-spacing:.15em}.contact input,.contact textarea{background:transparent;border:0;border-bottom:1px solid #4d4b47;color:white;padding:.45rem 0 .9rem;outline:none;border-radius:0;resize:vertical;text-transform:none;letter-spacing:0}.contact input:focus,.contact textarea:focus{border-color:var(--red)}.contact button{border:0;background:var(--red);color:white;padding:1.1rem 1.25rem;display:flex;justify-content:space-between;font-weight:700;cursor:pointer}footer{padding:2.5rem 4vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem}footer p{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#6c6760}footer>div{display:flex;gap:1.5rem;text-transform:uppercase;font-size:.56rem;letter-spacing:.1em}@keyframes pulse{50%{opacity:.25}}

@media(max-width:900px){.siteHeader{grid-template-columns:1fr auto;height:76px}.availability{display:none}.menuToggle{display:flex;width:44px;height:44px;border:0;background:none;flex-direction:column;justify-content:center;gap:7px}.menuToggle span{height:1px;background:var(--ink);width:100%}.siteHeader nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);height:auto;flex-direction:column;border-bottom:1px solid var(--line)}.siteHeader nav.open{display:flex}.siteHeader nav a{height:64px;border:0!important;border-top:1px solid var(--line);justify-content:flex-start;font-size:.75rem}.siteHeader nav small{align-self:center;margin:0}.hero{min-height:calc(100svh - 76px)}.hero h1{font-size:clamp(4rem,15vw,8rem)}.sectionHead{grid-template-columns:1fr;gap:2rem}.aboutGrid,.educationList,.skillCloud{margin-left:0}.timelineGrid{grid-template-columns:1fr;gap:4rem}.timelineGrid aside{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.timelineGrid aside>a{margin-top:0}.contact{grid-template-columns:1fr}.contact form{margin-top:3rem}}
@media(max-width:620px){.hero,.section{padding-left:22px;padding-right:22px}.hero{padding-top:3rem}.eyebrow span:nth-child(2){display:none}.hero h1{font-size:clamp(3.8rem,18vw,6rem);line-height:.82}.heroBottom{grid-template-columns:1fr auto}.roundLink{width:56px;height:56px}.scrollNote{display:none}.serviceList article{grid-template-columns:35px 1fr auto;gap:1rem}.serviceList p{grid-column:2/-1}.aboutGrid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.facts div{border-bottom:1px solid #3c3a37;padding-bottom:1.5rem}.timelineGrid aside{grid-template-columns:1fr}.timelineList article{grid-template-columns:70px 1fr;gap:1rem}.mark{width:56px;height:56px}.educationList article{grid-template-columns:32px 1fr}.educationList time{grid-column:2}.educationList h3,.educationList p{grid-column:2}.projectGrid{grid-template-columns:1fr;gap:4rem}.projectGrid article:nth-child(even){margin-top:0}.contact h2{font-size:14vw}footer{grid-template-columns:1fr}footer>div{flex-wrap:wrap}.sectionHead{margin-bottom:3.5rem}}
.heroStage{display:grid;grid-template-columns:1fr minmax(220px,25vw);align-items:center;gap:3vw}.heroStage .heroPortrait{margin:0;position:relative;align-self:stretch;min-height:42vh;background:var(--ink);overflow:hidden}.heroPortrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:.4s}.heroPortrait:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.25);pointer-events:none}.heroPortrait:hover img{filter:grayscale(0);transform:scale(1.025)}.heroPortrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem;background:var(--red);color:white;display:flex;justify-content:space-between;text-transform:uppercase;font-size:.55rem;letter-spacing:.1em}.heroPortrait figcaption span{opacity:.8}.projectVisual>img{width:100%;height:100%;object-fit:cover;transition:.5s;filter:saturate(.8)}.projectGrid article:hover .projectVisual>img{transform:scale(1.045);filter:saturate(1.05)}
@media(max-width:900px){.heroStage{grid-template-columns:1fr 210px}.heroStage .heroPortrait{min-height:34vh}}
@media(max-width:620px){.heroStage{display:block;position:relative}.heroStage .heroPortrait{width:42%;min-height:210px;margin:-1.5rem 0 1rem auto}.heroStage h1{margin-top:-4.2rem}.heroPortrait figcaption{display:none}}
.heroStage .heroPortrait.figurine{background:transparent;overflow:visible}.heroPortrait.figurine:after{display:none}.heroPortrait.figurine img{object-fit:contain;filter:none;transform:scale(1.12);transform-origin:center bottom}.heroPortrait.figurine:hover img{filter:none;transform:scale(1.16) rotate(1deg)}
.projectShowcase{border-top:1px solid var(--line)}.projectShowcase article{display:grid;grid-template-columns:7% minmax(240px,1fr) minmax(260px,36%) 120px;gap:2vw;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--line);min-height:190px;transition:.3s}.projectShowcase article:hover{padding-left:.8rem}.projectNumber{align-self:start;padding-top:.35rem;color:var(--red);font-size:.6rem;letter-spacing:.14em}.projectTitle p{margin:0 0 .7rem;text-transform:uppercase;font-size:.55rem;letter-spacing:.16em;color:#777169}.projectTitle h3{margin:0;font-size:clamp(2rem,4vw,4.7rem);line-height:.92;letter-spacing:-.06em}.projectThumb{height:155px;position:relative;overflow:hidden;display:grid;place-items:center;isolation:isolate}.projectThumb i{font-style:normal;font-weight:900;font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.1em;position:relative;z-index:3;transition:.35s}.projectThumb b,.projectThumb em{position:absolute;border-radius:50%;transition:.45s}.projectThumb b{width:150px;height:150px;background:var(--red);left:-45px;bottom:-70px}.projectThumb em{width:100px;height:100px;border:1px solid currentColor;right:-22px;top:-35px}.projectShowcase article:hover .projectThumb i{transform:scale(1.08) rotate(-3deg)}.projectShowcase article:hover .projectThumb b{transform:translate(18px,-12px)}.projectStatus{text-transform:uppercase;font-size:.53rem;line-height:1.55;letter-spacing:.13em;text-align:right;color:#756f67}.project-imperia{background:#b9aa92;color:#161616}.project-rean{background:#173c2b;color:#eeeae1}.project-breit{background:#ded7ca;color:#161616}.project-render{background:#20294d;color:#eeeae1}.project-turist{background:#e9432f;color:#161616}.projectShowcase article:nth-child(even) .projectThumb{order:0}
@media(max-width:760px){.projectShowcase article{grid-template-columns:38px 1fr;gap:1rem;min-height:0;padding:1.2rem 0}.projectTitle{align-self:center}.projectTitle h3{font-size:clamp(2rem,10vw,3.4rem)}.projectThumb{grid-column:2;height:130px;margin-top:.5rem}.projectStatus{grid-column:2;text-align:left}.projectNumber{grid-row:1/4}.projectShowcase article:hover{padding-left:0}}
.navProjects{position:relative;height:100%;display:flex}.navProjects>button{display:none}.projectDropdown{position:absolute;top:calc(100% + 1px);left:0;width:320px;background:var(--ink);color:var(--paper);padding:.7rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s;box-shadow:0 18px 35px rgba(0,0,0,.18)}.navProjects:hover .projectDropdown,.navProjects:focus-within .projectDropdown{opacity:1;visibility:visible;transform:translateY(0)}.siteHeader .projectDropdown a{min-width:0;height:48px;padding:0 .8rem;border:0!important;justify-content:flex-start;text-transform:none;font-size:.78rem;letter-spacing:0}.siteHeader .projectDropdown a:hover{background:var(--red);color:white}.projectDropdown a span{font-size:.5rem;color:#888;margin-right:.7rem}.projectDropdown a b{margin-left:auto;font-weight:400}.projectShowcase article{scroll-margin-top:110px}
@media(max-width:900px){.navProjects{height:auto;display:grid;grid-template-columns:1fr 64px}.navProjects>button{display:block;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line);background:transparent;font-size:1.2rem}.projectDropdown{display:none;position:static;grid-column:1/-1;width:auto;padding:.4rem;background:var(--ink);opacity:1;visibility:visible;transform:none;box-shadow:none}.navProjects.expanded .projectDropdown{display:block}.siteHeader .projectDropdown a{height:48px;color:var(--paper);border:0!important;padding-left:1.4rem}.navProjects>a{width:100%}}
.scrollProgress{position:fixed;z-index:100;left:0;top:0;width:100%;height:3px;background:var(--red);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none}.scrollFx .revealItem{opacity:0;transform:translateY(42px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}.scrollFx .revealItem.fromLeft{transform:translateX(-55px)}.scrollFx .revealItem.fromRight{transform:translateX(55px)}.scrollFx .revealItem.isVisible{opacity:1;transform:translate(0,0)}.scrollFx .serviceList article:nth-child(2),.scrollFx .facts div:nth-child(2){transition-delay:.08s}.scrollFx .serviceList article:nth-child(3),.scrollFx .facts div:nth-child(3){transition-delay:.16s}.scrollFx .serviceList article:nth-child(4){transition-delay:.24s}.heroPortrait.figurine img{translate:0 var(--hero-drift,0)}
.aboutGrid{grid-template-columns:minmax(180px,.72fr) 1.2fr 1fr;gap:4vw}.aboutPortrait{margin:0;position:relative;min-height:380px;overflow:hidden;background:#d9d5ce}.aboutPortrait:before{content:"02";position:absolute;z-index:2;top:1rem;left:1rem;width:38px;height:38px;border-radius:50%;background:var(--red);color:white;display:grid;place-items:center;font-size:.55rem;letter-spacing:.08em}.aboutPortrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(100%);transition:.5s}.aboutPortrait:hover img{filter:grayscale(0);transform:scale(1.025)}.aboutPortrait figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:1rem;background:var(--red);display:flex;justify-content:space-between;align-items:center;color:white}.aboutPortrait figcaption span{font-size:.52rem;text-transform:uppercase;letter-spacing:.13em}.aboutPortrait figcaption b{font-size:.7rem}.aboutGrid .aboutLead,.aboutGrid .aboutCopy{align-self:center}.aboutGrid .facts{grid-column:1/-1}
@media(max-width:900px){.aboutGrid{grid-template-columns:minmax(190px,.7fr) 1.3fr}.aboutCopy{grid-column:2}.aboutPortrait{grid-row:1/3;min-height:500px}}
@media(max-width:620px){.aboutGrid{grid-template-columns:1fr}.aboutPortrait{grid-row:auto;width:min(80%,360px);min-height:440px}.aboutCopy{grid-column:auto}}
.aboutPortrait:before{display:none}.languages{margin-top:2.2rem;border-top:1px solid #4a4742}.languages h3{margin:1rem 0 .7rem;color:var(--paper);font-size:.6rem;text-transform:uppercase;letter-spacing:.18em}.languages div{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:.62rem 0;border-bottom:1px solid #34322f;color:#aaa59e;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}.languages b{color:var(--red);font-weight:600}
.skillCloud span{cursor:default;transition:background-color .22s,color .22s,border-color .22s,transform .22s}.skillCloud span:hover,.skillCloud span:focus-visible{background:var(--red);border-color:var(--red);color:white;transform:translateY(-4px);outline:none}
.project-cycle{background:#d7cfbf;color:#1c1c1c}.project-morgenlicht{background:#d1ba86;color:#1d261f}.project-dzumertan{background:#874b3b;color:#f4eee4}.project-connect{background:#26364a;color:#f4eee4}
.heroPortrait.figurine{outline:none}.heroPortrait.figurine img{position:relative;z-index:2}.helloBubble{position:absolute;z-index:1;top:8%;left:-20%;min-width:150px;padding:1.15rem 1.5rem;background:var(--red);color:white;border-radius:50%;font:italic 400 clamp(1.5rem,2.6vw,2.7rem)/1 Georgia,"Times New Roman",serif;text-align:center;opacity:0;transform:translate(45px,25px) scale(.35) rotate(8deg);transform-origin:right bottom;transition:opacity .25s,transform .55s cubic-bezier(.18,.9,.25,1.35)}.helloBubble:after{content:"";position:absolute;right:-7px;bottom:8px;width:28px;height:28px;background:var(--red);clip-path:polygon(0 0,100% 100%,0 72%)}.heroPortrait.figurine:hover .helloBubble,.heroPortrait.figurine:focus-visible .helloBubble{opacity:1;transform:translate(0,0) scale(1) rotate(-4deg)}
.heroStage{position:relative}.heroMonogram{position:absolute;z-index:0;width:min(49vw,760px);height:min(55vh,610px);left:49%;top:50%;transform:translate(-50%,-50%);object-fit:contain;opacity:.72;pointer-events:none}.heroStage>h1,.heroStage>.heroPortrait{position:relative;z-index:2}@media(max-width:900px){.heroMonogram{width:58vw;height:43vh;left:53%;opacity:.58}}@media(max-width:620px){.heroMonogram{width:92vw;height:42vh;left:50%;top:43%;opacity:.4}}
.brandLogo{display:flex;align-items:center;width:48px;height:48px}.brandLogo img{display:block;width:42px;height:42px;object-fit:contain}.scrollFx .revealItem.projectReveal{transform:translateY(14px);transition-duration:.42s}.projectShowcase article:hover{padding-left:.3rem}.projectShowcase article:hover .projectThumb i{transform:scale(1.025)}.projectShowcase article:hover .projectThumb b{transform:translate(6px,-4px)}
.heroStage .cursorFigurine img{transform:scale(1.02);object-fit:contain}.heroStage .cursorFigurine:hover img{transform:scale(1.055) rotate(1deg)}@media(max-width:620px){.heroStage .cursorFigurine{width:49%;min-height:220px}.heroStage .cursorFigurine img{transform:scale(1.08)}}
.hero,.section{background-image:radial-gradient(ellipse at 18% 28%,rgba(255,255,255,.2) 0 1px,transparent 1.8px),radial-gradient(ellipse at 76% 64%,rgba(55,43,27,.055) 0 .8px,transparent 1.5px),repeating-linear-gradient(8deg,rgba(72,57,39,.018) 0 1px,transparent 1px 5px),repeating-linear-gradient(97deg,rgba(255,255,255,.045) 0 1px,transparent 1px 7px);background-size:13px 17px,17px 19px,100% 100%,100% 100%}.dark{background-image:radial-gradient(rgba(255,255,255,.04) .7px,transparent .7px);background-size:5px 5px}.heroMonogram{width:min(43vw,680px);height:min(52vh,580px);left:37%;opacity:.34}.heroStage{grid-template-columns:1fr minmax(285px,31vw);gap:1vw}.heroStage .cursorFigurine{margin-right:-1.5vw;min-height:47vh}.heroStage .cursorFigurine img{transform:scale(1.22)}.heroStage .cursorFigurine:hover img{transform:scale(1.255) rotate(1deg)}@media(max-width:900px){.heroMonogram{width:54vw;left:38%;opacity:.28}.heroStage{grid-template-columns:1fr 250px}.heroStage .cursorFigurine{min-height:39vh}.heroStage .cursorFigurine img{transform:scale(1.18)}}@media(max-width:620px){.heroMonogram{width:86vw;left:34%;top:45%;opacity:.22}.heroStage .cursorFigurine{width:58%;min-height:245px;margin-right:-5vw}.heroStage .cursorFigurine img{transform:scale(1.2)}}
.heroStage .cursorFigurine img,.heroStage .cursorFigurine:hover img{translate:0 0}
.hero{position:relative;padding-top:5vh;padding-bottom:3vh}.heroStage{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(350px,.72fr);align-items:center;gap:1vw;flex:1}.heroMessage{position:relative;z-index:3;align-self:center}.hero .heroMessage h1{font-size:clamp(4.8rem,9vw,9.7rem);line-height:.78;margin:0}.heroMessage>p{max-width:520px;margin:2rem 0 0;font-size:clamp(.95rem,1.25vw,1.2rem);line-height:1.55}.heroActions{display:flex;gap:1.2rem;margin-top:1.8rem}.heroActions a{min-width:190px;height:54px;padding:0 1.5rem;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:.62rem;font-weight:700;letter-spacing:.1em}.primaryAction{background:var(--red);color:white;gap:2rem}.primaryAction span{font-size:1.25rem;font-weight:400}.secondaryAction{border:1px solid var(--ink)}.heroStage .cursorFigurine{min-height:58vh;margin:0 -2vw 0 -2vw}.heroStage .cursorFigurine img,.heroStage .cursorFigurine:hover img{width:100%;height:100%;transform:scale(1.13);object-fit:contain}.heroMonogram{width:min(48vw,760px);height:min(64vh,660px);left:49%;top:51%;opacity:.19}.heroScroll{position:absolute;z-index:5;left:50%;bottom:2.2vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem}.heroScroll span{width:48px;height:48px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:1.35rem}.heroScroll small{text-transform:uppercase;font-size:.52rem;letter-spacing:.13em}@media(max-width:900px){.heroStage{grid-template-columns:minmax(0,1fr) 290px}.hero .heroMessage h1{font-size:clamp(4rem,10.7vw,7rem)}.heroStage .cursorFigurine{min-height:44vh}.heroActions a{min-width:150px}.heroScroll{display:none}}@media(max-width:620px){.hero{padding-top:2.5rem}.heroStage{display:block}.hero .heroMessage h1{font-size:clamp(3.75rem,17vw,5.5rem)}.heroMessage>p{max-width:88%;margin-top:1.5rem}.heroActions{flex-direction:column;width:min(76%,280px)}.heroActions a{width:100%;min-width:0}.heroStage .cursorFigurine{width:60%;min-height:245px;margin:-3.5rem -7vw 0 auto}.heroStage .cursorFigurine img,.heroStage .cursorFigurine:hover img{transform:scale(1.17)}.heroMonogram{width:95vw;left:40%;top:35%;opacity:.15}}
.heroActions a{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,background-color .25s,color .25s,border-color .25s}.primaryAction:hover,.primaryAction:focus-visible{transform:translateY(-4px);box-shadow:0 10px 24px rgba(233,67,47,.24)}.primaryAction span{transition:transform .25s}.primaryAction:hover span,.primaryAction:focus-visible span{transform:translateX(7px)}.secondaryAction:hover,.secondaryAction:focus-visible{background:var(--ink);color:var(--paper);transform:translateY(-4px);box-shadow:0 10px 22px rgba(22,22,22,.14)}.heroActions a:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.heroStage{grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);column-gap:0}.heroStage .cursorFigurine{transform:translateX(-6vw);margin-right:-6vw}@media(max-width:1100px){.heroStage .cursorFigurine{transform:translateX(-2vw);margin-right:-2vw}}@media(max-width:900px){.heroStage{grid-template-columns:minmax(0,1fr) 290px}.heroStage .cursorFigurine{transform:none;margin-right:0}}@media(max-width:620px){.heroStage .cursorFigurine{margin:-3.5rem -7vw 0 auto}}
.trusted{padding-left:0;padding-right:0;overflow:hidden;border-top:1px solid var(--line)}.trustedHead{padding:0 4vw;display:grid;grid-template-columns:28% 1fr;align-items:start;margin-bottom:clamp(3rem,5vw,5rem)}.trustedHead>p{margin:0;text-transform:uppercase;font-size:.62rem;letter-spacing:.18em}.trustedHead h2{margin:0;font-size:clamp(3rem,5.8vw,6.3rem);line-height:.88;letter-spacing:-.06em}.trustedHead h2 em{font-family:Georgia,"Times New Roman",serif;color:var(--red);font-weight:400}.logoMarquee{width:100%;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.13)}.logoMarquee+.logoMarquee{border-top:0}.logoTrack{width:max-content;display:flex;align-items:center;animation:clientMarquee 34s linear infinite}.logoMarquee.reverse .logoTrack{animation-name:clientMarqueeReverse;animation-duration:39s}.logoMarquee:hover .logoTrack{animation-play-state:paused}.logoTrack span{height:118px;min-width:240px;padding:0 2.5rem;display:grid;place-items:center;border-right:1px solid var(--line);font-size:clamp(1.15rem,2vw,2rem);font-weight:800;letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;transition:background-color .25s,color .25s}.logoTrack span:nth-child(3n+2){font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;text-transform:none}.logoTrack span:hover{background:var(--red);color:white}@keyframes clientMarquee{to{transform:translateX(-50%)}}@keyframes clientMarqueeReverse{from{transform:translateX(-50%)}to{transform:translateX(0)}}@media(max-width:900px){.trustedHead{grid-template-columns:1fr;gap:1.5rem}.logoTrack span{height:96px;min-width:200px}}@media(max-width:620px){.trustedHead{padding:0 22px}.logoTrack span{height:82px;min-width:170px;padding:0 1.5rem;font-size:1rem}}@media(prefers-reduced-motion:reduce){.logoTrack{animation:none!important;transform:none!important}.logoMarquee{overflow-x:auto}}
.aboutPortrait img,.aboutPortrait:hover img{filter:none}
@media(max-width:620px){.helloBubble{top:0;left:-48%;min-width:105px;padding:.8rem 1rem;font-size:1.3rem;animation:helloPeek 3.2s 1s both}@keyframes helloPeek{0%,100%{opacity:0;transform:translate(30px,20px) scale(.4)}20%,72%{opacity:1;transform:translate(0,0) scale(1) rotate(-4deg)}}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.scrollProgress{display:none}}

/* Mobile-only stability and performance. Desktop rules above remain unchanged. */
@media(max-width:900px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{touch-action:pan-y;overscroll-behavior-x:none}
  main,.siteHeader,.hero,.section,footer{width:100%;max-width:100%}
  main{overflow-x:hidden}
  .siteHeader{padding-left:22px;padding-right:22px}
  .siteHeader nav.open{max-height:calc(100svh - 76px);overflow-y:auto;overscroll-behavior:contain}
  .brandLogo,.brandLogo img{flex:0 0 auto}
  .heroStage{width:100%;min-width:0}
  .heroMessage,.heroStage .cursorFigurine{min-width:0}
  .heroStage .cursorFigurine{margin-right:0;transform:none}
  .heroStage .cursorFigurine img{display:block;max-width:100%;height:auto}
  .helloBubble{max-width:min(150px,42vw)}
  .serviceList,.aboutGrid,.timelineGrid,.educationList,.skillCloud,.projectShowcase,.contactIntro,.contact form{min-width:0;max-width:100%}
  .logoMarquee{width:100%;max-width:100%;contain:layout paint}
  .logoTrack{will-change:auto}
  footer{overflow:hidden}
}
@supports(overflow:clip){
  @media(max-width:900px){html,body,main{overflow-x:clip}}
}
@media(max-width:620px){
  .hero{min-height:auto;padding-top:1.8rem;padding-bottom:3.5rem}
  .eyebrow{flex-wrap:wrap;gap:.55rem 1rem;line-height:1.4}
  .eyebrow span+span:before{margin-right:1rem}
  .heroStage{display:flex;flex-direction:column;align-items:stretch}
  .heroMessage{width:100%}
  .hero .heroMessage h1{font-size:clamp(3.25rem,15.5vw,5rem);line-height:.8;overflow-wrap:normal}
  .heroMessage>p{max-width:100%;font-size:.98rem;line-height:1.55}
  .heroActions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.75rem}
  .heroActions a{width:100%;height:52px;padding:0 .8rem;white-space:nowrap}
  .primaryAction{gap:.8rem}
  .heroStage .cursorFigurine{width:min(88vw,390px);min-height:300px;margin:-1rem auto 0;align-self:center}
  .heroStage .cursorFigurine img,.heroStage .cursorFigurine:hover img{width:100%;height:auto;transform:scale(1.04)}
  .helloBubble{left:2%;top:8%;min-width:98px}
  .section{padding-top:4.5rem;padding-bottom:4.5rem}
  .sectionHead{margin-bottom:3rem}
  .sectionHead h2,.trustedHead h2{font-size:clamp(2.65rem,13vw,4rem)}
  .aboutPortrait{width:100%;min-height:410px}
  .facts{grid-template-columns:1fr}
  .facts div{padding-right:0}
  .projectShowcase article{width:100%;overflow:hidden}
  .projectThumb{width:100%;min-width:0}
  .trustedHead{padding-left:22px;padding-right:22px}
  .logoTrack{animation-duration:46s}
  .logoMarquee.reverse{display:none}
  .logoTrack span{height:76px;min-width:155px;padding:0 1.15rem;font-size:.92rem}
  .contact form input,.contact form textarea{width:100%;min-width:0}
  footer{gap:1.2rem;padding-left:22px;padding-right:22px}
  .scrollFx .revealItem{transform:translateY(14px);transition-duration:.5s}
}
@media(max-width:390px){
  .siteHeader{padding-left:16px;padding-right:16px}
  .hero,.section{padding-left:16px;padding-right:16px}
  .hero .heroMessage h1{font-size:clamp(3rem,15vw,3.75rem)}
  .heroActions{grid-template-columns:1fr}
  .heroStage .cursorFigurine{width:min(94vw,350px);min-height:270px}
  .trustedHead,footer{padding-left:16px;padding-right:16px}
}

/* Refined phone layout: vertical hero, reliable CSS arrows and animated menu. */
@media(max-width:620px){
  .siteHeader{z-index:80}
  .menuToggle{position:relative;z-index:82;border:1px solid var(--line);border-radius:50%;padding:0 11px;gap:0;transition:background-color .3s,border-color .3s,transform .3s}
  .menuToggle span{position:absolute;left:11px;width:20px;height:1.5px;transition:transform .38s cubic-bezier(.2,.8,.2,1),top .38s,background-color .3s}
  .menuToggle span:first-child{top:17px}
  .menuToggle span:last-child{top:25px}
  .menuToggle[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);transform:rotate(90deg)}
  .menuToggle[aria-expanded="true"] span{top:21px;background:var(--paper)}
  .menuToggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
  .menuToggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
  .siteHeader nav{display:flex;top:76px;max-height:calc(100svh - 76px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px) scaleY(.96);transform-origin:top;overflow-y:auto;box-shadow:0 18px 38px rgba(22,22,22,.12);transition:opacity .3s ease,transform .4s cubic-bezier(.2,.8,.2,1),visibility 0s linear .4s}
  .siteHeader nav.open{display:flex;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scaleY(1);transition-delay:0s}
  .siteHeader nav>a,.siteHeader .navProjects{opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .35s}
  .siteHeader nav.open>a,.siteHeader nav.open>.navProjects{opacity:1;transform:translateY(0)}
  .siteHeader nav.open>a:nth-child(2){transition-delay:.05s}
  .siteHeader nav.open>.navProjects{transition-delay:.1s}
  .siteHeader nav.open>a:last-child{transition-delay:.15s}
  .navProjects>button{transition:background-color .25s,color .25s,transform .3s}
  .navProjects.expanded>button{background:var(--red);color:white;transform:rotate(180deg)}
  .projectDropdown{animation:mobileDropdown .32s ease both}
  @keyframes mobileDropdown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}

  .hero{min-height:max(calc(100svh - 76px),900px);padding-top:2rem;padding-bottom:3rem;justify-content:flex-start}
  .heroStage{flex:1;display:flex;flex-direction:column;align-items:stretch;padding-top:2.6rem}
  .heroMessage{width:100%}
  .hero .heroMessage h1{font-size:clamp(3.3rem,15.7vw,5rem);line-height:.8}
  .heroMessage>p{margin-top:1.4rem}
  .heroActions{margin-top:1.5rem}
  .heroStage .cursorFigurine{order:2;width:min(100%,430px);height:390px;min-height:390px;margin:2.5rem auto 0;overflow:visible}
  .heroStage .cursorFigurine img,.heroStage .cursorFigurine:hover img{width:100%;height:100%;object-fit:contain;transform:scale(1.04);transform-origin:center center}
  .helloBubble{left:7%;top:8%}

  .primaryAction span,.serviceList article>b,.contact button span,.projectDropdown a b,.timelineGrid aside>a span{position:relative;display:inline-block;width:18px;height:12px;min-width:18px;font-size:0}
  .primaryAction span:before,.serviceList article>b:before,.contact button span:before,.projectDropdown a b:before,.timelineGrid aside>a span:before{content:"";position:absolute;left:1px;top:5px;width:15px;border-top:1.7px solid currentColor;color:var(--ink)}
  .primaryAction span:after,.serviceList article>b:after,.contact button span:after,.projectDropdown a b:after,.timelineGrid aside>a span:after{content:"";position:absolute;right:1px;top:2px;width:7px;height:7px;border-top:1.7px solid currentColor;border-right:1.7px solid currentColor;color:var(--ink);transform:rotate(45deg)}
  .primaryAction span:before,.primaryAction span:after,.contact button span:before,.contact button span:after,.projectDropdown a b:before,.projectDropdown a b:after{color:currentColor}
  .serviceList article>b{justify-self:end}
}
@media(max-width:390px){
  .hero{min-height:870px}
  .heroStage{padding-top:2rem}
  .heroStage .cursorFigurine{height:350px;min-height:350px;margin-top:2rem}
}

.serviceList>article>span{font-size:1.35rem;line-height:1;font-weight:700;transition:transform .25s,color .25s}
.serviceList article:hover>span{transform:scale(1.18) rotate(-5deg)}
@media(max-width:620px){.serviceList>article>span{font-size:1.55rem}}

.siteLoader{position:fixed;z-index:1000;inset:0;padding:3.2vw 4vw;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background-image:radial-gradient(ellipse at 18% 28%,rgba(255,255,255,.2) 0 1px,transparent 1.8px),radial-gradient(ellipse at 76% 64%,rgba(55,43,27,.055) 0 .8px,transparent 1.5px),repeating-linear-gradient(8deg,rgba(72,57,39,.018) 0 1px,transparent 1px 5px);background-size:13px 17px,17px 19px,100% 100%;animation:loaderLeave .72s 1.55s cubic-bezier(.76,0,.24,1) forwards}
.loaderTop{display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;font-size:.58rem;letter-spacing:.18em;opacity:0;animation:loaderFade .45s .08s forwards}.loaderTop img{display:block;width:54px;height:54px;transform:translateY(18px) rotate(-8deg);animation:loaderLogo .65s .08s cubic-bezier(.2,.8,.2,1) forwards}.loaderType{align-self:center;display:flex;align-items:baseline;gap:1.5vw;white-space:nowrap;line-height:.8}.loaderType strong{font-size:clamp(5rem,14vw,15rem);letter-spacing:-.09em;transform:translateY(110%);animation:loaderWord .75s .18s cubic-bezier(.16,.8,.22,1) forwards}.loaderType em{font:italic 400 clamp(3.5rem,9vw,10rem)/.8 Georgia,"Times New Roman",serif;color:var(--red);transform:translateY(120%);animation:loaderWord .75s .32s cubic-bezier(.16,.8,.22,1) forwards}.loaderBottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;text-transform:uppercase;font-size:.55rem;letter-spacing:.15em}.loaderBottom span,.loaderBottom b{opacity:0;animation:loaderFade .4s .48s forwards}.loaderRail{height:2px;background:rgba(22,22,22,.16);overflow:hidden}.loaderRail i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left;animation:loaderProgress 1.25s .18s cubic-bezier(.4,0,.15,1) forwards}@keyframes loaderFade{to{opacity:1}}@keyframes loaderLogo{to{transform:translateY(0) rotate(0)}}@keyframes loaderWord{to{transform:translateY(0)}}@keyframes loaderProgress{to{transform:scaleX(1)}}@keyframes loaderLeave{to{transform:translateY(-102%);visibility:hidden;pointer-events:none}}
@media(max-width:620px){.siteLoader{width:100%;height:100dvh;min-height:100svh;padding:max(22px,env(safe-area-inset-top)) 20px max(22px,env(safe-area-inset-bottom));justify-content:space-between}.loaderTop{flex:0 0 auto}.loaderTop img{width:42px;height:42px}.loaderType{width:100%;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:.35rem;white-space:normal;overflow:hidden;padding:.75rem 0}.loaderType strong{font-size:clamp(4.5rem,23vw,7rem);line-height:.78;letter-spacing:-.08em}.loaderType em{font-size:clamp(3.1rem,16vw,5rem);line-height:.86;margin-left:7vw;white-space:nowrap}.loaderBottom{flex:0 0 auto;width:100%;grid-template-columns:minmax(0,1fr) auto;gap:.75rem}.loaderBottom span{grid-column:1/-1}.loaderRail{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.siteLoader{animation-delay:.15s;animation-duration:.01s}.siteLoader *{animation-duration:.01s!important;animation-delay:0s!important}}

.backTop{position:fixed;z-index:70;right:24px;bottom:24px;width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;background:rgba(238,234,225,.92);backdrop-filter:blur(8px);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(18px) scale(.86);pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s,background-color .25s,color .25s}.backTop.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;transition-delay:0s}.backTop span{position:relative;width:14px;height:18px}.backTop span:before{content:"";position:absolute;left:6px;top:2px;height:15px;border-left:1.7px solid currentColor}.backTop span:after{content:"";position:absolute;left:2px;top:2px;width:8px;height:8px;border-left:1.7px solid currentColor;border-top:1.7px solid currentColor;transform:rotate(45deg)}.backTop small{position:absolute;bottom:-16px;text-transform:uppercase;font-size:.45rem;font-weight:700;letter-spacing:.13em}.backTop:hover{background:var(--red);border-color:var(--red);color:white;transform:translateY(-4px)}
@media(max-width:620px){.backTop{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));width:50px;height:50px}.backTop small{display:none}}

.caseStudyLink{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.15rem;padding-bottom:.35rem;border-bottom:1px solid var(--ink);text-transform:uppercase;font-size:.56rem;font-weight:700;letter-spacing:.12em}.caseStudyLink span{color:var(--red);font-size:.9rem}.caseStudyLink:hover{color:var(--red)}

/* Safari/iPhone loader fail-safe state. */
.siteLoader{will-change:transform;-webkit-animation:loaderLeave .72s 1.55s cubic-bezier(.76,0,.24,1) forwards}
.siteLoader.loaderDone{animation:none!important;-webkit-animation:none!important;transform:translate3d(0,-102%,0);opacity:0;visibility:hidden;pointer-events:none;transition:transform .55s cubic-bezier(.76,0,.24,1),opacity .25s,visibility 0s .55s}
@keyframes loaderLeave{to{transform:translate3d(0,-102%,0);visibility:hidden;pointer-events:none}}
@supports(-webkit-touch-callout:none){@media(max-width:900px){.siteLoader{display:none!important;animation:none!important;-webkit-animation:none!important;pointer-events:none!important}}}
