/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--spacing:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-roboto-condensed);--default-mono-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--background:#f7f8f2;--foreground:#101713;--muted:#5f6d62;--line:#dbe4d8;--surface:#fffefa;--surface-soft:#edf8ef;--ink:#07110e;--brand:#60c070;--brand-mid:#48b880;--brand-deep:#144a32;--brand-dark:#0f2f22;--amber:#a66f16;--danger:#8b3e2f;--shadow:0 26px 70px #1017131f;--radius-md:16px;--radius-lg:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-roboto-condensed), Arial, Helvetica, sans-serif;margin:0}main{background-image:radial-gradient(#144a3214 1px,#0000 1px);background-size:18px 18px}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:0;max-width:820px;margin-bottom:24px;font-size:clamp(2.65rem,7vw,6.2rem);font-weight:700;line-height:.94}h2{letter-spacing:0;margin-bottom:14px;font-size:clamp(2rem,4vw,3.35rem);font-weight:700;line-height:1.03}h3{margin-bottom:10px;font-size:1.22rem;font-weight:700;line-height:1.22}h4{margin-bottom:6px;font-size:1rem;font-weight:700}.hero-shell{color:var(--foreground);min-height:100vh;padding:24px 24px 118px;position:relative;overflow:visible}.hero-shell:after{background:linear-gradient(145deg, #2fa763 0%, var(--brand) 64%, #7ed489 100%);clip-path:polygon(67% 0,100% 0,100% 100%,44% 100%);content:"";pointer-events:none;position:absolute;inset:0}.hero-shell>*{z-index:1;position:relative}.topbar{z-index:10;justify-content:space-between;align-items:flex-start;max-width:1180px;margin:0 auto;display:flex;position:relative}.topbar-actions{align-items:center;gap:28px;display:flex}.logo-toast{background:var(--ink);border-radius:var(--radius-md);color:#f7fff6;z-index:90;max-width:min(22rem,100vw - 32px);margin:0;padding:14px 16px;font-size:.98rem;line-height:1.45;animation:.46s cubic-bezier(.16,.84,.24,1) both logo-toast-in;position:fixed;top:84px;right:24px;box-shadow:0 16px 40px #07110e38}.hero-shell>.logo-toast{z-index:90}.logo-toast.is-leaving{animation:.42s cubic-bezier(.4,0,1,1) forwards logo-toast-out}@keyframes logo-toast-in{0%{transform:translateY(calc(-100% - 120px))}to{transform:translateY(0)}}@keyframes logo-toast-out{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - 120px))}}.brand,.nav-links,.nav-cta,.primary-link,.secondary-link{align-items:center;font-weight:700;display:inline-flex}.brand{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:0;padding:0;position:relative}.brand.is-exploded{cursor:default;z-index:80}.brand-wordmark{font-family:var(--font-roboto-condensed), Arial, Helvetica, sans-serif;letter-spacing:0;gap:0;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;line-height:.75;display:grid}.brand-wordmark span{color:#050907}.logo-row{white-space:nowrap;display:block}.logo-row:first-child{margin-left:.01em}.logo-letter-anchor{display:inline-block;position:relative}.logo-letter{offset-distance:0%;pointer-events:none;z-index:4;border-radius:999px;transition:transform .92s cubic-bezier(.16,.72,.2,1),offset-distance .92s cubic-bezier(.16,.72,.2,1),text-shadow .18s,color .18s;display:inline-block;position:relative;transform:rotate(0)}.brand.is-exploded .logo-letter.is-scattered{color:#050907;cursor:crosshair;pointer-events:auto;text-shadow:0 10px 24px #07110e42;transition-delay:var(--scatter-delay);z-index:40;margin:-8px;padding:8px}.brand.is-exploded .logo-letter.is-scattered:hover{color:var(--brand-deep);text-shadow:0 14px 28px #07110e52}.letter-trail{pointer-events:none;z-index:1;width:0;height:0;position:absolute;top:0;left:0}.letter-trail i{opacity:0;animation:linear forwards letter-smoke;position:absolute}.pixel-burst{pointer-events:none;z-index:30;width:0;height:0;position:fixed;top:0;left:0}.pixel-burst i{animation:ease-out forwards pixel-pop;position:absolute}.pixel-burst i.is-arc{animation-name:pixel-arc;animation-timing-function:linear}@keyframes letter-smoke{0%{opacity:.8;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(calc(-50% + var(--drift-x)), calc(-50% + var(--drift-y)))}}@keyframes pixel-pop{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy)))}}@keyframes pixel-arc{0%{opacity:1;transform:translate(-50%,-50%)}34%{opacity:1;transform:translate(calc(-50% + var(--peak-x)), calc(-50% + var(--peak-y)))}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy)))}}@media (prefers-reduced-motion:reduce){.logo-letter,.brand.is-exploded .logo-letter.is-scattered{transition-duration:1ms}.letter-trail,.pixel-burst{display:none}.logo-toast,.logo-toast.is-leaving{animation:none}}.brand-mark{background:var(--brand);border-radius:var(--radius-md);border:1px solid #07110e1f;width:42px;height:42px;display:inline-flex;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%}.nav-links{gap:42px;font-size:1.04rem}.nav-links a:hover{color:var(--brand-deep)}.nav-cta,.primary-link{background:var(--ink);border-radius:var(--radius-md);color:#f7fff6;min-height:44px;padding:0 22px;box-shadow:0 10px 22px #07110e24}.secondary-link{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffefabd;min-height:44px;padding:0 18px}.hero-stage{gap:52px;max-width:1180px;margin:96px auto 0;display:grid}.hero-copy{max-width:720px}.hero-copy h1{margin-bottom:24px;font-size:clamp(3.45rem,6.5vw,5.2rem)}.hero-copy h1 span{display:block}.hero-title-accent{font-family:var(--font-playfair-display), Georgia, serif;font-style:italic;font-weight:700}.eyebrow{color:var(--brand-deep);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:700}.hero-lede{color:#17211c;max-width:610px;margin-bottom:28px;font-size:clamp(1.14rem,1.7vw,1.34rem);line-height:1.28}.hero-lede.is-pending{visibility:hidden}.hero-actions,.hero-proof,.result-meta{flex-wrap:wrap;gap:10px;display:flex}.hero-proof{margin-top:28px}.hero-proof span{color:#17211c;align-items:center;gap:12px;font-size:1.08rem;font-weight:500;display:inline-flex}.hero-proof span:before{color:#fff;content:"✓";background:#2fa763;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;font-weight:700;display:inline-flex}.estimator-card,.result-card,.lead-card,.detail-card,.team-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--foreground)}.estimator-card{border-radius:var(--radius-lg);border-color:#2fa76373;padding:40px;box-shadow:0 28px 80px #1017132e}.card-heading p,.section-heading p,.lead-card p,.detail-card p{color:var(--muted);line-height:1.6}.section-heading p{font-size:clamp(1.15rem,1.6vw,1.32rem)}.estimate-form{gap:22px;display:grid}.field{gap:8px;display:grid}.field>span,fieldset legend{color:var(--ink);font-size:1.1rem;font-weight:700}.label-row{align-items:center;gap:8px;width:fit-content;display:inline-flex}.hint-wrap{display:inline-flex;position:relative}.estimator-description-field{z-index:2;position:relative}.estimator-description-field textarea{padding-right:46px}.estimator-hint{z-index:2;position:absolute;top:12px;right:12px}.estimator-hint .hint-popover{left:auto;right:0;transform:translateY(-4px)}.label-row.estimator-hint:hover .hint-popover,.label-row.estimator-hint .hint-button:focus+.hint-popover{transform:translateY(0)}.label-row.estimator-hint .hint-button:focus-visible+.hint-popover{transform:translateY(0)}.hint-button{background:var(--surface-soft);border:1px solid var(--line);color:var(--brand-deep);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.78rem;font-weight:700;display:inline-flex}.hint-button:focus-visible{border-color:var(--brand-mid);outline:none;box-shadow:0 0 0 3px #48b8802e}.hint-popover{background:var(--ink);border-radius:var(--radius-md);color:#f7fff6;opacity:0;pointer-events:none;z-index:10;gap:8px;min-width:260px;padding:14px;line-height:1.35;transition:opacity .14s,transform .14s;display:grid;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 18px 44px #10171333}.hint-popover span{color:inherit;font-size:.9rem;font-weight:400}:is(.hint-wrap:hover .hint-popover,.hint-button:focus+.hint-popover,.hint-button:focus-visible+.hint-popover){opacity:1;transform:translate(-50%)translateY(0)}input,textarea{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--foreground);background:#fbfdf9;outline:none;width:100%;padding:13px 14px}textarea{border-color:var(--brand-mid);resize:vertical;border-width:2px;min-height:132px;font-size:1.12rem;line-height:1.5}input:focus,textarea:focus{border-color:var(--brand-mid);box-shadow:0 0 0 3px #48b8802e}fieldset{border:0;margin:0;padding:0}.chip-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip{border:1px solid var(--line);color:var(--foreground);background:#f5f8f2;border-radius:999px;min-height:38px;padding:0 13px}.chip:hover{border-color:#144a326b}.chip.selected{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.compact .chip{min-height:34px}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.disclaimer{background:var(--surface-soft);border-left:4px solid var(--brand-mid);color:var(--muted);margin:0;padding:12px 14px;font-size:.9rem;line-height:1.55}.estimate-button{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#078c4d,#00a35a);border:0;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-weight:700;display:inline-flex}.estimate-button:disabled{color:var(--muted);cursor:not-allowed;background:#e4ebe2;box-shadow:inset 0 0 0 1px #c9d4c6}.estimate-button[aria-busy=true]{box-shadow:none;color:#fff;cursor:wait;opacity:.72;background:linear-gradient(135deg,#078c4d,#00a35a)}.estimate-button-wrap{display:inline-flex;position:relative}.nudge-arrow{pointer-events:none;z-index:3;width:124px;height:72px;position:absolute;top:50%;right:100%;overflow:visible;transform:translate(12px,-10px)}.nudge-arrow-shape{width:100%;height:100%;display:block;overflow:visible}.nudge-arrow-shaft,.nudge-arrow-head{stroke:var(--ink);stroke-dasharray:1 4;stroke-dashoffset:1px;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px}.nudge-arrow-shaft{animation:3.4s ease-in-out forwards nudge-shaft}.nudge-arrow-head{animation:3.4s ease-in-out forwards nudge-head}@keyframes nudge-shaft{0%{opacity:1;stroke-dashoffset:1px}18%{opacity:1;stroke-dashoffset:0}70%{opacity:1;stroke-dashoffset:0}90%{opacity:1;stroke-dashoffset:-1.08px}to{opacity:0;stroke-dashoffset:-1.08px}}@keyframes nudge-head{0%,14%{opacity:1;stroke-dashoffset:1px}24%{opacity:1;stroke-dashoffset:0}78%{opacity:1;stroke-dashoffset:0}96%{opacity:1;stroke-dashoffset:-1.08px}to{opacity:0;stroke-dashoffset:-1.08px}}@media (prefers-reduced-motion:reduce){.nudge-arrow{display:none}}.contact-form textarea{border-color:var(--line);border-width:1px;font-size:1rem}.estimate-console{z-index:1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:-10px;display:grid;position:relative}.estimate-console .form-privacy-note{margin:0}.estimate-button:enabled:hover,.primary-link:hover,.nav-cta:hover{background:#071b13}.estimate-button.muted{background:var(--ink);margin-top:12px}.estimate-button.muted:disabled{background:#7c8780}.spec-section,.portfolio-section,.team-section,.contact-section{max-width:1180px;margin:0 auto;padding:72px 24px 0}.spec-section h2{text-wrap:balance}.spec-grid{grid-template-columns:372px 140px 1fr;align-items:center;gap:80px 0;margin-top:64px;display:grid}.spec-note{--note:#fff3a6;--note-fold:#e3d27a;aspect-ratio:1;background:linear-gradient(180deg, #1017130d, transparent 22%), linear-gradient(to top left, transparent 26px, var(--note) 26px);filter:drop-shadow(0 16px 14px #10171333);font-family:var(--font-caveat), cursive;align-content:center;justify-self:center;width:min(100%,372px);margin:0;padding:30px;font-size:1.72rem;font-weight:600;line-height:1.3;display:grid;position:relative;transform:rotate(-1.6deg)}.spec-note:after{background:linear-gradient(to top left, transparent 50%, var(--note-fold) 50%);content:"";filter:drop-shadow(-2px -2px 2px #10171329);width:37px;height:37px;position:absolute;bottom:0;right:0}.spec-note.is-vague{--note:#ebe9dc;--note-fold:#cfccba;color:var(--muted);width:204px;transform:rotate(2deg)}.spec-note>span{display:block}.spec-note mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;border-radius:9px 3px 8px 4px;padding:0 6px}.spec-key-login{background:#ffb8cf}.spec-key-orders{background:#8fe0a0}.spec-key-invoice{background:#ffb877}.spec-arrow{color:var(--brand-deep);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;justify-self:center;width:104px}.spec-arrow.is-vague{color:#aebbad}.spec-ghost{border-radius:var(--radius-lg);color:#9aa89a;border:3px dashed #c3cfc0;place-items:center;min-height:118px;font-size:3.2rem;font-weight:700;display:grid}.spec-app{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:14px 14px 0 #ffe98a, var(--shadow);overflow:hidden;transform:rotate(.8deg)}.spec-app-bar{background:var(--brand-dark);color:#fff;align-items:center;gap:12px;padding:14px 20px;font-weight:700;display:flex}.spec-app-dots{gap:7px;display:flex}.spec-app-dots i{background:#ff6b5e;border-radius:999px;width:12px;height:12px}.spec-app-dots i:nth-child(2){background:#ffc02e}.spec-app-dots i:nth-child(3){background:#36c75a}.spec-app-bar>span:nth-child(2){text-overflow:ellipsis;min-width:0;overflow:hidden}.spec-app-user{color:var(--foreground);border-radius:999px;flex:none;margin-left:auto;padding:4px 12px;font-size:.95rem;font-weight:500}.spec-app-orders{padding:10px 22px 14px}.spec-app-orders>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 76px 82px;align-items:center;gap:14px;padding:11px 0;font-size:1.05rem;display:grid}.spec-app-orders>div:last-child{border-bottom:0}.spec-app-orders strong+strong{text-align:center}.spec-app-status,.spec-app-invoice{text-align:center;border-radius:8px;padding:5px 10px;font-size:.9rem;font-weight:700}.spec-unsure{color:var(--muted);text-align:center;margin:72px 0 0;font-size:1.12rem}.spec-unsure a{color:var(--brand-deep);text-underline-offset:3px;font-weight:700;text-decoration:underline}.estimator-result{gap:0;margin-top:22px;display:grid}.quote-sheet,.quote-send-strip{border:1px solid var(--line);background:#ffffff94}.quote-sheet{background:var(--line);border-radius:var(--radius-lg);gap:1px;display:grid;overflow:hidden}.quote-rows-panel,.quote-note-block{background:#ffffff94;min-width:0;padding:22px}.quote-rows-panel h3,.quote-note-block h3{margin:0 0 12px;font-size:1.18rem}.quote-rows{margin:0;padding:0;list-style:none;display:grid}.quote-rows li{border-bottom:1px solid #1a2d241f}.quote-rows li:last-child{border-bottom:0}.quote-rows label,.quote-rows li.is-locked{align-items:start;gap:12px;padding:12px 0;display:grid;position:relative}.quote-rows label{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto}.quote-rows li.is-locked{grid-template-columns:22px minmax(0,1fr) auto}.quote-row-hint{color:var(--muted);margin:-4px 0 8px;line-height:1.4}.quote-row-copy{gap:4px;min-width:0;display:grid}.quote-row-copy small{color:var(--muted);line-height:1.35}.quote-suggestion{color:var(--amber);margin-right:8px;font-style:normal;font-weight:700}.quote-rows strong{color:var(--ink);text-align:right;font-weight:500}.quote-rows li.is-off .quote-row-copy{color:var(--muted)}.quote-toggle-wrap{align-items:center;gap:8px;min-width:7.5rem;display:flex;position:relative}.quote-toggle{opacity:0;width:20px;height:20px;margin:0;position:absolute;top:0;left:0}.quote-toggle-face{border:1px solid #7d8b82;border-radius:4px;flex:none;place-items:center;width:20px;height:20px;display:grid}.quote-toggle-state{color:var(--muted);font-size:.92rem;line-height:1.2}.quote-rows li:not(.is-off) .quote-toggle-state{color:var(--brand-dark);font-weight:700}.quote-toggle:checked+.quote-toggle-face{background:var(--brand-dark);border-color:var(--brand-dark)}.quote-toggle:checked+.quote-toggle-face:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;transform:translateY(-1px)rotate(45deg)}.quote-toggle:focus-visible+.quote-toggle-face{outline-offset:3px;outline:2px solid #2fa76373}.quote-questions{background:#ffffff94;min-width:0;padding:22px}.quote-questions h3{margin:0 0 8px;font-size:1.18rem}.quote-questions p{color:var(--muted);margin-bottom:12px;line-height:1.4}.quote-questions ol{counter-reset:quote-question;gap:10px;margin:0;padding:0;list-style:none;display:grid}.quote-questions li{counter-increment:quote-question;grid-template-columns:1.5rem minmax(0,1fr);gap:10px;line-height:1.4;display:grid}.quote-questions li:before{color:var(--brand-dark);content:counter(quote-question) ".";font-weight:700}.quote-answer-field{gap:6px;display:grid}.quote-refine{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;display:flex}.quote-refine .lead-status{margin:0}.quote-answered{margin-top:20px}.quote-answered h4{color:var(--muted);margin:0 0 8px;font-size:.95rem}.quote-answered dl{gap:8px;margin:0;display:grid}.quote-answered dt{color:var(--muted);line-height:1.4}.quote-answered dd{margin:2px 0 0;line-height:1.4}.quote-changed{color:var(--brand-dark);margin-right:8px;font-style:normal;font-weight:700}.quote-sheet>*{transition:opacity .2s}.quote-sheet.is-refreshing>:not(.quote-questions){opacity:.55}.quote-notes{grid-template-columns:1fr 1fr;gap:1px;display:grid}.quote-note-block ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.quote-note-block li{line-height:1.4}.quote-send-strip a{color:var(--brand-deep);overflow-wrap:anywhere;font-weight:700}.quote-column{background:#ffffff94;align-content:start;gap:16px;min-width:0;padding:22px;display:grid}.quote-column-heading{align-content:start;gap:8px;display:grid}.quote-column-heading h3{margin:0;font-size:1.18rem}.quote-column-heading span{color:#176333;background:#e9f4e8;border-radius:999px;align-self:start;width:fit-content;padding:5px 9px;font-size:.78rem;line-height:1.2}.quote-line-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.quote-line-list li{border-bottom:1px solid #1a2d241f;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:38px;padding:9px 0;display:grid}.quote-line-list li:last-child{border-bottom:0}.quote-line-list strong{color:var(--ink);text-align:right;white-space:nowrap;font-weight:500}.quote-line-list li>span:nth-child(2){cursor:help;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;line-height:1.32;display:-webkit-box;overflow:hidden}.quote-line-list li:hover>span:nth-child(2),.quote-line-list li:focus-within>span:nth-child(2){-webkit-line-clamp:unset}.quote-line-list li>span:nth-child(2):focus-visible{outline-offset:3px;border-radius:4px;outline:2px solid #2fa76373}.quote-check,.quote-empty-check,.quote-question,.quote-running-icon,.quote-info,.quote-lock{border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex}.quote-check{background:var(--brand-dark);color:#fff;width:20px;height:20px;margin-top:1px;font-size:.85rem}.quote-empty-check{border:1px solid #bcc8c1;width:20px;height:20px;margin-top:1px}.quote-running-icon{border:1.5px solid var(--ink);width:22px;height:22px;margin-top:1px;position:relative}.quote-running-icon:before{border-bottom:1.5px solid var(--ink);border-top:1.5px solid var(--ink);content:"";width:14px;height:8px}.quote-question{color:#fff;background:#f37d12;width:20px;height:20px;margin-top:1px;font-size:.86rem;font-weight:800}.quote-line-list.optional li,.quote-line-list.running li,.quote-line-list.questions li{grid-template-columns:22px minmax(0,1fr)}.quote-line-list.optional strong{display:none}.quote-total{background:#ffffffb8;padding:28px 22px 22px}.quote-total strong{color:var(--ink);letter-spacing:-.035em;font-size:clamp(3.1rem,7vw,5.4rem);font-weight:800;line-height:.88;display:block}.quote-total strong.is-range{letter-spacing:-.03em;font-size:clamp(2.15rem,4.6vw,3.7rem)}.quote-total p{color:var(--muted);margin:14px 0 0;line-height:1.35}.quote-ai-pill{justify-content:center}.quote-ai-pill strong{color:var(--ink);white-space:nowrap;background:#e9f4e8;border-radius:999px;padding:12px 18px}.quote-ai-pill span{color:var(--brand-dark);letter-spacing:-.22em}.quote-info{border:1.5px solid var(--ink);color:var(--ink);width:28px;height:28px;font-weight:700}.quote-send-strip{border-radius:var(--radius-lg);grid-template-columns:minmax(240px,1fr) minmax(220px,360px) auto;align-items:center;gap:18px;margin-top:24px;padding:16px 20px;display:grid}.quote-send-note{align-items:center;gap:16px;line-height:1.35;display:flex}.quote-lock{background:#e9f4e8;width:42px;height:42px;position:relative}.quote-lock:before,.quote-lock:after{content:"";position:absolute}.quote-lock:before{border:2px solid var(--brand-dark);border-bottom:0;border-radius:8px 8px 0 0;width:14px;height:10px;top:10px}.quote-lock:after{border:2px solid var(--brand-dark);border-radius:3px;width:14px;height:12px;top:18px}.quote-send-strip input{min-height:54px}.quote-send-strip .estimate-button{min-width:190px}.quote-send-strip .lead-status{grid-column:1/-1;margin:0}.result-card,.lead-card,.contact-card{box-shadow:var(--shadow);gap:20px;margin-bottom:18px;padding:28px;display:grid}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;max-width:860px;margin:0 auto}.contact-form{gap:18px;display:grid}.contact-section{padding-bottom:96px}.result-card h2{color:var(--brand-deep);margin-bottom:8px;font-size:clamp(2.8rem,7vw,5.2rem);line-height:.94}.error-card h2{color:var(--ink);font-size:clamp(2rem,4vw,3.35rem)}.result-meta span{border-radius:999px;padding:8px 12px;font-weight:700}.result-meta span:last-child{color:#76510e;background:#f3ead8}.feedback-grid,.detail-grid,.portfolio-grid,.team-grid{gap:18px;display:grid}.feedback-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-grid p{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--foreground);background:#fbfdf9;margin:0;padding:16px;line-height:1.55}.lead-card{grid-template-columns:.85fr 1.15fr}.lead-fields,.lead-actions{gap:12px;display:grid}.lead-actions{grid-template-columns:auto minmax(0,1fr);align-items:center}.lead-status{margin:12px 0 0;font-size:.95rem;font-weight:700;line-height:1.35}.lead-status.saved{color:var(--brand-deep)}.lead-status.error{color:var(--danger)}.form-privacy-note{color:var(--muted);margin:-10px 0 0;font-size:.9rem;line-height:1.45}.form-privacy-note a{color:var(--brand-deep);text-underline-offset:2px;font-weight:700;text-decoration:underline}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-card{box-shadow:none;padding:24px}.detail-card.wide{grid-column:1/-1}.component-list{gap:10px;display:grid}.component-list article{border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;display:grid}.component-list strong{color:var(--brand-deep);white-space:nowrap;font-size:1.1rem}.component-list strong.hidden-price{background:var(--surface-soft);color:var(--muted);white-space:normal;border-radius:999px;padding:8px 12px;font-size:.9rem}.detail-card ul{color:var(--muted);margin:0;padding-left:18px;line-height:1.65}.locked-breakdown{background:var(--ink);border-radius:var(--radius-md);color:#f8faf7;text-align:center;padding:22px;font-weight:700}.direct-send{background:var(--brand-dark);border-radius:var(--radius-md);color:#fff;justify-content:center;align-items:center;min-height:54px;padding:0 18px;font-weight:700;display:inline-flex}.direct-send:hover{background:#071b13}.section-heading.centered{text-align:center;max-width:720px;margin:0 auto 28px}.portfolio-section .section-heading:not(.centered){max-width:760px}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-rows:auto 1fr;gap:18px;height:100%;padding:16px;display:grid;overflow:hidden}.portfolio-card>div:last-child{grid-template-rows:auto auto 1fr auto;gap:8px;display:grid}.portfolio-visual{aspect-ratio:1376/728;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,#60c0703d,#144a3224),#f5faf3;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.portfolio-visual img{object-fit:contain;object-position:left top;width:100%;height:100%}.portfolio-visual span{color:var(--brand-deep);font-size:clamp(2.6rem,5vw,4.8rem);font-weight:700}.portfolio-type{color:var(--brand-deep);text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}.portfolio-card h3{margin-bottom:0}.portfolio-card p{color:var(--muted);margin-bottom:0;line-height:1.55}.portfolio-tags{flex-wrap:wrap;align-self:end;gap:8px;margin-top:14px;display:flex}.portfolio-tags span{background:var(--surface-soft);border:1px solid var(--line);color:#314139;border-radius:999px;padding:7px 10px;font-size:.84rem;font-weight:700}.portfolio-section .section-heading.centered,.team-section .section-heading.centered{max-width:980px}.portfolio-section .section-heading h2,.team-section .section-heading h2{white-space:nowrap}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.team-card{box-shadow:none;grid-template-rows:auto 1fr;gap:14px;height:100%;padding:18px;display:grid}.team-card>div:last-child{grid-template-rows:auto 1fr;gap:8px;display:grid}.team-photo{aspect-ratio:1;background:linear-gradient(135deg, #60c070e0, #48b880e0), var(--surface-soft);border-radius:var(--radius-md);color:#07110e;letter-spacing:0;justify-content:center;align-items:center;font-size:clamp(2rem,5vw,3.6rem);font-weight:700;display:flex;position:relative;overflow:hidden}.team-photo img{object-fit:cover;object-position:center 35%;z-index:1;width:100%;height:100%;position:absolute;inset:0}.team-photo span{z-index:0;position:relative}.team-card h3{margin-bottom:0}.team-card p{color:var(--muted);margin-bottom:0;line-height:1.5}.site-footer a{color:var(--brand-deep);font-weight:700}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:28px 24px 36px;display:flex}.site-footer div{gap:4px;display:grid}.site-footer strong{color:var(--foreground)}.footer-contact{text-align:right;gap:4px;font-style:normal;display:grid}.footer-contact span{color:var(--muted)}.footer-location-link{color:var(--brand-deep);justify-self:end;align-items:center;gap:8px;display:inline-flex}.footer-location-link span{color:currentColor}.viljandi-badge{background:currentColor;flex:none;width:28px;height:28px;-webkit-mask:url(/brand/viljandi-strawberry.png) 50%/contain no-repeat;mask:url(/brand/viljandi-strawberry.png) 50%/contain no-repeat}.footer-location-link:hover .viljandi-badge{transition:transform .16s;transform:rotate(-4deg)translateY(-1px)}.snapshot-page{max-width:1100px;margin:0 auto;padding:48px 24px 72px}.snapshot-page h1{margin-bottom:28px;font-size:clamp(2.4rem,6vw,4.2rem)}.privacy-page{min-height:100vh;padding:56px 24px}.privacy-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);max-width:780px;margin:0 auto;padding:clamp(28px,5vw,56px)}.privacy-card h1{max-width:680px;font-size:clamp(2.5rem,7vw,4.4rem)}.privacy-card h2{margin-bottom:10px;font-size:1.55rem}.privacy-card section{border-top:1px solid var(--line);padding-top:24px}.privacy-card section+section{margin-top:24px}.privacy-card p,.privacy-card li{color:var(--muted);line-height:1.65}.privacy-card a{color:var(--brand-deep);font-weight:700}.privacy-back{margin-bottom:44px;display:inline-block}.privacy-updated{margin-bottom:32px}@media (max-width:980px){.hero-shell:after{clip-path:polygon(72% 0,100% 0,100% 100%,50% 100%)}.lead-card,.portfolio-grid,.team-grid,.quote-notes{grid-template-columns:1fr}.spec-grid{grid-template-columns:1fr;gap:28px;margin-top:40px}.spec-arrow{width:72px;transform:rotate(90deg)}.spec-app-bar{padding:14px}.quote-send-strip{grid-template-columns:1fr 1fr}.hero-stage{margin-top:42px}}@media (max-width:720px){.hero-shell,.snapshot-page,.spec-section,.portfolio-section,.team-section,.contact-section,.site-footer{padding-left:16px;padding-right:16px}.spec-app-bar>span:nth-child(2){display:none}.hero-shell{min-height:100vh;padding-top:16px;padding-bottom:64px}.hero-stage{gap:34px;margin-top:48px}.hero-shell:after{clip-path:polygon(78% 0,100% 0,100% 100%,52% 100%)}.topbar{align-items:flex-start;gap:12px}.topbar-actions{flex-direction:column;align-items:flex-end;gap:10px}.brand-wordmark{font-size:1.55rem}.logo-toast{font-size:.92rem;top:68px;right:12px}.nav-links,.nav-cta{display:none}.form-row,.feedback-grid,.detail-grid{grid-template-columns:1fr}.estimator-card,.result-card,.lead-card,.detail-card{padding:20px}.quote-notes,.quote-send-strip{grid-template-columns:1fr}.quote-rows-panel,.quote-note-block{padding:20px}.quote-rows strong{white-space:normal}.quote-total{padding:22px 20px 18px}.quote-total strong{white-space:normal}.quote-send-strip{gap:14px;padding:16px}.estimate-console{grid-template-columns:1fr;gap:12px}.estimate-button{grid-column:1/-1}.estimate-button-wrap{grid-column:1/-1;justify-content:stretch}.estimate-button-wrap .estimate-button{width:100%}.nudge-arrow{transform-origin:50%;width:82px;height:48px;top:auto;bottom:100%;right:12px;transform:translate(2px,58px)scaleX(-1)}.nudge-arrow-shape{transform-origin:92px 10px;transform:rotate(78deg)}.hint-popover{left:auto;right:0;transform:translateY(-4px)}:is(.hint-wrap:hover .hint-popover,.hint-button:focus+.hint-popover,.hint-button:focus-visible+.hint-popover){transform:translateY(0)}.portfolio-section .section-heading h2,.team-section .section-heading h2{white-space:normal}.component-list article{grid-template-columns:1fr}.site-footer{flex-direction:column;align-items:flex-start}.footer-contact{text-align:left}.footer-location-link{justify-self:start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
