.perfect-fit{--tf-ink:var(--builder-ink,#4a1620);--tf-paper:var(--builder-surface,#fbf3e6);--tf-accent:var(--builder-accent,#8c1c2c);--tf-soft:var(--builder-soft,#f3e2cf);--tf-muted:var(--builder-muted,#74584a);--tf-line:var(--builder-line,#e6d3ba);--tf-card:color-mix(in srgb, var(--tf-paper) 45%, #fff);--tf-deep:color-mix(in srgb, var(--tf-accent) 78%, #1a0508);--tf-on-deep:color-mix(in srgb, var(--tf-paper) 80%, #fff);--tf-gold:color-mix(in srgb, var(--tf-accent) 18%, #b9853a);--tf-accent-text:color-mix(in srgb, var(--tf-accent) 82%, var(--tf-ink));--tf-body:color-mix(in srgb, var(--tf-ink) 62%, var(--tf-muted));--nw-on-accent:#fff;background:var(--tf-paper);color:var(--tf-ink);font-family:var(--nw-font-body,"Lora", serif);container-type:inline-size}.tf{overflow:hidden}.tf-wrap{width:min(1200px,100% - 64px);margin-inline:auto}.tf h1,.tf h2,.tf h3,.tf-brand strong{font-family:var(--nw-font-display,"Playfair Display", serif);overflow-wrap:anywhere}.tf p{overflow-wrap:anywhere}.tf section[id]{scroll-margin-top:24px}.tf svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:none;width:20px;height:20px}.tf svg.is-brand{fill:currentColor;stroke:none}.tf-head{text-align:center}.tf .tf-head h2{color:var(--tf-accent-text);align-items:center;gap:22px;font-size:clamp(1.8rem,3cqi,2.5rem);font-weight:600;line-height:1.15;display:inline-flex}.tf-head h2:before,.tf-head h2:after{border:solid var(--tf-gold);content:"";border-width:1.5px 0 0;border-radius:50%;flex:none;width:46px;height:10px}.tf-head h2:before{transform:rotate(-8deg)}.tf-head h2:after{transform:rotate(8deg)}.tf-head p{color:var(--tf-body);margin-top:6px;font-size:1.05rem;line-height:1.5}.tf-button{background:var(--tf-accent);min-height:46px;color:var(--nw-on-accent);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:8px 26px;font-size:.95rem;font-weight:600;display:inline-flex}.tf-button--line{background:var(--tf-card);box-shadow:inset 0 0 0 1.5px var(--tf-gold);color:var(--tf-ink)}.tf-button--line svg{color:#146c36}.tf-nav{border-bottom:1px dashed var(--tf-gold);background:var(--tf-card)}.tf-nav__inner{align-items:center;gap:26px;min-height:78px;display:flex}.tf-brand{align-items:center;gap:12px;display:inline-flex}.tf-brand__mark{border:1.5px solid var(--tf-gold);min-width:44px;height:44px;color:var(--tf-accent-text);border-radius:50%;flex:none;place-items:center;padding:0 8px;font-size:.95rem;font-weight:700;line-height:1;display:grid}.tf-brand__text{gap:2px;line-height:1.1;display:grid}.tf-brand strong{color:var(--tf-ink);font-size:1.75rem;font-weight:500}.tf-brand small{color:var(--tf-body);font-size:.85rem}.tf-nav nav{gap:clamp(14px,2cqw,30px);margin-left:auto;display:flex}.tf-nav nav a,.tf-footer nav a{border-bottom:1.5px solid #0000;padding:6px 0;font-size:.92rem}.tf-nav nav a:hover,.tf-footer nav a:hover{border-color:currentColor}.tf-hero{isolation:isolate;background:linear-gradient(90deg, var(--tf-soft), var(--tf-paper) 50%, var(--tf-soft));grid-template-columns:22% minmax(0,1fr) 42%;align-items:center;min-height:400px;display:grid;position:relative}.tf-hero figure{align-self:stretch;margin:0;position:relative}.tf-hero figure img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.tf-hero__side:after{background:linear-gradient(270deg, var(--tf-paper), transparent 30%);content:"";position:absolute;inset:0}.tf-hero__photo{grid-area:1/3}.tf-hero__photo:after{background:linear-gradient(90deg, var(--tf-paper), transparent 30%);content:"";position:absolute;inset:0}.tf-hero__copy{grid-area:1/2;padding:48px 12px 52px 32px}.tf .tf-hero h1{color:var(--tf-accent-text);font-size:clamp(2.6rem,4.4cqi,3.6rem);font-weight:600;line-height:1.05}.tf-hero h1 em{color:var(--tf-ink);font-size:.8em;font-style:normal;display:block}.tf p.tf-lede{max-width:460px;margin-top:14px;font-size:1.15rem;line-height:1.45}.tf-facts{color:var(--tf-body);flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.tf-facts li{align-items:center;gap:8px;display:flex}.tf-facts svg{width:24px;height:24px;color:var(--tf-accent-text)}.tf-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.tf-services{padding:30px 0 34px}.tf-service-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:24px;display:grid}.tf-service-list article{border:1px solid var(--tf-line);background:var(--tf-card);text-align:center;border-radius:10px;padding-bottom:16px;overflow:hidden}.tf-service__photo img{aspect-ratio:8/5;object-fit:cover;width:100%}.tf .tf-service-list h3{color:var(--tf-accent-text);margin:12px 12px 0;font-size:1.2rem;font-weight:600}.tf .tf-service-list p{color:var(--tf-body);margin:4px 14px 0;font-size:.9rem;line-height:1.4}.tf-how{border-block:1px dashed var(--tf-gold);background:var(--tf-deep);color:var(--tf-on-deep);padding:34px 0 38px}.tf .tf-how .tf-head h2,.tf-how .tf-head p{color:var(--tf-on-deep)}.tf-steps{counter-reset:step;text-align:center;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin:28px 0 0;padding:0;list-style:none;display:grid}.tf-steps li{counter-increment:step;position:relative}.tf-steps li+li:before{border-top:1.5px solid var(--tf-on-deep);content:"";width:26px;position:absolute;top:38px;left:-22px}.tf-steps__icon{border:1.5px solid var(--tf-gold);background:var(--tf-on-deep);width:78px;height:78px;color:var(--tf-deep);border-radius:50%;place-items:center;display:inline-grid}.tf-steps__icon svg{width:34px;height:34px}.tf .tf-steps h3{margin-top:14px;font-size:1.15rem;font-weight:500;line-height:1.25}.tf-steps h3:before{content:counter(step) ". "}.tf .tf-steps p{margin-top:6px;font-size:.875rem;line-height:1.4}.tf-work{padding:30px 0 26px}.tf-work-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.tf-work-list figure{text-align:center;margin:0}.tf-work-list img{aspect-ratio:1;border:1px solid var(--tf-line);object-fit:cover;border-radius:4px;width:100%}.tf-work-list figcaption{gap:1px;margin-top:8px;font-size:.85rem;line-height:1.35;display:grid}.tf-work-list b{color:var(--tf-accent-text);font-size:.95rem;font-weight:600}.tf-work-list span{color:var(--tf-body)}.tf-why{padding:18px 0 26px}.tf-why-list{grid-template-columns:repeat(6,minmax(0,1fr));margin:20px 0 0;padding:0;list-style:none;display:grid}.tf-why-list li{text-align:center;align-content:start;justify-items:center;gap:10px;padding:4px 14px;font-size:.95rem;line-height:1.35;display:grid}.tf-why-list li+li{border-left:1px solid var(--tf-line)}.tf-why-list svg{width:36px;height:36px;color:var(--tf-accent-text)}.tf-reviews{padding:14px 0 34px}.tf-review-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.tf-review-list blockquote{background:var(--tf-card);box-shadow:inset 0 0 0 1px var(--tf-line);border-radius:10px;grid-template-columns:auto 1fr;gap:16px;margin:0;padding:18px 20px;display:grid}.tf-initial{background:var(--tf-accent);width:54px;height:54px;color:var(--nw-on-accent);border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.tf-stars{color:#8f5600;gap:2px;display:flex}.tf .tf-stars svg{fill:currentColor;stroke:none;width:14px;height:14px}.tf-review-list p{font-family:var(--nw-font-body,"Lora", serif);margin-top:6px;font-size:.92rem;line-height:1.5}.tf-review-list strong{margin-top:8px;font-size:.9rem;display:block}.tf-review-list small{color:var(--tf-body);font-size:.8rem}.tf-visit{border-top:1px solid var(--tf-line);background:var(--tf-soft);padding:26px 0 30px}.tf-visit__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:30px;display:grid}.tf .tf-visit h2{color:var(--tf-accent-text);font-size:clamp(1.6rem,2.4cqi,2rem);font-weight:600}.tf .tf-visit__lede{color:var(--tf-body);margin-top:4px}.tf-details{gap:10px;margin:16px 0 0;padding:0;font-size:.95rem;line-height:1.4;list-style:none;display:grid}.tf-details li{grid-template-columns:24px 1fr;align-items:start;gap:12px;display:grid}.tf-details svg{width:22px;height:22px;color:var(--tf-accent-text)}.tf-map{background:var(--tf-card);min-height:190px;box-shadow:inset 0 0 0 1px var(--tf-line);border-radius:8px;justify-content:center;align-items:flex-end;padding:14px;display:flex;position:relative;overflow:hidden}.tf-map i{background:var(--tf-soft);position:absolute}.tf-map i:first-child{height:12px;inset:36% -10% auto;transform:rotate(-8deg)}.tf-map i:nth-child(2){width:12px;inset:-10% auto -10% 62%;transform:rotate(12deg)}.tf-map i:nth-child(3){background:color-mix(in srgb, #4f8a4a 22%, var(--tf-card));border-radius:46%;width:84px;height:84px;inset:12% auto auto 8%}.tf-map b{background:var(--tf-accent);width:26px;height:26px;box-shadow:inset 0 0 0 8px var(--tf-accent), inset 0 0 0 26px var(--tf-card);border-radius:50% 50% 50% 0;position:absolute;top:20%;left:calc(50% - 13px);transform:rotate(-45deg)}.tf-map a{background:var(--tf-accent);min-height:40px;color:var(--nw-on-accent);border-radius:999px;align-items:center;padding:6px 18px;font-size:.85rem;font-weight:600;display:inline-flex;position:relative}.tf-card{border:1px dashed var(--tf-gold);background:var(--tf-deep);text-align:center;border-radius:10px;justify-items:center;gap:18px;padding:30px 22px;display:grid}.tf .tf-card p{color:var(--tf-on-deep);font-family:var(--nw-font-display,"Playfair Display", serif);font-size:1.6rem;font-style:italic;line-height:1.2}.tf-card .tf-button{background:var(--tf-on-deep);color:var(--tf-deep)}.tf-footer{background:var(--tf-deep);color:var(--tf-on-deep);padding:24px 0 0}.tf-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 36px;padding-bottom:20px;display:flex}.tf-footer .tf-brand__mark,.tf-footer .tf-brand strong,.tf-footer .tf-brand small{color:var(--tf-on-deep)}.tf-footer__links{gap:6px;font-size:.9rem;display:grid}.tf-footer nav:not(.nw-social-links){flex-wrap:wrap;gap:2px 22px;display:flex}.tf .tf-social .nw-social-links__link{color:var(--tf-on-deep);background:0 0;border-color:#0000}.tf .tf-footer__note{font-family:var(--nw-font-display,"Playfair Display", serif);font-size:1.2rem;font-style:italic}.tf-footer__base{border-top:1px solid color-mix(in srgb, var(--tf-on-deep) 24%, transparent);flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding:12px 0;font-size:.8rem;display:flex}.tf-footer__base ul{flex-wrap:wrap;gap:2px 0;margin:0;padding:0;list-style:none;display:flex}.tf-footer__base li+li:before{content:"|";margin-inline:10px}@media (width<=1200px){.tf-nav__inner{flex-wrap:wrap;gap:6px 20px;padding:12px 0}.tf-nav nav{flex-wrap:wrap;order:3;gap:2px 22px;width:100%;margin:0}.tf-nav__inner>.tf-button{margin-left:auto}.tf-hero{grid-template-columns:minmax(0,1fr) 40%}.tf-hero__side{display:none}.tf-hero__copy{grid-column:1;padding-left:32px}.tf-hero__photo{grid-column:2}.tf-service-list,.tf-work-list,.tf-steps,.tf-why-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.tf-steps li:nth-child(4):before{display:none}.tf-why-list li:nth-child(4){border-left:0}.tf-review-list{grid-template-columns:1fr}.tf-visit__grid{grid-template-columns:1fr 1fr}.tf-card{grid-column:1/-1}}@media (width<=640px){.tf-wrap{width:calc(100% - 40px)}.tf-brand strong{font-size:1.35rem}.tf-nav nav{gap:0 16px}.tf-nav__inner>.tf-button{min-height:42px;padding:6px 16px}.tf-hero{grid-template-columns:1fr}.tf-hero__copy{padding:36px 20px 30px}.tf-hero__photo{grid-area:2/1}.tf-hero figure img{aspect-ratio:4/3;position:static}.tf-hero__photo:after{background:linear-gradient(180deg, var(--tf-paper), transparent 20%)}.tf .tf-hero h1{font-size:2.3rem}.tf-actions a{flex:100%}.tf-head h2:before,.tf-head h2:after{width:24px}.tf .tf-head h2{gap:12px}.tf-service-list,.tf-work-list,.tf-steps,.tf-why-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-steps li+li:before{display:none}.tf-why-list li:nth-child(odd){border-left:0}.tf-why-list li:nth-child(4){border-left:1px solid var(--tf-line)}.tf-visit__grid{grid-template-columns:1fr}.tf-footer__base{justify-content:flex-start}}@container (width<=1200px){.tf-nav__inner{flex-wrap:wrap;gap:6px 20px;padding:12px 0}.tf-nav nav{flex-wrap:wrap;order:3;gap:2px 22px;width:100%;margin:0}.tf-nav__inner>.tf-button{margin-left:auto}.tf-hero{grid-template-columns:minmax(0,1fr) 40%}.tf-hero__side{display:none}.tf-hero__copy{grid-column:1;padding-left:32px}.tf-hero__photo{grid-column:2}.tf-service-list,.tf-work-list,.tf-steps,.tf-why-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.tf-steps li:nth-child(4):before{display:none}.tf-why-list li:nth-child(4){border-left:0}.tf-review-list{grid-template-columns:1fr}.tf-visit__grid{grid-template-columns:1fr 1fr}.tf-card{grid-column:1/-1}}@container (width<=640px){.tf-wrap{width:calc(100% - 40px)}.tf-brand strong{font-size:1.35rem}.tf-nav nav{gap:0 16px}.tf-nav__inner>.tf-button{min-height:42px;padding:6px 16px}.tf-hero{grid-template-columns:1fr}.tf-hero__copy{padding:36px 20px 30px}.tf-hero__photo{grid-area:2/1}.tf-hero figure img{aspect-ratio:4/3;position:static}.tf-hero__photo:after{background:linear-gradient(180deg, var(--tf-paper), transparent 20%)}.tf .tf-hero h1{font-size:2.3rem}.tf-actions a{flex:100%}.tf-head h2:before,.tf-head h2:after{width:24px}.tf .tf-head h2{gap:12px}.tf-service-list,.tf-work-list,.tf-steps,.tf-why-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-steps li+li:before{display:none}.tf-why-list li:nth-child(odd){border-left:0}.tf-why-list li:nth-child(4){border-left:1px solid var(--tf-line)}.tf-visit__grid{grid-template-columns:1fr}.tf-footer__base{justify-content:flex-start}}.tf-actions{grid-template-columns:none;grid-auto-columns:1fr;grid-auto-flow:column;width:fit-content;max-width:100%;display:grid}.tf-actions>*{text-align:center;white-space:nowrap;justify-content:center}@media (width<=900px){.tf-actions{grid-template-columns:1fr;grid-auto-flow:row;width:100%;margin-inline:0}}@container (width<=900px){.tf-actions{grid-template-columns:1fr;grid-auto-flow:row;width:100%;margin-inline:0}}@media (width<=680px){.tf-nav .tf-button.tf-button.tf-button{display:none}}@container (width<=680px){.tf-nav .tf-button.tf-button.tf-button{display:none}}@container (width>=601px) and (width<=900px){.tf-service-list.tf-service-list.tf-service-list{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row}.tf-service-list.tf-service-list.tf-service-list>*{grid-column:span 2}.tf-service-list.tf-service-list.tf-service-list>:nth-child(3n+1):last-child{grid-column:3/span 2}.tf-service-list.tf-service-list.tf-service-list>:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}}@container (width>=901px) and (width<=1200px){.tf-service-list.tf-service-list.tf-service-list{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:row}.tf-service-list.tf-service-list.tf-service-list>*{grid-column:span 2}.tf-service-list.tf-service-list.tf-service-list>:nth-child(3n+1):last-child{grid-column:3/span 2}.tf-service-list.tf-service-list.tf-service-list>:nth-child(3n+1):nth-last-child(2){grid-column:2/span 2}}@container (width>=901px){.tf-actions.tf-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;width:min(100%,30rem)}}.tf-actions.tf-actions.tf-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));grid-auto-flow:row;width:min(100%,472px)}
