:root{--paper:#fdfcfb;--ink:#201c19;--red:#914632;--lime:#f7a07e;--yellow:#ffbf00;--line:#d4d0c6;--gutter:clamp(20px,4.6vw,76px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:2px solid currentColor;outline-offset:5px}.wrap{max-width:1660px;margin-inline:auto;padding-inline:var(--gutter)}.skip{position:absolute;transform:translateY(-150%);background:var(--lime);z-index:3;padding:12px}.skip:focus{transform:none}.mono,.eyebrow,.meta{font:700 .7rem/1.35 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.top{display:flex;min-height:78px;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:1.78rem;font-weight:900;letter-spacing:-.09em;text-decoration:none;white-space:nowrap}.wordmark b{color:var(--red)}nav{display:flex;align-items:center;gap:clamp(14px,3.2vw,48px);font-size:.88rem}nav a{text-decoration:none}nav a:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}.lang{border:1px solid var(--line);padding:.45rem .65rem}.hero{padding-top:clamp(34px,6.3vw,104px);padding-bottom:clamp(38px,6vw,96px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(22px,3vw,54px);align-items:center}.eyebrow{text-align:left}.hero h1,.case-head h1,.contact h1{font-size:clamp(3.55rem,8.35vw,9rem);letter-spacing:-.095em;line-height:.86;margin:26px 0 25px}.hero h1 em{color:var(--red);font-style:normal}.lead{font-size:clamp(1rem,1.45vw,1.34rem);line-height:1.48;max-width:34ch}.button{display:inline-flex;gap:24px;align-items:center;margin-top:26px;padding:13px 17px;border-radius:50px;background:var(--ink);color:var(--paper);text-decoration:none;font-size:.85rem;font-weight:bold}.button:hover{background:var(--red)}.caption,.section-top,.card-title,.footline{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.strip{border-block:1px solid var(--line)}.strip .wrap{min-height:52px;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding-block:12px}.strip span:first-child{color:var(--red)}.section{padding-block:clamp(52px,8vw,126px)}.section-top{margin-bottom:28px}.section-top h2,.studio h2,.footer h2{font-size:clamp(2.9rem,7.25vw,7.2rem);line-height:.91;letter-spacing:-.087em}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 22px}.card{text-decoration:none;display:block}.card .art{aspect-ratio:1.42;display:grid;place-items:center;overflow:hidden;background:var(--surface,#ebe4d7)}.card img{width:100%;height:100%;object-fit:cover}.card.contain img{object-fit:contain;padding:6%;width:100%;height:100%}.card-title{margin-top:12px}.card h3{font-size:clamp(1.35rem,3vw,2.8rem);letter-spacing:-.065em}.card p{margin-top:6px;font-size:.88rem}.arrow{font-size:1.45rem;color:var(--red)}.studio{background:#eae5db}.studio .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:38px}.studio h2{margin-top:20px;max-width:9ch}.studio .lead{max-width:44ch}.services{list-style:none;padding:0;margin:20px 0 0}.services li{padding:11px 0;border-top:1px solid #c6c0b5}.services span{display:inline-block;min-width:42px;color:var(--red)}.footer{background:var(--ink);color:var(--paper);padding-block:clamp(45px,7vw,100px) 24px}.footer h2{margin:17px 0 23px}.footer .eyebrow,.footer .arrow{color:var(--lime)}.email{font-size:clamp(1rem,2.7vw,2.3rem);text-underline-offset:6px}.footline{border-top:1px solid #66665d;margin-top:54px;padding-top:18px;flex-wrap:wrap}.footline a{text-decoration:none}.case-head{padding-block:45px 32px}.case-head h1,.contact h1{font-size:clamp(3.1rem,8vw,8rem)}.case-head .lead{max-width:52ch}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}.case-grid figure:first-child{grid-column:1/-1}.case-grid .art{background:var(--surface,#fff);display:grid;place-items:center;overflow:hidden}.case-grid figure:first-child img{max-height:670px;object-fit:contain}.case-grid figure:not(:first-child) img{aspect-ratio:1.35;object-fit:contain}.case-grid figcaption{padding:10px 0;border-bottom:1px solid var(--line)}.case-actions{display:flex;align-items:baseline;gap:22px;flex-wrap:wrap;padding-bottom:60px}.contact{padding-block:50px 85px}.contact address{font-style:normal;line-height:1.5;margin-top:28px}.back{display:inline-block;margin-bottom:25px;text-underline-offset:4px}.subtle-link{text-underline-offset:4px}
@media(max-width:800px){.hero{grid-template-columns:1fr}.hero h1{font-size:clamp(3.6rem,12vw,6.8rem)}.studio .wrap{grid-template-columns:1fr}}
@media(max-width:540px){.top{min-height:64px;gap:10px}nav{gap:10px;font-size:.72rem}.wordmark{font-size:1.36rem}.lang{padding:.28rem .42rem}.grid,.case-grid{grid-template-columns:1fr}.section-top{align-items:flex-start}.section-top .mono{max-width:12ch;text-align:right}.strip .wrap{gap:8px 18px}.footline{margin-top:36px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(max-width:380px){.hero h1{font-size:clamp(2.65rem,11vw,3.55rem)}.top{gap:8px}nav{gap:8px}}

.contact{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;container-type:inline-size}
.contact-copy,.contact-photo{grid-area:1/1}
.contact-photo img{width:100%;height:auto}
.contact-copy{position:relative;z-index:1;width:50%;padding:0 0 0 clamp(24px,5cqw,75px)}
.contact-copy h1{font-size:clamp(3rem,8.5cqw,8rem);margin:clamp(14px,2cqw,26px) 0}
.contact-copy .lead{font-size:clamp(.96rem,1.55cqw,1.34rem)}
.contact-copy .button{margin-top:clamp(14px,2cqw,26px)}
.contact-copy address{margin-top:clamp(13px,2cqw,28px);font-size:clamp(.82rem,1.25cqw,1rem)}
@media(max-width:760px){
  .contact-copy,.contact-photo{grid-area:auto}
  .contact-copy{width:100%;padding:24px;background:#d4d3ce}
}

.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.hero-band{background:var(--yellow)}
.site-header .top{border-bottom:0}
.site-header .lang{border-color:var(--line)}
.wordmark{display:block;flex:none;width:clamp(104px,13vw,174px);padding-block:5px}
.wordmark img{width:100%;height:auto}
.hero-band{overflow:hidden}
.hero-band .hero{position:relative;isolation:isolate}
.hero-band .hero::before,.hero-band .hero::after{content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%}
.hero-band .hero::before{width:clamp(44px,7vw,110px);aspect-ratio:1;left:36%;top:7%;border:clamp(5px,.75vw,11px) solid #d68b6b;opacity:.75}
.hero-band .hero::after{width:clamp(62px,9vw,150px);aspect-ratio:1;left:0;bottom:2%;background:repeating-linear-gradient(-22deg,#d68b6b 0 8px,transparent 8px 17px);opacity:.55}
.hero-band h1 em{color:#593326}
.hero-mascot{position:relative;isolation:isolate;display:grid;place-items:center}
.hero-mascot::before{content:"";position:absolute;z-index:-1;width:93%;aspect-ratio:1;border-radius:50%;background:repeating-linear-gradient(-24deg,#ffd34466 0 7%,transparent 7% 13%);transform:translate(5%,2%)}
.hero-mascot img{width:min(100%,650px);height:auto}
.studio{background:#f6e1d7}
@media(max-width:800px){.hero-band .hero::before{left:auto;right:6%;top:9%;opacity:.55}.hero-mascot img{width:min(90%,500px)}}
@media(max-width:540px){.hero-band .hero::before{top:47%}.hero-band .hero::after{bottom:4%}}


.case-section{margin-block:36px}
.case-section h2{font-size:clamp(1.55rem,3vw,2.6rem);margin:0 0 18px}
.case-products,.case-videos{display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}
.case-products{grid-template-columns:repeat(3,minmax(0,1fr))}
.case-products img{width:100%;height:auto;display:block}
.case-video{display:block;width:100%;aspect-ratio:16/9;border:0;background:#181818}
.case-section figcaption{padding-top:9px}
@media(max-width:700px){.case-videos{grid-template-columns:1fr}.case-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.case-products{grid-template-columns:1fr}}

@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .hero-band .hero::before,
  .hero-band .hero::after,
  .hero-band .hero-mascot::before{transition:translate 230ms ease-out}
  .hero-band .hero::before{translate:var(--hero-ring-x,0px) var(--hero-ring-y,0px)}
  .hero-band .hero::after{translate:var(--hero-dot-x,0px) var(--hero-dot-y,0px)}
  .hero-band .hero-mascot::before{translate:var(--hero-disc-x,0px) var(--hero-disc-y,0px)}
}
