/* DOT / Creative canvas. Layout is HTML; the artwork is native CSS and SVG. */
:root{--red:#be1e2d;--red-hover:#a31927;--canvas:#f7f7f4;--surface:#fff;--ink:#231f20;--muted:#615d62;--soft:#eeefec;--line:#231f2026;--header:rgba(247,247,244,.97);--radius:12px;--section-space:clamp(72px,8vw,118px)}
[data-theme=dark]{--red:#be1e2d;--red-hover:#9f1926;--canvas:#171719;--surface:#202023;--ink:#f5f3f3;--muted:#c1bdc2;--soft:#242426;--line:#ffffff2b;--header:rgba(23,23,25,.97)}
em{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-color:var(--red)}
.header{border-bottom:0;min-height:88px;background:var(--header)}.header nav{font-size:17px;gap:23px}.header nav .nav-pill{background:transparent;color:var(--ink);border:1px solid var(--line);padding:7px 18px}.header nav .nav-pill:hover{background:var(--ink);color:var(--canvas)}.header nav a:hover,.header nav a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}.header nav .nav-pill:hover{text-decoration:none}.theme-toggle{border-radius:50%;width:44px;height:44px;background:transparent}.signature-dot{background:#be1e2d}
/* First screen: one typographic focal point, with three small graphic studies. */
.canvas-hero{position:relative;isolation:isolate;display:grid;place-items:center;min-height:calc(100svh - 88px);padding:190px 30px 190px;background:var(--canvas);background-image:radial-gradient(circle,#231f202b .65px,transparent .8px);background-size:24px 24px;overflow:clip}
[data-theme=dark] .canvas-hero{background-image:radial-gradient(circle,#ffffff28 .65px,transparent .8px)}
.canvas-hero .question-content{position:relative;z-index:2;width:min(850px,100%);max-width:none;text-align:center;margin:0;transform:translateY(-10px)}
.canvas-hero h1{max-width:none;width:100%;font-size:clamp(58px,5.5vw,86px);line-height:1.05;font-weight:600;letter-spacing:-.045em;margin:0}
.canvas-hero .editorial-lead{display:block;max-width:none;margin-bottom:16px}
.rotation-frame{display:inline-flex;justify-content:center;align-items:center;position:relative;max-width:100%;padding:7px 20px 13px;border:1px solid #be1e2d;vertical-align:top}
.canvas-hero .changing-word{display:block;max-width:100%;min-height:1.2em;margin:0;color:var(--ink);font-family:Playfair,Georgia,serif;font-weight:500;font-style:italic;font-size:clamp(38px,4.3vw,65px);line-height:1.2;letter-spacing:-.04em;text-wrap:balance;will-change:auto}
.selection-handle{position:absolute;display:block;width:8px;height:8px;background:var(--canvas);border:1px solid #be1e2d;pointer-events:none}.h-tl{left:-4px;top:-4px}.h-tr{right:-4px;top:-4px}.h-bl{left:-4px;bottom:-4px}.h-br{right:-4px;bottom:-4px}
.canvas-hero .hero-aside{max-width:680px;margin:31px auto 0}.canvas-hero .hero-aside p{font-size:22px;line-height:1.45;color:var(--muted);margin:auto;max-width:42ch}
.canvas-hero .question-cta{margin-top:31px;background:var(--ink);color:var(--canvas);min-height:54px;gap:20px;padding:14px 26px;font-weight:500;box-shadow:0 10px 24px #231f200b}
.canvas-hero .question-cta:hover{background:#be1e2d;color:#fff;transform:translateY(-2px)}
.canvas-decoration{position:absolute;z-index:1;pointer-events:none}.canvas-type{top:5%;left:clamp(22px,5vw,90px);width:clamp(210px,23vw,330px);height:230px;transform:translate(var(--study-x,0px),var(--study-y,0px)) rotate(-7deg);transform-origin:center}
.type-specimen{pointer-events:auto;display:block;position:relative;padding:0 0 5px;border:0;background:transparent;color:var(--ink);font-family:Playfair,Georgia,serif;font-weight:500;font-size:clamp(150px,17vw,245px);line-height:.9;letter-spacing:-.08em;min-height:44px;width:100%;text-align:left}
.type-specimen.is-sans{font-family:Afacad,Arial,sans-serif;font-weight:600;letter-spacing:-.055em;line-height:.98}.type-baseline{position:absolute;left:0;bottom:-10px;height:1px;width:100%;background:#be1e2d}.type-baseline::before,.type-baseline::after{content:'';position:absolute;top:-4px;width:7px;height:7px;border:1px solid #be1e2d;background:var(--canvas)}.type-baseline::before{left:0}.type-baseline::after{right:0}.type-specimen:hover .type-baseline{height:2px}
.canvas-curve{top:1%;right:clamp(5px,2vw,40px);width:clamp(250px,27vw,395px);height:auto;transform:translate(calc(var(--study-x,0px) * -1),calc(var(--study-y,0px) * -1))}.curve-guides{color:#94949c}.curve-guides circle{fill:var(--canvas)}.curve-anchors{fill:var(--canvas)}.curve-stroke{stroke-dasharray:700;stroke-dashoffset:0;animation:canvas-draw 1.8s cubic-bezier(.22,1,.36,1) both}@keyframes canvas-draw{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}
.hero-palette.brand-palette{position:absolute;z-index:3;right:clamp(24px,5vw,80px);bottom:95px;margin:0;width:240px;max-width:100%;text-align:center}
.hero-palette .palette-swatches{display:flex;justify-content:center;gap:22px;min-height:0;height:auto;margin:0}
.hero-palette .palette-swatch{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;min-width:0;flex:1;border:0;padding:0;border-radius:0;background:transparent!important;color:var(--ink)!important;min-height:80px;transition:transform .2s}
.hero-palette .palette-swatch:hover{transform:translateY(-4px)}.hero-palette .swatch-dot{display:block;width:52px;height:52px;border-radius:50%;background:var(--swatch);border:1px solid #7c777c}.hero-palette .palette-swatch strong{font:500 13px/1.4 Afacad,Arial,sans-serif;letter-spacing:0;white-space:nowrap}.hero-palette .palette-status{font-size:13px!important;line-height:1.4;min-height:20px;margin-top:10px;color:var(--muted);max-width:100%}
.canvas-caption{position:absolute;z-index:2;left:var(--gutter);bottom:31px;display:flex;align-items:center;gap:13px;font-size:15px;line-height:1.4;max-width:310px;color:var(--ink)}.canvas-caption>span{display:block;flex:none;width:10px;height:10px;border-radius:50%;background:#be1e2d}
.canvas-explore{display:flex;align-items:center;gap:8px;position:absolute;z-index:3;bottom:15px;left:50%;transform:translateX(-50%)}.canvas-explore a{display:flex;align-items:center;gap:9px;min-height:44px;font-size:16px;white-space:nowrap}.canvas-explore a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:5px}.rotation-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--muted);border-radius:50%;font:600 15px Afacad,Arial,sans-serif}.rotation-toggle:hover{background:var(--line);color:var(--ink)}
/* The canvas language carries into quiet editorial sections below the fold. */
.works{border-top:1px solid var(--line)}.section-label{font-size:14px;letter-spacing:0;color:var(--muted)}.section-label>span:first-child::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#be1e2d;margin-right:11px;vertical-align:middle}.section-heading{gap:8%}.section-heading p{font-size:22px}.section-heading h2{font-size:clamp(45px,5.5vw,80px)}.section-heading em{color:var(--ink)}.project-grid{gap:50px 30px}.project-image{border-radius:8px}.project-open{outline-offset:5px}.project-open:hover .project-image,.project-open:focus-visible .project-image{box-shadow:0 0 0 1px #be1e2d}.project-featured .project-image{aspect-ratio:1.9;background:var(--soft)}.project-link{box-shadow:none;border:1px solid #231f2020;background:#fff;color:#231f20}.project-category{color:var(--muted);font-size:14px}.project-caption h3{font-size:30px}.project-caption p,.project-context{color:var(--muted)}.work-filters button{background:transparent}.work-filters button[aria-pressed=true]{background:var(--ink);color:var(--canvas)}.work-filters button:hover{border-color:#be1e2d}.button.dark{background:var(--ink);color:var(--canvas)}.button.dark:hover{background:#be1e2d;color:#fff}
.audiovisual{background:var(--soft)}.video-open{border-radius:10px}.manual-feature>img{border-radius:8px}.disciplines summary{min-height:105px}.number{color:var(--muted)}.disciplines details[open] h3{color:var(--ink)}.disciplines details[open] .number{color:var(--ink)}.disciplines details[open] .plus{color:#be1e2d}.disciplines details[open]{background:linear-gradient(90deg,#be1e2d05,transparent 50%)}
.studio{background:var(--soft);color:var(--ink);--line:#231f2026;--muted:#615d62;--red:#be1e2d}.studio h2 em{color:var(--ink)}.studio-copy>p:not(.large){color:var(--muted)}.studio .brand-signature{border-color:var(--line)}.studio .brand-signature span{color:var(--muted)}.studio .palette-swatch{border:1px solid #231f2026}.studio .palette-label,.studio .palette-status{color:var(--muted)}[data-theme=dark] .studio{--line:#ffffff2b;--muted:#c1bdc2}
.steps article>span{color:var(--muted);display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);width:35px;height:35px;border-radius:50%;font-size:14px}.steps article{border-top:1px solid var(--line)}.steps h3{font-size:28px}.steps p{font-size:20px}
.closing{background:#231f20;color:#f7f7f4;border-radius:18px;max-width:calc(1600px - var(--gutter) * 2);margin:20px var(--gutter) 0;padding:65px clamp(28px,5vw,80px);position:relative;overflow:clip}.closing h2{font-size:clamp(44px,6vw,85px);max-width:19ch;line-height:1.1}.closing em{color:#f7f7f4}.closing .cream{background:#f7f7f4;color:#231f20}.closing .cream:hover{background:#fff}.closing .mini-dot,.closing-dot{background:#be1e2d}.closing .eyebrow{font-size:15px;letter-spacing:0}.closing-bottom p{font-size:22px}
.contact-footer{padding-top:60px}.whatsapp-fixed{box-shadow:0 4px 15px #231f2012}.whatsapp-fixed:hover{background:#be1e2d;color:#fff}.copy-email{border-radius:10px}.copy-email:hover{border-color:#be1e2d}.footer-base{font-size:15px}.skip{background:var(--ink);color:var(--canvas)}
@media(min-width:1760px){.closing{margin-left:auto;margin-right:auto}}
@media(max-width:1200px){.canvas-hero{padding-top:190px;padding-bottom:210px}.canvas-type{left:35px;width:230px;top:5%;height:180px}.type-specimen{font-size:190px}.canvas-curve{width:300px;right:10px;top:2%}.canvas-hero .question-content{max-width:760px}.canvas-hero h1{font-size:70px}.canvas-hero .changing-word{font-size:54px}.hero-palette.brand-palette{bottom:65px;width:225px}.hero-palette .swatch-dot{width:46px;height:46px}.hero-palette .palette-swatches{gap:18px}}
@media(max-width:1100px){.header nav{display:none}.canvas-caption{max-width:220px;font-size:14px}.canvas-explore{left:49%}}
@media(max-width:900px) and (min-width:761px){.canvas-hero{padding-top:220px;padding-bottom:210px;min-height:800px}.canvas-hero h1{font-size:64px}.canvas-hero .changing-word{font-size:49px}.canvas-hero .question-content{max-width:680px}.canvas-type{top:30px;width:190px}.type-specimen{font-size:150px}.canvas-curve{width:245px;top:10px}.canvas-hero .hero-aside{max-width:520px}.hero-palette.brand-palette{width:205px;right:25px;bottom:65px}.hero-palette .swatch-dot{width:44px;height:44px}.hero-palette .palette-swatches{gap:14px}.canvas-caption{bottom:24px;font-size:13px;max-width:195px}}
@media(min-width:901px) and (max-height:780px){.canvas-hero{padding-top:160px;padding-bottom:170px;min-height:660px}.canvas-type{top:8px;width:210px}.type-specimen{font-size:160px}.canvas-curve{top:0;width:285px}.canvas-hero h1{font-size:66px}.canvas-hero .changing-word{font-size:52px}.canvas-hero .hero-aside{margin-top:24px}.canvas-hero .question-cta{margin-top:24px}.hero-palette.brand-palette{bottom:60px}}
@media(max-width:760px){.header{min-height:76px;padding:12px 22px}.header-actions{gap:6px}.header .theme-toggle{width:44px}.brand img{width:90px}.canvas-hero{display:flex;flex-direction:column;justify-content:flex-start;gap:0;min-height:calc(100svh - 76px);padding:190px 23px 105px;background-size:22px 22px}.canvas-hero .question-content{width:100%;max-width:520px;transform:none;margin:auto}.canvas-hero h1{font-size:clamp(48px,10vw,66px)}.canvas-hero .editorial-lead{margin-bottom:17px}.canvas-hero .changing-word{font-size:clamp(28px,7.5vw,41px);line-height:1.24;min-height:2.48em;display:flex;align-items:center;justify-content:center;max-width:100%;overflow-wrap:normal;word-break:normal}.rotation-frame{display:flex;width:100%;padding:8px 12px 12px;max-width:100%;min-height:2.8em}.selection-handle{width:7px;height:7px}.canvas-hero .hero-aside{margin-top:24px;max-width:33ch}.canvas-hero .hero-aside p{font-size:19px;line-height:1.45}.canvas-hero .question-cta{margin-top:25px;min-height:52px;padding:13px 21px;font-size:17px;gap:14px}.canvas-type{left:27px;top:23px;width:130px;height:115px;transform:rotate(-7deg)}.type-specimen{font-size:112px;min-height:100px}.type-baseline{bottom:0}.canvas-curve{top:7px;right:10px;width:155px;transform:none}.curve-guides{stroke-width:1.8}.curve-stroke{stroke-width:2.5}.hero-palette.brand-palette{position:relative;right:auto;bottom:auto;align-self:center;margin:37px auto 0;width:220px}.hero-palette .palette-swatches{gap:23px}.hero-palette .swatch-dot{width:44px;height:44px}.hero-palette .palette-swatch{min-height:72px;gap:7px}.hero-palette .palette-swatch strong{font-size:12px}.hero-palette .palette-status{margin-top:5px;min-height:18px;font-size:12px!important}.canvas-caption{display:none}.canvas-explore{bottom:22px;left:50%}.canvas-explore a{font-size:15px}.section-heading h2{font-size:clamp(43px,9.3vw,62px)}.section-heading p{font-size:21px}.section-label{font-size:12px;line-height:1.4}.project-grid{gap:39px}.project-featured .project-image{aspect-ratio:808/632}.project-caption h3{font-size:27px}.project-category{font-size:13px}.project-context{font-size:18px}.closing{margin:0 18px;max-width:none;padding:45px 25px;border-radius:15px}.closing h2{font-size:clamp(40px,9vw,62px);max-width:none}.closing-bottom p{font-size:21px}.studio{padding-top:65px;padding-bottom:65px}.studio h2{font-size:clamp(44px,10vw,64px)}.canvas-hero .rotation-frame .changing-word{white-space:normal}.steps article>span{width:33px;height:33px}.contact-footer{padding-top:45px}}
@media(max-width:380px){.header{padding:12px 17px;gap:8px}.brand img{width:75px}.header-actions{gap:4px}.canvas-hero{padding:168px 20px 100px}.canvas-type{left:24px;top:25px;width:110px;height:100px}.type-specimen{font-size:96px;min-height:84px}.canvas-curve{width:137px;right:6px;top:5px}.canvas-hero h1{font-size:47px}.canvas-hero .changing-word{font-size:28px}.canvas-hero .hero-aside p{font-size:18px}.canvas-hero .question-cta{font-size:16px;padding:13px 18px;gap:12px}.hero-palette.brand-palette{margin-top:30px}.section-label>span:last-child{max-width:45%}.project-caption h3{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.curve-stroke{animation:none}.canvas-type,.canvas-curve{transform:none}.canvas-hero .question-cta:hover,.hero-palette .palette-swatch:hover{transform:none}.changing-word{will-change:auto}}

/* Inline SVG fills keep the hero colours independent of button backgrounds. */
.hero-palette svg.swatch-dot{background:none;border:0;overflow:visible;flex-shrink:0}
.hero-palette .swatch-dot circle{fill-opacity:1}
