@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600&family=Barlow+Condensed:wght@400;600;700&family=Playfair+Display:ital,wght@0,700;0,900;1,400&display=swap');::-webkit-scrollbar {width: 12px;height: 12px;}::-webkit-scrollbar-track {background: var(--c-black);}::-webkit-scrollbar-thumb {background: var(--c-gold);border: 3px solid var(--c-black);border-radius: 6px;}::-webkit-scrollbar-thumb:hover {background: var(--c-yellow);}::-webkit-scrollbar-corner {background: var(--c-black);}@supports not (selector(::-webkit-scrollbar)) {html {scrollbar-width: thin;scrollbar-color: var(--c-gold) var(--c-black);}}:root {--c-yellow: #FFD408;--c-yellow-d: #E6BF00;--c-gold: #B39300;--c-black: #0A0A0A;--c-charcoal: #1C1C1C;--c-white: #FAFAFA;--c-warm: #F0EBD8;--f-display: 'Playfair Display', Georgia, serif;--f-body: 'Barlow', system-ui, sans-serif;--f-ui: 'Barlow Condensed', system-ui, sans-serif;--nav-h: 68px;--px: 48px;--py: 100px;--py-sm: 60px;--ease: cubic-bezier(0.22, 1, 0.36, 1);}*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }html { -webkit-text-size-adjust: 100%; }body {font-family: var(--f-body);font-size: 1rem;line-height: 1.65;background: var(--c-yellow);color: var(--c-black);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;overflow-x: hidden;}img, video { max-width: 100%; height: auto; display: block; }a { color: inherit; text-decoration: none; }button { font-family: inherit; cursor: pointer; border: none; background: none; }ul, ol { list-style: none; }p { text-wrap: pretty; }h1 {font-family: var(--f-display);font-weight: 900;font-size: clamp(3.2rem, 9vw, 7.5rem);line-height: 0.93;letter-spacing: -0.025em;}h2 {font-family: var(--f-display);font-weight: 900;font-size: clamp(2rem, 4.5vw, 3.75rem);line-height: 1.04;letter-spacing: -0.015em;}h3 {font-family: var(--f-display);font-weight: 700;font-size: clamp(1.2rem, 2vw, 1.65rem);line-height: 1.2;}h4 {font-family: var(--f-display);font-weight: 700;font-size: 1.05rem;line-height: 1.3;}.eyebrow {font-family: var(--f-ui);font-weight: 700;font-size: 0.7rem;letter-spacing: 0.22em;text-transform: uppercase;}.page-wrap { padding-top: var(--nav-h); }.section { padding: var(--py) var(--px); }.section--sm { padding: var(--py-sm) var(--px); }.container { max-width: 1280px; margin: 0 auto; }.t-yellow { background: var(--c-yellow); color: var(--c-black); }.t-black { background: var(--c-black); color: var(--c-white); }.t-charcoal { background: var(--c-charcoal); color: var(--c-white); }.t-warm { background: var(--c-warm); color: var(--c-black); }.nav {position: fixed;top: 0; left: 0; right: 0;height: var(--nav-h);background: var(--c-black);z-index: 200;display: flex;align-items: center;padding: 0 var(--px);transition: box-shadow 0.3s;}.nav.scrolled { box-shadow: 0 2px 28px rgba(0,0,0,0.55); }.nav__mark {font-family: var(--f-display);font-weight: 900;font-size: 1.1rem;color: var(--c-yellow);text-transform: uppercase;letter-spacing: 0.05em;flex-shrink: 0;}.nav__links {margin-left: auto;display: flex;align-items: center;gap: 34px;}.nav__links a {font-family: var(--f-ui);font-weight: 600;font-size: 0.78rem;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(255,255,255,0.6);transition: color 0.2s;position: relative;padding-bottom: 2px;}.nav__links a::after {content: '';position: absolute;bottom: -3px; left: 0; right: 0;height: 1px;background: var(--c-yellow);transform: scaleX(0);transform-origin: left;transition: transform 0.3s var(--ease);}.nav__links a:hover,.nav__links a.active { color: var(--c-white); }.nav__links a:hover::after,.nav__links a.active::after { transform: scaleX(1); }.nav__toggle {display: none;flex-direction: column;gap: 5px;margin-left: auto;padding: 6px;background: none;border: none;cursor: pointer;}.nav__toggle span {display: block;width: 22px; height: 2px;background: var(--c-white);transition: transform 0.3s, opacity 0.3s;}.nav__toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }.nav__toggle.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }.nav__toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }.nav-mobile {position: fixed;top: var(--nav-h); left: 0; right: 0; bottom: 0;background: var(--c-black);z-index: 199;display: flex;flex-direction: column;align-items: flex-start;justify-content: center;padding: 0 var(--px);gap: 4px;transform: translateX(-100%);transition: transform 0.4s var(--ease);}.nav-mobile.open { transform: translateX(0); }.nav-mobile a {font-family: var(--f-display);font-weight: 900;font-size: clamp(2rem, 5vw, 3.25rem);color: rgba(255,255,255,0.75);text-transform: uppercase;letter-spacing: -0.01em;transition: color 0.2s;display: block;padding: 10px 0;}.nav-mobile a:hover { color: var(--c-yellow); }.btn {display: inline-flex;align-items: center;gap: 10px;font-family: var(--f-ui);font-weight: 700;font-size: 0.8rem;letter-spacing: 0.14em;text-transform: uppercase;padding: 14px 30px;border: 2px solid;transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s ease;}.btn:hover { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(0,0,0,0.22); }.btn:active { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,0.18); }.btn--dark { background: var(--c-black); color: var(--c-yellow); border-color: var(--c-black); }.btn--dark:hover { background: var(--c-charcoal); border-color: var(--c-charcoal); box-shadow: 0 10px 24px rgba(0,0,0,0.3); }.btn--yellow { background: var(--c-yellow); color: var(--c-black); border-color: var(--c-yellow); }.btn--yellow:hover { background: var(--c-yellow-d); border-color: var(--c-yellow-d); }.btn--outline { background: transparent; color: var(--c-black); border-color: var(--c-black); }.btn--outline:hover { background: var(--c-black); color: var(--c-yellow); }.btn--outline-light { background: transparent; color: var(--c-white); border-color: rgba(255,255,255,0.45); }.btn--outline-light:hover { background: var(--c-white); color: var(--c-black); border-color: var(--c-white); box-shadow: 0 10px 24px rgba(0,0,0,0.45); }.reveal {opacity: 0;transform: translateY(36px);transition: opacity 0.9s var(--ease), transform 0.9s var(--ease);}.reveal.in { opacity: 1; transform: none; }.reveal--left { transform: translateX(-40px); }.reveal--left.in { transform: none; }.reveal[data-delay="1"] { transition-delay: 0.1s; }.reveal[data-delay="2"] { transition-delay: 0.2s; }.reveal[data-delay="3"] { transition-delay: 0.3s; }.reveal[data-delay="4"] { transition-delay: 0.4s; }.reveal[data-delay="5"] { transition-delay: 0.5s; }.reveal[data-delay="6"] { transition-delay: 0.65s; }.btn.reveal.in, .btn.in {transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.28s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.28s ease;transition-delay: 0s;}.hero {min-height: 100vh;background: var(--c-black);display: flex;align-items: flex-end;padding: 56px var(--px) 150px;position: relative;overflow: hidden;}.hero::before {content: '';position: absolute;inset: 0;background: linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),radial-gradient(ellipse at 65% 35%, rgba(255,212,8,0.07) 0%, transparent 65%);pointer-events: none;}.hero__inner {position: relative;max-width: 1280px;margin: 0 auto;width: 100%;}.hero__eye {font-family: var(--f-ui);font-weight: 700;font-size: 0.7rem;letter-spacing: 0.28em;text-transform: uppercase;color: var(--c-yellow);margin-bottom: 28px;opacity: 0;animation: fadeUp 0.8s var(--ease) 0.2s forwards;}.hero__title {color: var(--c-yellow);margin-bottom: 36px;opacity: 0;animation: fadeUp 0.9s var(--ease) 0.4s forwards;}.hero__title em { font-style: normal; color: var(--c-white); }.hero__sub {font-size: 1.1rem;color: rgba(255,255,255,0.55);max-width: 500px;line-height: 1.7;margin-bottom: 52px;opacity: 0;animation: fadeUp 0.9s var(--ease) 0.6s forwards;}.hero__ctas {display: flex;gap: 14px;flex-wrap: wrap;opacity: 0;animation: fadeUp 0.9s var(--ease) 0.8s forwards;}.hero__scroll {position: absolute;bottom: 40px;right: 0;display: flex;flex-direction: column;align-items: center;gap: 10px;opacity: 0;animation: fadeIn 1s ease 1.3s forwards;}.hero__scroll-text {font-family: var(--f-ui);font-size: 0.62rem;letter-spacing: 0.22em;text-transform: uppercase;color: rgba(255,255,255,0.25);writing-mode: vertical-rl;}.hero__scroll-line {width: 1px;height: 56px;background: linear-gradient(to bottom, rgba(255,255,255,0.25), transparent);animation: scrollPulse 2.2s ease-in-out infinite;}@keyframes fadeUp {from { opacity: 0; transform: translateY(32px); }to { opacity: 1; transform: translateY(0); }}@keyframes fadeIn {from { opacity: 0; }to { opacity: 1; }}@keyframes scrollPulse {0%, 100% { opacity: 1; }50% { opacity: 0.4; }}.intro__grid {display: grid;grid-template-columns: 1.1fr 0.9fr;gap: 80px;align-items: center;max-width: 1280px;margin: 0 auto;}.intro__text .eyebrow { opacity: 0.5; margin-bottom: 20px; }.intro__text h2 { margin-bottom: 24px; }.intro__text p {font-size: 1.05rem;color: rgba(0,0,0,0.7);line-height: 1.75;margin-bottom: 36px;}.pills {display: flex;flex-wrap: wrap;gap: 8px;}.pill {font-family: var(--f-ui);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 7px 15px;border: 1.5px solid var(--c-black);color: var(--c-black);}.intro__visual {position: relative;aspect-ratio: 3/4;}
.intro__visual-frame {position: relative;width: 100%;height: 100%;overflow: hidden;background: rgba(0,0,0,0.05);box-shadow: 0 22px 48px rgba(0,0,0,0.42);}
.intro__visual-frame img {transition: opacity 1.1s ease;}
.intro__visual-badge {position: absolute;left: 14px;bottom: 14px;z-index: 3;font-family: var(--f-ui);font-weight: 700;font-size: 0.67rem;letter-spacing: 0.15em;text-transform: uppercase;color: var(--c-white);background: rgba(0,0,0,0.62);padding: 5px 11px;transition: opacity 1.1s ease;}.intro__visual .ph {width: 100%;height: 100%;}.gal-teaser__grid {display: grid;grid-template-columns: 1.4fr 1fr 1fr;grid-template-rows: 300px 300px;gap: 6px;margin: 48px 0;max-width: 1280px;margin-left: auto;margin-right: auto;}.gal-teaser__grid .gi--tall { grid-row: 1 / 3; }.gal-thumb {display: block;width: 100%; height: 100%;position: relative;overflow: hidden;}.gal-thumb .ph {width: 100%; height: 100%;}.gal-thumb:hover .ph { background-color: rgba(0,0,0,0.1); }.gal-teaser__grid .gallery-item {box-shadow: 0 18px 40px rgba(0,0,0,0.38);}.gallery-grid .gallery-item {box-shadow: 0 18px 40px rgba(0,0,0,0.38);}.about-tease {max-width: 1280px;margin: 0 auto;display: grid;grid-template-columns: 1fr 1fr;gap: 80px;align-items: center;}.about-tease__text .eyebrow { color: var(--c-yellow); opacity: 0.6; margin-bottom: 24px; }.about-tease__text h2 { color: var(--c-white); margin-bottom: 28px; }.about-tease__text p {color: rgba(255,255,255,0.6);font-size: 1.05rem;line-height: 1.75;margin-bottom: 40px;}.about-tease__stats {display: flex;gap: 40px;flex-wrap: wrap;}.stat__num {font-family: var(--f-display);font-weight: 900;font-size: 3rem;color: var(--c-yellow);line-height: 1;display: block;}.stat__label {font-family: var(--f-ui);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(255,255,255,0.45);display: block;margin-top: 6px;}.about-tease__image {aspect-ratio: 4/5;position: relative;}.about-tease__image .ph { width: 100%; height: 100%; }.about-tease__image img {box-shadow: 0 24px 56px rgba(0,0,0,0.85);}.about-photo {box-shadow: 0 18px 40px rgba(0,0,0,0.38);}.cta-band {max-width: 1280px;margin: 0 auto;display: flex;align-items: center;justify-content: space-between;gap: 40px;flex-wrap: wrap;}.cta-band h2 { flex: 1; min-width: 280px; }.cta-band__right { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }.cta-band__right p { color: rgba(0,0,0,0.65); max-width: 360px; font-size: 1rem; }.deposit-bar {background: var(--c-black);color: var(--c-yellow);padding: 12px var(--px);font-family: var(--f-ui);font-weight: 700;font-size: 0.72rem;letter-spacing: 0.18em;text-transform: uppercase;text-align: center;}.page-hdr {padding: 80px var(--px) 64px;}.page-hdr .container { max-width: 1280px; margin: 0 auto; }.page-hdr__eye { opacity: 0.45; margin-bottom: 18px; }.page-hdr h1 { font-size: clamp(2.5rem, 6vw, 5.5rem); }.gallery-wrap { max-width: 1280px; margin: 0 auto; padding: 0 var(--px) var(--py); }.filter-bar {display: flex;flex-wrap: wrap;gap: 6px;margin-bottom: 40px;}.filter-btn {font-family: var(--f-ui);font-weight: 700;font-size: 0.7rem;letter-spacing: 0.12em;text-transform: uppercase;padding: 8px 16px;border: 1.5px solid rgba(0,0,0,0.25);background: transparent;color: rgba(0,0,0,0.55);transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s;0.2s, border-color 0.2s;cursor: pointer;}.filter-btn.active,.filter-btn:hover {background: var(--c-black);color: var(--c-yellow);border-color: var(--c-black);transform: translateY(-1px);}.gallery-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));grid-auto-rows: 1px;column-gap: 6px;row-gap: 0;opacity: 0;transition: opacity 0.5s ease;}.gallery-grid.is-loaded {opacity: 1;}.gallery-item {overflow: hidden;position: relative;cursor: pointer;margin-bottom: 6px;}.gallery-item:focus { outline: none; }.gallery-item:focus-visible { outline: 3px solid var(--c-yellow); outline-offset: 2px; }.gallery-item img {width: 100%;height: auto;object-fit: cover;transition: transform 0.55s var(--ease);display: block;}.gallery-item .ph { width: 100%; height: 100%; }.gallery-item__over {position: absolute;inset: 0;background: rgba(0,0,0,0);display: flex;align-items: flex-end;padding: 14px;transition: background 0.3s;pointer-events: none;}.gallery-item__cat {font-family: var(--f-ui);font-weight: 700;font-size: 0.67rem;letter-spacing: 0.15em;text-transform: uppercase;color: var(--c-white);background: rgba(0,0,0,0.55);padding: 4px 10px;opacity: 0;transition: opacity 0.3s;}@media (hover: hover) and (pointer: fine){.gallery-item:hover img { transform: scale(1.05); }}@media (hover: hover) and (pointer: fine){.gallery-item:hover .gallery-item__over { background: rgba(0,0,0,0.25); }}@media (hover: hover) and (pointer: fine){.gallery-item:hover .gallery-item__cat { opacity: 1; }}.gallery-item:focus-visible .gallery-item__cat { opacity: 1; }.gallery-item.hidden { display: none; }.lightbox {position: fixed;inset: 0;background: rgba(0,0,0,0.95);z-index: 500;display: flex;align-items: center;justify-content: center;opacity: 0;pointer-events: none;transition: opacity 0.3s;}.lightbox.open { opacity: 1; pointer-events: all; }.lightbox__img {transition: opacity 0.25s ease;max-width: 88vw;max-height: 82vh;object-fit: contain;display: none;}.lightbox__ph {display: none;flex-direction: column;align-items: center;justify-content: center;gap: 12px;color: rgba(255,255,255,0.4);font-family: var(--f-ui);font-size: 0.75rem;letter-spacing: 0.15em;text-transform: uppercase;padding: 80px;border: 1px solid rgba(255,255,255,0.1);text-align: center;}.lightbox__close {position: absolute;top: 24px; right: 32px;background: none; border: none;color: rgba(255,255,255,0.6);font-size: 2rem;cursor: pointer;line-height: 1;transition: color 0.2s;}.lightbox__close:hover { color: var(--c-yellow); }.lightbox__prev,.lightbox__next {position: absolute;top: 50%; transform: translateY(-50%);background: none; border: none;color: rgba(255,255,255,0.5);font-size: 2.2rem;cursor: pointer;padding: 20px;transition: color 0.2s;}.lightbox__prev { left: 12px; }.lightbox__next { right: 12px; }.lightbox__prev:hover,.lightbox__next:hover { color: var(--c-yellow); }.lightbox__caption {position: absolute;bottom: 28px;left: 50%; transform: translateX(-50%);font-family: var(--f-ui);font-size: 0.68rem;letter-spacing: 0.18em;text-transform: uppercase;color: rgba(255,255,255,0.4);white-space: nowrap;}.services-grid {display: grid;grid-template-columns: repeat(3, 1fr);grid-auto-rows: 1fr;gap: 3px;max-width: 1280px;margin: 48px auto;}.svc-card {background: var(--c-warm);padding: 40px 32px;transition: background 0.2s;display: flex;flex-direction: column;align-items: flex-start;}.svc-card:hover { background: var(--c-white); }.svc-card__tag {font-family: var(--f-ui);font-size: 0.65rem;font-weight: 700;letter-spacing: 0.18em;text-transform: uppercase;color: rgba(0,0,0,0.4);margin-bottom: 20px;display: block;}.svc-card h3 { margin-bottom: 14px; font-size: 1.15rem; }.svc-card p { font-size: 0.88rem; color: rgba(0,0,0,0.6); line-height: 1.65; margin-bottom: 20px; }.svc-card__price {font-family: var(--f-display);font-weight: 900;font-size: 1.6rem;color: var(--c-black);line-height: 1;}.svc-card__price small {font-family: var(--f-ui);font-size: 0.72rem;font-weight: 600;letter-spacing: 0.06em;color: rgba(0,0,0,0.45);}.svc-card__link {display: inline-flex;align-items: center;gap: 6px;font-family: var(--f-ui);font-size: 0.72rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;color: var(--c-gold);border-bottom: 1px solid var(--c-gold);padding-bottom: 1px;transition: color 0.2s, border-color 0.2s;margin-top: auto;display: block;width: fit-content;}.svc-card__link + .svc-card__cta {margin-top: 16px;}.svc-card__link:hover { color: var(--c-black); border-color: var(--c-black); }.svc-card__cta {display: inline-flex;align-items: center;gap: 7px;margin-top: auto;font-family: var(--f-ui);font-weight: 700;font-size: 0.72rem;letter-spacing: 0.12em;text-transform: uppercase;padding: 11px 20px;border: 1.5px solid var(--c-black);color: var(--c-black);transition: background 0.2s, color 0.2s, transform 0.15s;width: fit-content;}.svc-card__cta:hover {background: var(--c-black);color: var(--c-yellow);transform: translateY(-1px);}.svc-card__cta:hover svg {transform: translateY(2px);}.svc-card__cta svg {transition: transform 0.2s;}.pricing-table-wrap { max-width: 1280px; margin: 0 auto; }.pricing-table {width: 100%;border-collapse: collapse;table-layout: auto;}.pricing-table th,.pricing-table td {padding: 18px 24px;text-align: left;border-bottom: 1px solid rgba(255,255,255,0.08);}.pricing-table th {font-family: var(--f-ui);font-weight: 700;font-size: 0.68rem;letter-spacing: 0.18em;text-transform: uppercase;color: rgba(255,255,255,0.35);white-space: nowrap;}.pricing-table td { font-size: 0.95rem; color: rgba(255,255,255,0.8); }.pricing-table td:last-child {font-family: var(--f-display);font-weight: 700;font-size: 1.15rem;color: var(--c-yellow);white-space: nowrap;}.pricing-table td.note {font-family: var(--f-body);font-size: 0.92rem;color: rgba(255,255,255,0.62);font-weight: 400;}.pricing-table tr:last-child td { border-bottom: none; }.pricing-table tr:hover td { background: rgba(255,255,255,0.03); }.calc-wrap { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }.calc-info .eyebrow { opacity: 0.5; margin-bottom: 20px; }.calc-info h2 { margin-bottom: 24px; }.calc-info p { color: rgba(0,0,0,0.65); font-size: 0.95rem; line-height: 1.7; margin-bottom: 16px; }.calc-info .note-list { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; }.calc-info .note-list li {font-size: 0.85rem;color: rgba(0,0,0,0.55);padding-left: 16px;position: relative;}.calc-info .note-list li::before {content: '';position: absolute;left: 0; top: 10px;width: 5px; height: 1px;background: var(--c-gold);}.calc {background: var(--c-black);color: var(--c-white);padding: 48px;}.calc__tabs {display: flex;border: 1.5px solid rgba(255,255,255,0.15);margin-bottom: 36px;}.calc__tab {flex: 1;padding: 11px 12px;font-family: var(--f-ui);font-weight: 700;font-size: 0.72rem;letter-spacing: 0.12em;text-transform: uppercase;background: transparent;color: rgba(255,255,255,0.45);border: none;cursor: pointer;transition: background 0.2s, color 0.2s;}.calc__tab.active { background: var(--c-yellow); color: var(--c-black); }.calc__panel { display: none; }.calc__panel.active { display: block; }.calc__field { margin-bottom: 22px; }.calc__label {display: block;font-family: var(--f-ui);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(255,255,255,0.45);margin-bottom: 8px;}.calc__input {width: 100%;padding: 12px 16px;font-family: var(--f-body);font-size: 1rem;border: 1.5px solid rgba(255,255,255,0.2);background: rgba(255,255,255,0.05);color: var(--c-white);outline: none;transition: border-color 0.2s, background 0.2s;border-radius: 0;}.calc__input:focus { border-color: var(--c-yellow); background: rgba(255,255,255,0.08); }.calc__input::placeholder { color: rgba(255,255,255,0.2); }.calc__input[type=number] {-moz-appearance: textfield;appearance: textfield;}.calc__input::-webkit-outer-spin-button,.calc__input::-webkit-inner-spin-button {-webkit-appearance: none;margin: 0;}.calc__stepper {display: flex;align-items: stretch;}.calc__stepper .calc__input {flex: 1;border-right: none;text-align: left;}.calc__step-btn {width: 44px;flex-shrink: 0;display: flex;align-items: center;justify-content: center;font-family: var(--f-ui);font-weight: 700;font-size: 1.05rem;line-height: 1;background: rgba(255,255,255,0.05);border: 1.5px solid rgba(255,255,255,0.2);color: var(--c-yellow);cursor: pointer;transition: background 0.2s, color 0.2s;user-select: none;}.calc__step-btn + .calc__step-btn {border-left: none;}.calc__step-btn:hover {background: var(--c-yellow);color: var(--c-black);border-color: var(--c-yellow);}.calc__step-btn:active {background: var(--c-yellow-d);}.calc__result {border-top: 1px solid rgba(255,255,255,0.12);padding-top: 24px;margin-top: 24px;}.calc__row {display: flex;justify-content: space-between;align-items: baseline;margin-bottom: 10px;}.calc__row-label {font-family: var(--f-ui);font-size: 0.7rem;letter-spacing: 0.12em;text-transform: uppercase;color: rgba(255,255,255,0.4);}.calc__row-val {font-family: var(--f-display);font-weight: 700;font-size: 1.15rem;color: rgba(255,255,255,0.7);}.calc__row--total .calc__row-label { color: rgba(255,255,255,0.65); }.calc__row--total .calc__row-val { font-size: 2.25rem; color: var(--c-yellow); }.calc__row--deposit .calc__row-val { color: var(--c-gold); font-size: 1.3rem; }.calc__note {font-size: 0.78rem;color: rgba(255,255,255,0.3);margin-top: 16px;font-style: italic;line-height: 1.6;}.steps-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 2px;max-width: 1280px;margin: 0 auto;}.step {padding: 40px 28px;border-top: 2px solid rgba(255,255,255,0.1);}.step__n {font-family: var(--f-display);font-weight: 900;font-size: 4rem;color: rgba(255,255,255,0.06);line-height: 1;margin-bottom: 20px;}.step h3 { color: var(--c-white); font-size: 0.95rem; margin-bottom: 12px; }.step p { font-size: 0.85rem; color: rgba(255,255,255,0.5); line-height: 1.7; }.delivery-grid {display: grid;grid-template-columns: repeat(3, 1fr);grid-auto-rows: 1fr;gap: 2px;max-width: 1280px;margin: 48px auto 0;}.delivery-item { padding: 32px 28px; background: rgba(0,0,0,0.04); display: flex; flex-direction: column; align-items: flex-start; }.delivery-item h4 { font-size: 0.95rem; margin-bottom: 10px; }.delivery-item p { font-size: 0.85rem; color: rgba(0,0,0,0.6); line-height: 1.65; }.pay-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 28px; }.pay-badge {font-family: var(--f-ui);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 6px 14px;background: rgba(0,0,0,0.08);color: var(--c-black);}.contact-grid {display: grid;grid-template-columns: 1fr 1.1fr;gap: 80px;align-items: start;max-width: 1280px;margin: 0 auto;}.contact-info-item { margin-bottom: 28px; }.contact-info-item .label { opacity: 0.4; margin-bottom: 5px; display: block; }.contact-info-val {font-family: var(--f-display);font-weight: 700;font-size: 1.15rem;color: var(--c-black);}.contact-info-val a { transition: color 0.2s; }.contact-info-val a:hover { color: var(--c-gold); }.contact-socials { display: flex; gap: 8px; flex-wrap: wrap; margin: 28px 0 32px; }.contact-social {font-family: var(--f-ui);font-weight: 700;font-size: 0.68rem;letter-spacing: 0.12em;text-transform: uppercase;padding: 8px 15px;border: 1.5px solid var(--c-black);color: var(--c-black);transition: background 0.2s, color 0.2s, transform 0.15s;}.contact-social:hover { background: var(--c-black); color: var(--c-yellow); transform: translateY(-1px); }.map-block { margin-top: 32px; position: relative; }.map-block iframe { width: 100%; height: 300px; border: none; display: block; }.map-dir {display: inline-flex;align-items: center;gap: 8px;margin-top: 12px;font-family: var(--f-ui);font-weight: 700;font-size: 0.72rem;letter-spacing: 0.12em;text-transform: uppercase;color: var(--c-black);border-bottom: 1px solid rgba(0,0,0,0.3);padding-bottom: 1px;transition: color 0.2s, border-color 0.2s;}.map-dir:hover { color: var(--c-gold); border-color: var(--c-gold); }.avail-note {font-size: 0.88rem;color: rgba(0,0,0,0.55);margin-top: 16px;padding-top: 16px;border-top: 1px solid rgba(0,0,0,0.1);line-height: 1.65;}.avail-note strong { color: var(--c-black); font-weight: 600; }.contact-form { max-width: 100%; }.form__group { margin-bottom: 18px; }.form__label {display: block;font-family: var(--f-ui);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.16em;text-transform: uppercase;color: rgba(0,0,0,0.5);margin-bottom: 7px;}.form__input,.form__select,.form__textarea {width: 100%;padding: 12px 16px;font-family: var(--f-body);font-size: 0.95rem;border: 1.5px solid rgba(0,0,0,0.22);background: rgba(255,255,255,0.65);color: var(--c-black);outline: none;transition: border-color 0.2s, background 0.2s;border-radius: 0;appearance: none;-webkit-appearance: none;}.form__input:focus,.form__select:focus,.form__textarea:focus {border-color: var(--c-black);background: var(--c-white);}.form__input:invalid:not(:placeholder-shown),.form__textarea:invalid:not(:placeholder-shown) { border-color: rgba(180,0,0,0.5); }.form__textarea { min-height: 130px; resize: vertical; }.form__hidden { display: none !important; }.about-hero {display: grid;grid-template-columns: 0.85fr 1.15fr;gap: 72px;align-items: start;max-width: 1280px;margin: 0 auto;}.about-photo-wrap {position: static;align-self: end;}.about-photo {aspect-ratio: 3/4;background: repeating-linear-gradient(45deg, rgba(0,0,0,0.06) 0, rgba(0,0,0,0.06) 1px, transparent 0, transparent 50%);background-size: 10px 10px;background-color: rgba(0,0,0,0.04);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 10px;color: rgba(0,0,0,0.28);font-family: var(--f-ui);font-size: 0.68rem;letter-spacing: 0.14em;text-transform: uppercase;}.about-text .eyebrow { opacity: 0.45; margin-bottom: 22px; }.about-text h2 { margin-bottom: 32px; }.about-text p {font-size: 1.05rem;color: rgba(0,0,0,0.72);line-height: 1.8;margin-bottom: 22px;}.about-text p.placeholder-note {font-style: italic;color: rgba(0,0,0,0.4);font-size: 0.9rem;border-left: 2px solid var(--c-gold);padding-left: 16px;margin-top: 8px;}.quals-bar {display: grid;grid-template-columns: repeat(3, 1fr);gap: 2px;max-width: 1280px;margin: 0 auto;}.qual-item { padding: 36px 28px; background: rgba(0,0,0,0.03); }.qual-num {font-family: var(--f-display);font-weight: 900;font-size: 2.75rem;color: var(--c-gold);line-height: 1;margin-bottom: 8px;}.qual-lbl {font-family: var(--f-ui);font-size: 0.7rem;font-weight: 700;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(0,0,0,0.55);line-height: 1.45;}.qr-block {display: flex;flex-direction: column;align-items: flex-start;gap: 20px;max-width: 1280px;margin: 0 auto;}.qr-block .eyebrow { opacity: 0.5; margin-bottom: 4px; }.qr-block p { color: rgba(0,0,0,0.6); font-size: 0.92rem; max-width: 360px; line-height: 1.65; }.qr-img-wrap {display: flex;flex-direction: column;align-items: center;gap: 12px;padding: 28px;border: 1.5px solid rgba(0,0,0,0.12);width: fit-content;}.qr-img-wrap img { width: 160px; height: 160px; }.qr-url {font-family: var(--f-ui);font-size: 0.68rem;font-weight: 700;letter-spacing: 0.1em;color: rgba(0,0,0,0.45);text-transform: uppercase;}.partners-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 2px;max-width: 1280px;margin: 40px auto 0;}.partner-card {padding: 40px 36px;border: 1px solid rgba(255,255,255,0.08);transition: border-color 0.2s;}.partner-card:hover { border-color: rgba(255,212,8,0.3); }.partner-tag { opacity: 0.35; margin-bottom: 16px; color: var(--c-yellow); }.partner-card h3 { color: var(--c-white); font-size: 1.2rem; margin-bottom: 14px; }.partner-card p { font-size: 0.88rem; color: rgba(255,255,255,0.5); line-height: 1.7; margin-bottom: 24px; }.partner-card .btn { font-size: 0.72rem; }.gbiz-card {max-width: 1280px;margin: 0 auto;display: flex;align-items: center;justify-content: space-between;gap: 32px;flex-wrap: wrap;padding: 36px 40px;border: 1.5px solid rgba(0,0,0,0.15);}.gbiz-card__text .eyebrow { opacity: 0.45; margin-bottom: 8px; }.gbiz-card__text h3 { font-size: 1.25rem; }.gbiz-card__text p { font-size: 0.88rem; color: rgba(0,0,0,0.55); margin-top: 6px; }.footer {background: var(--c-black);color: var(--c-white);padding: 72px var(--px) 44px;}.footer__grid {max-width: 1280px;margin: 0 auto;display: grid;grid-template-columns: 1.8fr 1fr 1fr;gap: 48px;padding-bottom: 56px;border-bottom: 1px solid rgba(255,255,255,0.07);}.footer__mark {font-family: var(--f-display);font-weight: 900;font-size: 1.3rem;color: var(--c-yellow);text-transform: uppercase;letter-spacing: 0.04em;display: block;margin-bottom: 14px;}.footer__desc {font-size: 0.87rem;color: rgba(255,255,255,0.45);line-height: 1.7;margin-bottom: 28px;max-width: 220px;}.footer__socials { display: flex; gap: 8px; flex-wrap: wrap; }.footer__soc {font-family: var(--f-ui);font-size: 0.63rem;font-weight: 700;letter-spacing: 0.1em;text-transform: uppercase;padding: 8px 12px;border: 1px solid rgba(255,255,255,0.18);color: rgba(255,255,255,0.55);transition: all 0.2s;}.footer__soc:hover { background: var(--c-yellow); color: var(--c-black); border-color: var(--c-yellow); transform: translateY(-1px); }.footer__col h5 {font-family: var(--f-ui);font-size: 0.63rem;font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;color: rgba(255,255,255,0.28);margin-bottom: 20px;}.footer__col ul { display: flex; flex-direction: column; gap: 12px; }.footer__col li a {font-size: 0.87rem;color: rgba(255,255,255,0.55);transition: color 0.2s;}.footer__col li a:hover { color: var(--c-yellow); }.footer__bottom {max-width: 1280px;margin: 36px auto 0;display: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;gap: 14px;}.footer__copy { font-size: 0.78rem; color: rgba(255,255,255,0.28); }.footer__copy a { color: rgba(255,255,255,0.38); transition: color 0.2s; }.footer__copy a:hover { color: var(--c-yellow); }.ph {background: repeating-linear-gradient(45deg,rgba(0,0,0,0.055) 0px,rgba(0,0,0,0.055) 1px,transparent 1px,transparent 12px);background-color: rgba(0,0,0,0.04);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;color: rgba(0,0,0,0.28);font-family: var(--f-ui);font-size: 0.65rem;letter-spacing: 0.14em;text-transform: uppercase;font-weight: 600;}.ph--dark {background: repeating-linear-gradient(45deg,rgba(255,255,255,0.03) 0px,rgba(255,255,255,0.03) 1px,transparent 1px,transparent 12px);background-color: rgba(255,255,255,0.04);color: rgba(255,255,255,0.25);}.solo-page {min-height: 100vh;display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 60px var(--px);text-align: center;gap: 24px;}.solo-page h1 { font-size: clamp(2rem, 6vw, 4.5rem); }.solo-page p { color: rgba(0,0,0,0.6); max-width: 440px; font-size: 1.05rem; }.sr-only {position: absolute;width: 1px; height: 1px;padding: 0; margin: -1px;overflow: hidden;clip: rect(0,0,0,0);white-space: nowrap;border: 0;}@media (max-width: 1024px) {:root { --py: 72px; }.services-grid { grid-template-columns: repeat(2, 1fr); }.steps-grid { grid-template-columns: repeat(2, 1fr); }.footer__grid { grid-template-columns: 1fr 1fr; }.gal-teaser__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 260px; }.gal-teaser__grid .gi--tall { grid-row: auto; }.calc-wrap { grid-template-columns: 1fr; gap: 48px; }.quals-bar { grid-template-columns: 1fr 1fr; }.partners-grid { grid-template-columns: 1fr; }}@media (max-width: 768px) {:root { --px: 20px; --py: 56px; --py-sm: 40px; }.nav { padding: 0 var(--px); }.nav__links { display: none; }.nav__toggle { display: flex; }.nav-mobile { padding: 0 var(--px); }.hero { padding: 64px var(--px) 64px; align-items: center; }.hero__scroll { display: none; }.intro__grid { grid-template-columns: 1fr; gap: 40px; }.intro__visual { display: none; }.about-tease { grid-template-columns: 1fr; gap: 40px; }.about-tease__image { display: none; }.gal-teaser__grid { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: 280px; gap: 10px; }.gal-teaser__grid .gi--tall { grid-row: auto; }.gal-teaser__grid .gallery-item, .gal-teaser__grid .gal-thumb { height: 100%; min-height: 0; }.gal-teaser__grid .gallery-item img { height: 100% !important; min-height: 0 !important; object-fit: cover; }.gal-teaser__grid > *:nth-child(1) img { object-position: center 33%; }.gal-teaser__grid > *:nth-child(2) img { object-position: center 38%; }.gal-teaser__grid > *:nth-child(3) img { object-position: center 45%; }.gal-teaser__grid > *:nth-child(4) img { object-position: center 52%; }.gal-teaser__grid > *:nth-child(5) img { object-position: center 30%; }.cta-band { flex-direction: column; align-items: flex-start; }.services-grid { grid-template-columns: 1fr; }.steps-grid { grid-template-columns: 1fr; }.delivery-grid { grid-template-columns: 1fr; }.contact-grid { grid-template-columns: 1fr; gap: 48px; }.about-hero { grid-template-columns: 1fr; gap: 40px; }.about-photo-wrap { position: static; }.about-photo { aspect-ratio: 4/3; max-height: 280px; }.quals-bar { grid-template-columns: 1fr; }.qr-block { align-items: flex-start; }.footer { padding: 40px var(--px) 24px; }.footer__grid { grid-template-columns: 1fr 1fr; gap: 26px 20px; padding-bottom: 26px; }.footer__grid > div:first-child { grid-column: 1 / -1; }.footer__desc { margin-bottom: 14px; }.footer__col h5 { margin-bottom: 10px; }.footer__col ul { gap: 7px; }.footer__bottom { margin-top: 16px; gap: 5px; }.footer__bottom { flex-direction: column; align-items: flex-start; }.calc { padding: 32px 24px; }.gbiz-card { flex-direction: column; align-items: flex-start; }.page-hdr { padding: 56px var(--px) 44px; }.gallery-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }.pricing-table th, .pricing-table td { padding: 14px 12px; }.pricing-table td:last-child { white-space: normal; }}@media (max-width: 480px) {.hero__ctas { flex-direction: column; }.hero__ctas .btn { justify-content: center; }.filter-bar { gap: 4px; }}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}.reveal{opacity:1 !important;transform:none !important;}.hero__eye,.hero__title,.hero__sub,.hero__ctas,.hero__scroll{opacity:1 !important;animation:none !important;}.hero__scroll-line{animation:none !important;}}
/* ===== Page transitions (fade through brand black between pages) ===== */
@keyframes pr-page-in{from{opacity:0}}
html{background:var(--c-black)}
body{min-height:100vh;animation:pr-page-in .5s ease-out}
html.pr-hold body{opacity:0;animation:none}
html.pr-in body{animation:pr-page-in .5s ease-out both}
body.pr-leaving{opacity:0;animation:none;transition:opacity .38s ease}
@media (prefers-reduced-motion: reduce){body{animation:none}html.pr-in body{animation:none;opacity:1}body.pr-leaving{transition:none;opacity:1}}
