:root{--color-bg: #FAF7F2;--color-surface: #F0EBE1;--color-primary: #2C4A3E;--color-secondary: #7B9E87;--color-accent: #C17F4A;--color-text: #1A1A1A;--color-text-muted: #5A5A5A;--color-border: #E0D8CE;--color-white: #FFFFFF;--color-footer-label: color-mix(in srgb, var(--color-secondary), white 35%);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Jost", system-ui, sans-serif;--text-hero: clamp(2.8rem, 6vw, 5rem);--text-section: clamp(1.8rem, 3.5vw, 2.8rem);--text-sub: clamp(1.2rem, 2vw, 1.5rem);--text-body: 1rem;--text-small: .875rem;--text-xs: .75rem;--lh-display: 1.1;--lh-heading: 1.25;--lh-body: 1.75;--ls-tight: -.02em;--ls-normal: 0;--ls-wide: .06em;--ls-wider: .12em;--space-section: clamp(5rem, 10vw, 9rem);--space-block: clamp(2rem, 4vw, 4rem);--space-gap: clamp(1rem, 2vw, 2rem);--max-width: 1200px;--content-width: 720px;--nav-h: 72px;--gutter: clamp(1.5rem, 5vw, 4rem);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--motion-duration: .65s;--motion-rise: 28px;--motion-stagger: 90ms;--motion-hero-stagger: .12s;--motion-ease: cubic-bezier(.22, 1, .36, 1);--border-accent: 3px solid var(--color-secondary)}@tailwind base;@tailwind components;@tailwind utilities;*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--lh-body);font-weight:300}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-display);letter-spacing:var(--ls-tight);font-weight:500;font-variant-numeric:lining-nums}h1{font-size:var(--text-hero)}h2{font-size:var(--text-section)}h3{font-size:var(--text-sub)}p{max-width:var(--content-width);line-height:var(--lh-body)}.site-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--space-section) var(--gutter)}.section-surface{background-color:var(--color-surface);padding:var(--space-section) var(--gutter)}.btn-primary{display:inline-block;background:var(--color-primary);color:var(--color-white);font-family:var(--font-body);font-size:var(--text-small);font-weight:500;letter-spacing:var(--ls-wider);text-transform:uppercase;padding:.9rem 2.2rem;border:2px solid var(--color-primary);border-radius:0;cursor:pointer;text-decoration:none;position:relative;isolation:isolate}.btn-primary:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-1;background:var(--color-accent);transform:scaleX(0);transform-origin:left}.btn-primary:not(:disabled):hover:before,.btn-primary:not(:disabled):focus-visible:before{transform:scaleX(1)}.btn-primary:not(:disabled):hover{transform:translateY(-1px)}.btn-outline{display:inline-block;background:transparent;color:var(--color-white);font-family:var(--font-body);font-size:var(--text-small);font-weight:500;letter-spacing:var(--ls-wider);text-transform:uppercase;padding:.9rem 2.2rem;border:2px solid var(--color-white);border-radius:0;cursor:pointer;transition:background var(--transition-base),color var(--transition-base);text-decoration:none}.btn-outline:hover{background:var(--color-white);color:var(--color-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-secondary);display:block;margin-bottom:1rem}.divider{width:3rem;height:2px;background:var(--color-accent);margin:1.5rem 0}.hero{display:grid;grid-template-columns:55fr 45fr;height:100svh;min-height:max(640px,40vw);padding-top:var(--nav-h);background:var(--color-primary)}.hero-media{position:relative;overflow:hidden;min-width:0}.hero-media img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:43% 35%;transform-origin:50% 40%}.hero-content{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(2.5rem,5vw,5.5rem)}.hero-content>*{max-width:30rem}.hero-content>h1{max-width:none;font-size:clamp(2.5rem,2.93vw,4.3rem);overflow-wrap:break-word}.hero-content>h1>span,.hero-content>.eyebrow{text-wrap:balance}.hero-content .btn-outline{max-width:100%;text-align:center}@media (max-width: 1100px){.hero{grid-template-columns:1fr 1fr;height:auto;min-height:clamp(520px,68vw,720px)}.hero-content{padding:clamp(2rem,4.5vw,3rem) var(--gutter)}.hero-content>h1{font-size:clamp(1.75rem,4.1vw,3rem)}.hero-content .btn-outline{padding:.85rem 1.25rem}}@media (max-width: 699px){.hero{display:block;min-height:0}.hero-media{height:58svh;min-height:320px}.hero-media img{object-position:45% 25%}.hero-content{padding:var(--space-block) var(--gutter) var(--space-section)}.hero-content>h1{font-size:clamp(2rem,9vw,3rem)}}@media (prefers-reduced-motion: no-preference){.hero-enter{opacity:0;animation:rise-in var(--motion-duration) var(--motion-ease) forwards;animation-delay:calc(.1s + var(--i, 0) * var(--motion-hero-stagger))}.hero-media img{animation:hero-drift 16s ease-out forwards}}@keyframes rise-in{0%{opacity:0;transform:translateY(var(--motion-rise))}to{opacity:1;transform:none}}@keyframes hero-drift{0%{transform:scale(1)}to{transform:scale(1.1)}}.nav-link{position:relative;padding-bottom:2px}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-cta{position:relative;isolation:isolate}.nav-cta:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;background:var(--color-accent);transform:scaleX(0);transform-origin:left}.nav-cta:hover:before,.nav-cta:focus-visible:before{transform:scaleX(1)}.step-link{display:inline-block;padding-block:.7rem;margin-block:-.7rem;color:inherit;text-decoration:none}.step-link:after{bottom:calc(.7rem - 1px)}.step-link:focus-visible:after{transform:scaleX(1)}@media (prefers-reduced-motion: no-preference){.nav-link:after{transition:transform .25s var(--motion-ease)}.nav-cta:before{transition:transform .2s var(--motion-ease)}}.service-index{border-bottom:1px solid var(--color-border)}.service-row{position:relative;isolation:isolate;display:grid;grid-template-columns:5.5rem minmax(0,1fr) minmax(0,clamp(14rem,28vw,22rem)) 2rem;grid-template-areas:"num name desc arrow";align-items:center;column-gap:clamp(1rem,3vw,2.5rem);padding:clamp(1.5rem,3vw,2.25rem) clamp(.75rem,2vw,1.5rem);border-top:1px solid var(--color-border);color:inherit;text-decoration:none}.service-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--color-surface);opacity:0}.service-row-num{grid-area:num;font-family:var(--font-display);font-variant-numeric:lining-nums;font-size:clamp(2rem,3.5vw,3rem);line-height:1;color:var(--color-secondary);opacity:.6}.service-row-name{grid-area:name;font-family:var(--font-display);font-weight:500;font-size:var(--text-section);line-height:var(--lh-display);color:var(--color-text)}.service-row-desc{grid-area:desc;font-size:.9rem;line-height:1.6;color:var(--color-text-muted)}.service-row-arrow{grid-area:arrow;justify-self:end;font-size:1.25rem;color:var(--color-primary);opacity:0;transform:translate(-10px)}.service-row:hover:before,.service-row:focus-visible:before{opacity:1}.service-row:hover .service-row-arrow,.service-row:focus-visible .service-row-arrow{opacity:1;transform:none}.work-list{border-bottom:1px solid var(--color-border)}.work-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,13rem);align-items:baseline;column-gap:1.5rem;padding:1rem 0;border-top:1px solid var(--color-border)}.work-row-name{font-family:var(--font-display);font-weight:500;font-size:1.25rem;line-height:1.3;color:var(--color-text)}.work-row-tag{font-size:.85rem;line-height:1.5;color:var(--color-text-muted);text-align:right}@media (max-width: 1100px){.work-row{grid-template-columns:minmax(0,1fr);row-gap:.25rem}.work-row-tag{text-align:left}}@media (max-width: 699px){.service-row{grid-template-columns:2.75rem minmax(0,1fr);grid-template-areas:"num name" ".   desc";align-items:baseline;row-gap:.5rem}.service-row-arrow{display:none}}@media (prefers-reduced-motion: no-preference){.btn-primary{transition:transform .2s var(--motion-ease)}.service-row:before{transition:opacity .25s var(--motion-ease)}.service-row-arrow{transition:opacity .25s var(--motion-ease),transform .25s var(--motion-ease)}.btn-primary:before{transition:transform .2s var(--motion-ease)}}.steps{position:relative}.steps-line{position:absolute;top:2rem;left:0;right:calc((100% - 2 * var(--space-gap)) / 3 - 1rem);height:1px;background:var(--color-secondary);opacity:.35}.spinner{display:inline-block;width:.9em;height:.9em;margin-right:.6em;vertical-align:-.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%}@media (prefers-reduced-motion: no-preference){.spinner{animation:spin .8s linear infinite}}@keyframes spin{to{transform:rotate(360deg)}}.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}.text-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-block)}@media (min-width: 700px){.split-sticky{position:sticky;top:calc(var(--nav-h) + 2rem)}}@media (min-width: 700px) and (max-height: 819px){.split-sticky{top:calc(var(--nav-h) + 1rem)}}.split-flip>:first-child{order:2}.value-props-grid,.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-gap)}.testimonials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-block);margin-top:1rem}.testimonials-grid>*{display:flex}.testimonial{display:flex;flex-direction:column;justify-content:space-between;gap:2rem;width:100%;margin:0;padding:.25rem 0 .25rem clamp(1.5rem,3vw,2.5rem);border-left:1px solid var(--color-border)}.testimonial-quote{margin:0;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.5;color:var(--color-primary)}.testimonial-quote p{max-width:none;line-height:inherit}.testimonial-attr{display:flex;align-items:center;gap:.85rem}.testimonial-initial{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--color-secondary);color:#fff;font-family:var(--font-display);font-weight:500;font-size:1.3rem;line-height:1}.testimonial-name{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-text-muted)}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-block);align-items:start}.contact-aside{padding-left:2rem;border-left:1px solid var(--color-border)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-gap)}.footer-link-row{margin-bottom:.5rem}@media (max-width: 1100px){.value-props-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--space-block)}}@media (max-width: 699px){.split,.testimonials-grid,.value-props-grid,.steps,.contact-grid,.footer-grid{grid-template-columns:minmax(0,1fr)}.split{gap:2rem}.split-flip>:first-child{order:0}.steps{row-gap:2.5rem}.steps-line{display:none}.contact-aside{padding-left:0;padding-top:2rem;border-left:none;border-top:1px solid var(--color-border)}.footer-grid{row-gap:2.5rem}.footer-link-row{margin-bottom:0}.footer-link,.text-link{display:inline-flex;align-items:center;min-height:44px}}
