:root{--bg:#fff8f2;--surface:#fff;--ink:#2b1710;--mute:#7a6459;--accent:#c2273d;--accent2:#2f6b4f;--accent-ink:#fff;--disp:"Fraunces", serif;--sans:"Inter", sans-serif}body:has([data-site-theme=gefsi]){background:var(--bg);margin:0}[data-site-theme=gefsi]{--text:color-mix(in srgb, var(--ink) 84%, var(--bg));--line:color-mix(in srgb, var(--ink) 12%, transparent);--tint:color-mix(in srgb, var(--accent) 10%, var(--bg));--tint2:color-mix(in srgb, var(--accent2) 10%, var(--bg));--g:clamp(16px, 4vw, 60px);--r:28px;--ease:cubic-bezier(.22, 1, .36, 1);color:var(--text);font:400 16.5px/1.65 var(--sans)}[data-site-theme=gefsi] *,[data-site-theme=gefsi] :before,[data-site-theme=gefsi] :after{box-sizing:border-box}:where([data-site-theme=gefsi]) :where(h1,h2,h3,p,ul,ol,figure,dl,dd){margin:0}:where([data-site-theme=gefsi]) :where(ul,ol){padding:0;list-style:none}:where([data-site-theme=gefsi]) :where(img){max-width:100%;display:block}[data-site-theme=gefsi] :focus-visible{outline:3px solid var(--accent2);outline-offset:3px}[data-site-theme=gefsi] :is(h1,h2,h3){font-family:var(--disp);color:var(--ink);letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.02}.gf-wrap{max-width:1320px;padding-inline:var(--g);margin-inline:auto}.gf-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);align-items:center;gap:8px;font-size:13px;font-weight:800;display:inline-flex}.gf-kicker:before{content:"●";color:var(--accent);font-size:9px}.gf-head{top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--line);position:sticky}.gf-head .gf-wrap{align-items:center;gap:28px;min-height:76px;display:flex}.gf-brand{align-items:center;gap:12px;margin-right:auto;text-decoration:none;display:flex}.gf-mark{background:var(--accent);width:42px;height:42px;box-shadow:0 4px 0 color-mix(in srgb, var(--ink) 18%, var(--accent));border-radius:50%;flex:none;place-items:center;font-size:20px;display:grid}.gf-brand b{font-family:var(--disp);color:var(--ink);letter-spacing:-.02em;font-size:23px;font-weight:800;line-height:1.05;display:block}.gf-brand small{color:var(--mute);white-space:nowrap;font-size:12px;display:block}.gf-nav{gap:4px;font-size:15px;font-weight:700;display:flex}.gf-nav a{color:var(--ink);white-space:nowrap;transition:background-color .22s var(--ease);border-radius:999px;padding:9px 16px;text-decoration:none}@media (hover:hover) and (pointer:fine){.gf-nav a:hover{background:var(--tint)}}.gf-burger{border:2px solid var(--line);background:var(--surface);width:46px;height:46px;color:var(--ink);cursor:pointer;border-radius:14px;font-size:20px;display:none}@media (width<=1500px){.gf-nav{gap:0;font-size:14px}.gf-nav a{padding:8px 9px}}@media (width<=1240px){.gf-burger{display:block}.gf-nav{padding:10px var(--g) 18px;background:var(--bg);border-bottom:2px solid var(--line);flex-direction:column;gap:4px;display:none;position:absolute;top:100%;left:0;right:0}.gf-nav.is-open{display:flex}}@media (width<=560px){.gf-head-cta{display:none!important}}.gf-btn{background:var(--accent);min-height:54px;color:var(--accent-ink);font:800 15.5px var(--sans);cursor:pointer;white-space:nowrap;box-shadow:0 5px 0 color-mix(in srgb, var(--ink) 20%, var(--accent));transition:transform .16s var(--ease), box-shadow .16s var(--ease);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 28px;text-decoration:none;display:inline-flex}.gf-btn:active{box-shadow:0 2px 0 color-mix(in srgb, var(--ink) 20%, var(--accent));transform:translateY(3px)}.gf-btn.gf-soft{background:var(--tint2);color:var(--ink);box-shadow:0 5px 0 color-mix(in srgb, var(--ink) 10%, var(--tint2))}.gf-head .gf-btn{min-height:46px;padding:0 22px}@media (hover:hover) and (pointer:fine){.gf-btn:hover{filter:brightness(1.05)}}.gf-hero{padding-block:clamp(32px,5vw,76px) clamp(24px,4vw,48px)}.gf-hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:center;gap:clamp(28px,5vw,76px);display:grid}.gf-hero h1{margin-top:18px;font-size:clamp(42px,5.6vw,80px)}.gf-hero h1 span{color:var(--accent);display:block}.gf-lede{max-width:30em;margin-top:22px;font-size:19px}.gf-acts{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.gf-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:36px;display:grid}.gf-facts li{background:var(--surface);border:2px solid var(--line);border-radius:18px;gap:2px;padding:14px 16px;display:grid}.gf-facts b{font-family:var(--disp);color:var(--ink);font-size:17px;font-weight:800;line-height:1.25}.gf-facts span{color:var(--mute);font-size:13.5px;line-height:1.35}.gf-hero-fig{aspect-ratio:5/6;border-radius:50% 50% var(--r) var(--r) / 60% 60% var(--r) var(--r);border:6px solid var(--surface);box-shadow:0 20px 50px -24px color-mix(in srgb, var(--ink) 50%, transparent);position:relative;overflow:hidden}.gf-hero-fig img{object-fit:cover;width:100%;height:100%}.gf-badge{background:var(--accent);color:var(--accent-ink);text-align:center;width:104px;height:104px;box-shadow:0 10px 24px -10px color-mix(in srgb, var(--ink) 50%, transparent);border-radius:50%;place-content:center;display:grid;position:absolute;top:16px;right:16px;transform:rotate(-8deg)}.gf-badge b{font-family:var(--disp);font-size:30px;line-height:1;display:block}.gf-badge span{margin-top:2px;font-size:10.5px;line-height:1.2;display:block}@media (width<=920px){.gf-hero-grid{grid-template-columns:minmax(0,1fr)}.gf-hero-fig{aspect-ratio:4/3;border-radius:var(--r)}}@media (width<=560px){.gf-facts{grid-template-columns:minmax(0,1fr)}}.gf-sec{padding-block:clamp(64px,8vw,128px) 0}.gf-sh{gap:12px;max-width:760px;margin-bottom:clamp(28px,4vw,48px);display:grid}.gf-sh.is-center{text-align:center;justify-items:center;margin-inline:auto}.gf-sh h2{font-size:clamp(34px,4.6vw,62px)}.gf-sh p:not(.gf-kicker){max-width:36em;font-size:18px}.gf-svc{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;display:grid}.gf-svc>*{grid-column:span 2}.gf-svc:has(>:nth-child(5):last-child)>:nth-child(-n+2){grid-column:span 3}.gf-svc:has(>:nth-child(4):last-child)>*{grid-column:span 3}.gf-card{background:var(--surface);border-radius:var(--r);border:2px solid var(--line);transition:transform .3s var(--ease);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.gf-card img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.gf-card>div{align-content:start;gap:8px;padding:18px 20px 22px;display:grid}.gf-card h3{font-size:22px}.gf-card p{font-size:15px}.gf-from{color:var(--accent);margin-top:4px;font-weight:800}@media (hover:hover) and (pointer:fine){.gf-card:hover{transform:translateY(-5px)rotate(-.4deg)}}@media (width<=1080px){.gf-svc{grid-template-columns:1fr 1fr}.gf-svc>*{grid-column:auto}.gf-svc:has(>:nth-child(5):last-child)>:nth-child(-n+2){grid-column:auto}.gf-svc:has(>:nth-child(4):last-child)>*{grid-column:auto}.gf-svc>:nth-child(5):last-child{grid-column:1/-1}}@media (width<=560px){.gf-svc{grid-template-columns:minmax(0,1fr)}}.gf-est{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;display:grid}.gf-est-form{background:var(--surface);border-radius:var(--r);border:2px solid var(--line);padding:clamp(22px,3vw,40px)}.gf-est-form .gf-sh{margin-bottom:28px}.gf-area{color:var(--ink);justify-content:space-between;align-items:baseline;gap:16px;font-weight:700;display:flex}.gf-area b{font-family:var(--disp);color:var(--accent);font-variant-numeric:tabular-nums;font-size:32px}.gf-est-form input[type=range]{width:100%;accent-color:var(--accent);height:28px;margin:12px 0 26px}.gf-est-label{letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-size:12.5px;font-weight:800}.gf-levels{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.gf-levels button{text-align:left;border:2px solid var(--line);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease);border-radius:18px;align-content:start;gap:4px;padding:14px 16px;display:grid}.gf-levels button b{font-family:var(--disp);color:var(--ink);font-size:17px}.gf-levels button span{font-size:13px;line-height:1.4}.gf-levels button.on{border-color:var(--accent);background:var(--tint)}.gf-est-out{background:var(--ink);color:color-mix(in srgb, var(--surface) 76%, var(--ink));border-radius:var(--r);align-content:start;gap:14px;padding:clamp(22px,3vw,40px);display:grid}.gf-est-out .gf-est-label{color:color-mix(in srgb, var(--surface) 60%, var(--ink))}.gf-range{font-family:var(--disp);color:var(--surface);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(36px,4vw,54px);font-weight:800;line-height:1}.gf-range span{color:var(--accent)}.gf-range small{font-size:16px;font-family:var(--sans);color:color-mix(in srgb, var(--surface) 65%, var(--ink));margin-left:6px;font-weight:700}.gf-dur b{color:var(--surface)}.gf-inc{gap:8px;font-size:15px;display:grid}.gf-inc li{padding-left:26px;position:relative}.gf-inc li:before{content:"✓";background:var(--accent2);width:18px;height:18px;color:var(--accent-ink);border-radius:6px;place-items:center;font-size:11px;display:grid;position:absolute;top:0;left:0}.gf-disc{color:color-mix(in srgb, var(--surface) 55%, var(--ink));border-top:1px solid color-mix(in srgb, var(--surface) 14%, transparent);padding-top:12px;font-size:13px}@media (width<=960px){.gf-est{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.gf-levels{grid-template-columns:minmax(0,1fr)}}.gf-proc-sec .gf-wrap{background:var(--tint);border-radius:calc(var(--r) * 1.4);padding-block:clamp(40px,6vw,84px)}.gf-proc{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.gf-proc li{background:var(--surface);border-radius:var(--r);border:2px solid var(--line);gap:8px;padding:26px 22px 22px;display:grid;position:relative}.gf-proc-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12.5px;font-weight:800;display:inline-block}.gf-proc h3{font-size:20px}.gf-proc p{font-size:14.5px}.gf-proc i{background:var(--accent2);width:36px;height:36px;color:var(--accent-ink);font-style:normal;font-family:var(--disp);border-radius:50%;place-items:center;font-size:16px;font-weight:800;display:grid;position:absolute;top:-14px;right:-10px;transform:rotate(8deg)}@media (hover:hover) and (pointer:fine){.gf-proc li{transition:transform .26s var(--ease)}.gf-proc li:hover{transform:translateY(-4px)}}.gf-gal{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.gf-gal figure{gap:12px;display:grid}.gf-gal figure:nth-child(2){margin-top:clamp(0px,5vw,56px)}.gf-gal img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);border:4px solid var(--surface);width:100%;height:auto;box-shadow:0 10px 28px -16px color-mix(in srgb, var(--ink) 45%, transparent)}.gf-gal figcaption{gap:2px;padding-inline:4px;display:grid}.gf-gal b{font-family:var(--disp);color:var(--ink);font-size:20px}.gf-gal span{font-size:14.5px}.gf-specs{color:var(--mute);font-size:13.5px!important}@media (width<=860px){.gf-gal{grid-template-columns:minmax(0,1fr)}.gf-gal figure:nth-child(2){margin-top:0}.gf-gal img{aspect-ratio:4/3}}.gf-about{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:clamp(28px,5vw,76px);display:grid}.gf-about figure{aspect-ratio:4/5;border-radius:var(--r) 100px var(--r) var(--r);border:6px solid var(--surface);box-shadow:0 18px 40px -22px color-mix(in srgb, var(--ink) 45%, transparent);overflow:hidden}.gf-about figure img{object-fit:cover;width:100%;height:100%}.gf-about h2{margin:12px 0 20px;font-size:clamp(34px,4.4vw,58px)}.gf-about p+p{margin-top:12px}.gf-about .gf-inc{margin-top:20px}.gf-owner{gap:2px;margin-top:22px;display:grid}.gf-owner b{font-family:var(--disp);color:var(--ink);font-size:20px}.gf-owner small{color:var(--mute);font-size:14px}@media (width<=900px){.gf-about{grid-template-columns:minmax(0,1fr)}.gf-about figure{aspect-ratio:4/3}}.gf-faq{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);display:grid}.gf-faq details{background:var(--surface);border:2px solid var(--line);border-radius:20px}.gf-faq details+details{margin-top:10px}.gf-faq summary{cursor:pointer;font-family:var(--disp);color:var(--ink);grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:12px;padding:18px 20px;font-size:18px;font-weight:700;list-style:none;display:grid}.gf-faq summary::-webkit-details-marker{display:none}.gf-faq summary:after{content:"+";background:var(--tint);width:32px;height:32px;color:var(--accent);transition:transform .26s var(--ease);border-radius:50%;place-items:center;font-size:20px;display:grid}.gf-faq details[open] summary:after{transform:rotate(45deg)}.gf-faq details p{padding:0 20px 20px}@media (width<=860px){.gf-faq{grid-template-columns:minmax(0,1fr)}}.gf-contact{background:var(--ink);color:color-mix(in srgb, var(--surface) 74%, var(--ink));margin-top:clamp(64px,8vw,128px)}.gf-contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,76px);padding-block:clamp(56px,7vw,104px);display:grid}.gf-contact h2{color:var(--surface);margin:12px 0 14px;font-size:clamp(36px,4.8vw,66px)}.gf-contact .gf-kicker{color:color-mix(in srgb, var(--accent2) 55%, var(--surface))}.gf-tel{font-family:var(--disp);color:var(--surface);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:22px;font-size:clamp(32px,3.8vw,50px);font-weight:800;text-decoration:none;display:inline-block}.gf-addr{margin-top:14px;font-size:15.5px}.gf-addr a{color:var(--surface)}.gf-open{color:color-mix(in srgb, var(--accent) 65%, var(--surface));margin-top:18px;font-weight:800;display:inline-block}.gf-open[data-open=true]{color:#8fe0c0}.gf-hours{max-width:360px;margin-top:10px;font-size:14.5px;display:grid}.gf-hours div{border-bottom:1px solid color-mix(in srgb, var(--surface) 12%, transparent);justify-content:space-between;padding-block:5px;display:flex}.gf-hours dd{color:var(--surface);font-variant-numeric:tabular-nums}.gf-form{background:var(--surface);color:var(--text);border-radius:var(--r);padding:clamp(22px,3vw,36px)}.gf-form form{gap:14px;display:grid}.gf-form .field{gap:6px;display:grid}.gf-form label{color:var(--ink);font-size:14px;font-weight:800}.gf-form .opt{color:var(--mute);font-weight:400}.gf-form :is(input,select,textarea){width:100%;font:inherit;color:var(--ink);background:var(--bg);border:2px solid #0000;border-radius:14px;padding:12px 14px}.gf-form :is(input,select,textarea):focus{border-color:var(--accent);outline:none}@media (width<=900px){.gf-contact-grid{grid-template-columns:minmax(0,1fr)}}.gf-legal{padding-bottom:clamp(56px,7vw,104px)}.gf-legal .gf-wrap{max-width:860px}.gf-legal h1{margin-bottom:22px;font-size:clamp(36px,4.6vw,60px)}.gf-legal p+p{margin-top:12px}.gf-foot{background:var(--ink);border-top:1px solid color-mix(in srgb, var(--surface) 10%, transparent)}.gf-foot .gf-wrap{color:color-mix(in srgb, var(--surface) 55%, var(--ink));flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:20px 30px;font-size:13.5px;display:flex}.gf-foot nav{flex-wrap:wrap;gap:6px 18px;display:flex}.gf-foot a{color:var(--surface)}.gf-callbar{display:none}@media (width<=760px){.gf-callbar{z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:2px solid var(--line);display:block;position:fixed;bottom:0;left:0;right:0}.gf-callbar .gf-btn{width:100%}body:has(.gf-callbar){padding-bottom:76px}}@media (prefers-reduced-motion:reduce){[data-site-theme=gefsi] *{transition:none!important;animation:none!important}}
