@font-face{font-family:Barlow;src:url('/assets/barlow-condensed.ttf')}@font-face{font-family:Baskerville;src:url('/assets/libre-baskerville.ttf')}@font-face{font-family:DM;src:url('/assets/dm-serif-display.ttf')}
:root{--paper:#f1e9db;--teal:#224a49;--sea:#84b7af;--red:#d93b22;--orange:#da875e;--ink:#24231f;--serif:Baskerville,Georgia,serif;--display:Barlow,'Arial Narrow',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--teal);font:17px/1.6 var(--serif);background-image:url('/assets/retro-grain.png')}body:before{content:'';position:fixed;inset:0;background:url('/assets/crumpled-cream-paper.webp') center/cover;opacity:.15;mix-blend-mode:multiply;pointer-events:none;z-index:10}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.04;text-transform:uppercase}p+p{margin-top:20px}a,button,input,textarea{outline-offset:6px}a:focus-visible,button:focus-visible{outline:3px solid var(--red)}.wrap{width:min(1170px,calc(100% - 64px));margin:auto}.center{text-align:center}.skip{position:absolute;left:10px;top:-100px;z-index:60;background:var(--paper);padding:12px}.skip:focus{top:10px}.display{font-size:clamp(72px,12.2vw,175px);line-height:.94;letter-spacing:-.015em;text-shadow:4px 5px 0 #a1c2b0}.display.light{color:var(--paper);text-shadow:5px 5px 0 #aa6549}.eyebrow{display:flex;align-items:center;gap:20px;font:600 29px/1.2 var(--display);text-transform:uppercase;margin-bottom:20px}.eyebrow:after,.eyebrow:before{content:'';height:15px;border-top:3px solid currentColor;border-bottom:3px dotted currentColor;flex:1}.eyebrow span{flex-shrink:0}.eyebrow:before{display:none}.welcome>.eyebrow:before,.people>.eyebrow:before,.services-intro>.eyebrow:before{display:block}.ribbon{position:relative;display:table;margin:25px auto 0;text-align:center;padding:5px 35px;background:var(--red);color:var(--paper);font:italic 36px/1.3 Georgia,serif;isolation:isolate;max-width:calc(100% - 55px);box-shadow:0 2px 0 #b83823}.ribbon:before,.ribbon:after{content:'';position:absolute;z-index:-1;top:-14px;width:65px;height:100%;background:#b92f1e;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,15% 50%)}.ribbon:before{left:-38px}.ribbon:after{right:-38px;transform:scaleX(-1)}.ribbon span{position:relative}.rule-link{display:inline-block;padding:6px 14px;border:0;border-top:3px solid currentColor;border-bottom:3px solid currentColor;background:transparent;color:var(--red);font:600 27px/1.2 var(--display);text-transform:uppercase;margin-top:27px;transition:color .2s,background .2s}.rule-link:hover{color:var(--teal);background:#f2ead633}.rule-link:before,.rule-link:after{content:'•';margin:0 8px}.site-header{position:relative;z-index:20;border-top:7px solid var(--sea);padding:11px 28px 15px;background:var(--paper);background-image:url('/assets/retro-grain.png')}.header-inner{display:grid;grid-template-columns:1fr 255px 1fr;gap:26px;align-items:center;margin:auto;max-width:1390px}.header-inner nav{display:flex;align-items:center;justify-content:center;gap:17px;border-block:2px solid var(--sea);min-height:49px;white-space:nowrap}.site-header nav a{font:600 24px/1 var(--display);text-transform:uppercase}.site-header nav a:hover{color:var(--red)}.site-header i{font-style:normal;font-size:15px;color:var(--sea)}.logo{padding:8px 12px}.logo img{width:100%;height:auto;mix-blend-mode:multiply}.menu-toggle{display:none}#mobile-nav[hidden]{display:none}
.hero{position:relative;height:770px;background:var(--sea);overflow:hidden}.hero-art{height:100%;width:100%;object-fit:cover;object-position:center 58%}.hero-title{position:absolute;top:54px;left:0;right:0;text-align:center;color:var(--red)}.hero-title h1{font-size:90px;line-height:1;letter-spacing:-.015em;-webkit-text-stroke:1px var(--paper);text-shadow:4px 5px 0 var(--teal)}.hero-title p{font:italic 39px/1.1 Georgia,serif;color:var(--teal);text-shadow:1px 1px var(--paper)}.hero-ribbon{position:absolute;bottom:48px;left:0;right:0}.hero-ribbon .ribbon{font-size:31px}.hero-seal{position:absolute;right:7%;top:52%;width:178px;height:178px;border:3px double var(--teal);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(12deg);text-align:center;background:#f1e9db33;font:600 25px/1.05 var(--display)}.hero-seal small{font-size:17px;margin-top:8px}.hero-seal b{font-size:17px;margin-top:8px}.hero-seal:hover{background:var(--paper);transform:rotate(0deg)}
.welcome{padding-block:80px 110px}.welcome:before,.people:before{content:'';position:absolute;left:0;right:0;height:280px;z-index:-1;background:radial-gradient(var(--teal) .6px,transparent .9px);background-size:5px 5px;opacity:.12}.little-star{text-align:center;font-size:36px;line-height:1;margin:5px 0 20px}.welcome>.display{font-size:175px}.welcome-grid{display:grid;grid-template-columns: .82fr 1.2fr;gap:65px;align-items:center;margin-top:85px}.highlight{font-size:36px;line-height:1.28;margin-bottom:24px}.highlight span{background:#547e6f;color:var(--paper);box-shadow:8px 0 #547e6f,-6px 0 #547e6f;box-decoration-break:clone;-webkit-box-decoration-break:clone}.welcome p{color:#393932}.service-summary{padding:0;list-style:none;margin:24px 0 0}.service-summary li{border-bottom:2px dotted #a8aaa088;padding:9px 0}.service-summary li:before{content:'✦';color:var(--red);margin-right:13px}.studio-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}.studio-preview a{position:relative}.studio-preview img{height:450px;width:100%;object-fit:cover;object-position:50% 22%;filter:sepia(.17)}.studio-preview span{position:absolute;bottom:23px;left:16px;right:16px;background:var(--red);color:var(--paper);font:600 28px var(--display);text-transform:uppercase;text-align:center}.studio-preview:after{content:'';position:absolute;bottom:-18px;left:6%;right:6%;height:10px;background:radial-gradient(var(--teal) 1px,transparent 1.6px) 0 0/5px 5px}
.work-band{padding:95px 0 90px;background:var(--orange) url('/assets/retro-grain.png');position:relative}.work-head{display:flex;align-items:flex-start;justify-content:space-between;gap:50px;margin-bottom:75px}.work-head>div:first-child{width:690px}.work-head .eyebrow{margin-bottom:10px}.pennant{background:#527f73;color:var(--paper);padding:29px 23px 57px;clip-path:polygon(0 0,100% 0,100% 100%,50% 89%,0 100%);width:198px;margin-top:-120px;text-align:center;box-shadow:6px 0 #b8b8a7;font:600 28px/1.1 var(--display)}.pennant span{display:block;border:4px double #b2cbb9;padding:20px 8px}.pennant b{display:block;font-size:20px;line-height:1.2;margin-top:15px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;row-gap:55px}.project-card{text-align:center;min-width:0;display:block}.project-frame{display:block;position:relative;border-radius:50%;padding:13px;background:var(--paper) url('/assets/retro-grain.png');box-shadow:0 0 0 1px #e9dece80;aspect-ratio:1;overflow:hidden}.project-frame>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;transition:transform .35s,filter .35s}.project-hover{position:absolute;inset:13px;background:#224a49bd;color:var(--paper);border-radius:50%;display:grid;place-content:center;font:600 32px var(--display);text-transform:uppercase;opacity:0;transition:opacity .25s}.project-card:hover .project-hover,.project-card:focus-visible .project-hover{opacity:1}.project-card:hover img{transform:scale(1.04)}.project-card h3{font-size:30px;margin-top:28px;position:relative}.project-card h3 span{display:inline-block;background:#527f73;color:var(--paper);padding:9px 18px;min-width:70%}.project-card:hover h3 span{background:var(--red)}.project-card>p{font-size:14px;margin-top:11px;color:#303d35}.work-band .center{margin-top:35px}.work-band .rule-link{color:var(--teal)}
.approach{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-block:110px}.approach-art{display:flex;align-items:center;margin-left:-110px}.approach-art img{width:100%;max-height:680px;object-fit:contain;mix-blend-mode:multiply;filter:sepia(.18)}.approach .display{font-size:140px}.approach .eyebrow{font-size:24px}.approach .ribbon{margin-left:15px;font-size:35px}.approach-copy{padding:40px 20px 0 65px;color:#363b34}.approach .rule-link{margin-left:65px}.small-art{display:flex;gap:35px;margin-top:35px}.small-art img{width:43%;height:155px;object-fit:contain;mix-blend-mode:multiply}
.story-band{background:var(--ink) url('/assets/retro-grain.png');color:var(--paper);padding:90px 0;outline:3px dotted #b8ae98;outline-offset:-20px}.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:85px}.story-grid h2{font-size:75px;line-height:1.2;margin-bottom:36px}.story-grid h2 span{background:var(--red);padding:3px 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.story-grid p{max-width:480px}.story-grid .rule-link{color:var(--paper)}.story-art img{aspect-ratio:1;width:100%;object-fit:cover;border-radius:50%;filter:sepia(.8);border:10px solid #c8bda9}.story-caption{font:italic 25px/1.4 Georgia,serif;text-align:center;margin-top:24px}
.people{padding-block:100px}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;max-width:950px;margin:70px auto 0}.people-grid article{text-align:center}.portrait{display:block;max-width:370px;margin:auto;border:12px solid #d7cfc0;outline:5px solid var(--paper);border-radius:50%;overflow:hidden;aspect-ratio:1}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;filter:sepia(.18);transition:transform .3s}.portrait:hover img{transform:scale(1.025)}.people h3{font-size:48px;margin-top:24px}.person-role{font:italic 27px Georgia,serif;color:var(--red);margin:10px 0 24px}.people-grid article>p:last-of-type{font-size:16px;color:#3e4038}
.contact-band{background:var(--sea) url('/assets/retro-grain.png');padding:100px 0;position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact-band .display{font-size:140px;text-shadow:4px 5px #598d80}.contact-band .eyebrow{font-size:27px}.contact-band .ribbon{margin:30px 0 35px 30px}.contact-band p{max-width:420px}.signature{font:italic 37px/1.25 Georgia,serif;margin-top:28px}.letter{position:relative;background:var(--paper) url('/assets/retro-grain.png');padding:33px;box-shadow:8px 9px 0 #426e6655;border:10px solid transparent;border-image:repeating-linear-gradient(135deg,#ad4733 0 12px,var(--paper) 12px 24px,#477777 24px 36px,var(--paper) 36px 48px) 10}.form-note{font:14px/1.5 var(--serif);margin-bottom:25px}.letter label{display:block;font:600 20px/1.3 var(--display);text-transform:uppercase;margin-top:16px}.letter input,.letter textarea{display:block;border:0;border-bottom:1px solid #9faaa0;background:#fff8ed80;color:var(--teal);width:100%;padding:11px;margin-top:6px;font:16px/1.5 var(--serif);border-radius:0}.letter textarea{resize:vertical;min-height:120px}.letter input:focus,.letter textarea:focus{outline:2px solid var(--teal)}.letter .rule-link{margin-top:22px}.letter #form-status{font-size:14px;margin-top:16px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}footer{background:var(--ink) url('/assets/retro-grain.png');color:var(--paper);padding:55px 0 28px;border-top:4px dotted var(--paper)}.footer-logo{width:210px;filter:invert(.88);mix-blend-mode:screen}footer nav{display:flex;gap:18px;align-items:center;font:600 21px var(--display);text-transform:uppercase}footer p{font:15px var(--display)}footer nav span{font-size:10px;color:#a6ad92}.end-line{text-align:center;margin-top:35px;font:italic 17px Georgia,serif;color:#c6bda9}
.page-banner{margin:0 24px;padding:90px 20px 110px;background:var(--sea) url('/assets/retro-grain.png');text-align:center;border-radius:0 0 16px 16px;min-height:370px}.page-banner h1{font-size:100px;-webkit-text-stroke:1px var(--paper);text-shadow:5px 6px 0 #102e2e;color:var(--teal)}.page-banner .ribbon{min-width:290px;font-size:30px;margin-top:38px}.crumb-dot{padding:0 15px}.services-intro{padding-block:90px}.intro-text{max-width:700px;text-align:center;margin:45px auto 0}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px 100px;margin-top:65px}.services-grid article{text-align:center}.service-art{height:190px;width:260px;object-fit:contain;margin:auto auto 28px;mix-blend-mode:multiply}.services-grid h3{font-size:47px;margin-bottom:20px}.service-tags{font:600 21px/1.5 var(--display);padding-block:15px;border-block:2px dotted #647b6d}.services-grid .rule-link{font-size:23px}.biography{padding-block:100px;display:grid;grid-template-columns:.8fr 1.15fr;gap:100px;align-items:start}.bio-photo img{width:100%;max-height:600px;object-fit:cover;object-position:top;border:14px solid #d7cfc0}.biography h2{font-size:65px}.biography h3{font-size:35px;margin:35px 0 25px}.biography p{margin-bottom:23px}.biography .signature{color:var(--red);font-size:30px}.bio-photo .ribbon{font-size:30px}.case-detail{padding-block:75px}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:40px}.case-intro h2{font-size:80px}.case-intro .eyebrow{font-size:24px}.case-image{border:15px solid #e0d7c5;box-shadow:6px 7px 0 #224a4922}.case-image img{width:100%;height:auto}.case-caption{max-width:700px;margin-top:30px}.more-work{padding-bottom:95px}.more-work h2{font-size:60px;margin-bottom:45px}.short-cta{padding:70px 0;text-align:center}.short-cta h2{font-size:65px}
@media(min-width:1600px){.hero-art{object-fit:contain}.hero{height:850px;background:var(--paper) url("/assets/retro-grain.png")}}
@media(max-width:1100px){.header-inner{grid-template-columns:1fr 210px 1fr;gap:16px}.header-inner nav{gap:10px}.site-header nav a{font-size:20px}.welcome>.display{font-size:145px}.welcome-grid{gap:35px}.studio-preview img{height:410px}.display{font-size:130px}.approach .display,.contact-band .display{font-size:110px}.approach{gap:25px}.approach-art{margin-left:-35px}.approach-copy{padding-left:20px}.approach .rule-link{margin-left:20px}.contact-grid{gap:55px}.story-grid{gap:55px}.story-grid h2{font-size:60px}.footer-inner{flex-wrap:wrap;justify-content:center}.biography{gap:50px}}
@media(max-width:900px){.header-inner{display:flex;justify-content:space-between}.header-inner nav{display:none}.logo{width:215px}.site-header{padding:8px 20px;border-top-width:5px}.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--teal);font:600 22px var(--display);text-transform:uppercase;padding:12px}.menu-toggle span{font-size:23px}#mobile-nav{padding:20px 15px;display:grid;gap:22px;border-top:2px solid var(--sea)}.hero{height:650px}.hero-title h1{font-size:70px}.hero-title p{font-size:32px}.hero-seal{width:140px;height:140px;font-size:20px;right:3%}.hero-seal small{font-size:14px}.welcome>.display{font-size:120px}.eyebrow{font-size:24px;gap:12px}.welcome-grid{grid-template-columns:1fr;margin-top:65px}.studio-preview{grid-row:1;max-width:650px}.studio-preview img{height:420px}.welcome-grid>div:first-child{max-width:650px}.work-head>div:first-child{width:70%}.pennant{width:160px;font-size:23px}.project-grid{gap:24px}.project-frame{padding:9px}.project-card h3{font-size:25px}.project-card h3 span{padding:8px 10px}.project-card>p{font-size:13px}.approach{grid-template-columns:.8fr 1.2fr}.approach .display{font-size:95px}.approach .eyebrow{font-size:20px}.approach .ribbon{font-size:27px}.approach-copy{padding-left:0}.approach .rule-link{margin-left:0}.small-art{gap:10px}.story-grid{grid-template-columns:1fr 1fr;gap:35px}.story-grid h2{font-size:50px}.story-caption{font-size:22px}.people-grid{gap:40px}.contact-grid{grid-template-columns:1fr 1fr;gap:35px}.contact-band .display{font-size:100px}.contact-band .eyebrow{font-size:21px}.letter{padding:22px}.contact-band .ribbon{font-size:28px}.page-banner h1{font-size:80px}.services-grid{gap:60px 40px}.services-grid h3{font-size:40px}.biography{grid-template-columns:1fr 1.2fr;gap:35px}.biography h2{font-size:52px}.bio-photo .ribbon{font-size:23px}.case-intro{gap:35px}.case-intro h2{font-size:65px}}
@media(max-width:600px){body{font-size:16px;line-height:1.65}.wrap{width:calc(100% - 36px)}.site-header{padding:7px 12px}.logo{width:205px;padding:9px 5px}.menu-toggle{font-size:18px;padding:10px 4px}.menu-toggle span{font-size:20px}.hero{height:375px}.hero-art{object-fit:cover;object-position:center 55%;width:100%;height:100%}.hero-title{top:26px}.hero-title h1{font-size:44px;letter-spacing:-.025em;-webkit-text-stroke:.55px var(--paper);text-shadow:2px 3px var(--teal)}.hero-title p{font-size:23px}.hero-ribbon{bottom:28px}.hero-ribbon .ribbon{font-size:17px;padding:8px 9px;max-width:calc(100% - 60px)}.hero-seal{display:none}.ribbon{font-size:22px;padding:8px 13px;max-width:calc(100% - 52px);margin-top:23px}.ribbon:before,.ribbon:after{width:45px;top:-9px}.ribbon:before{left:-25px}.ribbon:after{right:-25px}.welcome{padding:50px 0 55px}.eyebrow{font-size:19px;gap:12px;line-height:1.25;margin-bottom:20px}.eyebrow:before,.eyebrow:after{height:11px;border-top-width:2px;border-bottom-width:2px}.eyebrow span{flex-shrink:1}.little-star{font-size:27px;margin:3px 0 14px}.display,.welcome>.display{font-size:70px;letter-spacing:-.025em;text-shadow:2px 3px #a1c2b0}.welcome-grid{margin-top:45px;gap:30px}.studio-preview{gap:8px;margin-inline:-18px}.studio-preview img{height:255px}.studio-preview span{font-size:23px;bottom:16px;left:12px;right:12px}.highlight{font-size:29px;margin:8px 6px 20px;line-height:1.3}.service-summary li{font-size:15px}.rule-link{font-size:23px;margin-top:25px}.work-band{padding:55px 0}.work-head{margin-bottom:35px;gap:12px}.work-head>div:first-child{width:100%}.work-head .display{font-size:81px;text-shadow:3px 3px #aa6549}.pennant{display:none}.project-grid{grid-template-columns:1fr;gap:38px;max-width:420px;margin:auto}.project-frame{width:min(310px,100%);margin:auto;padding:11px}.project-card h3{font-size:29px;margin-top:20px}.project-card h3 span{min-width:70%}.project-card>p{font-size:14px}.work-band .center{margin-top:22px}.approach{grid-template-columns:1fr;padding-block:60px;gap:20px}.approach-art{grid-row:2;margin:15px 0 0}.approach-art img{height:290px}.approach .display{font-size:78px}.approach .eyebrow{font-size:20px}.approach .ribbon{font-size:24px;margin:25px auto 0}.approach-copy{padding-top:32px}.small-art{display:none}.story-band{padding:60px 0;outline-offset:-10px}.story-grid{display:flex;flex-direction:column;gap:40px;padding-inline:10px}.story-grid h2{font-size:57px;line-height:1.22;margin-bottom:30px}.story-art{width:100%}.story-art img{max-width:340px;margin:auto}.story-caption{font-size:23px}.people{padding-block:60px}.people-grid{grid-template-columns:1fr;gap:60px;margin-top:45px}.portrait{max-width:285px;border-width:10px}.people h3{font-size:46px;margin-top:23px}.person-role{font-size:25px;margin-bottom:18px}.people-grid article>p:last-of-type{max-width:340px;margin-inline:auto}.contact-band{padding:60px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-band .eyebrow{font-size:23px}.contact-band .display{font-size:94px}.contact-band .ribbon{font-size:28px;margin:30px auto 35px;max-width:250px}.contact-band .signature{font-size:31px}.letter{padding:20px;border-width:8px}.form-note{font-size:14px}.letter label{font-size:19px}.letter input,.letter textarea{padding:10px}.letter .rule-link{font-size:22px}.footer-inner{flex-direction:column;gap:25px}.footer-logo{width:220px}footer nav{gap:11px;font-size:21px}footer nav span{font-size:8px}footer{padding-top:38px}.end-line{font-size:14px;margin-top:28px}.page-banner{margin:0 10px;padding:75px 10px 85px;min-height:320px;border-radius:0 0 12px 12px}.page-banner h1{font-size:53px;line-height:1.07;text-shadow:3px 4px #102e2e;overflow-wrap:normal}.page-banner .ribbon{min-width:230px;max-width:calc(100% - 45px);font-size:23px;margin-top:34px}.services-intro{padding-block:55px}.services-intro .display{font-size:66px}.intro-text{text-align:left;margin-top:35px}.services-grid{grid-template-columns:1fr;gap:60px;margin-top:50px}.service-art{height:165px;margin-bottom:22px}.services-grid h3{font-size:39px}.service-tags{font-size:21px}.biography{grid-template-columns:1fr;padding-block:50px;gap:50px}.bio-photo{max-width:380px;margin:auto}.bio-photo img{max-height:460px}.bio-photo .ribbon{font-size:25px}.biography h2{font-size:55px}.biography h3{font-size:32px}.biography .signature{font-size:27px}.case-detail{padding-block:45px}.case-intro{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.case-intro h2{font-size:61px}.case-intro .eyebrow{font-size:21px}.case-image{border-width:7px;box-shadow:3px 4px #224a4922}.case-caption{font-size:15px}.more-work{padding-bottom:55px}.more-work h2{font-size:49px;margin-bottom:35px}.short-cta{padding-block:50px}.short-cta h2{font-size:48px}}
@media(max-width:600px){.welcome>.ribbon{font-size:19px;white-space:nowrap;padding-inline:10px}.hero-title h1{paint-order:stroke fill;-webkit-text-stroke:2px var(--paper)}.hero-title p{text-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Isolated review: ribbon front, rear tails and return folds. */
.ribbon{padding:0!important;background:transparent;box-shadow:none;--fold:14px;--tail-width:65px;--tail-outset:38px;--fold-width:27px}
.ribbon:before,.ribbon:after{top:calc(-1 * var(--fold));width:var(--tail-width);height:100%;z-index:0;background:#b8301e url('/assets/retro-grain.png');clip-path:polygon(0 0,100% 0,100% 100%,0 100%,15% 50%)}
.ribbon:before{left:calc(-1 * var(--tail-outset))}.ribbon:after{right:calc(-1 * var(--tail-outset));transform:scaleX(-1)}
.ribbon>.ribbon-face{position:relative;z-index:1;display:block;padding:5px 35px;background:var(--red) url('/assets/retro-grain.png');box-shadow:0 2px 0 #b83823}
.ribbon>.ribbon-face:before,.ribbon>.ribbon-face:after{content:'';position:absolute;top:calc(-1 * var(--fold));width:var(--fold-width);height:var(--fold);background:#812b20;clip-path:polygon(100% 0,100% 100%,0 100%)}
.ribbon>.ribbon-face:before{left:0}.ribbon>.ribbon-face:after{right:0;transform:scaleX(-1)}
/* A branded letterpress seal using only existing Fleet type and colors. */
.hero-seal{right:6.5%;top:48%;width:220px;height:220px;padding:0;border:0;border-radius:50%;background:transparent;transform:none;display:block;box-shadow:none;transition:filter .2s}
.hero-seal:hover{background:transparent;transform:none;filter:brightness(1.09)}
.hero-seal svg{display:block;width:100%;height:100%;overflow:visible;color:#315a50}
.seal-paper{fill:#e6ddbf;fill-opacity:.84}.seal-outer{fill:none;stroke:currentColor;stroke-width:2.2}.seal-inner{fill:none;stroke:currentColor;stroke-width:.9}.seal-rule{fill:none;stroke:currentColor;stroke-width:.8}
.seal-services,.seal-studio{fill:currentColor;font:600 15px var(--display);letter-spacing:1px}.seal-studio{font-size:14.5px;letter-spacing:1.2px}
.seal-name{fill:currentColor;font:31px DM,Georgia,serif;letter-spacing:.6px}.seal-media{fill:#ac442b;font:600 17px var(--display);letter-spacing:2px}.seal-detail{fill:none;stroke:#ac442b;stroke-width:1.2}.seal-star{fill:#ac442b;font:17px Georgia,serif}
@media(max-width:1100px) and (min-width:601px){.hero-seal{width:205px;height:205px;right:3%;top:55%}}
@media(max-width:600px){.ribbon{--fold:9px;--tail-width:45px;--tail-outset:25px;--fold-width:20px}.ribbon>.ribbon-face{padding:8px 13px}.hero-ribbon .ribbon>.ribbon-face{padding:8px 9px}.welcome>.ribbon>.ribbon-face{padding-inline:10px}.hero-seal{display:none}}
/* One aligned sunburst shades the teal artwork and the surrounding tan paper. */
.hero{isolation:isolate;background:var(--paper) url('/assets/retro-grain.png')}
.hero-scene{position:absolute;left:50%;top:50%;width:1155px;aspect-ratio:3/2;transform:translate(-50%,-50%);z-index:0}
.hero-scene .hero-art{width:100%;height:100%;object-fit:fill;object-position:center}
.hero:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-conic-gradient(from 5deg at 50% 56%,transparent 0deg 10deg,rgba(82,65,40,.10) 10deg 20deg);mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 32% 58% at 50% 56%,transparent 45%,#000 100%),linear-gradient(to bottom,rgba(0,0,0,.22),#000 42%);mask-composite:intersect}
.hero-title,.hero-ribbon,.hero-seal{z-index:2}.hero-title{top:12px}


@media(min-width:1600px){.hero-scene{width:1275px}}
@media(max-width:900px){.hero-scene{width:max(100%,975px)}}
@media(max-width:600px){.hero-scene{width:max(100%,562.5px)}.hero-title{top:8px}.hero-title h1{font-size:40px}}

/* Solid letterpress banners and large service illustrations. */
.ribbon.ribbon{font:600 clamp(32px,3.7vw,52px)/1.15 var(--display);text-transform:uppercase;white-space:normal;max-width:100%;min-width:0;background:transparent;box-shadow:none;letter-spacing:.015em}
.ribbon.ribbon:before,.ribbon.ribbon:after,.ribbon>.ribbon-face:before,.ribbon>.ribbon-face:after{display:none}
.ribbon.ribbon>.ribbon-face{display:inline;background:var(--red);padding:3px 9px;box-shadow:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-ribbon .ribbon.ribbon{max-width:calc(100% - 36px);font-size:clamp(28px,3.2vw,46px)}
.highlight span,.project-card h3 span{background:var(--red);color:var(--paper)}
.highlight span{box-shadow:8px 0 var(--red),-6px 0 var(--red)}
.service-art{width:100%;height:360px;mix-blend-mode:normal;margin-bottom:30px}
#mobile-menu{display:none}
@media(max-width:900px){
 .header-inner{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:0}
 .header-inner>.logo{grid-column:2;grid-row:1;justify-self:center;width:min(215px,100%)}
 .menu-toggle{grid-column:1;grid-row:1;justify-self:start;width:44px;height:44px;padding:0;justify-content:center}
 .menu-toggle span{font:30px/1 Arial,sans-serif}
 body.nav-open{overflow:hidden}
 #mobile-menu{position:fixed;inset:0 auto 0 0;margin:0;padding:80px 28px 40px;width:min(340px,86vw);height:100dvh;max-width:none;max-height:none;border:0;border-right:4px solid var(--red);background:var(--paper) url('/assets/retro-grain.png');color:var(--teal);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
 #mobile-menu[open]{display:block;animation:drawer-in .24s ease-out}
 #mobile-menu.closing{animation:drawer-out .22s ease-in forwards}
 #mobile-menu::backdrop{background:rgb(20 39 37 / .6)}
 .menu-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border:0;background:transparent;color:var(--teal);font:40px/1 Arial,sans-serif}
 #mobile-nav{display:flex;flex-direction:column;gap:0;padding:0;border:0}
 .site-header #mobile-nav a{font:600 35px/1.2 var(--display);padding:18px 0;border-bottom:2px solid #224a4930}
}
@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes drawer-out{to{transform:translateX(-100%)}}
@media(max-width:600px){.ribbon.ribbon{font-size:34px;line-height:1.2}.hero-ribbon .ribbon.ribbon{font-size:28px}.welcome>.ribbon.ribbon{white-space:normal}.service-art{height:300px}.contact-band .ribbon.ribbon{max-width:100%}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pennant{background:var(--red);clip-path:none;padding:20px 16px;box-shadow:none;font-size:36px}.pennant span{border:0;padding:0}.pennant b{font-size:28px}

/* Plain introduction and branded mobile drawer. */
.highlight span{background:transparent;color:var(--teal);box-shadow:none}
@media(max-width:900px){
 #mobile-menu[open]{display:flex;flex-direction:column}
 #mobile-nav{flex-shrink:0}
 .site-header #mobile-nav a{display:flex;align-items:center;gap:14px}
 #mobile-nav a i{font-size:15px;line-height:1;color:var(--sea);font-style:normal}
 .drawer-logo{display:block;width:100%;max-width:230px;margin:auto auto 0;padding-top:48px;flex-shrink:0}
 .drawer-logo img{width:100%;height:auto;mix-blend-mode:multiply}
}

.letter button:disabled{opacity:.65;cursor:wait}

/* Homepage opening: one continuous paper sheet with navigation beneath. */
.logo-opening{position:relative;isolation:isolate;height:100vh;height:100dvh;min-height:440px;display:grid;place-items:center;overflow:hidden;background:var(--paper) url('/assets/retro-grain.png');padding:64px 24px 100px}
.opening-mark{width:min(920px,78vw);text-align:center;will-change:transform,opacity}
.opening-mark img{width:100%;height:auto;mix-blend-mode:multiply}
.opening-trades{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:38px;font:600 22px/1.4 var(--display);text-transform:uppercase;letter-spacing:.16em}
.opening-trades i{font-size:14px;color:var(--red);font-style:normal}
.opening-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);text-align:center;font:600 17px/1.3 var(--display);text-transform:uppercase;letter-spacing:.08em;padding:8px 16px}
.opening-scroll span{display:block}.opening-scroll span+span{font:28px/1.2 Georgia,serif;margin-top:4px}
.has-opening>.site-header{position:relative;border-top:2px solid var(--sea)}
@media(min-width:1800px){.opening-mark{width:min(1100px,65vw)}}
@media(max-width:600px){.logo-opening{height:100vh;height:100dvh;min-height:350px;padding:40px 18px 85px}.opening-mark{width:90vw}.opening-trades{gap:12px;font-size:16px;letter-spacing:.06em;margin-top:26px}.opening-trades i{font-size:11px}.opening-scroll{font-size:15px;bottom:16px}.opening-mark{will-change:transform,opacity;backface-visibility:hidden}}
@media(prefers-reduced-motion:reduce){.opening-mark{transform:none!important;opacity:1!important;will-change:auto}}

.opening-edition{position:absolute;top:max(26px,env(safe-area-inset-top));left:4%;right:4%;display:flex;justify-content:space-between;gap:24px;padding-bottom:17px;border-bottom:1px solid #224a4940;color:var(--teal);font:600 18px/1.35 var(--display);text-transform:uppercase;letter-spacing:.08em}
.opening-scroll span+span{color:var(--red);font-size:36px;animation:scroll-cue 1.8s ease-in-out infinite}
@keyframes scroll-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(max-width:600px){.opening-edition{left:18px;right:18px;top:max(22px,env(safe-area-inset-top));font-size:14px;gap:16px;letter-spacing:.04em;padding-bottom:14px}.opening-edition span:last-child{white-space:nowrap}.opening-scroll{bottom:max(64px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.opening-scroll span+span{animation:none}}
.studio-photo{position:relative}.studio-preview .studio-role{margin:12px 0 0;text-align:center;font:600 clamp(20px,2vw,26px)/1.3 var(--display);color:var(--teal)}
