.section--hero{min-height:70vh;display:flex;align-items:center;padding-top:var(--space-4xl)}.hero__content{display:flex;flex-direction:column-reverse;gap:var(--space-6xl);align-items:center}.hero__text{text-align:center}.hero__image{width:200px;height:200px;overflow:hidden;flex-shrink:0;position:relative;box-shadow:3px 3px 0 var(--color-text),6px 6px 0 var(--color-border);border:2px solid var(--color-text);transform:rotate(-1deg)}.hero__image{cursor:url(../assets/cursors/pencil.svg) 0 24,auto!important}.hero__image-sketch{width:100%;height:100%;object-fit:cover;pointer-events:none}.hero__image-canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.hero__image-color{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;clip-path:circle(0px at 0 0);transition:clip-path .1s ease-out;pointer-events:none}.sketch-border{position:relative;border:2px solid var(--color-text);box-shadow:2px 2px 0 var(--color-text),4px 4px 0 var(--color-border);filter:url(#pencil-sketch);pointer-events:none}.hero__title{font-family:var(--font-display);font-size:var(--text-4xl);margin-bottom:var(--space-md)}.hero__subtitle{font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-lg)}.hero__description{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:500px;margin:0 auto var(--space-xl)}.projects__grid{display:grid;gap:var(--space-xl)}.project-card{background:var(--color-card-bg);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);border:2px solid var(--color-text);box-shadow:3px 3px 0 var(--color-text),6px 6px 0 var(--color-border);transform:rotate(-.5deg)}.project-card:hover{transform:rotate(-.5deg) translateY(-4px);box-shadow:4px 4px 0 var(--color-text),8px 8px 0 var(--color-border)}.project-card:nth-child(2){transform:rotate(.5deg)}.project-card:nth-child(2):hover{transform:rotate(.5deg) translateY(-4px)}.project-card:nth-child(3){transform:rotate(-.3deg)}.project-card:nth-child(3):hover{transform:rotate(-.3deg) translateY(-4px)}.project-card__image{aspect-ratio:16 / 10;overflow:hidden;border-bottom:2px solid var(--color-text)}.project-card__image img{width:100%;height:100%;object-fit:cover;display:block}.project-card__content{padding:var(--space-lg)}.project-card__category{display:inline-block;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:var(--space-sm)}.project-card__title{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.project-card__description{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.project-card__link{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--color-accent)}.project-card__link:hover{text-decoration:underline}.love__grid{display:grid;gap:var(--space-xl)}.love-card{background:var(--color-card-bg);transition:transform var(--transition),box-shadow var(--transition);cursor:url(../assets/cursors/paint-bucket.svg) 3 3,auto;border:2px solid var(--color-text);box-shadow:3px 3px 0 var(--color-text),6px 6px 0 var(--color-border);transform:rotate(-.5deg)}.love-card *{cursor:url(../assets/cursors/paint-bucket.svg) 3 3,auto!important}.love-card:hover{transform:rotate(-.5deg) scale(1.02);box-shadow:4px 4px 0 var(--color-text),8px 8px 0 var(--color-border)}.love-card:nth-child(2){transform:rotate(.5deg)}.love-card:nth-child(2):hover{transform:rotate(.5deg) scale(1.02)}.love-card:nth-child(3){transform:rotate(-.3deg)}.love-card:nth-child(3):hover{transform:rotate(-.3deg) scale(1.02)}.love-card:nth-child(4){transform:rotate(.4deg)}.love-card:nth-child(4):hover{transform:rotate(.4deg) scale(1.02)}.love-card__image{aspect-ratio:4 / 3;overflow:hidden;border-bottom:2px solid var(--color-text);position:relative}.love-card__image img{width:100%;height:100%;object-fit:cover;display:block}.love-card__image-grayscale{filter:grayscale(100%);pointer-events:none}.love-card__image-color{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;clip-path:circle(0% at 50% 50%);transition:clip-path 2.4s cubic-bezier(.25,1,.5,1);pointer-events:none}.love-card__content{padding:var(--space-lg)}.love-card__title{font-size:var(--text-lg);margin-bottom:var(--space-sm)}.love-card__description{font-size:var(--text-sm);color:var(--color-text-secondary)}.approach__intro{margin-bottom:var(--space-2xl)}.approach__intro p{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:600px}.approach__steps{display:grid;gap:var(--space-xl)}.approach-step{padding:var(--space-xl);background:var(--color-card-bg);position:relative;overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);border:2px solid var(--color-text);box-shadow:3px 3px 0 var(--color-text),6px 6px 0 var(--color-border);transform:rotate(-.5deg)}.approach-step:hover{transform:rotate(-.5deg) scale(1.02);box-shadow:4px 4px 0 var(--color-text),8px 8px 0 var(--color-border)}.approach-step:nth-child(2){transform:rotate(.5deg)}.approach-step:nth-child(2):hover{transform:rotate(.5deg) scale(1.02)}.approach-step:nth-child(3){transform:rotate(-.3deg)}.approach-step:nth-child(3):hover{transform:rotate(-.3deg) scale(1.02)}.approach-step:nth-child(4){transform:rotate(.4deg)}.approach-step:nth-child(4):hover{transform:rotate(.4deg) scale(1.02)}.approach-step__number{display:inline-block;font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:700;color:var(--color-accent);opacity:.3;margin-bottom:var(--space-md)}.approach-step__title{font-size:var(--text-xl);margin-bottom:var(--space-sm)}.approach-step__description{font-size:var(--text-sm);color:var(--color-text-secondary)}.contact__content{display:grid;gap:var(--space-2xl);background:var(--color-card-bg);border:2px solid var(--color-text);box-shadow:3px 3px 0 var(--color-text),6px 6px 0 var(--color-border);padding:var(--space-2xl);transform:rotate(-.3deg)}.contact__intro{font-size:var(--text-lg);color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.contact__details{display:flex;flex-direction:column;gap:var(--space-md)}.contact__link{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:500;color:var(--color-text)}.contact__link:hover{color:var(--color-accent)}.contact__link svg{width:20px;height:20px}.contact__form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.form-input{padding:var(--space-sm) 0;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:transparent;border:none;border-bottom:1.5px solid var(--color-text);border-radius:0;transition:border-color var(--transition)}.form-input:focus{outline:none;border-bottom-color:var(--color-accent)}.form-textarea{resize:vertical;min-height:120px}.cursor-pill{position:fixed;pointer-events:none;z-index:9999;background:var(--color-accent);border:2px solid var(--color-accent-hover);border-radius:25px;padding:8px 16px;color:#fff;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;box-shadow:4px 4px 10px #ff6b3533;opacity:0;transition:opacity .3s ease;white-space:nowrap}.cursor-pill.visible{opacity:1}.cursor-pill.interactive{pointer-events:auto}.cursor-pill__greeting{display:block}.cursor-pill__input{display:none;background:transparent;border:none;outline:none;color:#fff;font-family:inherit;font-size:inherit;width:120px}.cursor-pill__input::placeholder{color:#ffffffb3}.cursor-pill.input-mode .cursor-pill__greeting{display:none}.cursor-pill.input-mode .cursor-pill__input{display:block}@media(min-width:768px){.hero__content{flex-direction:row;justify-content:space-between}.hero__text{text-align:left;flex:1}.hero__description{margin:0 0 var(--space-xl)}.hero__image{width:280px;height:280px}.hero__title{font-size:var(--text-5xl)}.projects__grid,.love__grid,.approach__steps{grid-template-columns:repeat(2,1fr)}.contact__content{grid-template-columns:1fr 1fr;gap:var(--space-3xl)}}@media(min-width:1024px){.projects__grid{grid-template-columns:repeat(3,1fr)}.love__grid{grid-template-columns:repeat(4,1fr)}.hero__title{font-size:var(--text-6xl)}.hero__subtitle{font-size:var(--text-2xl)}.hero__image{width:350px;height:350px}}
