:root{--canvas:#f3efe8;--paper:#fbfaf7;--ink:#11120f;--muted:#6c6b63;--line:#11120f29;--dark:#121411;--dark-soft:#1b1e1a;--accent:#e95232;--accent-deep:#ca3f22;--max-width:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:clip}body,a,button{cursor:default}a,button{color:inherit}a{cursor:pointer;text-decoration:none}button{font:inherit}img,svg{display:block}::selection{color:#fff;background:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip-link{z-index:1000;color:#fff;background:var(--ink);padding:12px 16px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(calc(100% - 64px), var(--max-width));margin-inline:auto}.site-header{z-index:100;width:100%;position:absolute;top:0;left:0}.nav-shell{width:min(calc(100% - 64px), var(--max-width));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:92px;margin-inline:auto;display:flex}.logo{z-index:2;letter-spacing:-.06em;font-size:1.28rem;font-weight:900;position:relative}.logo span{color:var(--accent)}.primary-nav{align-items:center;gap:clamp(22px,3.4vw,50px);display:flex}.primary-nav a{letter-spacing:.08em;text-transform:uppercase;padding-block:12px;font-size:.78rem;font-weight:700;position:relative}.primary-nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .22s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{background:0 0;border:0;padding:8px;display:none}.hero{background:linear-gradient(90deg, transparent calc(50% - 1px), #11120f0e 50%, transparent calc(50% + 1px)), var(--canvas);min-height:900px;padding-top:92px;position:relative;overflow:hidden}.hero:before{top:92px;right:max(32px, calc((100vw - var(--max-width)) / 2));content:"";background:var(--line);width:1px;position:absolute;bottom:0}.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(390px,.8fr);align-items:center;min-height:720px;padding-top:50px;display:grid}.hero-copy{z-index:2;max-width:820px;padding:46px 30px 36px 0;position:relative}.eyebrow{letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 26px;font-size:.73rem;font-weight:800;display:flex}.eyebrow:before{content:"";background:var(--accent);width:30px;height:2px}.hero h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(4.4rem,6.8vw,7.25rem);font-weight:800;line-height:.87}.hero h1 em{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-intro{color:#4f504a;max-width:620px;margin:38px 0 0;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.55}.hero-actions{align-items:center;gap:32px;margin-top:38px;display:flex}.button{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;gap:22px;min-height:56px;padding:0 25px;font-size:.78rem;font-weight:800;transition:color .22s,background .22s,border-color .22s,transform .22s;display:inline-flex}.button svg,.text-link svg,.round-link svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .22s}.button:hover svg,.button:focus-visible svg,.round-link:hover svg,.round-link:focus-visible svg{transform:translate(3px,-3px)}.button:hover,.button:focus-visible{transform:translateY(-3px)}.button-dark{color:#fff;background:var(--ink)}.button-dark:hover,.button-dark:focus-visible{color:var(--ink);background:var(--accent)}.text-link{letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid;align-items:center;gap:10px;padding:10px 0;font-size:.78rem;font-weight:800;display:inline-flex}.text-link span{font-size:1rem;transition:transform .22s}.text-link:hover span,.text-link:focus-visible span{transform:translate(3px,3px)}.portrait-stage{align-self:stretch;min-height:720px;position:relative}.portrait-orbit{aspect-ratio:1;background:var(--accent);border-radius:50%;width:min(37vw,510px);position:absolute;top:50%;left:51%;transform:translate(-50%,-46%)}.portrait-orbit:before,.portrait-orbit:after{border-radius:inherit;content:"";position:absolute}.portrait-orbit:before{border:1px solid #11120f52;inset:9%}.portrait-orbit:after{background:var(--ink);width:6px;height:6px;box-shadow:-190px 0 var(--ink), 190px 0 var(--ink), 0 -190px var(--ink), 0 190px var(--ink);inset:50%}.portrait-image{z-index:2;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 22px 20px #14110b24);width:min(35vw,455px);height:auto;position:absolute;bottom:-1px;right:0}.portrait-label{z-index:3;border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3efe8cc;padding:10px 12px;font-size:.64rem;font-weight:800;position:absolute;top:104px;right:3px}.portrait-caption{z-index:3;border-left:2px solid var(--accent);color:#fff;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 12px #00000073;flex-direction:column;align-items:flex-end;gap:3px;padding:10px 0 10px 18px;font-size:.62rem;font-weight:800;display:flex;position:absolute;bottom:20px;right:0}.portrait-cross{z-index:1;width:28px;height:28px;position:absolute}.portrait-cross:before,.portrait-cross:after{content:"";background:var(--ink);position:absolute}.portrait-cross:before{width:28px;height:1px;top:13px;left:0}.portrait-cross:after{width:1px;height:28px;top:0;left:13px}.portrait-cross-a{top:176px;left:8px}.portrait-cross-b{bottom:178px;right:16px}.hero-foot{border-top:1px solid var(--line);min-height:88px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.66rem;font-weight:800;display:flex}.hero-scroll{align-items:center;gap:12px;display:flex}.hero-scroll i{background:var(--accent);width:38px;height:1px}.work-section{color:#f8f7f2;background:var(--dark);padding:140px 0 150px}.section-heading{grid-template-columns:.7fr 1.6fr .8fr;align-items:end;gap:32px;display:grid}.section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(3.7rem,6vw,6.6rem);line-height:.9}.section-heading>p:last-child{color:#a4a69f;max-width:330px;margin:0 0 8px;font-size:.98rem;line-height:1.55}.eyebrow-on-dark{color:#c9cbc4}.projects-list{margin-top:90px}.project-visual-wrap{position:relative}.project-visual-wrap:before{content:"";pointer-events:none;border:1px solid #ffffff1f;position:absolute;inset:-12px 18px 18px -12px}.project-visual{background:#20241f;border:1px solid #ffffff2b;display:block;position:relative;overflow:hidden}.browser-bar{color:#8e918b;letter-spacing:.06em;border-bottom:1px solid #ffffff1f;grid-template-columns:1fr 1fr 1fr;align-items:center;height:46px;padding:0 18px;font-size:.68rem;display:grid}.browser-bar>span:last-child{justify-self:center}.browser-dots{gap:7px;display:flex}.browser-dots i{background:#656861;border-radius:50%;width:7px;height:7px}.browser-dots i:first-child{background:var(--accent)}.project-image{aspect-ratio:1350/650;object-fit:cover;width:100%;height:auto;transition:transform .7s cubic-bezier(.2,.65,.2,1),filter .3s}.project-visual:hover .project-image,.project-visual:focus-visible .project-image{filter:brightness(1.05);transform:scale(1.018)}.project-info{grid-template-columns:.4fr 1.4fr .65fr;align-items:end;gap:42px;padding:52px 0 0;display:grid}.project-number{color:#666a63;letter-spacing:.16em;margin:0;font-size:.78rem}.project-copy .eyebrow{margin-bottom:18px}.project-copy h3{letter-spacing:-.07em;margin:0;font-size:clamp(4rem,7vw,7rem);line-height:.85}.project-copy>p:last-child{color:#b4b7af;max-width:610px;margin:25px 0 0;font-size:1.02rem;line-height:1.65}.project-action{justify-content:flex-end;display:flex}.round-link{letter-spacing:.08em;text-transform:uppercase;border:1px solid #777b73;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:146px;height:146px;font-size:.72rem;font-weight:800;transition:color .24s,background .24s,border-color .24s,transform .24s;display:flex}.round-link:hover,.round-link:focus-visible{color:var(--ink);border-color:var(--accent);background:var(--accent);transform:rotate(-4deg)}.services-section{background:var(--paper);padding:140px 0 150px}.services-heading{grid-template-columns:.7fr 1.6fr .8fr}.services-heading>p:last-child{color:var(--muted)}.services-list{border-top:1px solid var(--line);margin-top:90px}.service-item{border-bottom:1px solid var(--line);grid-template-columns:.35fr 1.1fr 1fr 44px;align-items:center;gap:28px;min-height:148px;padding:26px 18px 26px 0;transition:padding .26s,background .26s;display:grid;position:relative}.service-item:hover{background:#eeebe4;padding-left:20px}.service-number{color:#9a9991;letter-spacing:.16em;margin:0;font-size:.72rem;font-weight:800}.service-item h3{letter-spacing:-.05em;margin:0;font-size:clamp(1.85rem,3vw,3.15rem);line-height:1}.service-item>p:nth-of-type(2){max-width:450px;color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}.service-mark{border:1px solid var(--line);border-radius:50%;place-items:center;width:42px;height:42px;transition:color .22s,background .22s,transform .22s;display:grid}.service-item:hover .service-mark{color:#fff;background:var(--accent);transform:rotate(45deg)}.about-section{border-top:1px solid var(--line);background:var(--canvas);padding:160px 0}.about-grid{grid-template-columns:1.05fr .95fr;align-items:end;gap:80px;display:grid}.about-heading h2{letter-spacing:-.085em;max-width:680px;margin:0;font-size:clamp(5.2rem,10vw,10rem);line-height:.78}.about-copy{border-left:1px solid var(--line);padding:0 0 6px 38px}.about-copy>p{letter-spacing:-.02em;margin:0;font-size:clamp(1.2rem,1.85vw,1.55rem);line-height:1.55}.about-copy .text-link{margin-top:35px}.contact-section{color:#fff;background:var(--accent);padding:145px 0}.contact-grid{grid-template-columns:1.3fr .7fr;align-items:end;gap:80px;display:grid}.contact-copy .eyebrow:before{background:var(--ink)}.contact-copy h2{max-width:860px;color:var(--ink);letter-spacing:-.08em;margin:0;font-size:clamp(4.9rem,9vw,9.5rem);line-height:.79}.contact-details{padding-bottom:8px}.contact-details>p{color:#2d201b;max-width:430px;margin:0;font-size:1.15rem;line-height:1.55}.button-light{color:#fff;background:var(--ink)}.button-light:hover,.button-light:focus-visible{color:var(--ink);border-color:var(--ink);background:0 0}.button-large{min-height:68px;margin-top:38px;padding-inline:30px}.contact-links{flex-direction:column;gap:13px;margin-top:52px;display:flex}.contact-links a{width:fit-content;color:var(--ink);border-bottom:1px solid #11120f66;padding-bottom:4px;font-size:.83rem;font-weight:800}.site-footer{color:#fff;background:var(--dark);padding:62px 0 44px}.footer-grid{grid-template-columns:1fr auto;align-items:start;gap:40px;display:grid}.logo-on-dark{font-size:1.45rem;display:inline-block}.footer-grid>div:first-child p{color:#8f928a;margin:15px 0 0;font-size:.78rem}.footer-links{letter-spacing:.09em;text-transform:uppercase;gap:28px;font-size:.75rem;font-weight:800;display:flex}.footer-links a:hover,.footer-links a:focus-visible{color:var(--accent)}.footer-meta{color:#6c7068;letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #ffffff1f;grid-column:1/-1;margin:44px 0 0;padding-top:24px;font-size:.65rem}.reveal{opacity:0;transition:opacity .7s ease var(--reveal-delay), transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay);transform:translateY(34px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (max-width:1050px){.hero{min-height:820px}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);min-height:650px}.hero h1{font-size:clamp(4rem,7.4vw,6rem)}.portrait-stage{min-height:650px}.portrait-image{width:min(39vw,410px)}.portrait-orbit{width:min(39vw,430px)}.portrait-orbit:after{box-shadow:-150px 0 var(--ink), 150px 0 var(--ink), 0 -150px var(--ink), 0 150px var(--ink)}.section-heading,.services-heading{grid-template-columns:.45fr 1.55fr}.section-heading>p:last-child{grid-column:2}.project-info{grid-template-columns:.25fr 1.4fr .55fr}.service-item{grid-template-columns:.25fr 1fr .9fr 44px}.about-grid,.contact-grid{gap:50px}}@media (max-width:760px){html{scroll-padding-top:70px}.section-shell,.nav-shell{width:min(calc(100% - 36px), var(--max-width))}.nav-shell{height:72px}.site-header{position:absolute}.menu-toggle{z-index:102;flex-direction:column;gap:6px;display:flex;position:relative}.menu-toggle span{background:var(--ink);width:25px;height:2px;transition:transform .22s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px)rotate(-45deg)}.primary-nav{z-index:101;visibility:hidden;background:var(--canvas);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:72px 28px;transition:opacity .22s,visibility .22s;display:flex;position:fixed;inset:0}.primary-nav.is-open{visibility:visible;opacity:1;pointer-events:auto}.primary-nav a{letter-spacing:-.055em;text-transform:none;font-size:clamp(2.5rem,13vw,4.8rem);font-weight:800;line-height:.95}.hero{background:var(--canvas);min-height:auto;padding-top:72px}.hero:before{display:none}.hero-grid{min-height:auto;padding-top:0;display:block}.hero-copy{padding:64px 0 48px}.hero h1{max-width:100%;font-size:clamp(2.95rem,14.5vw,5.5rem);line-height:.84}.hero-intro{margin-top:30px;font-size:1rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px;margin-top:30px}.portrait-stage{border-top:1px solid var(--line);min-height:470px;margin-top:10px}.portrait-orbit{width:min(92vw,430px);top:53%;left:50%}.portrait-orbit:after{box-shadow:-138px 0 var(--ink), 138px 0 var(--ink), 0 -138px var(--ink), 0 138px var(--ink)}.portrait-image{width:min(86vw,370px);right:50%;transform:translate(50%)}.portrait-label{top:24px;right:0}.portrait-caption{bottom:14px;right:0}.portrait-cross-a{top:105px;left:0}.portrait-cross-b{bottom:118px;right:0}.hero-foot{min-height:72px}.hero-foot>span:first-child{display:none}.work-section,.services-section{padding:94px 0 100px}.section-heading,.services-heading{display:block}.section-heading h2{font-size:clamp(3.75rem,16vw,5.8rem)}.section-heading>p:last-child{max-width:100%;margin-top:28px}.projects-list,.services-list{margin-top:60px}.project-visual-wrap:before{display:none}.browser-bar{grid-template-columns:auto 1fr;height:38px;padding:0 12px}.browser-bar>span:last-child{justify-self:end}.project-image{object-position:center;min-height:250px}.project-info{grid-template-columns:1fr auto;gap:26px 18px;padding-top:34px;display:grid}.project-copy{grid-area:1/1/auto/-1}.project-copy h3{font-size:clamp(4rem,20vw,6.2rem)}.project-number{grid-area:2/1;align-self:center}.project-action{grid-area:2/2}.round-link{width:112px;height:112px}.service-item{grid-template-columns:1fr auto;gap:16px;min-height:0;padding:30px 0;display:grid}.service-item:hover{padding:30px 12px}.service-number{grid-column:1}.service-item h3{grid-column:1/-1;font-size:2.25rem}.service-item>p:nth-of-type(2){grid-column:1}.service-mark{grid-area:1/2}.about-section{padding:100px 0}.about-grid,.contact-grid{display:block}.about-heading h2{font-size:clamp(3.8rem,19vw,7rem)}.about-copy{border-top:1px solid var(--line);border-left:0;margin-top:58px;padding:24px 0 0}.about-copy>p{font-size:1.2rem}.contact-section{padding:92px 0 96px}.contact-copy h2{font-size:clamp(4.25rem,19vw,7rem)}.contact-details{margin-top:55px}.contact-details>p{font-size:1.04rem}.button-large{width:100%}.contact-links a{overflow-wrap:anywhere}.site-footer{padding:50px 0 30px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-links{justify-content:flex-start}.footer-meta{grid-column:1;margin-top:10px}}@media (max-width:380px){.section-shell,.nav-shell{width:min(calc(100% - 28px), var(--max-width))}.portrait-stage{min-height:430px}.portrait-image{width:330px}.portrait-orbit{width:360px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
