:root{--cw-mist: #f5f1e8;--cw-brick: #9a372b;--cw-charcoal: #141414;--cw-slate: #566066;--cw-rule: #d8d6cf;--cw-paper-deep: #ebe6dc;--paper: var(--cw-mist);--paper-deep: var(--cw-paper-deep);--ink: var(--cw-charcoal);--muted: var(--cw-slate);--rule: var(--cw-rule);--accent: var(--cw-brick);--accent-dark: #7a2d22;--shell: min(1240px, calc(100vw - 48px) );--font-display: "Arial Black", "Aptos Display", Arial, sans-serif;--font-sans: Arial, "Helvetica Neue", sans-serif;--font-body: Arial, "Helvetica Neue", sans-serif;--space-1: clamp(.75rem, 1vw, 1rem);--space-2: clamp(1.25rem, 2vw, 2rem);--space-3: clamp(2rem, 4vw, 4rem);--space-4: clamp(4rem, 8vw, 8rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem;background:var(--paper)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.62}a{color:inherit;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;z-index:20;top:1rem;left:1rem;transform:translateY(-160%);padding:.65rem 1rem;background:var(--acid);color:var(--ink)}.skip-link:focus{transform:none}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:900;line-height:.94;letter-spacing:-.045em}h1{font-size:clamp(3.25rem,7.4vw,7.2rem);max-width:12ch}h2{font-size:clamp(2.3rem,4.5vw,4.4rem);max-width:15ch}h3{font-size:clamp(1.5rem,2.2vw,2.15rem)}.accent-text,.slash-inline{color:var(--accent)}p{margin:0}.lede{max-width:62ch;color:#3e3f3b;font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.5}.section-label,.eyebrow{display:block;font-family:var(--font-sans);font-size:.73rem;font-weight:700;letter-spacing:.14em;line-height:1.2;text-transform:uppercase}.section-label:before{content:"/";display:inline-block;margin-right:.65rem;color:var(--accent);font-family:var(--font-display);font-size:1rem;font-weight:900}.ruled-section{border-top:1px solid var(--rule);padding-block:var(--space-4)}.section-heading{display:grid;gap:1.5rem;margin-bottom:var(--space-3)}.section-heading.inline{grid-template-columns:1fr auto;align-items:end}.split-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:var(--space-3)}.split-heading>div{display:grid;gap:var(--space-2)}.section-dark{background:var(--ink);color:var(--paper)}.section-dark p{color:#c8c8c0}.button{display:inline-flex;align-items:center;justify-content:space-between;min-width:15.5rem;padding:.9rem 1rem;background:var(--accent);color:#fff;font-weight:700;text-decoration:none}.button:hover{background:var(--accent-dark)}.text-link{display:inline-flex;gap:.65rem;width:fit-content;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}.text-link.light{color:var(--paper)}.site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid var(--rule);background:#f5f1e8f5;backdrop-filter:blur(12px)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{display:inline-flex;align-items:baseline;gap:.32em;font-family:var(--font-display);font-size:1.05rem;font-weight:900;letter-spacing:-.045em;line-height:1;text-decoration:none;text-transform:uppercase;white-space:nowrap}.wordmark-calton,.wordmark-works{color:inherit;font:inherit;letter-spacing:inherit}.wordmark-slash{color:var(--accent);font:inherit}nav ul{display:flex;gap:clamp(1rem,3vw,2.5rem);margin:0;padding:0;list-style:none}nav a{font-family:var(--font-sans);font-size:.86rem;font-weight:700;text-decoration:none}nav a[aria-current=page]{box-shadow:0 5px 0 -3px var(--ink)}.anchor-section,.contact-cta{scroll-margin-top:5rem}.hero{min-height:calc(100vh - 73px);min-height:calc(100svh - 73px);display:grid;align-items:stretch}.hero-grid{position:relative;display:grid;grid-template-columns:1fr 2.2fr;grid-template-rows:auto auto 1fr auto;column-gap:var(--space-3);padding-block:1.5rem 2rem;overflow:hidden}.hero-kicker{grid-column:1 / -1;display:flex;justify-content:space-between;color:var(--muted);font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hero-lockup{grid-column:1 / -1;position:relative;z-index:1;display:flex;align-items:baseline;gap:.18em;padding-block:clamp(2.5rem,7vh,5.5rem) clamp(2rem,5vh,4rem);border-bottom:1px solid var(--rule);font-family:var(--font-display);font-size:clamp(3rem,8.6vw,8.6rem);font-weight:900;letter-spacing:-.08em;line-height:.78;text-transform:uppercase;white-space:nowrap}.hero-lockup span{font:inherit}.hero-lockup b{color:var(--accent);font:inherit}.hero-copy{grid-column:1 / -1;align-self:center;display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-3);align-items:end;padding-block:clamp(2.5rem,6vh,5rem)}.hero-copy h1{max-width:11ch;font-size:clamp(2.5rem,5vw,5.2rem)}.hero-intro{display:grid;gap:var(--space-2);align-content:end}.hero-intro>p{max-width:54ch;font-size:clamp(1.05rem,1.5vw,1.3rem)}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:.75rem}.hero-index{grid-column:1 / -1;display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--rule);padding-top:1rem;font-family:var(--font-sans);color:var(--muted);font-size:.7rem;font-weight:700;line-height:1.3;letter-spacing:.1em}.hero-index>span:first-child{font-size:clamp(2rem,4vw,4rem);color:var(--accent);letter-spacing:-.06em}.weave-band{position:relative;height:5.5rem;overflow:hidden}.hero-grid>.weave-band{position:absolute;top:19%;right:-4rem;width:min(42vw,34rem);height:40%;opacity:.28}.weave-band span,.weave-band i{position:absolute;display:block;background:currentColor}.weave-band span{left:0;right:0;height:1px;color:var(--rule)}.weave-band span:nth-child(1){top:18%}.weave-band span:nth-child(2){top:42%}.weave-band span:nth-child(3){top:66%}.weave-band span:nth-child(4){top:82%}.weave-band i{top:0;bottom:0;width:1px;color:var(--rule)}.weave-band i:nth-of-type(1){left:23%}.weave-band i:nth-of-type(2){left:56%;background:var(--accent);width:3px}.weave-band i:nth-of-type(3){left:78%}.weave-band:after{content:"";position:absolute;left:0;right:0;top:calc(42% - 3px);height:7px;background:linear-gradient(90deg,transparent 0 17%,var(--accent) 17% 31%,transparent 31% 52%,var(--ink) 52% 65%,transparent 65%)}.intro-section .lede{margin-top:.25rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--rule);margin-bottom:2rem}.service-area{display:grid;align-content:start;gap:1.3rem;padding:2rem;border-right:1px solid var(--rule)}.service-area:first-child{padding-left:0}.service-area:last-child{border-right:0}.service-number{color:var(--muted);font-family:var(--font-sans);font-size:.75rem;font-weight:700}.service-area>p:not(.service-number){color:var(--muted)}.service-area ul{margin:.5rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--rule);list-style:none}.service-area li{padding-block:.35rem;font-size:.9rem}.service-area li:before{content:"—";margin-right:.6rem;color:var(--muted)}.section-footnote{max-width:62ch;color:var(--muted)}.principles{padding-block:var(--space-4)}.principle-list{margin:0;padding:0;border-top:1px solid #555650;list-style:none}.principle-list li{display:grid;grid-template-columns:.4fr 1.2fr 1.5fr;gap:2rem;align-items:baseline;padding-block:1.65rem;border-bottom:1px solid #555650}.principle-list li>span{color:#c27a3a;font-family:var(--font-sans);font-size:.7rem;font-weight:700}.principle-list h3{font-size:clamp(1.3rem,2.3vw,2.35rem)}.principle-list p{max-width:42ch}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--rule)}.work-card,.work-note{padding:2rem;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.work-card:nth-child(odd){padding-left:0}.work-card:nth-child(2n),.work-note{border-right:0}.work-card{display:grid;gap:1.2rem}.work-meta{display:flex;justify-content:space-between;font-family:var(--font-sans);color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.work-card>p,.work-note>p:last-child{max-width:58ch;color:var(--muted)}.organisation{font-weight:700}.tag-list,.filter-key{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none}.tag-list li,.filter-key span{border:1px solid var(--rule);padding:.25rem .55rem;font-family:var(--font-sans);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.project-links{display:flex;gap:1rem}.commercial,.about-preview{background:var(--paper-deep)}.commercial+.about-preview{background:var(--paper)}.commercial p,.about-preview p,.process p,.tools p{max-width:60ch;font-size:1.08rem}.about-preview .split-heading>div p+p{margin-top:-.5rem;color:var(--muted)}.credential-line{display:flex;flex-wrap:wrap;gap:0;margin-top:.5rem;border-block:1px solid var(--rule)}.credential-line span{padding:.7rem 1rem .7rem 0;margin-right:1rem;color:var(--muted);font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.credential-line span+span{border-left:1px solid var(--rule);padding-left:1rem}.calton-note{padding-block:var(--space-4);background-color:var(--cw-rule);background-image:linear-gradient(90deg,transparent 49.8%,rgba(20,20,20,.09) 50%,transparent 50.2%);background-size:12.5% 100%}.calton-note h2{margin:var(--space-2) 0;max-width:12ch}.calton-note>.shell>p:nth-of-type(2){max-width:56ch;margin-left:auto}.calton-note .weave-band{width:min(58rem,100%);margin-top:var(--space-3);color:var(--ink)}.contact-cta{padding-block:var(--space-4)}.contact-cta h2{max-width:13ch}.contact-cta .text-link{margin-top:1rem}.page-hero{padding-block:var(--space-4)}.page-hero h1{margin:1.5rem 0 2rem;max-width:12ch;font-size:clamp(3.5rem,8vw,7.5rem)}.service-detail>.shell{display:grid}.service-detail .service-area{grid-template-columns:.25fr 1fr 1.2fr;border:0;border-bottom:1px solid var(--rule);padding:2.5rem 0}.service-detail .service-area h3{max-width:12ch}.service-detail .service-area ul{margin:0;padding:0 0 0 1rem;border:0}.process,.founder{padding-block:var(--space-4)}.filter-key{margin:0 0 3rem}.work-index .work-grid{grid-template-columns:repeat(2,1fr)}.work-index .work-card:nth-child(odd){padding-left:0}.work-index .work-card:nth-child(2n){border-right:0}.about-story p+p{margin-top:1.2rem}.founder-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3);align-items:center}.portrait-placeholder{aspect-ratio:4 / 5;display:grid;place-items:center;border:1px solid #555650;background:repeating-linear-gradient(135deg,transparent 0 18px,#292a27 18px 19px)}.portrait-placeholder span{padding:.6rem;background:var(--ink);color:#8e8f88;font-family:var(--font-sans);font-size:.7rem;text-align:center;text-transform:uppercase;letter-spacing:.12em}.founder h2{margin:1.5rem 0}.founder p{max-width:58ch}.profile-links{display:flex;gap:2rem;margin-top:2rem}.contact-page{min-height:68vh;display:grid;align-items:center;padding-block:var(--space-4)}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-4);align-items:end}.contact-grid h1{margin:1.5rem 0 2rem;font-size:clamp(3.5rem,8vw,7.5rem)}.contact-panel{display:grid;gap:1.5rem;border-top:4px solid var(--ink);padding-top:1.5rem}.email-link{display:flex;justify-content:space-between;gap:1rem;font-family:var(--font-sans);font-size:clamp(1.15rem,2.2vw,1.7rem);font-weight:700;text-decoration:none}.contact-panel>p:not(.section-label){color:var(--muted)}.contact-social{display:flex;gap:2rem;padding-top:1rem;border-top:1px solid var(--rule)}.contact-prompts ul{margin:1.5rem 0 0;padding:0;list-style:none}.contact-prompts li{max-width:50rem;padding:1.2rem 0;border-bottom:1px solid var(--rule);font-family:var(--font-sans);font-size:clamp(1.25rem,2.5vw,2.2rem);font-weight:650;line-height:1.1}.contact-prompts li:before{content:"↳";margin-right:1rem;color:var(--muted)}.prose-page{max-width:850px;padding-block:var(--space-4)}.prose-page h1{margin:1.5rem 0 2rem}.prose-page h2{margin:3rem 0 1rem;font-size:clamp(1.75rem,3vw,2.5rem)}.prose-page p{max-width:65ch}.notice{width:fit-content;padding:.5rem .75rem;background:var(--accent);color:#fff;font-weight:700}.not-found{min-height:65vh;display:grid;align-content:center;gap:1.5rem}.site-footer{padding-top:var(--space-3);background:#161715;color:var(--paper)}.footer-main{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3);padding-bottom:var(--space-3)}.footer-wordmark{margin-bottom:1rem;font-size:1.15rem}.site-footer p{color:#a8a8a1}.footer-links{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}.footer-links>div{display:grid;align-content:start;gap:.7rem}.footer-links a{text-decoration:none}.footer-links .eyebrow{margin-bottom:.5rem;color:#85867f}.legal{display:flex;justify-content:space-between;gap:2rem;padding-block:1.25rem;border-top:1px solid #383936;font-size:.72rem}.legal p:last-child{text-align:right}@media(max-width:760px){:root{--shell: min(100% - 28px, 1240px)}body{font-size:.95rem}.header-inner{min-height:auto;padding-block:.8rem;align-items:center;gap:1rem}.site-header .wordmark{font-size:.83rem}nav ul{display:grid;grid-template-columns:repeat(2,auto);gap:.2rem 1.2rem}nav a{font-size:.78rem}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;min-height:calc(100svh - 70px)}.hero-kicker span:last-child{display:none}.hero-lockup{white-space:normal;line-height:.86}.hero-copy{grid-column:1;grid-template-columns:1fr;align-self:center}.hero-grid>.weave-band{top:21%;right:-30%;width:90%;opacity:.35}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.button{width:100%}.split-heading,.contact-grid,.footer-main,.founder-grid{grid-template-columns:1fr}.split-heading{gap:2rem}.service-grid{grid-template-columns:1fr}.service-area,.service-area:first-child{padding:1.75rem 0;border-right:0;border-bottom:1px solid var(--rule)}.principle-list li{grid-template-columns:.25fr 1fr;gap:1rem}.principle-list li p{grid-column:2}.section-heading.inline,.work-grid,.work-index .work-grid{grid-template-columns:1fr}.work-card,.work-card:first-child,.work-index .work-card:nth-child(odd),.work-index .work-card:nth-child(2n),.work-note{padding:1.5rem 0;border-right:0}.calton-note{background-size:25% 100%}.calton-note>.shell>p:nth-of-type(2){margin-left:0}.service-detail .service-area{grid-template-columns:.2fr 1fr}.service-detail .service-area>p:not(.service-number),.service-detail .service-area ul{grid-column:2;padding-left:0}.portrait-placeholder{max-width:20rem}.contact-grid{align-items:start}.footer-links{grid-template-columns:1fr 1fr}.legal{flex-direction:column;gap:.4rem}.legal p:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
