.hero{padding:80px 0 100px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#b84a1e14,#0000 60%);width:700px;height:700px;position:absolute;top:-100px;right:-200px}@media (width<=820px){.hero{padding:50px 0 60px}}.hero__grid{z-index:2;grid-template-columns:1.4fr 1fr;align-items:end;gap:60px;display:grid;position:relative}@media (width<=820px){.hero__grid{grid-template-columns:1fr;gap:40px}}.hero__title{margin-bottom:32px;font-size:clamp(34px,6vw,88px)}.hero__title em{color:var(--forest);font-style:italic;font-weight:400}@media (width<=820px){.hero__title{margin-bottom:20px}}.hero__lede{max-width:540px;color:var(--ink-soft);margin-bottom:36px;font-size:19px}@media (width<=820px){.hero__lede{margin-bottom:26px;font-size:16px}}.hero__ctas{flex-wrap:wrap;gap:16px;display:flex}@media (width<=480px){.hero__ctas{flex-direction:column}}.hero__stats{border-left:1px solid var(--line);flex-direction:column;gap:32px;padding-bottom:20px;padding-left:40px;display:flex}@media (width<=820px){.hero__stats{border-left:none;border-top:1px solid var(--line);flex-direction:row;gap:16px;padding:28px 0 0}}@media (width<=480px){.hero__stats{flex-direction:column}}.hero__stat{flex-direction:column;display:flex}@media (width<=820px){.hero__stat{flex:1}}.hero__stat-num{color:var(--forest);font-family:Gelasio,Georgia,serif;font-size:52px;line-height:1}.hero__stat-num em{color:var(--terracotta);font-style:italic}@media (width<=820px){.hero__stat-num{font-size:40px}}.hero__stat-label{letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:13px;font-weight:500}.marquee{background:var(--forest);color:var(--cream);border-top:1px solid var(--forest-deep);border-bottom:1px solid var(--forest-deep);padding:22px 0;overflow:hidden}@media (width<=820px){.marquee{padding:16px 0}}.marquee__track{white-space:nowrap;gap:60px;width:fit-content;animation:42s linear infinite marquee-scroll;display:flex}@media (width<=820px){.marquee__track{gap:44px;animation-duration:40s}}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}.marquee__item{font-family:Gelasio,Georgia,serif;font-size:22px;font-style:italic}@media (width<=820px){.marquee__item{font-size:17px}}.marquee__item:before{content:"✦";color:var(--terracotta);margin-right:60px;font-style:normal}@media (width<=820px){.marquee__item:before{margin-right:44px}}@keyframes marquee-scroll{to{transform:translate(-50%)}}.services{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services__grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=900px){.services__grid{grid-template-columns:1fr}}@media (width<=640px){.services__grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;border:none;grid-template-columns:none;gap:14px;margin:0 -20px;padding:0 20px 8px;display:flex;overflow-x:auto}.services__grid::-webkit-scrollbar{display:none}}.services__card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:40px 30px 44px;transition:background .3s}.services__card:hover{background:var(--cream)}@media (width<=640px){.services__card{border:1px solid var(--line);background:var(--cream);scroll-snap-align:start;border-radius:2px;flex:0 0 78%;max-width:300px;padding:26px 22px 30px}}.services__num{color:var(--terracotta);margin-bottom:20px;font-family:Gelasio,Georgia,serif;font-size:20px;font-style:italic;font-weight:400}@media (width<=640px){.services__num{margin-bottom:14px;font-size:18px}}.services__list{color:var(--ink-soft);flex-direction:column;gap:8px;font-size:15px;list-style:none;display:flex}@media (width<=640px){.services__list{font-size:14px}}.services__list li{padding-left:18px;position:relative}.services__list li:before{content:"";background:var(--terracotta);border-radius:50%;width:6px;height:6px;position:absolute;top:.7em;left:0}.services__swipe-hint{color:var(--muted);align-items:center;gap:8px;margin-top:14px;font-family:Gelasio,Georgia,serif;font-size:12px;font-style:italic;display:none}@media (width<=640px){.services__swipe-hint{display:flex}}.process__grid{grid-template-columns:repeat(4,1fr);gap:40px;display:grid}@media (width<=820px){.process__grid{grid-template-columns:1fr 1fr;gap:32px}}@media (width<=640px){.process__grid{padding-left:34px;display:block;position:relative}.process__grid:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:11px}}.process__step{position:relative}.process__step:before{content:attr(data-num);color:var(--terracotta);margin-bottom:20px;font-family:Gelasio,Georgia,serif;font-size:74px;font-style:italic;line-height:.8;display:block}@media (width<=820px){.process__step:before{font-size:56px}}@media (width<=640px){.process__step:before{background:var(--terracotta);width:24px;height:24px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;margin-bottom:0;font-family:Figtree,sans-serif;font-size:11px;font-style:normal;font-weight:600;line-height:1;display:flex;position:absolute;top:-2px;left:-34px}.process__step{padding-bottom:34px}.process__step:last-child{padding-bottom:0}}.process__title{margin-bottom:12px;font-size:24px}@media (width<=640px){.process__title{margin-bottom:8px;font-size:20px}}.process__description{color:var(--ink-soft);font-size:15px}@media (width<=640px){.process__description{font-size:14px}}.service-area__grid{grid-template-columns:1fr 1fr;grid-template-areas:"heading visual""list visual""note visual";gap:60px;display:grid}@media (width<=820px){.service-area__grid{grid-template-columns:1fr;grid-template-areas:"heading""visual""list""note";gap:24px}}.service-area__heading{grid-area:heading}.service-area__heading h2{margin-bottom:24px;font-size:clamp(36px,5vw,54px)}.service-area__heading h2 em{color:var(--terracotta)}.service-area__description{max-width:500px;color:var(--ink-soft);font-size:17px}.service-area__visual-wrap{grid-area:visual;align-self:start}.service-area__visual{aspect-ratio:4/5;background:var(--paper);border:1px solid var(--line);width:100%;height:auto;display:block}.service-area__caption{text-align:right;color:var(--muted);margin-top:4px;font-size:13px}.service-area__list{grid-area:list;grid-template-columns:repeat(2,1fr);gap:10px 24px;font-size:14px;display:grid}.service-area__list span{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px 0;font-weight:500;display:flex}.service-area__list em{font-variant-numeric:tabular-nums;color:var(--muted);font-style:normal;font-weight:400}@media (width<=640px){.service-area__list{font-size:13px}}.service-area__note{color:var(--muted);grid-area:note;font-size:14px}.quote{background:var(--forest);color:var(--cream);position:relative;overflow:hidden}.quote:before{content:"";background:radial-gradient(circle,#b84a1e26,#0000 60%);width:600px;height:600px;position:absolute;top:-200px;left:-200px}.quote .container{z-index:2;position:relative}.quote .section-head h2 em{color:var(--terra-light)}.quote .section-head p{color:#f4efe4bf}.quote__head-note{background:#f4efe414;border:1px solid #f4efe433;border-radius:2px;margin-top:16px;padding:6px 14px;font-size:13px;display:inline-block}@media (width<=820px){.quote__head-note{margin-top:12px;padding:6px 12px;font-size:12px}}.quote__wrap{max-width:860px;margin:0 auto}.quote__form{background:var(--paper);color:var(--ink);border-radius:2px;padding:48px}.quote__form input[type=text],.quote__form input[type=email],.quote__form input[type=tel],.quote__form input[type=number],.quote__form textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:14px 16px;font-family:Figtree,sans-serif;font-size:15px;transition:border-color .2s}.quote__form input[type=text]:focus,.quote__form input[type=email]:focus,.quote__form input[type=tel]:focus,.quote__form input[type=number]:focus,.quote__form textarea:focus{border-color:var(--forest);outline:none}@media (width<=820px){.quote__form{padding:26px 18px 30px}.quote__form input[type=text],.quote__form input[type=email],.quote__form input[type=tel],.quote__form input[type=number],.quote__form textarea{font-size:16px}}.quote__section{border-bottom:1px solid var(--line);margin-bottom:36px;padding-bottom:36px}.quote__section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}@media (width<=820px){.quote__section{margin-bottom:28px;padding-bottom:28px}}.quote__section-title{letter-spacing:.05em;color:var(--terracotta);margin-bottom:6px;font-family:Gelasio,Georgia,serif;font-size:13px;font-style:italic}@media (width<=820px){.quote__section-title{margin-bottom:4px;font-size:12px}}.quote__section-heading{margin-bottom:24px;font-size:24px}@media (width<=820px){.quote__section-heading{margin-bottom:18px;font-size:20px}}.quote__fieldset{border:0;min-width:0;margin:0;padding:0}.quote__label{color:var(--ink);margin-bottom:10px;font-size:14px;font-weight:600;display:block}.quote__label small{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}@media (width<=820px){.quote__label{margin-bottom:8px;font-size:13px}.quote__label small{font-size:11px}}.quote__req{color:var(--terracotta)}.quote__radio-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:24px;display:grid}@media (width<=820px){.quote__radio-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}}.quote__radio-tile{position:relative}.quote__radio-tile input{opacity:0;pointer-events:none;position:absolute}.quote__radio-tile label{text-align:center;min-height:48px;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;padding:14px 16px;font-size:14px;font-weight:500;line-height:1.3;transition:all .2s;display:flex}.quote__radio-tile label:hover{border-color:var(--ink)}.quote__radio-tile small{color:var(--muted);margin-top:2px;font-size:11px}.quote__radio-tile input:checked+label{color:var(--paper);background:var(--forest);border-color:var(--forest)}.quote__radio-tile input:checked+label small{color:#f4efe4bf}.quote__radio-tile input:focus-visible+label{outline:2px solid var(--terracotta);outline-offset:2px}@media (width<=820px){.quote__radio-tile label{padding:10px 12px;font-size:13px}.quote__radio-tile--wide{grid-column:1/-1}}.quote__check-grid{grid-template-columns:1fr;gap:12px;margin-bottom:8px;display:grid}.quote__check-tile{position:relative}.quote__check-tile input{opacity:0;pointer-events:none;position:absolute}.quote__check-tile label{min-height:48px;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:2px;align-items:flex-start;gap:12px;padding:16px 18px;font-size:14px;line-height:1.4;transition:all .2s;display:flex}.quote__check-tile label:before{content:"";border:1.5px solid var(--muted);border-radius:2px;flex-shrink:0;width:18px;height:18px;margin-top:1px;transition:all .2s}.quote__check-tile strong{margin-bottom:2px;font-weight:600;display:block}.quote__check-tile small{color:var(--muted);font-size:12px}.quote__check-tile input:checked+label{border-color:var(--forest);background:#2a3a2a0a}.quote__check-tile input:checked+label:before{background:var(--forest);border-color:var(--forest);box-shadow:inset 0 0 0 3px var(--paper)}.quote__check-tile input:focus-visible+label{outline:2px solid var(--terracotta);outline-offset:2px}@media (width<=820px){.quote__check-tile label{padding:14px 16px;font-size:13px}.quote__check-tile small{font-size:11px}}.quote__input-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=820px){.quote__input-row{grid-template-columns:1fr;gap:0}}.quote__input-group{margin-bottom:16px}@media (width<=820px){.quote__input-group{margin-bottom:14px}}.quote__submit{letter-spacing:.02em;width:100%;min-height:56px;color:var(--paper);background:var(--terracotta);cursor:pointer;border:none;border-radius:2px;margin-top:8px;padding:20px;font-family:Figtree,sans-serif;font-size:16px;font-weight:600;transition:background .2s}.quote__submit:hover{background:var(--terracotta-dark)}@media (width<=820px){.quote__submit{margin-top:6px;padding:18px}}.quote__honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quote__error{color:var(--terracotta-dark);border-left:3px solid var(--terracotta);background:#b84a1e14;margin-top:16px;padding:14px 16px;font-size:14px}.quote__note{color:var(--ink-soft);border-left:3px solid var(--terracotta);background:#b84a1e0f;margin-top:20px;padding:16px;font-size:12px;line-height:1.5}@media (width<=820px){.quote__note{margin-top:16px;padding:14px}}.quote__thanks{text-align:center;max-width:600px;margin:0 auto}.quote__thanks-eyebrow{color:var(--terra-light);margin-bottom:24px;font-family:Gelasio,Georgia,serif;font-size:72px;font-style:italic;line-height:1}@media (width<=820px){.quote__thanks-eyebrow{margin-bottom:20px;font-size:52px}}.quote__thanks-title{color:var(--cream);margin-bottom:20px;font-size:42px}@media (width<=820px){.quote__thanks-title{margin-bottom:16px;font-size:30px}}.quote__thanks-text{color:#f4efe4cc;margin-bottom:32px;font-size:18px;line-height:1.6}@media (width<=820px){.quote__thanks-text{margin-bottom:24px;font-size:15px}}.quote__thanks-note{color:var(--terra-light);font-family:Gelasio,Georgia,serif;font-size:22px;font-style:italic}.quote__thanks-note a{color:inherit}@media (width<=820px){.quote__thanks-note{font-size:18px}}.projects{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.projects__group{margin-top:48px}.projects__group:first-child{margin-top:0}@media (width<=820px){.projects__group{margin-top:36px}}.projects__group-head{align-items:baseline;gap:10px;margin-bottom:16px;display:flex}.projects__group-title{font-size:17px;font-weight:600}.projects__group-location{color:var(--muted);font-family:Gelasio,Georgia,serif;font-size:14px;font-style:italic}.projects__grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.projects__thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--cream);cursor:zoom-in;padding:0;position:relative;overflow:hidden}.projects__thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.projects__thumb:hover img,.projects__thumb:focus-visible img{transform:scale(1.05)}.projects__thumb:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px}.projects__chip{color:var(--paper);background:#1b1a1699;padding:3px 10px;font-family:Gelasio,Georgia,serif;font-size:12px;font-style:italic;position:absolute;top:8px;left:8px}.lightbox{z-index:200;background:var(--forest);justify-content:center;align-items:center;padding:80px 24px;display:flex;position:fixed;inset:0}.lightbox[hidden]{display:none}@media (width<=820px){.lightbox{padding:90px 16px 40px}}.lightbox__figure{flex-direction:column;align-items:center;gap:16px;max-width:min(900px,100%);margin:0;display:flex}.lightbox__figure img{object-fit:contain;border:1px solid #f4efe433;max-width:100%;max-height:70vh}.lightbox__figure figcaption{color:var(--cream);align-items:center;gap:10px;font-family:Gelasio,Georgia,serif;font-size:14px;font-style:italic;display:flex}.lightbox__tag{text-transform:uppercase;letter-spacing:.04em;border:1px solid #f4efe459;padding:2px 10px;font-size:12px}.lightbox__close,.lightbox__nav{cursor:pointer;background:0 0;border:1px solid #f4efe44d;border-radius:2px;justify-content:center;align-items:center;width:44px;height:44px;transition:border-color .15s;display:flex;position:absolute}.lightbox__close:hover,.lightbox__nav:hover{border-color:var(--cream)}.lightbox__close{top:24px;right:24px}.lightbox__nav--prev{top:50%;left:24px;transform:translateY(-50%)rotate(180deg)}@media (width<=820px){.lightbox__nav--prev{left:12px}}.lightbox__nav--next{top:50%;right:24px;transform:translateY(-50%)}@media (width<=820px){.lightbox__nav--next{right:12px}}.testimonials__grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}@media (width<=820px){.testimonials__grid{grid-template-columns:1fr;gap:24px}}@media (width<=640px){.testimonials__grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;grid-template-columns:none;gap:14px;margin:0 -20px;padding:0 20px 8px;display:flex;overflow-x:auto}.testimonials__grid::-webkit-scrollbar{display:none}}.testimonials__card{background:var(--paper);border:1px solid var(--line);padding:36px 32px;position:relative}.testimonials__card:before{content:"\"";color:var(--terracotta);opacity:.4;font-family:Gelasio,Georgia,serif;font-size:100px;font-style:italic;line-height:1;position:absolute;top:-10px;left:20px}@media (width<=640px){.testimonials__card{scroll-snap-align:start;flex:0 0 84%;max-width:320px;padding:28px 24px}.testimonials__card:before{opacity:.35;font-size:80px}}.testimonials__stars{z-index:2;letter-spacing:2px;color:var(--terracotta);font-size:14px;position:relative}.testimonials__quote{z-index:2;margin:24px 0;font-family:Gelasio,Georgia,serif;font-size:18px;line-height:1.5;position:relative}@media (width<=640px){.testimonials__quote{margin:18px 0;font-size:15px;line-height:1.55}}.testimonials__author{color:var(--ink);font-size:13px;font-weight:600}.testimonials__author span{color:var(--muted);margin-top:2px;font-weight:400;display:block}@media (width<=640px){.testimonials__author{font-size:12px}}.testimonials__swipe-hint{color:var(--muted);align-items:center;gap:8px;margin-top:14px;font-family:Gelasio,Georgia,serif;font-size:12px;font-style:italic;display:none}@media (width<=640px){.testimonials__swipe-hint{display:flex}}.contact{color:var(--cream);background:var(--ink);padding:80px 0}.contact__grid{grid-template-columns:1.5fr 1fr 1fr;align-items:start;gap:60px;display:grid}@media (width<=820px){.contact__grid{grid-template-columns:1fr;gap:32px}}.contact__intro h2{color:var(--cream);margin-bottom:20px;font-size:clamp(36px,5vw,54px)}.contact__intro h2 em{color:var(--terra-light);font-style:italic;font-weight:400}@media (width<=820px){.contact__intro h2{font-size:clamp(30px,8.5vw,38px)}}.contact__intro p{color:#f4efe4b3;max-width:400px}.contact__block h4{letter-spacing:.15em;text-transform:uppercase;color:var(--terra-light);margin-bottom:14px;font-family:Figtree,sans-serif;font-size:12px;font-weight:600}.contact__block h4:not(:first-child){margin-top:24px}.contact__block p,.contact__block a{color:var(--cream);font-size:17px;line-height:1.6;display:block}.contact__block a:hover{color:var(--terra-light)}
