.tg-gallery{min-height:100vh;padding:2.5rem 2rem 4rem;background:#f7f5f2;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.tg-gallery--hidden{display:none!important}.tg-gallery__header{text-align:center;margin-bottom:2.5rem;max-width:600px}.tg-gallery__logo{height:48px;margin-bottom:1.25rem;object-fit:contain}.tg-gallery__title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:#1a1a1a;margin:0 0 .5rem;line-height:1.2}.tg-gallery__sub{font-size:1rem;color:#555;margin:0;line-height:1.5}.tg-gallery__skip{background:none;border:none;padding:0;color:#7c5c3e;font-size:inherit;font-family:inherit;text-decoration:underline;cursor:pointer;transition:color .15s ease}.tg-gallery__skip:hover,.tg-gallery__skip:focus-visible{color:#5a3f28;outline:2px solid #7c5c3e;outline-offset:2px;border-radius:2px}.tg-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1080px;width:100%}.tg-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014,0 1px 2px #0000000d;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;outline:none}.tg-card:hover,.tg-card:focus-visible{transform:translateY(-5px);box-shadow:0 8px 24px #00000021;outline:2px solid #7c5c3e}.tg-card__img-wrap{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#e8e3dc}.tg-card__img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.tg-card:hover .tg-card__img-wrap img{transform:scale(1.05)}.tg-card__tag{position:absolute;top:.65rem;left:.65rem;background:#7c5c3e;color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;pointer-events:none}.tg-card__body{padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.tg-card__name{font-size:1.05rem;font-weight:700;color:#1a1a1a;margin:0;line-height:1.3}.tg-card__desc{font-size:.875rem;color:#666;margin:0;line-height:1.5;flex:1}.tg-card__cta{margin-top:.75rem;padding:.6rem 1rem;background:#7c5c3e;color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease;width:100%}.tg-card__cta:hover{background:#5a3f28}@media (max-width: 860px){.tg-gallery__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.tg-gallery{padding:1.5rem 1rem 3rem}.tg-gallery__grid{grid-template-columns:1fr;gap:1rem}.tg-card__img-wrap{aspect-ratio:16 / 9}}.est-ticker{display:flex;align-items:center;justify-content:space-between;gap:0;background:#f7f4f0;border-bottom:1px solid #e8e0d8;border-top:1px solid #e8e0d8;padding:8px 16px;position:sticky;top:0;z-index:10;transition:background .2s}.est-ticker--flash{background:#fdf0e0}.est-ticker__item{display:flex;flex-direction:column;align-items:center;flex:1;gap:1px;min-width:0}.est-ticker__item--cost{flex:1.4}.est-ticker__label{font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#9e8e7e;white-space:nowrap}.est-ticker__value{font-size:13px;font-weight:700;color:#2d1f0e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center;transition:color .15s}.est-ticker__value--cost{font-size:14px;color:#1a6e3c}.est-ticker__divider{width:1px;height:28px;background:#ddd5ca;flex-shrink:0;margin:0 4px}.est-ticker__value--loading{color:#aaa;font-weight:500;font-size:12px}@media (max-width: 340px){.est-ticker{padding:7px 10px}.est-ticker__value{font-size:12px}.est-ticker__value--cost{font-size:13px}.est-ticker__label{font-size:8px}}.shape-toggle{display:flex;gap:0;margin-bottom:var(--spacing-lg, 1.5rem);border:1.5px solid var(--color-border, #E0DDD5);border-radius:var(--radius-md, 8px);overflow:hidden}.shape-toggle__btn{flex:1;padding:10px 12px;border:none;background:var(--color-surface, #fff);font-family:var(--font-family, "Inter", sans-serif);font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-muted, #666);cursor:pointer;transition:background var(--transition-fast, .15s),color var(--transition-fast, .15s);text-align:center;line-height:1.4}.shape-toggle__btn+.shape-toggle__btn{border-left:1.5px solid var(--color-border, #E0DDD5)}.shape-toggle__btn.is-active{background:var(--color-primary, #1B2B4D);color:#fff;font-weight:600}.shape-toggle__btn:not(.is-active):hover{background:var(--color-surface-alt, #FAFAF8)}#rectDimensionInputs{transition:opacity var(--transition-base, .25s)}#polygonDrawingSection{display:none;animation:fadeIn var(--transition-base, .25s)}#polygonDrawingSection.is-visible{display:block}.polygon-tool{border:1.5px solid var(--color-border, #E0DDD5);border-radius:var(--radius-lg, 12px);overflow:hidden;background:var(--color-surface, #fff)}.polygon-tool__header{background:var(--color-primary, #1B2B4D);color:#fff;padding:6px 12px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-align:center}.polygon-tool__house-label{opacity:.85}.polygon-tool__canvas{display:block;width:100%;background:#fafaf8;cursor:crosshair;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.polygon-tool__controls{padding:8px 12px;border-top:1px solid var(--color-border-light, #ECEAE5);display:flex;flex-direction:column;gap:8px}.polygon-tool__controls-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.polygon-tool__snap-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-text, #2C2C2C);cursor:pointer;-webkit-user-select:none;user-select:none}.polygon-tool__snap-label input[type=checkbox]{accent-color:var(--color-primary, #1B2B4D);width:15px;height:15px}.polygon-tool__scale-group{display:flex;align-items:center;gap:6px}.polygon-tool__scale-label{font-size:12px;font-weight:500;color:var(--color-text-muted, #666)}.polygon-tool__scale-input{width:48px;padding:4px 6px;border:1px solid var(--color-border, #E0DDD5);border-radius:var(--radius-sm, 4px);font-size:12px;text-align:center;font-family:inherit;outline:none;transition:border-color var(--transition-fast, .15s)}.polygon-tool__scale-input:focus{border-color:var(--color-primary, #1B2B4D)}.polygon-tool__scale-unit{font-size:11px;color:var(--color-text-light, #999)}.polygon-tool__btn{padding:5px 14px;border:1.5px solid var(--color-border, #E0DDD5);border-radius:99px;background:transparent;font-family:inherit;font-size:12px;font-weight:600;color:var(--color-text, #2C2C2C);cursor:pointer;transition:background var(--transition-fast, .15s),border-color var(--transition-fast, .15s),color var(--transition-fast, .15s)}.polygon-tool__btn:hover{background:var(--color-surface-alt, #FAFAF8);border-color:var(--color-primary, #1B2B4D);color:var(--color-primary, #1B2B4D)}.polygon-tool__btn--danger{color:var(--color-accent, #C8102E);border-color:#c8102e4d}.polygon-tool__btn--danger:hover{background:#c8102e0f;border-color:var(--color-accent, #C8102E);color:var(--color-accent, #C8102E)}.polygon-tool__info{display:flex;gap:0;border-top:1px solid var(--color-border-light, #ECEAE5)}.polygon-tool__stat{flex:1;padding:8px 12px;text-align:center}.polygon-tool__stat+.polygon-tool__stat{border-left:1px solid var(--color-border-light, #ECEAE5)}.polygon-tool__stat-label{display:block;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted, #666);margin-bottom:2px}.polygon-tool__stat-value{display:block;font-size:14px;font-weight:600;color:var(--color-text, #2C2C2C)}.polygon-tool__hint{padding:8px 12px;font-size:12px;color:var(--color-text-muted, #666);text-align:center;border-top:1px solid var(--color-border-light, #ECEAE5);margin:0;line-height:1.4}@media (max-width: 767px){.shape-toggle__btn{padding:8px;font-size:13px}.polygon-tool__controls-row{flex-direction:column;align-items:stretch}.polygon-tool__controls-row:first-child{flex-direction:row}}
