/* Weave: warm stationery, a centred opening and a generous brown-paper middle. */
[data-design=weave] .site-header,[data-design=trace] .site-header{top:25px;left:4vw;right:4vw;padding:10px 0;color:var(--hero-ink)}
[data-design=weave] .site-header .brand,[data-design=trace] .site-header .brand{font-size:34px}
[data-design=weave][data-navigation=floating] .site-header,[data-design=trace][data-navigation=floating] .site-header{position:fixed;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);padding:12px 22px;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);border-radius:999px;background:color-mix(in srgb,var(--paper) 85%,transparent);backdrop-filter:blur(18px);color:var(--ink);gap:55px}
.weave-hero{min-height:860px;position:relative;padding:180px 6vw 200px;overflow:hidden;isolation:isolate;background:var(--paper)}
.weave-title{position:relative;z-index:3;margin:0 auto;text-align:center;max-width:660px}
.weave-title h1{font:400 clamp(80px,8vw,128px)/.99 var(--heading-font);letter-spacing:-.065em}.weave-title h1>span{display:block}.weave-emphasis{color:var(--accent)}
.weave-title>p{max-width:420px;margin:30px auto;font-size:16px}.weave-title .action{padding:17px 26px;gap:30px;font-size:13px}
.weave-envelope{position:absolute;left:5vw;top:310px;width:200px;height:280px;transform:rotate(-9deg);border-radius:9px;box-shadow:0 12px 45px #3e2c1214}
.weave-ribbon{position:absolute;right:5vw;top:145px;width:185px;height:225px;transform:rotate(8deg);border-radius:9px;box-shadow:0 12px 45px #3e2c1210}
.tactile-opening{display:grid;grid-template-columns:1.4fr 1fr;gap:12vw;align-items:end;margin-bottom:80px}.tactile-opening h2{font:400 clamp(52px,5.5vw,86px)/1.03 var(--heading-font);letter-spacing:-.055em}.tactile-opening>p{font-size:17px;line-height:1.6;max-width:390px}
.weave-approach{background:#342d28;color:#f5eddf;padding:110px 7vw 120px;border-radius:22px;margin-inline:12px;--rule:#f5eddf35;--ink:#f5eddf}
.tactile-process{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.tactile-photo{height:520px;overflow:hidden;position:relative;border-radius:10px}
.tactile-method-panels article{padding:32px 0;border-top:1px solid var(--rule)}.tactile-method-panels h3{font-size:35px;letter-spacing:-.04em;margin-bottom:20px}.tactile-method-panels p{font-size:16px;line-height:1.7;max-width:560px}.tactile-process[data-layout=focus] .tactile-method-panels h3{display:none}.tactile-process[data-layout=focus] .tactile-method-panels article{min-height:225px;border:0}.tactile-methods .method-next{margin-top:20px}
.tactile-process[data-layout=columns]{grid-template-columns:1fr}.tactile-process[data-layout=columns] .tactile-photo{height:350px}.tactile-process[data-layout=columns] .tactile-method-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.tactile-process[data-layout=columns] h3{font-size:30px}
.weave-work{padding:120px 7vw;border:0}.weave-work .work-opening{display:block;text-align:center;max-width:710px;margin:0 auto 45px}.weave-work .work-opening h2{font-size:clamp(55px,6vw,88px)}.weave-work .work-opening p{max-width:420px;margin:24px auto 0}.weave-work .work-filters{justify-content:center;margin-bottom:50px}
.weave-work .work-track{gap:0 70px}.weave-work .work-example{padding:30px 0;min-height:215px;border:0;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr 45px;gap:16px 20px}.weave-work .work-example h3{font-size:30px;max-width:370px;line-height:1.12}.weave-work .work-example p{grid-column:1;max-width:390px;font-size:14px;line-height:1.65}.weave-work .work-example .round-arrow{grid-column:2;grid-row:1;align-self:start;justify-self:end;margin:0;width:40px;height:40px}
.weave-work[data-work-view=shelf] .work-track{gap:25px}.weave-work[data-work-view=shelf] .work-example{display:flex;flex:0 0 330px;border:1px solid var(--rule);padding:30px;min-height:365px;border-radius:12px}.weave-work[data-work-view=shelf] .work-example .round-arrow{margin-top:auto;align-self:flex-end}
.weave-footer{min-height:740px;isolation:isolate;position:relative;overflow:hidden;padding:100px 7vw 0;color:#342d28;margin:12px;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;background:#e8d8b7}
.weave-footer-art{position:absolute;inset:0;z-index:-2}.weave-footer-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f8edd075,transparent 80%)}.weave-footer-art img{object-position:right center}.weave-invitation h2{font:400 clamp(55px,6.5vw,100px)/1.03 var(--heading-font);max-width:820px;letter-spacing:-.06em}.weave-invitation p{max-width:330px;margin:25px 0;font-size:16px}.weave-invitation .action{margin-top:10px}.weave-footer .footer-end{border-top:1px solid #342d2855;margin-top:100px}
/* Trace: a dark grid opening, open method rows and a precise working index. */
[data-design=trace]{--rule:#dcd6e22b}
.trace-hero{position:relative;isolation:isolate;padding:190px 6vw 0;text-align:center;overflow:hidden;background:var(--paper);color:var(--hero-ink)}
.trace-grid{position:absolute;inset:40px 0 170px;z-index:-1;background-image:linear-gradient(#d6cbdf13 1px,transparent 1px),linear-gradient(90deg,#d6cbdf13 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse at center,black,transparent 72%);transform:perspective(900px) rotateX(16deg) scale(1.2)}
.trace-title{position:relative;z-index:2;max-width:950px;margin:auto}.trace-title h1{font:400 clamp(75px,7.6vw,122px)/1.02 var(--heading-font);letter-spacing:-.064em}.trace-title p{max-width:465px;margin:29px auto;font-size:16px;line-height:1.65;color:#ddd3e0}.trace-title .action{margin-top:10px;background:var(--accent);color:#201b24;font-size:13px}
.trace-film{height:430px;max-width:1250px;margin:75px auto 0;border-radius:160px 160px 0 0;overflow:hidden;position:relative;border:1px solid #ede2f31c;border-bottom:0}.trace-film img{object-position:center 60%}
.trace-approach{padding:130px 7vw;background:#f3f1ef;color:#262128;--ink:#262128;--paper:#f3f1ef;--rule:#26212833}.trace-approach .tactile-opening{grid-template-columns:1.3fr 1fr;gap:10vw;margin-bottom:80px}.trace-approach .tactile-process{display:block}.trace-approach .tactile-photo{float:right;width:35%;height:420px;border-radius:2px;margin:0 0 50px 8vw}.trace-approach .tactile-method-panels{max-width:58%}.trace-approach .tactile-method-panels article{padding:35px 0}.trace-approach .tactile-method-panels h3{font-size:39px}.trace-approach .tactile-method-panels p{font-size:16px}.trace-approach .tactile-process:after{content:'';display:block;clear:both}.trace-approach .tactile-process[data-layout=focus] .method-tabs{max-width:58%}.trace-approach .tactile-process[data-layout=focus] .tactile-method-panels article{min-height:260px}.trace-approach .tactile-process[data-layout=columns] .tactile-photo{float:none;width:100%;height:340px;margin:0 0 30px}.trace-approach .tactile-process[data-layout=columns] .tactile-method-panels{max-width:none}
.trace-work{padding:120px 7vw;background:var(--paper);color:var(--ink);border:0}.trace-work .work-opening{grid-template-columns:1fr 1fr;gap:10vw;margin-bottom:55px}.trace-work .work-opening h2{font-size:clamp(58px,6.5vw,100px)}.trace-work .work-opening p{font-size:16px;max-width:410px}.trace-work .work-filters{margin-bottom:40px}.trace-work .work-track{display:block}.trace-work .work-example{display:grid;grid-template-columns:1fr 1fr 50px;align-items:center;gap:6vw;min-height:140px;border:0;border-top:1px solid var(--rule);padding:30px 0}.trace-work .work-example h3{font-size:clamp(28px,3.1vw,45px)}.trace-work .work-example p{font-size:14px;line-height:1.65;max-width:420px}.trace-work .work-example .round-arrow{margin:0;justify-self:end;width:40px;height:40px}.trace-work[data-work-view=columns] .work-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}.trace-work[data-work-view=columns] .work-example{grid-template-columns:1fr 40px;gap:20px;min-height:230px}.trace-work[data-work-view=columns] .work-example p{grid-column:1}.trace-work[data-work-view=columns] .work-example .round-arrow{grid-column:2;grid-row:1}.trace-work[data-work-view=shelf] .work-track{display:flex;gap:25px}.trace-work[data-work-view=shelf] .work-example{display:flex;flex:0 0 380px;min-height:370px;border:1px solid var(--rule);padding:30px;gap:25px}.trace-work[data-work-view=shelf] .work-example .round-arrow{margin-top:auto;align-self:flex-end}
.trace-footer{position:relative;isolation:isolate;overflow:hidden;background:#211b23;min-height:900px;padding:110px 7vw 0;color:#f4ecf6;display:flex;flex-direction:column;justify-content:space-between}.trace-footer-art{position:absolute;inset:0;z-index:-2}.trace-footer-art:after{content:'';position:absolute;inset:0;background:#21152445}.trace-invitation h2{font:400 clamp(60px,7vw,110px)/1 var(--heading-font);max-width:930px;letter-spacing:-.06em}.trace-invitation p{margin:28px 0;max-width:350px;font-size:17px}.trace-footer .footer-end{margin-top:140px;border-top:1px solid #fff5}.trace-signature{font:500 37vw/.7 'DM Sans',sans-serif;letter-spacing:-.09em;margin:50px 0 0 -1vw;padding-bottom:3vw;opacity:.15}
[data-art=false] :is(.weave-envelope,.weave-ribbon,.tactile-photo,.trace-film,.weave-footer-art,.trace-footer-art){display:none}[data-art=false] .tactile-process{grid-template-columns:1fr}[data-art=false] .trace-approach .tactile-method-panels{max-width:none}[data-art=false] .trace-hero{padding-bottom:110px}
[data-bg-continuous=true] .tactile-approach{--ink:var(--page-ink);--paper:var(--page-paper);--rule:color-mix(in srgb,var(--page-ink) 22%,transparent)}
@media(max-width:1099px){.weave-title{max-width:540px}.weave-title h1{font-size:10vw}.weave-envelope{left:3vw;top:515px;width:150px;height:190px}.weave-ribbon{right:4vw;top:480px;width:145px;height:165px}.weave-hero{min-height:800px}.tactile-opening{gap:6vw}.tactile-opening h2{font-size:55px}.tactile-photo{height:460px}.tactile-method-panels p{font-size:14px}.trace-title h1{font-size:9.8vw}.trace-approach .tactile-opening{gap:6vw}.trace-approach .tactile-photo{width:34%;height:420px;margin-left:4vw}.trace-work .work-example{gap:4vw}.trace-work .work-example h3{font-size:30px}}
@media(max-width:699px){
 [data-design=weave] .site-header,[data-design=trace] .site-header{top:17px;left:25px;right:25px}.weave-hero{padding:145px 25px 60px;min-height:740px}.weave-title h1{font-size:17vw;line-height:1;letter-spacing:-.065em}.weave-title>p{font-size:14px;max-width:300px;margin:25px auto}.weave-title .action{font-size:12px;min-height:48px}.weave-envelope{width:110px;height:150px;top:auto;bottom:45px;left:13vw}.weave-ribbon{width:100px;height:125px;top:auto;bottom:85px;right:13vw}
 .tactile-opening{display:block;margin-bottom:35px}.tactile-opening h2{font-size:44px}.tactile-opening>p{font-size:15px;margin-top:25px}.weave-approach{margin:8px;border-radius:15px;padding:60px 24px}.tactile-process{display:block}.tactile-photo{height:230px;margin-bottom:32px}.tactile-method-panels article{padding:27px 0}.tactile-method-panels h3{font-size:30px}.tactile-method-panels p{font-size:15px}.tactile-process[data-layout=columns] .tactile-method-panels{display:block}.tactile-process[data-layout=columns] .tactile-photo{height:230px}.tactile-process[data-layout=focus] .tactile-method-panels article{min-height:260px}
 .weave-work{padding:70px 25px}.weave-work .work-opening h2{font-size:48px}.weave-work .work-opening p{font-size:14px}.weave-work .work-filters{justify-content:start;gap:5px}.weave-work .work-example{min-height:0;padding:25px 0;gap:15px}.weave-work .work-example h3{font-size:27px}.weave-work .work-example p{font-size:14px}.weave-work .work-track{gap:0}.weave-work[data-work-view=columns] .work-track{grid-template-columns:1fr}.weave-work[data-work-view=shelf] .work-example{flex-basis:calc(100vw - 95px);min-height:350px;padding:25px}
 .weave-footer{margin:8px;border-radius:15px;min-height:650px;padding:65px 25px 0}.weave-invitation h2{font-size:48px}.weave-invitation p{font-size:15px}.weave-footer .footer-end{gap:20px;margin-top:100px}.weave-footer-art img{object-position:60%}
 .trace-hero{padding:145px 25px 0}.trace-title h1{font-size:15.1vw;line-height:1.04}.trace-title p{font-size:14px;margin:25px auto}.trace-title .action{font-size:12px}.trace-grid{inset:50px -20% 0;background-size:48px 48px}.trace-film{height:270px;margin:55px -10px 0;border-radius:65px 65px 0 0}
 .trace-approach{padding:70px 25px}.trace-approach .tactile-opening{display:block;margin-bottom:40px}.trace-approach .tactile-photo{float:none;width:100%;height:220px;margin:0 0 30px}.trace-approach .tactile-method-panels,.trace-approach .tactile-process[data-layout=focus] .method-tabs{max-width:none}.trace-approach .tactile-method-panels h3{font-size:32px}.trace-approach .tactile-method-panels p{font-size:15px}.trace-approach .tactile-process[data-layout=columns] .tactile-photo{height:220px}
 .trace-work{padding:70px 25px}.trace-work .work-opening{display:block;margin-bottom:35px}.trace-work .work-opening h2{font-size:52px}.trace-work .work-opening p{margin-top:24px;font-size:14px}.trace-work .work-example{grid-template-columns:1fr 40px;gap:14px;padding:28px 0}.trace-work .work-example h3{font-size:28px}.trace-work .work-example p{grid-column:1;font-size:14px}.trace-work .work-example .round-arrow{grid-column:2;grid-row:1}.trace-work[data-work-view=columns] .work-track{grid-template-columns:1fr}.trace-work[data-work-view=columns] .work-example{min-height:0}.trace-work[data-work-view=shelf] .work-example{flex-basis:calc(100vw - 90px);min-height:365px;padding:25px}
 .trace-footer{min-height:750px;padding:70px 25px 0}.trace-invitation h2{font-size:54px}.trace-invitation p{font-size:15px}.trace-footer .footer-end{gap:20px;margin-top:130px}.trace-signature{font-size:41vw;margin-top:40px;padding-bottom:25px}
 [data-design=weave][data-navigation=floating] .site-header,[data-design=trace][data-navigation=floating] .site-header{width:calc(100% - 38px);padding:10px 16px;min-height:0;gap:15px}
}

.weave-work[data-work-view=index] .work-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 70px}
.weave-work[data-work-view=index] .work-example{grid-template-columns:1fr 45px;gap:16px 20px;min-height:215px;border:0;border-top:1px solid var(--rule)}
.weave-work[data-work-view=index] .work-example h3{font-size:32px}
@media(max-width:699px){.weave-work[data-work-view=index] .work-track{grid-template-columns:1fr;gap:0}.weave-work[data-work-view=index] .work-example{min-height:0;padding:25px 0}.weave-work[data-work-view=index] .work-example h3{font-size:27px}}
