:root{--color-bg: #fff5e9;--color-surface: #ffeadc;--color-text: #202020;--color-muted: #625b56;--color-accent: #ff623e;--color-peach: #ffcdb4;--font-sans: "Segoe UI", system-ui, sans-serif;--text-sm: .875rem;--text-base: 1rem;--text-lg: clamp(1.125rem, 1.5vw, 1.375rem);--text-heading: clamp(2.5rem, 5vw, 4.5rem);--text-hero: clamp(3rem, 7.5vw, 7.5rem);--content-width: 90rem;--gutter: clamp(1.25rem, 4vw, 4rem)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);line-height:1.5}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid var(--color-text);outline-offset:4px}.container{width:min(100% - 2 * var(--gutter),var(--content-width));margin-inline:auto}.skip-link{position:absolute;z-index:20;top:1rem;left:1rem;padding:.75rem;background:#fff;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;z-index:10;border-bottom:1px solid rgb(32 32 32 / 15%)}.header-inner{min-height:5.5rem;display:flex;align-items:center;gap:1.5rem}.wordmark{font-size:1.65rem;font-weight:400;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}.wordmark span{color:#bd3518}.desktop-nav{display:flex;flex:1;justify-content:center;flex-wrap:wrap;gap:.35rem 1rem}.desktop-nav a{font-size:var(--text-sm);font-weight:600;text-decoration:none}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:.25em}.header-cta,.button,.mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.85rem 1.1rem;background:var(--color-accent);color:var(--color-text);font-weight:700;text-decoration:none}.header-cta{font-size:var(--text-sm);white-space:nowrap}.button:hover,.header-cta:hover,.mobile-cta:hover{background:var(--color-peach)}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{cursor:pointer;font-weight:700;padding:.75rem}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;display:grid;gap:.25rem;padding:1rem var(--gutter) 1.5rem;background:var(--color-bg);border-bottom:1px solid var(--color-text)}.mobile-nav nav>a:not(.mobile-cta){padding:.55rem 0;text-decoration:none;font-weight:600}.mobile-cta{margin-top:.5rem;justify-self:start}section{scroll-margin-top:1rem}.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(5rem,12vw,10rem)}.eyebrow{margin:0 0 1.5rem;font-size:var(--text-sm);font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2{margin:0;line-height:1.05;letter-spacing:-.055em}h1{max-width:14ch;font-size:var(--text-hero)}h1 span{color:#bd3518}.hero-intro{max-width:42rem;margin:2rem 0;color:var(--color-muted);font-size:var(--text-lg)}.section{min-height:15rem;padding:clamp(4rem,7vw,7rem) 0}.section-alt{background:var(--color-surface)}h2{font-size:var(--text-heading)}.placeholder{color:var(--color-muted)}.hero-note{margin:1.25rem 0 0;color:var(--color-muted);font-size:var(--text-sm)}.section-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:end}.section-intro>p,.section-intro>div>p:not(.eyebrow){max-width:34rem;margin:0;color:var(--color-muted);font-size:var(--text-lg)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:4rem 0 2rem;background:#20202033;border:1px solid rgb(32 32 32 / 20%)}.service-card{min-width:0;padding:clamp(1.5rem,3vw,3rem);background:var(--color-surface)}.card-number,.step-number{display:block;color:#a72e14;font-weight:700;font-size:var(--text-sm)}.service-card h3,.process-grid h3{margin:3rem 0 1rem;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.2;letter-spacing:-.03em}.service-card p,.process-grid p,.about-copy p:not(.eyebrow),.process-footer p{color:var(--color-muted)}.text-link{display:inline-flex;gap:1rem;align-items:center;font-weight:700;text-underline-offset:.3em}.text-link:hover{color:#a72e14}.project-grid,.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);margin-top:3rem}.project-card{min-width:0}.project-visual{display:grid;place-items:center;aspect-ratio:4 / 3;padding:1.5rem;background:var(--color-peach)}.project-visual img{display:block;width:100%;height:100%;object-fit:contain}.project-placeholder{color:var(--color-text);text-align:center}.project-copy{padding-top:1.5rem}.project-copy>.project-image-caption{margin:0 0 1rem;color:var(--color-muted);font-size:var(--text-sm)}.project-category{margin:0 0 .5rem;color:#a72e14;font-size:var(--text-sm);font-weight:700}.project-copy h3{margin:0;font-size:1.5rem}.project-copy>p:not(.project-category){color:var(--color-muted)}.project-cta{margin-top:2rem}.testimonial-intro{color:var(--color-muted);font-size:var(--text-lg)}.testimonial-card{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;margin:0;padding:clamp(1.5rem,3vw,2.5rem);background:var(--color-surface)}.testimonial-card blockquote{margin:0;font-size:var(--text-lg)}.testimonial-card blockquote p{margin:0}.testimonial-card blockquote p+p{margin-top:1rem}.testimonial-card figcaption{font-weight:700}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);align-items:center}.portrait-frame{order:1;display:flex;align-items:end;justify-content:center;aspect-ratio:4 / 5;overflow:hidden;background:var(--color-peach)}.portrait-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.about-copy p:not(.eyebrow){max-width:38rem;font-size:var(--text-lg)}.about-copy .text-link{margin-top:1rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;padding:0;margin:4rem 0}.process-grid li{border-top:1px solid var(--color-text);padding-top:1.25rem}.process-grid h3{margin-top:2rem}.process-footer{display:flex;justify-content:space-between;align-items:center;gap:2rem}.process-footer p{max-width:40rem;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem)}.contact-intro{max-width:32rem;color:var(--color-muted);font-size:var(--text-lg)}.enquiry-form fieldset{min-width:0;border:0;padding:0;margin:0}.form-fields{display:grid;gap:1.25rem}.form-field{display:grid;gap:.4rem}.form-field label{font-weight:700}.form-field input:not([type=range]),.form-field textarea,.form-field select{width:100%;padding:.85rem;border:1px solid var(--color-text);border-radius:0;color:var(--color-text);background:var(--color-bg);font:inherit}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible,.enquiry-form button:focus-visible{outline:3px solid var(--color-text);outline-offset:4px}.form-field textarea{resize:vertical}.budget-field[hidden]{display:none}.budget-field input[type=range]{width:100%;accent-color:#bd3518;cursor:pointer}.budget-field output{font-weight:700}.optional-label{color:var(--color-muted);font-weight:400}.form-field small,.form-privacy{color:var(--color-muted);font-size:var(--text-sm)}.form-privacy{margin:1.5rem 0}.enquiry-form button{border:0;font:inherit;font-weight:700;cursor:pointer}.enquiry-form :disabled{cursor:not-allowed;opacity:.65}.form-status{max-width:38rem;font-weight:600}.form-status-success{padding:1.5rem;background:var(--color-text);color:var(--color-bg);font-size:var(--text-lg)}.form-status-success:focus-visible{outline:3px solid var(--color-text);outline-offset:4px}.enquiry-form-submitted fieldset:disabled{opacity:1}.enquiry-form-submitted .form-field :disabled{opacity:1;color:var(--color-text);-webkit-text-fill-color:var(--color-text)}.technology-section{background:var(--color-text);color:var(--color-bg)}.technology-section .section-intro>div>p:not(.eyebrow){color:var(--color-bg)}.technology-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:2rem 0 0;padding:0;list-style:none}.technology-list li{border:1px solid currentColor;padding:.4rem .75rem;font-size:var(--text-sm)}.button,.header-cta,.mobile-cta,.text-link{transition:background-color .15s ease,color .15s ease}@media(max-width:760px){.section-intro,.about-grid,.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr;margin-top:2.5rem}.project-grid,.testimonial-grid{grid-template-columns:1fr}.service-card h3{margin-top:1.5rem}.portrait-frame{order:0;max-height:28rem}.process-grid{grid-template-columns:repeat(2,1fr);margin:2.5rem 0}.process-footer{align-items:flex-start;flex-direction:column}}@media(max-width:400px){.process-grid{grid-template-columns:1fr}}.privacy-content{max-width:55rem}.privacy-content h1{font-size:var(--text-heading)}.privacy-content h2{margin-top:3rem;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.03em}.privacy-content p{max-width:70ch}.privacy-content a{text-underline-offset:.2em}.site-footer{padding:3rem 0;background:var(--color-text);color:var(--color-bg)}.site-footer .wordmark span{color:var(--color-peach)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-inner p{margin:0}@media(max-width:1100px){.desktop-nav,.header-cta{display:none}.mobile-nav{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
