@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fraunces-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fraunces-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fraunces-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fraunces-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fraunces-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fraunces-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/dm-sans-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/dm-sans-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-sans-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/dm-sans-latin-ext-600.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/dm-sans-latin-ext-700.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
.sp-site{font-family:var(--wp--preset--font-family--body);font-size:var(--wp--preset--font-size--base);line-height:1.65;color:var(--wp--preset--color--text);background:var(--wp--preset--color--background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.sp-site :where(h1,h2,h3,h4,p,figure,ul,ol,details,form){margin:0}
.sp-site :where(h1,h2,h3,h4){font-family:var(--wp--preset--font-family--heading);line-height:1.12;letter-spacing:-0.01em;font-weight:700;text-wrap:balance}
.sp-site a{color:inherit}
.sp-site img{max-width:100%;height:auto;display:block}
.sp-site :focus-visible{outline:3px solid var(--wp--preset--color--accent);outline-offset:3px}
.sp-container{width:100%;max-width:var(--sp-container);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.sp-section{padding-block:var(--sp-section-y);background:var(--wp--preset--color--background);color:var(--wp--preset--color--text)}
.sp-pad--compact{padding-block:clamp(2.5rem,5vw,4rem)}.sp-pad--airy{padding-block:clamp(5rem,11vw,9rem)}
.sp-bg--surface{background:var(--wp--preset--color--surface)}
.sp-bg--primary{background:var(--wp--preset--color--primary);color:var(--wp--preset--color--on-primary)}
.sp-bg--dark{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--on-ink)}
.sp-bg--accent{background:var(--wp--preset--color--accent);color:var(--wp--preset--color--on-accent)}
.sp-align--center .sp-head,.sp-align--center .sp-hero__text{text-align:center;margin-inline:auto}
.sp-eyebrow{font-size:var(--wp--preset--font-size--small);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--accent);margin-bottom:.9rem}
.sp-bg--primary .sp-eyebrow,.sp-bg--dark .sp-eyebrow,.sp-bg--accent .sp-eyebrow{color:inherit;opacity:.8}
.sp-title{font-size:var(--wp--preset--font-size--title)}
.sp-lead{font-size:var(--wp--preset--font-size--lead);color:var(--wp--preset--color--muted);max-width:60ch;margin-top:1rem}
.sp-bg--primary .sp-lead,.sp-bg--dark .sp-lead,.sp-bg--accent .sp-lead{color:inherit;opacity:.85}
.sp-body{max-width:65ch}.sp-body+.sp-body{margin-top:1rem}
.sp-head{margin-bottom:clamp(2rem,4vw,3.25rem);max-width:46rem}.sp-head--tight{margin-bottom:1.5rem}
.sp-img{width:100%;object-fit:cover;border-radius:var(--sp-radius)}
.wp-block-image.sp-img{margin:0}.wp-block-image.sp-img img{width:100%;height:100%;object-fit:cover;border-radius:var(--sp-radius)}
/* buttons */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.75rem}
.wp-block-button__link,.sp-btn .wp-block-button__link{display:inline-block;text-decoration:none;font-weight:600;font-size:var(--wp--preset--font-size--base);padding:.85em 1.6em;border-radius:var(--sp-pill);border:2px solid transparent;cursor:pointer;transition:transform .15s,background-color .15s,color .15s;line-height:1.2}
.sp-btn--primary .wp-block-button__link{background:var(--wp--preset--color--primary);color:var(--wp--preset--color--on-primary)}
.sp-btn--secondary .wp-block-button__link{background:transparent;color:inherit;border-color:currentColor}
.sp-btn--light .wp-block-button__link{background:var(--wp--preset--color--background);color:var(--wp--preset--color--text)}
.sp-bg--primary .sp-btn--primary .wp-block-button__link,.sp-bg--dark .sp-btn--primary .wp-block-button__link{background:var(--wp--preset--color--accent);color:var(--wp--preset--color--on-accent)}
.wp-block-button__link:hover{transform:translateY(-1px)}
/* header */
.sp-header{position:sticky;top:0;z-index:20;background:var(--wp--preset--color--background);border-bottom:1px solid var(--wp--preset--color--border)}
.sp-header__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.9rem}
.sp-brand{display:flex;align-items:center;gap:.6rem}
.sp-site-title,.wp-block-site-title{font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1.25rem;margin:0}
.sp-site-title a,.wp-block-site-title a{text-decoration:none}
.sp-logo img{max-height:2.4rem;width:auto}
.sp-nav{margin-left:auto}
.sp-nav--preview ul{list-style:none;padding:0;margin:0}
.sp-nav--preview .sp-nav__d{display:none;gap:1.6rem}
.sp-nav--preview .sp-nav__m summary{cursor:pointer;font-weight:600;list-style:none;padding:.5rem}
.sp-nav--preview .sp-nav__m{position:relative}
.sp-nav--preview .sp-nav__m ul{display:grid;gap:.25rem;position:absolute;right:0;top:100%;min-width:12rem;background:var(--wp--preset--color--background);padding:1rem 1.5rem;border:1px solid var(--wp--preset--color--border)}
.sp-nav a{text-decoration:none;font-weight:500}
.sp-nav a:hover{text-decoration:underline;text-underline-offset:.3em}
.sp-header__cta{display:none}
.sp-nav .wp-block-navigation{gap:1.6rem}
@media (min-width:900px){.sp-nav--preview .sp-nav__d{display:flex}.sp-nav--preview .sp-nav__m{display:none}.sp-header__cta{display:block}}
/* hero */
.sp-hero__title{font-size:var(--wp--preset--font-size--display);max-width:18ch}
.sp-hero__text{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.sp-hero__sub{margin-bottom:2rem}
.sp-highlights{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2rem;font-weight:500}
.sp-highlights li::before{content:"";display:inline-block;width:.5em;height:.5em;background:var(--wp--preset--color--accent);margin-right:.6em;border-radius:50%}
.sp-section--hero .sp-container{display:grid;gap:2.5rem;align-items:center}
.sp-hero__media .sp-img{aspect-ratio:4/3}
.sp-variant--centered .sp-container{text-align:center;justify-items:center}.sp-variant--centered .sp-hero__text{align-items:center}.sp-variant--centered .sp-hero__title{max-width:22ch}.sp-variant--centered .sp-actions{justify-content:center}.sp-variant--centered .sp-highlights{justify-content:center}.sp-variant--centered .sp-hero__media{width:100%}.sp-variant--centered .sp-hero__media .sp-img{aspect-ratio:16/8}
.sp-section--hero.sp-variant--fullImage{position:relative;color:#fff;background:var(--wp--preset--color--ink);min-height:min(88vh,52rem);display:flex;align-items:center;overflow:hidden}
.sp-section--hero.sp-variant--fullImage .sp-container{position:relative;z-index:2}
.sp-section--hero.sp-variant--fullImage .sp-hero__media{position:absolute;inset:0;z-index:0}
.sp-section--hero.sp-variant--fullImage .sp-hero__media .sp-img,.sp-section--hero.sp-variant--fullImage .sp-hero__media img{height:100%;aspect-ratio:auto;border-radius:0}
.sp-section--hero.sp-variant--fullImage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(0 0 0/.72),rgb(0 0 0/.25));z-index:1}
.sp-section--hero.sp-variant--fullImage .sp-lead{color:#fff;opacity:.9}.sp-section--hero.sp-variant--fullImage .sp-eyebrow{color:#fff}
.sp-section--hero.sp-variant--fullImage .sp-btn--primary .wp-block-button__link{background:var(--wp--preset--color--accent);color:var(--wp--preset--color--on-accent)}
.sp-variant--editorial .sp-hero__title{max-width:14ch;font-size:calc(var(--wp--preset--font-size--display) * 1.15);font-weight:500}
@media (min-width:900px){.sp-section--hero.sp-variant--split .sp-container,.sp-section--hero.sp-variant--editorial .sp-container{grid-template-columns:1.05fr .95fr}.sp-section--hero.sp-variant--editorial .sp-hero__media .sp-img{aspect-ratio:3/4}}
/* grids */
.sp-grid{display:grid;gap:1.5rem}
.sp-card{display:flex;flex-direction:column;gap:.5rem;padding:1.75rem;background:var(--wp--preset--color--surface);border-radius:var(--sp-radius);border:1px solid var(--wp--preset--color--border)}
.sp-bg--surface .sp-card{background:var(--wp--preset--color--background)}
.sp-card__img{aspect-ratio:3/2;margin-bottom:.75rem}
.sp-card__title{font-size:var(--wp--preset--font-size--kicker)}.sp-card__text{color:var(--wp--preset--color--muted)}
.sp-card .sp-actions{margin-top:.75rem}
.sp-variant--list .sp-grid{gap:0}.sp-variant--list .sp-card{background:none;border:0;border-top:1px solid var(--wp--preset--color--border);border-radius:0;padding:1.5rem 0;display:grid;gap:.4rem 2rem}
@media (min-width:760px){.sp-variant--list .sp-card{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}
.sp-variant--alternating .sp-grid{gap:3rem}.sp-variant--alternating .sp-card{background:none;border:0;padding:0;display:grid;gap:1.25rem 3rem;align-items:center}
@media (min-width:760px){.sp-variant--alternating .sp-card{grid-template-columns:1fr 1fr}.sp-variant--alternating .sp-card:nth-child(even) .sp-card__img{order:2}}
@media (min-width:640px){.sp-variant--cards .sp-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sp-variant--cards .sp-grid{grid-template-columns:repeat(3,1fr)}}
/* about */
.sp-section--about .sp-container{display:grid;gap:2.5rem;align-items:center}
.sp-about__media .sp-img{aspect-ratio:4/5}
.sp-checks{list-style:none;padding:0;margin-top:1.25rem;display:grid;gap:.5rem}
.sp-checks li{padding-left:1.7rem;position:relative}.sp-checks li::before{content:"";position:absolute;left:0;top:.55em;width:.9rem;height:.5rem;border-left:2px solid var(--wp--preset--color--accent);border-bottom:2px solid var(--wp--preset--color--accent);transform:rotate(-45deg) translateY(-50%)}
.sp-about__text .sp-actions{margin-top:1.5rem}
@media (min-width:900px){.sp-variant--imageRight .sp-container,.sp-variant--imageLeft .sp-container{grid-template-columns:1fr 1fr;gap:4.5rem}.sp-variant--imageLeft .sp-about__media{order:-1}}
.sp-variant--textOnly .sp-about__text{max-width:50rem}
/* stats */
.sp-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.sp-stat__value{font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--title);font-weight:700;line-height:1}
.sp-stat__label{margin-top:.5rem;opacity:.8;font-size:var(--wp--preset--font-size--small)}
@media (min-width:800px){.sp-stats{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}}
/* process */
.sp-steps{display:grid;gap:2rem;counter-reset:s}
.sp-step{border-top:2px solid var(--wp--preset--color--text);padding-top:1.1rem}
.sp-step__n{font-family:var(--wp--preset--font-family--heading);color:var(--wp--preset--color--accent);font-weight:700;margin-bottom:.4rem}
.sp-step__title{font-size:var(--wp--preset--font-size--kicker);margin-bottom:.4rem}.sp-step__text{color:var(--wp--preset--color--muted)}
@media (min-width:760px){.sp-steps{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}
/* projects */
.sp-gallery{display:grid;gap:1.5rem}
.sp-project .sp-img{aspect-ratio:4/3}.sp-project__meta{padding-top:1rem}.sp-project__title{font-size:var(--wp--preset--font-size--kicker)}.sp-project__text{color:var(--wp--preset--color--muted);margin-top:.3rem}
.sp-project .sp-eyebrow{margin-bottom:.3rem}
@media (min-width:640px){.sp-gallery{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.sp-variant--grid .sp-gallery{grid-template-columns:repeat(3,1fr)}.sp-variant--featured .sp-project:first-child{grid-column:1/-1}.sp-variant--featured .sp-project:first-child .sp-img{aspect-ratio:21/9}}
/* quotes */
.sp-quotes{display:grid;gap:1.5rem}
.sp-quote{padding:1.75rem;border-left:3px solid var(--wp--preset--color--accent);background:var(--wp--preset--color--surface)}
.sp-bg--surface .sp-quote{background:var(--wp--preset--color--background)}
.sp-quote__text{font-family:var(--wp--preset--font-family--heading);font-size:var(--wp--preset--font-size--lead)}.sp-quote__by{margin-top:1rem;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted)}
@media (min-width:800px){.sp-quotes{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}}
/* faq */
.sp-faq{max-width:50rem}
.sp-faq__item{border-bottom:1px solid var(--wp--preset--color--border);padding:1.1rem 0}
.sp-faq__item summary{cursor:pointer;font-weight:600;font-size:var(--wp--preset--font-size--lead);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.sp-faq__item summary::after{content:"+";font-size:1.4em;line-height:1;color:var(--wp--preset--color--accent)}.sp-faq__item[open] summary::after{content:"\2212"}
.sp-faq__a{margin-top:.8rem;color:var(--wp--preset--color--muted)}
/* cta */
.sp-section--cta .sp-container{display:grid;gap:1.75rem;align-items:center}
.sp-section--cta.sp-bg--default{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--on-ink)}
.sp-section--cta .sp-lead{color:inherit;opacity:.85}
.sp-section--cta.sp-bg--default .sp-btn--light .wp-block-button__link{background:var(--wp--preset--color--accent);color:var(--wp--preset--color--on-accent)}
@media (min-width:800px){.sp-section--cta .sp-container{grid-template-columns:1fr auto}}
.sp-variant--banner .sp-container{text-align:left}
/* contact */
.sp-section--contact .sp-container{display:grid;gap:2.5rem}
.sp-info{margin-top:.6rem}.sp-contact__info .sp-actions{margin-top:1.2rem}.sp-footer__social{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.sp-footer__social .wp-block-button__link,.sp-btn--link{background:transparent;color:inherit;padding:0;text-decoration:underline;border:0}
.sp-form{display:grid;gap:1rem;padding:1.75rem;background:var(--wp--preset--color--surface);border-radius:var(--sp-radius);border:1px solid var(--wp--preset--color--border)}
.sp-form label{display:grid;gap:.35rem;font-weight:500;font-size:var(--wp--preset--font-size--small)}
.sp-form input,.sp-form textarea{font:inherit;padding:.8em 1em;border:1px solid var(--wp--preset--color--border);border-radius:var(--sp-radius);background:var(--wp--preset--color--background);color:inherit;width:100%}
.sp-form textarea{min-height:8rem;resize:vertical}
.sp-form button{font:inherit;font-weight:600;padding:.9em 1.6em;border:0;cursor:pointer;background:var(--wp--preset--color--primary);color:var(--wp--preset--color--on-primary);border-radius:var(--sp-pill)}
.sp-form .sp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sp-form__msg{padding:.8rem 1rem;border-radius:var(--sp-radius);background:var(--wp--preset--color--surface)}
@media (min-width:900px){.sp-section--contact .sp-container{grid-template-columns:1fr 1fr;gap:4rem}}
.sp-prose{max-width:46rem}
/* footer */
.sp-footer{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--on-ink);padding-block:3.5rem 2rem}
.sp-footer__cols{display:grid;gap:2rem}
.sp-footer__name{font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1.3rem}.sp-footer__tag{opacity:.75;margin-top:.5rem;max-width:36ch}
.sp-nav--footer{margin-left:0}.sp-nav--footer ul{display:grid!important;gap:.4rem;position:static}
.sp-footer__legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgb(255 255 255/.18);opacity:.7;font-size:var(--wp--preset--font-size--small)}
@media (min-width:800px){.sp-footer__cols{grid-template-columns:2fr 1fr 1.4fr}}
/* motion: opt-in, subtle, respects reduced motion */
@media (prefers-reduced-motion:no-preference){.sp-section{animation:sp-in .6s ease both}@keyframes sp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sp-header{position:static}.sp-site a.sp-site-link{text-decoration:none}
