@font-face{font-family:Jost;src:url('assets/Jost.ttf') format('truetype');font-weight:100 900;font-display:swap}:root{--red:#c84633;--black:#1d1d1b;--paper:#f7f7f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:Jost,sans-serif;color:var(--black)}#page-shell{position:relative;margin:auto;overflow:hidden}#page{width:1440px;height:3769px;position:relative;transform-origin:top left}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:5px}.opening{height:1105px;position:relative}.hero-background{position:absolute;left:50px;top:0;width:1340px;height:678px;background:var(--black);border-radius:0 0 76px 76px}nav{position:absolute;left:137px;top:33px;display:flex;gap:50px;color:#fff;font-size:14px;z-index:3}.linkedin-top{position:absolute;right:92px;top:29px;width:21px;height:21px;z-index:3}.linkedin-top svg{width:100%;height:100%}.logo{position:absolute;left:128px;top:136px;width:331px;height:166px;object-fit:contain}.hero-copy{position:absolute;left:136px;top:375px;color:white;z-index:2}h1{font-size:42px;line-height:1.08;font-weight:700;letter-spacing:.3px}.hero-copy p{font-size:20px;margin-top:10px}.button{border:1px solid currentColor;border-radius:30px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;line-height:1;padding:7px 24px}.hero-button{margin-top:61px;width:205px;height:40px;font-size:20px}.hero-caption{position:absolute;left:1294px;top:553px;color:white;font-size:16px;line-height:1.05;writing-mode:vertical-rl;transform:rotate(180deg)}.intro{position:absolute;left:112px;top:799px}.intro h2{font-size:36px;font-weight:700;line-height:1.15;margin-bottom:12px}.intro p{font-size:18px;line-height:1.2;margin-bottom:8px}.services{height:675px;position:relative;margin-left:110px;width:1212px}.outline{font-weight:400;color:transparent;-webkit-text-stroke:1px var(--red);font-size:128px;line-height:1;letter-spacing:0}.services>h2{position:absolute;left:0;top:39px}.service-grid{display:flex;justify-content:space-between;position:absolute;top:282px;left:8px;width:1204px}.service-grid article{position:relative;width:328px;height:299px;border-radius:44px;background:#e0e0e0;text-align:center;padding-top:72px}.service-grid img{position:absolute;left:92px;top:-71px;width:144px;height:130px;object-fit:contain}.service-grid h3{font-size:35px;font-weight:700;line-height:1.02;margin-bottom:13px}.service-grid p{font-size:18px;line-height:1.18}.projects{position:relative;height:831px}.project-copy{position:absolute;left:112px;top:253px}.project-copy h2{font-size:37px;line-height:1.1;margin-bottom:14px}.project-copy p{font-size:18px;line-height:1.17}.red{background:var(--red);border:0;color:white}.project-copy .button{margin-top:38px;width:128px;height:29px;font-size:14px;padding:0}.vertical{transform:rotate(-90deg);transform-origin:0 0;white-space:nowrap}.projects-title{position:absolute;left:382px;top:684px;font-size:126px}.gallery{position:absolute;left:517px;top:81px;width:805px;height:602px}.gallery button,.gallery>a{position:absolute;padding:0;border:0;border-radius:22px;overflow:hidden;cursor:zoom-in;background:none}.gallery img{display:block;width:100%;height:100%;object-fit:cover}.p1{left:0;top:0;width:557px;height:330px}.p2,.p3,.p4{left:578px;width:227px;height:185px}.p2{top:0}.p3{top:206px}.p4{top:414px}.p5,.p6{top:350px;width:269px;height:252px}.p6{left:0}.p5{left:288px}.studio{position:relative;left:50px;width:1340px;height:521px;margin:0 0 93px;border-radius:43px;background:#000;color:#fff;overflow:visible}.studio-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:43px}.studio-copy{position:absolute;left:64px;top:115px}.studio h2:not(.outline){font-size:36px;line-height:1.1;margin-bottom:13px}.studio p{font-size:17px;line-height:1.2;margin-bottom:8px}.studio .signature{margin-top:30px;line-height:1.6}.studio .button{font-size:14px;width:128px;height:29px;margin-top:33px;padding:0}.studio-title{position:absolute;left:1120px;top:478px;font-size:126px;z-index:2}.contact{position:relative;left:50px;width:1340px;height:314px;border-radius:43px;background:var(--red);color:#fff;margin-bottom:100px;padding:55px 68px}.contact h2{font-size:36px;line-height:1.1;margin-bottom:13px}.contact p{font-size:17px;line-height:1.5}.contact-links{display:flex;gap:32px;margin-top:40px}.contact-links .button{font-size:14px;width:168px;height:30px;padding:0}.contact-title{position:absolute;right:68px;top:126px;font-size:124px;-webkit-text-stroke-color:white}footer{position:relative;margin-left:50px;width:1340px;height:230px;border-radius:70px 70px 0 0;background:var(--black);color:#fff;display:flex;justify-content:space-between;padding:38px 63px;font-size:15px;line-height:1.45}footer img{width:113px;height:58px;object-fit:contain;opacity:.45}footer div{text-align:right;margin-top:3px}dialog{border:0;padding:0;background:transparent;max-width:85vw;max-height:90vh;overflow:visible}dialog::backdrop{background:#000d}dialog img{max-width:80vw;max-height:85vh;display:block;border-radius:20px}.close{position:absolute;right:-14px;top:-14px;width:35px;height:35px;border:0;border-radius:50%;background:white;font-size:25px;cursor:pointer}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Desktop coordinates measured from the supplied Illustrator artboard, 1440 × 3768.78. */
#page{height:3768.78px}.hero-background{height:676.885px}.hero-art{position:absolute;left:630.7028px;top:0;width:699.5414px;height:1049.3121px;pointer-events:none}.hero-caption{left:1298px;top:552.74px}.hero-copy{top:371px}h1{font-size:40px;line-height:43.44px}.hero-copy p{margin-top:8px;font-size:20px;line-height:27.404px}.hero-button{position:absolute;top:186.95px;left:0;margin:0;height:38.2px;width:204.8px}.intro{top:799.3px;left:113.2324px}.intro h2{font-size:34px;line-height:40.8px;margin-bottom:7px}.intro p{font-size:17px;line-height:20.4px;margin-bottom:7.004px}.intro strong{display:inline-block;margin-top:7.004px}.services>h2{top:42.5664px;left:2.0133px}.section-art{margin:0;line-height:0;position:absolute;transform:none;pointer-events:none}.section-art img{display:block;width:100%;height:100%}.services-title{width:565.782px;height:106.9928px}.service-grid{top:281.6356px;left:8.3316px;width:1203.3363px}.service-grid article{width:328.335px;height:297.64px;border-radius:42.272px;padding-top:72px}.service-grid img{left:87.8692px;top:-70.0941px;width:152.5971px;height:137.7998px}.service-grid article:nth-child(2) img{left:87.8146px;top:-70.0336px;width:152.7065px;height:137.6786px}.service-grid article:nth-child(3) img{left:87.7262px;top:-69.973px;width:152.8831px;height:137.6179px}.service-grid h3{font-size:34px;line-height:34.782px;margin-bottom:15px}.service-grid p{font-size:17px;line-height:20.4px}.projects{height:827.0585px}.project-copy{left:113.2329px;top:254.36px}.project-copy h2{font-size:34px;line-height:40.8px;margin-bottom:7px}.project-copy p{font-size:17px;line-height:20.4px}.project-copy .button{margin-top:28.3px;height:28.6px;width:127.8px}.projects-title{left:395.6859px;top:69.2931px;width:115.1444px;height:611.2185px}.gallery{left:515.4805px;top:80.0387px;width:807px}.p1{width:558.13px;height:330.744px}.p2,.p3,.p4{left:580px}.p6{left:0}.p5{left:288px}.studio{height:551.005px;margin-bottom:67.526px}.studio-photo{object-fit:fill}.studio-copy{left:66.02px;top:117.8px}.studio h2:not(.section-art){font-size:34px;line-height:40.8px;margin-bottom:7px}.studio p{font-size:17px;line-height:20.4px;margin-bottom:7.004px}.studio .signature{margin-top:34.4px;line-height:27.404px}.studio .button{position:absolute;top:292.8px;left:-5.62px;margin:0;width:127.8px;height:28.6px}.studio-title{left:1126.2606px;top:-35.1188px;width:121.9999px;height:512.7837px}.contact{height:312.549px;margin-bottom:101.4745px;padding:52.72px 67.3799px}.contact h2{font-size:34px;line-height:40.8px;margin-bottom:7px}.contact p{font-size:17px;line-height:27.404px}.contact-links{position:absolute;left:69.201px;top:202.61px;margin:0;gap:32.3px}.contact-links .button{height:28.6px}.contact-title{left:683.9395px;top:140.1471px;right:auto;width:585.3481px;height:95.6095px}footer{height:129.167px;padding:35.8px 63.23px;border-radius:70px 70px 0 0}footer img{width:111.1px;height:54.93px;opacity:.48}footer div{margin-top:4px;font-size:14.37px;line-height:22.74px}

/* Outer surface around the scaled desktop composition. */
body{background:#404040}
#site-surface{width:fit-content;margin:0 auto;padding:0;background:#f7f7f7;box-shadow:0 10px 35px rgba(0,0,0,.28)}
#page-shell,#page{background:#f7f7f7}

/* Motion preserves all measured positions and only runs once per element. */
.motion-reveal{opacity:1;translate:0 0;transition:opacity 1000ms ease,translate 1100ms cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.motion-pending{opacity:0;translate:0 24px}
.motion-reveal.motion-fade{translate:none}
.button{transition:background-color 300ms ease,color 300ms ease,box-shadow 300ms ease}
.hero-button:hover,.hero-button:focus-visible,.contact-links .button:hover,.contact-links .button:focus-visible{background:#fff;color:#1d1d1b}
.button.red:hover,.button.red:focus-visible{background:#a93626;box-shadow:0 3px 9px #0002}
nav a{transition:color 300ms ease}nav a:hover,nav a:focus-visible{color:#e47968}
.gallery img{transition:transform 650ms cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.gallery button:hover img,.gallery>a:hover img{transform:scale(1.03)}}
.gallery button:focus-visible img,.gallery>a:focus-visible img{transform:scale(1.03)}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-reveal.motion-pending{opacity:1;translate:none;transition:none}.gallery img,.button,nav a{transition:none}.gallery button:hover img,.gallery button:focus-visible img,.gallery>a:focus-visible img{transform:none}}

@media(prefers-reduced-motion:reduce){.gallery>a:hover img,.gallery>a:focus-visible img{transform:none}}

/* IA section: coordinates from the supplied Illustrator, aligned to the home grid. */
#page{height:4320.501px}
.ai-section{position:relative;width:1440px;height:636.721px}
.ai-panel{position:absolute;left:50px;top:192.2362px;width:1340px;height:312.549px;background:#e0e0e0;border-radius:42.272px}
.ai-heading{position:absolute;left:117.8722px;top:148.8711px;width:114.9725px;height:86.73px;line-height:0;margin:0}
.ai-heading img{display:block;width:100%;height:100%}
.ai-copy{position:absolute;left:117.3802px;top:270.04px}
.ai-copy h3{font-size:34px;font-weight:700;line-height:40.8px;letter-spacing:0;margin:0 0 7px}
.ai-copy p{font-size:17px;line-height:20.4px;margin:0}
.ai-button{position:absolute;left:118.3047px;top:413.0663px;width:127.754px;height:28.59px;font-size:14.37px;padding:0}
.ai-button:disabled{opacity:1;cursor:default}
.ai-button:disabled:hover{background:#c84633;box-shadow:none}
.ai-art{position:absolute;left:800.8429px;top:29.4859px;width:521.1553px;height:463.162px;transform:scaleX(-1);pointer-events:none}

/* Tighten the gap above IA while keeping its internal layout intact. */
.ai-section{margin-top:-85px}

/* The scaled home must have only the document scroll area. Fragment links must
   never scroll its inner frame; its real content defines the page height. */
.home-page #page-shell{overflow:clip}
.home-page #page{position:absolute;top:0;left:0;height:auto}
