@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@900&display=swap');
/* Pinned studio prints with compact project footers. */
.portfolio{max-width:1500px;margin:0 auto;padding:55px 60px 85px;scroll-margin-top:20px}
.portfolio-canvas{position:relative;container-type:inline-size;isolation:isolate}
.ink-doodle{fill:none;stroke:#171817;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.portfolio-heading{position:relative;isolation:isolate;width:85%;margin:0 auto 55px;padding:50px 18px 0;text-align:center}
.portfolio-heading:before{content:"";position:absolute;inset:0 -15px 26px;z-index:-1;background:#cfbce4 url('assets/lavender-torn-paper.png') center/cover;mask:url('assets/worn-paper-strip.png') center/100% 100% no-repeat}
.portfolio-tag-wrap{position:absolute;top:-17px;left:30px;width:max-content}
.portfolio-tag{position:relative;display:inline-block;isolation:isolate;transform:rotate(-6deg);padding:10px 24px 13px;color:#fff;font:600 clamp(25px,3cqw,40px)/1 var(--hand)}
.portfolio-tag:before{content:"";position:absolute;inset:-5px -6px;z-index:-1;background:#d92e2b url('assets/cream-paper-fine.png') center/500px;background-blend-mode:multiply;mask:url('assets/worn-paper-strip.png') center/100% 100% no-repeat}
.portfolio-tag-rays{display:none}
.portfolio-tag-sprinkles{display:block;position:absolute;inset:0 -25px;width:calc(100% + 50px);height:100%;stroke-width:2}
.portfolio h2{font:900 clamp(38px,5.85cqw,81px)/1.02 'Bodoni Moda',var(--serif);letter-spacing:-.25cqw;margin:0;color:#080a09;white-space:nowrap}
.portfolio-title-underline{display:block;width:48%;height:23px;margin:4px auto 0;fill:none;stroke:#d92e2b;stroke-width:4.5;stroke-linecap:round}
.portfolio-intro{font:600 clamp(22px,2.5cqw,34px)/1.15 var(--hand);margin:7px 0 0}
.portfolio-intro-arrow{position:absolute;right:12%;bottom:-5px;width:50px;height:58px;transform:rotate(-9deg)}
.portfolio-intro-arrow .portfolio-mobile-doodle{display:none}
.portfolio-projects{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;align-items:start}
.portfolio-string{position:absolute;left:26%;top:-27px;width:48%;height:58px;z-index:2;overflow:visible;pointer-events:none;fill:none;stroke:#c92c29;stroke-width:1.8}
.portfolio-string-pins{stroke:none}
.portfolio-project{position:relative;min-width:0;isolation:isolate;padding:10px 10px 0;background:#f4eedf url('assets/cream-paper-fine.png') center/700px;box-shadow:1px 8px 13px #473b292b;transform:rotate(-2deg)}
.project-tractari{transform:rotate(2deg);margin-top:9px}
.portfolio-project:before{display:none;content:"";position:absolute;left:54%;top:-16px;width:19px;height:19px;z-index:4;border-radius:50%;background:radial-gradient(circle at 34% 25%,#ff5750 0,#ef241f 38%,#b5080a 78%);box-shadow:-2px 6px 0 -1px #a61412,0 9px 5px #44261c60}
.project-tractari:before{left:46%}
.portfolio-shot{position:relative;display:block;line-height:0;overflow:hidden}
.portfolio-image-window{position:relative;display:block;overflow:hidden;aspect-ratio:1.77}
.portfolio-shot img{display:block;width:101.35%;max-width:none;height:100%;object-fit:fill;object-position:left top}
.towing-preview-navigation{position:absolute;left:19%;right:32%;top:0;height:11.2%;display:flex;align-items:center;justify-content:center;gap:1.6%;color:#fff;font:600 .55cqw/1 'DM Sans',Arial,sans-serif;white-space:nowrap;pointer-events:none}
.portfolio-caption{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.15fr) auto;align-items:center;gap:14px;min-height:86px;padding:15px 10px 17px 15px}
.portfolio-caption:before{content:"";position:absolute;left:-8px;top:0;bottom:0;width:4px;background:#d92e2b;border-radius:5px;transform:rotate(.7deg)}
.portfolio-identity{min-width:0}
.portfolio-caption h3{font:900 clamp(20px,1.8cqw,26px)/1.05 'Bodoni Moda',var(--serif);letter-spacing:-.6px;margin:0 0 4px;color:#080a09}
.portfolio-category{font:400 clamp(11px,1cqw,14px)/1.25 'DM Sans',Arial,sans-serif;margin:0}
.portfolio-details{border-left:1px solid #17181765;padding-left:15px;min-width:0}
.portfolio-service,.portfolio-description{font:400 clamp(10px,.93cqw,13px)/1.4 'DM Sans',Arial,sans-serif;margin:0}
.portfolio-description{margin-top:4px}
.portfolio-live{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid #171817;border-radius:2px;color:#171817;font:600 clamp(11px,1.05cqw,14px)/1.2 'DM Sans',Arial,sans-serif;text-decoration:none;white-space:nowrap}
.portfolio-live:focus-visible{outline:2px solid #d92e2b;outline-offset:4px}
@media(min-width:761px) and (max-width:1100px){
.portfolio{padding-inline:40px}.portfolio-projects{gap:30px}.portfolio-heading{width:92%}.portfolio-caption{grid-template-columns:1fr auto;gap:10px;padding-left:10px}.portfolio-identity{grid-column:1}.portfolio-details{grid-column:1;border-left:0;padding-left:0}.portfolio-live{grid-column:2;grid-row:1 / span 2}.portfolio-caption h3{font-size:22px}.portfolio-category{font-size:12px}.portfolio-service,.portfolio-description{font-size:11px}.portfolio-intro-arrow{right:4%}
}
@media(max-width:760px){
.portfolio{padding:24px 26px 55px;overflow:hidden}
.portfolio-heading{width:100%;margin-bottom:43px;padding:40px 0 0}
.portfolio-heading:before{inset:0 -13px 32px}
.portfolio-tag-wrap{top:-14px;left:20px}
.portfolio-tag{font-size:24px;padding:9px 18px 11px}
.portfolio h2{font-size:clamp(32px,9.8vw,48px);line-height:1;letter-spacing:-1.5px;white-space:normal}
.portfolio-title-underline{width:70%;height:21px;margin-top:5px}
.portfolio-intro{font-size:24px;max-width:310px;margin:8px auto 0}
.portfolio-intro-arrow{width:36px;height:43px;right:-8px;bottom:6px}
.portfolio-projects{grid-template-columns:minmax(0,1fr);gap:48px}
.portfolio-string{display:none}
.portfolio-project{padding:8px 8px 0;transform:rotate(-1.5deg)}
.project-tractari{transform:rotate(1.5deg);margin-top:0}
.portfolio-project:before{display:block;width:17px;height:17px;left:50%;top:-14px}
.portfolio-caption{grid-template-columns:1fr auto;gap:10px;padding:13px 5px 15px 10px;min-height:0}
.portfolio-caption:before{left:-6px;width:3px}
.portfolio-identity{grid-column:1}
.portfolio-caption h3{font-size:25px;letter-spacing:-.5px}
.portfolio-category{font-size:13px}
.portfolio-details{grid-column:1;grid-row:2;border:0;padding:0}
.portfolio-service,.portfolio-description{font-size:12px}
.portfolio-live{grid-column:2;grid-row:1 / span 2;align-self:center;padding:9px 10px;font-size:13px;gap:8px}
.towing-preview-navigation{font-size:.98cqw}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){.portfolio-live{transition:background .15s,color .15s}.portfolio-live:hover{background:#171817;color:#fff7e7}}

/* Full-width red paper strip, using the same fibrous torn edges as the scraps. */
.statement-strip{position:relative;isolation:isolate;overflow:hidden;margin:0 0 28px;color:#fff7e7}
.statement-strip:before{content:"";position:absolute;inset:0;z-index:-2;background:#d92e2b url('assets/cream-paper-fine.png') center/700px auto;background-blend-mode:multiply}
.statement-inner:before,.statement-inner:after{content:"";position:absolute;left:-2px;width:calc(100% + 4px);height:54px;z-index:-1;background:#f4eedf url('assets/cream-paper-fine.png') center/700px auto;mask:url('assets/natural-header-paper.png') center calc(100% + 170px)/100% 600px no-repeat;pointer-events:none;filter:drop-shadow(0 1px 1px #51434035)}
.statement-inner:before{top:-1px}
.statement-inner:after{bottom:-1px;transform:rotate(180deg)}
.statement-inner{max-width:1340px;margin:0 auto;padding:56px 80px 62px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.statement-strip h2{font:900 clamp(36px,4vw,59px)/1 'Bodoni Moda',var(--serif);letter-spacing:-1.5px;margin:0}
.statement-strip p{position:relative;font:600 clamp(22px,1.9vw,27px)/1.04 var(--hand);margin:0 12px 0 0;transform:rotate(-7deg);flex-shrink:0}
.statement-strip p svg{display:block;width:150px;height:19px;margin-top:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(min-width:761px) and (max-width:1100px){.statement-inner{padding-inline:60px;gap:30px}.statement-strip h2{font-size:40px}.statement-strip p{font-size:23px}}
@media(max-width:760px){.statement-inner{display:block;padding:60px 16px 64px;text-align:center}.statement-strip h2{max-width:480px;margin:0 auto;font-size:clamp(18px,6vw,34px);line-height:1.1;letter-spacing:-.5px;white-space:nowrap}.statement-strip p,.statement-lead{display:none}}
