:root{--bg:#f7f6f2;--surface:#eceae3;--ink:#1f2a2e;--mute:#5e6a6e;--accent:#2f6e62;--accent2:#e3b04b;--accent-ink:#fff;--font-display:"Literata", serif;--font-body:"Noto Sans", sans-serif}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0}.s48-site{letter-spacing:0;-webkit-font-smoothing:antialiased;line-height:1.6}.s48-site *{box-sizing:border-box}.s48-site img{object-fit:cover;max-width:100%;height:auto;display:block}.s48-site a{color:inherit;text-decoration:none}.s48-site h1,.s48-site h2,.s48-site h3,.s48-site blockquote{font-family:var(--font-display);letter-spacing:0;font-weight:400}.s48-site p{margin:0 0 1.2em}.s48-site h1{margin:24px 0;font-size:64px;line-height:1.08}.s48-site h1 em{color:var(--accent);font-style:normal;display:block}.s48-site h2{margin:12px 0 24px;font-size:44px;line-height:1.12}.s48-site h3{margin:10px 0;font-size:24px;line-height:1.25}.s48-site :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pt-header{background:var(--bg);z-index:30;justify-content:space-between;align-items:center;gap:24px;min-height:84px;padding:18px 5%;display:flex;position:relative}.pt-brand strong{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1.2;display:block}.pt-brand small{color:var(--mute);font-size:12px;display:block}.pt-brand img{object-fit:contain;width:160px;max-height:64px}.pt-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:28px;font-size:13px;display:flex}.pt-nav a{transition:color .2s}.pt-nav a:hover{color:var(--accent)}.pt-menu{color:var(--ink);background:0 0;border:0;width:44px;height:44px;padding:10px;display:none}.pt-menu svg{width:24px;height:24px}.pt-hero{align-items:center;min-height:640px;display:flex;position:relative;overflow:hidden}.pt-hero-image{width:100%;height:100%;position:absolute;inset:0}.pt-hero-copy{z-index:2;max-width:1000px;padding:80px 7%;position:relative}.pt-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:12px;line-height:1.6;margin:0 0 8px!important}.pt-lede{color:var(--mute);max-width:620px;font-size:17px;line-height:1.75}.pt-lede:empty,.pt-eyebrow:empty{display:none}.pt-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.pt-button{background:var(--accent);border:1px solid var(--accent);font:500 14px var(--font-body);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:15px 26px;transition:transform .2s,background .2s,color .2s;display:inline-flex;color:var(--accent-ink)!important}.pt-button:hover{transform:translateY(-1px)}.pt-secondary{border-color:color-mix(in srgb,var(--ink) 30%,transparent);background:0 0;color:var(--ink)!important}.pt-portrait{object-fit:cover;width:340px;height:430px;margin:60px auto 0}.pt-hero-stats{flex-wrap:wrap;gap:40px;margin-top:48px;display:flex}.pt-hero-stats strong{font:36px var(--font-display);display:block}.pt-hero-stats span{color:var(--mute);font-size:12px}.pt-section{grid-template-columns:1fr 2fr;gap:60px;padding:110px 6%;display:grid}.pt-section-heading,.pt-section-body{min-width:0}.pt-content-image{width:100%;max-height:560px;margin-bottom:36px}.pt-prose{color:var(--mute);font-size:17px;line-height:1.85}.pt-prose:empty{display:none}.pt-prose blockquote{background:var(--surface);color:var(--ink);margin:30px 0;padding:32px;font-size:28px;line-height:1.4}.pt-credentials{border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding-top:24px;font-size:14px}.pt-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.pt-item{min-width:0}.pt-item img{aspect-ratio:4/3;width:100%;margin-bottom:20px}.pt-item p{color:var(--mute);font-size:15px}.pt-item-number{color:var(--accent);font-size:12px}.pt-item ul{color:var(--mute);padding-left:18px;font-size:14px}.pt-price{font:24px var(--font-display);color:var(--accent);margin:10px 18px 0 0;display:inline-block}.pt-duration{color:var(--mute);font-size:13px}.pt-text-link{border-bottom:1px solid var(--accent);margin-top:18px;display:inline-block}.pt-items:empty,.pt-hero-stats:empty{display:none}.pt-faq details{border-bottom:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding:22px 0}.pt-faq summary{cursor:pointer;justify-content:space-between;gap:24px;font-size:18px;list-style:none;display:flex}.pt-faq summary::-webkit-details-marker{display:none}.pt-faq summary span{color:var(--accent);transition:transform .25s}.pt-faq details[open] summary span{transform:rotate(45deg)}.pt-faq details p{color:var(--mute);margin-top:18px}.pt-contact{background:var(--surface)}.pt-contact address{color:var(--mute);margin:32px 0;font-size:15px;font-style:normal}.pt-contact address a{overflow-wrap:anywhere;margin-top:10px;display:block}.pt-contact address a:hover{color:var(--accent)}.pt-hours p{color:var(--mute);justify-content:space-between;gap:20px;margin:0 0 6px;font-size:13px;display:flex}.cform{gap:22px;display:grid}.f-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.field label{margin-bottom:9px;font-size:13px;display:block}.field input,.field textarea,.field select{font:16px var(--font-body);background:var(--bg);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);color:var(--ink);border-radius:3px;width:100%;padding:13px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.field [aria-invalid=true]{border-color:var(--accent)}.field .opt{color:var(--mute);font-size:12px}.f-actions{flex-wrap:wrap;gap:20px;display:flex}.f-note{font-size:14px}.f-steps{gap:20px;padding:0;list-style:none;display:flex}.pt-text_image{grid-template-columns:1fr}.pt-text_image .pt-prose{max-width:850px}.pt-footer{border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:64px 6%}.pt-footer-top{grid-template-columns:1fr 2fr;gap:60px;display:grid}.pt-footer strong{font:26px var(--font-display)}.pt-footer p{color:var(--mute);max-width:600px;font-size:14px}.pt-footer nav{color:var(--mute);flex-wrap:wrap;gap:24px;margin-top:36px;font-size:12px;display:flex}.pt-footer nav a:hover{color:var(--accent)}.pt-callbar{display:none}@media (width>=1600px){.pt-hero-copy{padding-left:8%}.pt-section{padding-left:8%;padding-right:8%}}@media (width<=900px){.pt-nav{gap:16px}.pt-nav>.pt-button{display:none}.pt-header{padding:16px 5%}.pt-section{grid-template-columns:1fr;gap:36px}.s48-site h1{font-size:48px}}@media (width<=640px){.pt-header{min-height:72px}.pt-brand strong{font-size:20px}.pt-menu{display:inline-flex}.pt-nav{background:var(--bg);border-bottom:1px solid var(--accent);flex-direction:column;align-items:stretch;gap:20px;padding:24px;display:none;position:absolute;top:100%;left:0;right:0}.pt-nav.is-open{display:flex}.s48-site h1{font-size:38px;line-height:1.12}.s48-site h2{font-size:31px}.s48-site h3{font-size:22px}.pt-hero{min-height:600px}.pt-hero-copy{width:100%;padding:64px 6%}.pt-hero-stats{gap:24px}.pt-lede{font-size:16px}.pt-section{gap:24px;padding:72px 6%}.pt-items{grid-template-columns:1fr;gap:28px}.pt-button{padding:14px 18px;font-size:13px}.pt-portrait{width:260px;height:330px}.f-row{grid-template-columns:1fr}.pt-footer{padding:48px 6% 96px}.pt-footer-top{grid-template-columns:1fr;gap:20px}.pt-callbar{z-index:40;background:var(--accent);color:var(--accent-ink);justify-content:space-around;gap:20px;padding:14px;font-size:14px;display:flex;position:fixed;bottom:0;left:0;right:0}}@media (prefers-reduced-motion:no-preference){.pt-hero-image{animation:1.2s ease-out pt-reveal}@keyframes pt-reveal{0%{opacity:.6;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}}.s48-site h1,.s48-site h2,.s48-site h3{font-weight:600}.s48-site h2{font-size:clamp(30px,3.8vw,52px)}.pt-eyebrow{color:var(--accent);letter-spacing:.14em;font-weight:600}.pt-header{background:var(--accent);color:var(--accent-ink)}.pt-header .pt-brand small{color:color-mix(in srgb,var(--accent-ink) 75%,transparent)}.pt-brand strong{font-size:26px}.pt-nav{font-size:14px}.pt-header .pt-button{background:var(--accent2);border-color:var(--accent2);color:var(--ink)!important}.pt-header .pt-menu{color:var(--accent-ink)}.pt-button{border-radius:6px;font-weight:600}.pt-hero{min-height:auto}.pt-hero-copy{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;column-gap:7%;max-width:none;padding:84px 7% 96px;display:grid}.pt-hero-copy>*{grid-column:1}.pt-hero h1{font-size:clamp(40px,4.8vw,74px);line-height:1.06}.pt-hero h1 em{color:var(--accent);font-style:italic}.pt-hero .pt-portrait{aspect-ratio:4/5;border:16px solid var(--accent-ink);outline:2px solid var(--ink);width:100%;height:auto;box-shadow:inset 0 0 0 0 transparent,0 40px 60px -40px var(--ink);grid-area:1/2/span 6;margin:0;position:relative}.pt-hero-copy:after{content:"";background:linear-gradient(90deg,transparent calc(50% - 4px),var(--accent-ink) calc(50% - 4px),var(--accent-ink) calc(50% + 4px),transparent calc(50% + 4px)),linear-gradient(transparent calc(40% - 4px),var(--accent-ink) calc(40% - 4px),var(--accent-ink) calc(40% + 4px),transparent calc(40% + 4px));pointer-events:none;grid-area:1/2/span 6;place-self:stretch stretch;margin:16px}.pt-hero-stats{gap:16px}.pt-hero-stats div{background:var(--surface);border-radius:8px;padding:16px 20px}.pt-hero-stats strong{font:600 28px var(--font-display);color:var(--accent)}.pt-section{padding:110px 7%}.pt-services{background:var(--surface);display:block}.pt-services .pt-section-heading{max-width:700px;margin-bottom:56px}.pt-services .pt-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.pt-services .pt-item{background:var(--bg);border-radius:8px;padding:14px 14px 26px}.pt-services .pt-item img{aspect-ratio:4/3;border:6px solid var(--accent-ink);outline:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:2px;margin-bottom:18px}.pt-services .pt-item>div{padding:0 8px}.pt-services .pt-item-number{display:none}.pt-services .pt-item h3{font-size:21px}.pt-about{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center}.pt-about .pt-section-body{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:44px;display:grid}.pt-about .pt-content-image{aspect-ratio:3/4;border:12px solid var(--accent-ink);outline:2px solid var(--ink);margin:0}.pt-about .pt-prose blockquote{background:var(--accent);color:var(--accent-ink);border-radius:8px;font-size:22px}.pt-steps{background:var(--ink);color:var(--accent-ink);display:block}.pt-steps .pt-eyebrow{color:var(--accent2)}.pt-steps .pt-section-heading{margin-bottom:52px}.pt-steps .pt-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.pt-steps .pt-item{border:2px solid color-mix(in srgb,var(--accent-ink) 25%,transparent);border-radius:8px;padding:26px}.pt-steps .pt-item p{color:color-mix(in srgb,var(--accent-ink) 70%,transparent)}.pt-steps .pt-item-number{background:var(--accent2);width:42px;height:42px;color:var(--ink);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.pt-gallery{display:block}.pt-gallery .pt-section-heading{margin-bottom:40px}.pt-gallery .pt-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.pt-gallery .pt-item img{aspect-ratio:4/3;border:10px solid var(--accent-ink);outline:1px solid color-mix(in srgb,var(--ink) 25%,transparent);margin:0}.pt-gallery .pt-item>div{display:none}.pt-faq details{border-bottom:2px solid var(--surface)}.pt-faq summary{font-family:var(--font-display);font-size:20px;font-weight:600}.pt-contact{background:var(--accent);color:var(--accent-ink)}.pt-contact .pt-eyebrow{color:var(--accent2)}.pt-contact .pt-lede,.pt-contact address,.pt-contact .pt-hours p{color:color-mix(in srgb,var(--accent-ink) 80%,transparent)}.field input,.field textarea,.field select{background:var(--accent-ink);color:var(--ink);border-radius:6px}.pt-contact .pt-button{background:var(--accent2);border-color:var(--accent2);color:var(--ink)!important}@media (width<=1000px){.pt-services .pt-items{grid-template-columns:1fr 1fr}}@media (width<=900px){.pt-hero-copy{grid-template-columns:1fr}.pt-hero .pt-portrait,.pt-hero-copy:after{grid-area:auto/1;max-width:420px}.pt-hero-copy:after{display:none}.pt-hero .pt-portrait{margin:40px 0 0}.pt-about .pt-section-body{grid-template-columns:1fr}.pt-steps .pt-items{grid-template-columns:1fr 1fr}}@media (width<=640px){.pt-hero-copy{padding:56px 6% 64px}.pt-section{padding:72px 6%}.pt-hero-stats div{padding:12px 14px}.pt-hero-stats strong{font-size:22px}}@media (width<=900px){.s48-site .pt-section{grid-template-columns:1fr}.s48-site .pt-section-heading h2{position:static}}@media (width<=640px){.s48-site .pt-items{grid-template-columns:1fr}.s48-site .pt-section,.s48-site .pt-hero-copy{padding-left:6%;padding-right:6%}.s48-site h1{overflow-wrap:break-word}}
