@layer reset{*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{height:100%;-webkit-text-size-adjust:100%}body{margin:0}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}fieldset{margin:0;padding:0;border:0;min-inline-size:0}}@layer tokens{:root{--color-bg-canvas: #fff;--color-surface-base: #fff;--color-surface-subtle: #f7f7f8;--color-surface-band: var(--color-surface-subtle);--color-text-primary: #121314;--color-text-strong: rgba(18, 19, 20, .86);--color-text-secondary: rgba(18, 19, 20, .72);--color-text-tertiary: rgba(18, 19, 20, .6);--color-border-subtle: rgba(18, 19, 20, .12);--color-border-faint: rgba(18, 19, 20, .1);--color-border-strong: rgba(18, 19, 20, .48);--color-border-emphasis: rgba(18, 19, 20, .22);--color-brand-primary: #b63a2e;--color-brand-secondary: #32601a;--color-danger: #8b1d1d;--surface-glass-base: rgba(255, 255, 255, .45);--surface-glass-strong: rgba(255, 255, 255, .92);--overlay-backdrop: rgba(18, 19, 20, .44);--overlay-backdrop-strong: rgba(18, 19, 20, .78);--overlay-control-bg: rgba(18, 19, 20, .64);--overlay-control-bg-hover: rgba(18, 19, 20, .78);--overlay-control-border: rgba(255, 255, 255, .12);--overlay-control-text: rgba(255, 255, 255, .96);--font-family-base: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";--font-size-heading-1: clamp(34px, 3.8vw, 54px);--font-size-heading-2: clamp(24px, 2.4vw, 34px);--font-size-heading-3: 20px;--font-size-body-lg: 16px;--font-size-body-md: 14px;--font-size-body-sm: 13px;--font-size-section-title: clamp(30px, 4.2vw, 44px);--font-size-section-eyebrow: clamp(18px, 2vw, 22px);--space-xs: 6px;--space-sm: 12px;--space-md: 16px;--space-lg: 22px;--space-xl: 32px;--control-size-sm: 40px;--control-size-md: 44px;--control-size-lg: 48px;--layout-container: 1100px;--layout-gutter: 24px;--layout-header-height: 80px;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-pill: 999px;--shadow-sm: 0 10px 26px rgba(0, 0, 0, .04);--shadow-md: 0 18px 40px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .18);--blur-sm: 10px;--blur-md: 16px;--focus-ring-inset: 0 0 0 2px rgba(47, 91, 31, .18) inset;--muted: #5c5f66;--surface-elevated: linear-gradient( 180deg, var(--surface-glass-strong), rgba(255, 255, 255, .78) );--focus-border: rgba(47, 91, 31, .45);--shadow-float: 0 18px 44px rgba(18, 19, 20, .18);--shadow-focus: 0 0 0 4px rgba(47, 91, 31, .12), 0 14px 30px rgba(0, 0, 0, .05);--section-lead: clamp(17px, 1.45vw, 19px);--topbar-inline: 40px}@media(max-width:767px){:root{--layout-header-height: 68px}}}@layer base{body{font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-canvas);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}:where(h1,h2,h3,h4,h5,h6):focus,:where(h1,h2,h3,h4,h5,h6):focus-visible{outline:none}:where(a,button,input,textarea,select,summary,[role=button],[tabindex]):focus{outline:none}:where(a:not(.btn),button:not(.btn),input,textarea,select,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--color-border-emphasis);outline-offset:3px;border-radius:10px}h1,h2,h3{margin:0;color:var(--color-text-primary);letter-spacing:-.4px}h1{font-size:var(--font-size-heading-1);line-height:1.04;font-weight:860;text-wrap:balance}h2{font-size:var(--font-size-heading-2);line-height:1.12;font-weight:820;text-wrap:balance}h3{font-size:var(--font-size-heading-3);line-height:1.2;font-weight:780}p{margin:0;color:var(--muted);font-size:var(--font-size-body-md)}.lead{font-size:var(--font-size-body-lg);line-height:1.6;color:#121314ad;max-width:52ch;text-wrap:balance}}@layer layout{.section{padding:clamp(25px,4vw,50px);scroll-margin-top:var(--layout-header-height)}.section-after-hero{padding-top:clamp(25px,4vw,50px)}}@layer layout{.container{width:min(var(--layout-container),calc(100% - (var(--layout-gutter) * 2)));margin-inline:auto}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-md);padding:14px var(--space-lg);min-height:46px;border-radius:var(--radius-pill);border:1px solid transparent;font-weight:760;font-size:var(--font-size-body-md);line-height:1.1;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn-primary{background:var(--color-brand-primary);color:var(--color-surface-base);box-shadow:0 4px 10px #0000002e;padding:24px 46px;min-height:64px;font-size:18px}.btn-primary2{background:var(--color-brand-secondary);color:var(--color-surface-base)}.btn-neutral{background:#1213140d;border-color:var(--color-border-strong);color:var(--color-text-strong)}.btn-small{padding:11px var(--space-md);min-height:var(--control-size-sm);font-size:var(--font-size-body-sm);line-height:1.1}.btn:focus{outline:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:active{transform:translateY(1px)}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-3px)}.btn-neutral:hover{background:#12131412;border-color:#1213142e}}@media(prefers-reduced-motion:reduce){.btn{transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn:hover,.btn:active{transform:none}}}@layer components{.field{display:grid;gap:8px}.field--full{grid-column:1 / -1}.field label{font-size:var(--font-size-body-sm);font-weight:760;color:var(--color-text-strong);letter-spacing:-.01em}.input{width:100%;appearance:none;border:1px solid var(--color-border-strong);background:#ffffffe6;border-radius:var(--radius-md);padding:var(--space-sm) 14px;min-height:var(--control-size-md);font:inherit;font-size:var(--font-size-body-md);color:var(--color-text-primary);box-shadow:0 10px 22px #00000008;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.input:focus{outline:none;border-color:var(--focus-border);box-shadow:var(--shadow-focus);background:var(--color-surface-base)}.textarea{min-height:120px;resize:vertical;line-height:1.55;padding-top:var(--space-sm)}.validation-message{font-size:12px;line-height:1.4;color:var(--color-danger)}.hint{margin:0;font-size:12px;line-height:1.6;color:#1213149e}}@layer components{.cdk-overlay-backdrop.contact-dialog-backdrop{background:#12131438}.cdk-overlay-backdrop.portfolio-lightbox-backdrop{background:var(--overlay-backdrop-strong)}}@layer utilities{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@layer reset,tokens,base,layout,components,pages,utilities;
