:root{--paper:#f7f7f2;--ink:#20211e;--accent:#e4fa72;--line:#d4d5cb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #697719;outline-offset:5px}.skip{position:fixed;top:-100px;background:var(--accent);padding:12px;z-index:9}.skip:focus{top:0}header{display:flex;align-items:center;justify-content:space-between;padding:27px 4%;border-bottom:1px solid var(--line)}.logo{font-size:29px;font-weight:700;letter-spacing:-1.7px}.logo span{font-size:13px;vertical-align:top;margin-left:5px}nav{display:flex;gap:35px;align-items:center;font-size:14px}.nav-contact{background:var(--ink);color:white;border-radius:30px;padding:11px 21px}.nav-contact span{margin-left:15px}.hero{padding:40px 4% 58px}.eyebrow{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.1px}h1{font-size:clamp(60px,8.2vw,132px);line-height:1.02;font-weight:500;letter-spacing:-.065em;margin:56px 0 42px}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.065em}.period{color:#64782a}.hero-bottom{display:grid;grid-template-columns:1fr 1.1fr .65fr;gap:40px;align-items:center}.asterisk{font-size:92px;line-height:1}.hero-bottom p{max-width:390px;font-size:18px;line-height:1.6}.pill{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:17px 26px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:40px;font-size:14px;justify-self:end;transition:background .2s,transform .2s}.pill:hover{background:#414537;transform:translateY(-2px)}.work{padding:25px 4% 90px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:23px 0 18px}.section-heading h2{font-size:18px;font-weight:500}.section-heading h2 span{font-size:13px;margin-left:12px;color:#696c61}.section-heading p{font-size:12px;color:#626458}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:55px 30px}.offset{padding-top:90px}.art{border:0;width:100%;height:470px;display:flex;position:relative;overflow:hidden;align-items:center;justify-content:center;flex-direction:column;text-align:center;transition:filter .3s;padding:30px;color:inherit}.art:hover{filter:brightness(.94)}.forme{padding:0;background:#e9cecf}.forme img{width:100%;height:100%;object-fit:cover}.tag{position:absolute;top:20px;left:20px;font-size:10px;letter-spacing:1px;background:#ffffffdc;color:#20211e;padding:6px 10px;border-radius:20px}.view{position:absolute;bottom:19px;right:19px;background:white;color:#20211e;border-radius:30px;padding:9px 15px;font-size:12px;opacity:0;transform:translateY(8px);transition:.2s}.art:hover .view,.art:focus-visible .view{opacity:1;transform:none}.north{background:#dcebb5;color:#263c23;height:400px}.north-logo{font-family:Georgia,serif;font-size:clamp(45px,5.2vw,82px);line-height:.98;letter-spacing:-5px}.north-logo i{font-weight:400}.north-small,.north-bottom,.off-small,.off-bottom,.arc-small,.arc-bottom{font-size:10px;letter-spacing:2px}.north-small{margin-bottom:35px}.north-bottom{margin-top:35px}.offscript{background:#fb522e;color:#21151c;height:430px}.off-logo{font-size:clamp(75px,8vw,120px);line-height:.83;font-weight:900;letter-spacing:-7px;transform:rotate(-7deg);margin:35px 0}.off-logo i{font-family:Georgia,serif;font-weight:500}.arc{background:#bac7f0;color:#203171;height:420px}.arc-logo{font-size:160px;letter-spacing:-16px;font-family:Georgia,serif;line-height:1.1;margin:15px 0 30px}.arc-logo span{font-family:Arial;font-size:25px;letter-spacing:0;vertical-align:top}.arc-bottom{line-height:2}.caption{display:grid;grid-template-columns:1fr auto;padding:15px 0;gap:2px}.caption h3{font-size:21px;font-weight:500;margin:0}.caption p{grid-column:1;margin:0;font-size:13px;color:#66685c}.caption>span{grid-column:2;grid-row:1;font-size:12px}.about{padding:85px 4%;background:var(--accent);display:grid;grid-template-columns:1fr 2fr;gap:40px}.section-kicker{font-size:12px;letter-spacing:1px}h2{font-weight:500} .about h2,.expertise h2{font-size:clamp(38px,4.1vw,65px);line-height:1.1;letter-spacing:-3px;margin:0 0 30px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:35px;max-width:800px}.about-copy p{margin:0 0 30px;line-height:1.8}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:6px}.expertise{padding:95px 4%;display:grid;grid-template-columns:1fr 1fr;gap:70px}.expertise .section-kicker{margin-bottom:30px}.expertise>div>p{color:#64665c}.services details{border-top:1px solid var(--line);padding:24px 0}.services details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:20px;position:relative;padding-right:30px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0}details[open] summary:after{content:'−'}summary span{font-size:12px;margin-right:20px;color:#65675e}.services p{padding-left:38px;max-width:470px;color:#64665c;font-size:15px;line-height:1.7}.contact{background:#22231f;color:var(--paper);padding:80px 4%;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:clamp(68px,7vw,106px);line-height:.98;letter-spacing:-5px;margin:30px 0}.contact>div>p{color:#c6c7bd}.contact .serif{color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:13px;margin-bottom:22px}label span{color:#b7b8ae}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #74766a;color:white;background:transparent;padding:12px 0;border-radius:0;font-size:16px}input:focus,textarea:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:#abada2}textarea{resize:vertical}.form-note{font-size:12px;color:#c6c7bd;max-width:440px}.contact .pill{background:var(--accent);color:var(--ink);margin-top:10px}.contact .pill:hover{background:white}#form-status{font-size:14px;color:var(--accent)}footer{padding:35px 4%;display:flex;align-items:center;justify-content:space-between;font-size:12px}dialog{border:0;background:var(--paper);color:var(--ink);max-width:1000px;width:calc(100% - 30px);padding:45px;max-height:90vh;overflow:auto}dialog::backdrop{background:#141610b8;backdrop-filter:blur(5px)}.close{float:right;background:none;border:1px solid var(--line);padding:8px 15px;border-radius:30px}dialog h2{font-size:55px;letter-spacing:-3px;margin:30px 0 0}#dialog-category{color:#65675e}#dialog-art .art{height:360px;pointer-events:none}#dialog-art .view{display:none}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.case-grid h3{font-size:16px}.case-grid p,.case-note{font-size:15px;line-height:1.7}.case-note{padding:20px;background:#e9eadf}body:has(dialog[open]){overflow:hidden}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:750px){header{padding:20px 5%}.logo{font-size:25px}nav{gap:18px}nav a:nth-child(3){display:none}.nav-contact{padding:8px 14px}.nav-contact span{display:none}.hero{padding:28px 5% 40px}.eyebrow{font-size:10px}.eyebrow span:last-child{display:none}h1{font-size:clamp(51px,10.3vw,77px);margin:40px 0 28px}.hero-bottom{grid-template-columns:1fr 3fr;gap:20px}.asterisk{font-size:65px}.hero-bottom p{font-size:16px;margin:0}.hero-bottom .pill{grid-column:2;justify-self:start}.work{padding:10px 5% 45px}.section-heading{display:block}.section-heading h2{margin:0 0 5px}.section-heading p{margin:0}.grid{grid-template-columns:1fr;gap:24px}.offset{padding-top:0}.art,.north,.offscript,.arc{height:390px}.north-logo{font-size:70px}.off-logo{font-size:100px}.view{opacity:1;transform:none}.about,.expertise,.contact{grid-template-columns:1fr;gap:35px;padding:50px 5%}.about h2,.expertise h2{font-size:43px;letter-spacing:-2px}.about-copy{grid-template-columns:1fr;gap:0}.about-copy p{margin-bottom:20px}.expertise{gap:25px}.contact h2{font-size:80px}.form-row{grid-template-columns:1fr;gap:0}footer{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 5%}footer>a:last-child{text-align:right}dialog{padding:25px}.case-grid{grid-template-columns:1fr;gap:0}dialog h2{font-size:43px}.close{float:none;margin-bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.illustrations{padding:0 4% 90px}.illustration-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.illustration-grid img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.illustration-intro h2{font-size:clamp(40px,4.4vw,68px);line-height:1.05;letter-spacing:-3px}.illustration-intro p{max-width:330px;line-height:1.8;margin-bottom:30px;color:#64665c}@media(max-width:750px){nav{gap:12px;font-size:13px}nav a:nth-child(3),nav a:nth-child(4){display:none}nav a:nth-child(2){display:inline}.illustrations{padding:0 5% 50px}.illustration-grid{grid-template-columns:1fr;gap:25px}.illustration-intro h2{font-size:45px;margin:20px 0}.section-heading h2 span{display:block;margin:5px 0}}
/* Real portfolio collections */
.portfolio{padding:0 4% 80px}.work-intro{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding:25px 0 18px}.work-intro h2{font-size:28px;letter-spacing:-1px;margin:0}.work-intro p{font-size:14px;color:#64665c}.category-nav{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:25px}.category-nav a{border:1px solid var(--line);padding:10px 15px;border-radius:30px;font-size:13px;background:transparent;transition:background .2s}.category-nav a:hover{background:var(--accent);border-color:var(--accent)}.category-nav span{margin-left:12px;font-size:11px;color:#6c6d64}.portfolio-category{padding:50px 0 15px;border-bottom:1px solid var(--line)}.category-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:28px}.category-heading h2{font-size:clamp(32px,3.4vw,50px);letter-spacing:-2px;line-height:1.1;margin:15px 0 0}.category-heading sup{font-size:12px;letter-spacing:0;vertical-align:top;display:inline-block;margin:5px 0 0 12px;padding:5px 8px;background:#e8e9df;border-radius:20px}.category-heading>p{font-size:15px;color:#64665c;max-width:310px;margin:0;line-height:1.7}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.portfolio-card[hidden]{display:none}.gallery-open{padding:15px;border:0;display:block;width:100%;aspect-ratio:1/1.1;background:#eeeee8;position:relative;overflow:hidden}.gallery-open img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s;mix-blend-mode:multiply}.gallery-open:hover img{transform:scale(1.025)}.image-open{position:absolute;right:12px;bottom:12px;background:var(--ink);color:white;border-radius:30px;font-size:12px;padding:8px 13px;opacity:0;transform:translateY(5px);transition:.2s}.gallery-open:hover .image-open,.gallery-open:focus-visible .image-open{opacity:1;transform:none}.art-caption{display:flex;justify-content:space-between;gap:10px;padding:12px 0 0}.art-caption h3{font-size:15px;line-height:1.45;font-weight:500;margin:0}.art-caption>span{font-size:11px;color:#74766a;padding-top:2px}.category-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 0 20px}.category-bottom p{font-size:12px;color:#6b6d60}.collection-toggle{border:1px solid var(--line);padding:12px 19px;border-radius:30px;font-size:13px;color:var(--ink);background:transparent}.collection-toggle:hover{background:var(--ink);color:white}.collection-toggle span{margin-left:12px}.illustration-category{padding-top:65px}.illustration-category .portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.illustration-category .gallery-open{padding:0;background:#eeeee8;aspect-ratio:4/5}.illustration-category .gallery-open img{mix-blend-mode:normal}.illustration-category .category-heading h2{font-size:clamp(40px,5vw,70px)}.contact-email{display:inline-block;margin-top:12px;color:var(--accent);border-bottom:1px solid #7b8651;padding-bottom:4px;font-size:18px}.honeypot{display:none!important}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-toolbar .close{float:none;margin:0;white-space:nowrap}dialog h2{font-size:34px;letter-spacing:-1px;margin-top:24px;line-height:1.2}.lightbox-hint{font-size:13px;color:#737568}#dialog-art{background:#eeeee8;margin-top:25px}#dialog-art>img{display:block;max-width:100%;width:auto;height:auto;max-height:1100px;object-fit:contain;margin:auto}.lightbox-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0}.lightbox-navigation button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 16px;font-size:13px}.lightbox-navigation button:hover{background:var(--accent)}#image-counter{font-size:13px;color:#67695e}@media(max-width:900px){.illustration-category .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-heading{align-items:start;flex-direction:column;gap:15px}.category-heading>p{max-width:500px}.category-nav{gap:8px}.category-nav a{padding:9px 12px}}@media(max-width:750px){.portfolio{padding:0 5% 45px}.work-intro{display:block}.work-intro p{margin-bottom:5px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.illustration-category .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-heading h2{font-size:34px}.portfolio-category{padding-top:35px}.gallery-open{padding:5px}.art-caption h3{font-size:13px}.image-open{display:none}.category-bottom{align-items:start}.category-bottom p{max-width:100px}.collection-toggle{font-size:12px}.contact-email{font-size:17px}.category-nav a{font-size:12px}.category-nav span{margin-left:6px}.category-nav a:nth-child(n){display:inline-block}.lightbox-toolbar{gap:10px}.lightbox-toolbar .section-kicker{font-size:10px}.lightbox-navigation button{padding:10px 12px}dialog h2{font-size:27px}.gallery-open:focus-visible{outline-offset:2px}}@media(max-width:380px){header .logo{font-size:23px}header nav{gap:9px;font-size:12px}.nav-contact{padding:8px 10px}.hero h1{font-size:48px}.category-nav a{font-size:11px}}
