:root{ --ink:#252122;--espresso:#2f2d2c;--text:#544940;--muted:#857b6c;--caramel:#86726e;--caramel-lt:#aaa393;--caramel-dk:#573935;--walnut:#61452f;--sand:#efede8;--sand-2:#d8d4cc;--canvas:#f8f7f3;--stone:#b9bbb5;--teal:#8b867e;--white:#fff;--font:"Poppins", "Noto Sans", "Segoe UI", Helvetica, Arial, sans-serif;--script:"Caveat", "Segoe Script", "Comic Sans MS", cursive;--shell:1240px;--gutter:clamp(20px, 5vw, 64px);--radius:8px;--radius-lg:14px;--ease:cubic-bezier(0.22, 1, 0.36, 1);--ease-io:cubic-bezier(0.65, 0, 0.35, 1);--t-fast:0.28s;--t:0.55s;--t-slow:1.1s;--shadow-sm:0 1px 2px rgba(35, 24, 16, 0.05), 0 4px 12px rgba(35, 24, 16, 0.04);--shadow:0 2px 6px rgba(35, 24, 16, 0.06), 0 18px 44px rgba(35, 24, 16, 0.09);--shadow-lg:0 30px 80px rgba(28, 19, 13, 0.22);--header-h:78px;} *, *::before, *::after{ box-sizing:border-box;} *{ margin:0;padding:0;} html{ -webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px);} body{ font-family:var(--font);font-weight:300;font-size:16px;line-height:1.65;color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;text-rendering:optimizeLegibility;} html, body, .scroll-x, .lightbox, .mobile-nav, .drawer, *{ scrollbar-width:none;-ms-overflow-style:none;} *::-webkit-scrollbar{ width:0;height:0;display:none;} img, picture, svg, video{ display:block;max-width:100%;} img{ height:auto;border-style:none;} a{ color:inherit;text-decoration:none;} button, input, textarea, select{ font:inherit;color:inherit;background:none;border:0;} button{ cursor:pointer;} ul, ol{ list-style:none;} h1, h2, h3, h4, h5{ font-weight:300;line-height:1.12;letter-spacing:-0.02em;color:var(--espresso);} strong, b{ font-weight:400;} ::selection{ background:var(--caramel);color:#fff;} :focus-visible{ outline:2px solid var(--caramel-dk);outline-offset:3px;border-radius:3px;} .display{ font-size:clamp(2.6rem, 7.2vw, 6rem);line-height:1.02;letter-spacing:-0.035em;} .h1{ font-size:clamp(2.15rem, 5vw, 4rem);line-height:1.06;letter-spacing:-0.03em;} .h2{ font-size:clamp(1.85rem, 3.7vw, 3rem);line-height:1.1;letter-spacing:-0.028em;} .h3{ font-size:clamp(1.3rem, 2.1vw, 1.7rem);line-height:1.2;letter-spacing:-0.02em;} .h4{ font-size:1.12rem;line-height:1.35;letter-spacing:-0.012em;} .lede{ font-size:clamp(1.02rem, 1.35vw, 1.18rem);line-height:1.72;color:var(--muted);max-width:62ch;} .small{ font-size:0.875rem;} .script{ font-family:var(--script);font-weight:400;color:var(--caramel-dk);} .eyebrow{ display:inline-flex;align-items:center;gap:10px;font-size:0.72rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--caramel-dk);font-weight:400;} .eyebrow::before{ content:"";width:26px;height:1px;background:currentColor;opacity:0.6;} .eyebrow--center::after{ content:"";width:26px;height:1px;background:currentColor;opacity:0.6;} .script-tag{ font-family:var(--script);font-size:clamp(1.5rem, 2.6vw, 2.1rem);color:var(--caramel);line-height:1;} .shell{ width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter);} .shell--wide{ max-width:1560px;} .shell--narrow{ max-width:780px;} .section{ padding-block:clamp(64px, 9vw, 132px);position:relative;} .section--tight{ padding-block:clamp(48px, 6vw, 88px);} .section--sand{ background:var(--sand);} .section--dark{ background:var(--ink);color:rgba(255, 255, 255, 0.75);} .section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4{ color:#fff;} .section--dark .lede{ color:rgba(255, 255, 255, 0.66);} .section--dark .eyebrow{ color:var(--caramel-lt);} .section-head{ max-width:760px;margin-bottom:clamp(36px, 5vw, 64px);} .section-head--center{ margin-inline:auto;text-align:center;} .section-head--center .eyebrow{ justify-content:center;} .section-head .h2{ margin-top:18px;} .section-head .lede{ margin-top:20px;} .section-head--center .lede{ margin-inline:auto;} .head-row{ display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:clamp(32px, 4vw, 56px);} .head-row .section-head{ margin-bottom:0;} .grid{ display:grid;gap:clamp(18px, 2.2vw, 30px);} .g-2{ grid-template-columns:repeat(2, minmax(0, 1fr));} .g-3{ grid-template-columns:repeat(3, minmax(0, 1fr));} .g-4{ grid-template-columns:repeat(4, minmax(0, 1fr));} .split{ display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(32px, 5vw, 84px);align-items:center;} .split--wide-left{ grid-template-columns:1.15fr 1fr;} .split--wide-right{ grid-template-columns:1fr 1.15fr;} .stack > * + *{ margin-top:18px;} .center{ text-align:center;} .divider{ height:1px;background:var(--stone);border:0;} .btn{ --bg:var(--espresso);--fg:#fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:15px 30px;border-radius:999px;background:var(--bg);color:var(--fg);font-size:0.83rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;overflow:hidden;isolation:isolate;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), color var(--t-fast) var(--ease);will-change:transform;} .btn::before{ content:"";position:absolute;inset:0;z-index:-1;background:var(--caramel);transform:translateY(101%);transition:transform 0.5s var(--ease);} .btn:hover{ box-shadow:0 14px 30px rgba(140, 85, 48, 0.28);} .btn:hover::before{ transform:translateY(0);} .btn:active{ transform:scale(0.975);} .btn__ic{ width:17px;height:17px;transition:transform var(--t-fast) var(--ease);} .btn:hover .btn__ic{ transform:translateX(4px);} .btn--ghost{ --bg:transparent;--fg:var(--espresso);border:1px solid var(--stone);} .btn--ghost:hover{ --fg:#fff;border-color:var(--caramel);} .btn--light{ --bg:#fff;--fg:var(--espresso);} .btn--light:hover{ --fg:#fff;} .btn--onDark{ --bg:transparent;--fg:#fff;border:1px solid rgba(255, 255, 255, 0.28);} .btn--sm{ min-height:44px;padding:11px 22px;font-size:0.74rem;} .btn--block{ width:100%;} .link-u{ position:relative;display:inline-flex;align-items:center;gap:9px;font-size:0.8rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--caramel-dk);padding-bottom:4px;} .link-u::after{ content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform 0.45s var(--ease);} .link-u:hover::after{ transform:scaleX(1);transform-origin:left;} .link-u svg{ width:15px;height:15px;transition:transform var(--t-fast) var(--ease);} .link-u:hover svg{ transform:translateX(4px);} .section--dark .link-u{ color:var(--caramel-lt);} .progress{ position:fixed;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg, var(--caramel-dk), var(--caramel-lt));z-index:1200;pointer-events:none;} .cursor, .cursor-dot{ position:fixed;top:0;left:0;z-index:1300;pointer-events:none;border-radius:50%;opacity:0;transition:opacity 0.3s;} .cursor{ width:38px;height:38px;border:1px solid rgba(140, 85, 48, 0.55);margin:-19px 0 0 -19px;transition:opacity 0.3s, width 0.35s var(--ease), height 0.35s var(--ease), margin 0.35s var(--ease), background-color 0.35s var(--ease), border-color 0.35s var(--ease);} .cursor-dot{ width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:var(--caramel-dk);} .cursor.is-active{ width:66px;height:66px;margin:-33px 0 0 -33px;background:rgba(176, 113, 74, 0.14);border-color:transparent;} .cursor.is-hidden, .cursor-dot.is-hidden{ opacity:0 !important;} .preloader{ position:fixed;inset:0;z-index:1400;display:grid;place-items:center;background:var(--ink);color:#fff;transition:opacity 0.7s var(--ease), visibility 0.7s;} .preloader.is-done{ opacity:0;visibility:hidden;} .preloader__inner{ text-align:center;} .preloader__mark{ font-size:clamp(1.6rem, 4vw, 2.5rem);letter-spacing:0.42em;text-indent:0.42em;color:#fff;font-weight:300;} .preloader__script{ font-family:var(--script);color:var(--caramel-lt);font-size:1.5rem;margin-top:4px;} .preloader__bar{ width:min(280px, 60vw);height:1px;background:rgba(255, 255, 255, 0.16);margin:26px auto 0;overflow:hidden;} .preloader__bar i{ display:block;height:100%;width:0;background:var(--caramel-lt);transition:width 0.25s linear;} .preloader__pct{ margin-top:12px;font-size:0.7rem;letter-spacing:0.3em;color:rgba(255, 255, 255, 0.5);} .curtain{ position:fixed;inset:0;z-index:1350;background:var(--ink);transform:scaleY(0);transform-origin:bottom;pointer-events:none;} .curtain.is-in{ animation:curtainIn 0.62s var(--ease-io) forwards;} .curtain.is-out{ animation:curtainOut 0.62s var(--ease-io) forwards;} @keyframes curtainIn{ from{ transform:scaleY(0);transform-origin:bottom;} to{ transform:scaleY(1);transform-origin:bottom;} } @keyframes curtainOut{ from{ transform:scaleY(1);transform-origin:top;} to{ transform:scaleY(0);transform-origin:top;} } .skip{ position:absolute;left:-9999px;top:8px;z-index:1500;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;} .skip:focus{ left:16px;} .site-header{ position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform 0.5s var(--ease), background-color 0.4s var(--ease), box-shadow 0.4s var(--ease), border-color 0.4s;border-bottom:1px solid transparent;} .site-header::before{ content:"";position:absolute;inset:0;background:rgba(251, 248, 244, 0.86);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);opacity:0;transition:opacity 0.4s var(--ease);} .site-header.is-stuck::before{ opacity:1;} .site-header.is-stuck{ border-bottom-color:var(--stone);} .site-header.is-hidden{ transform:translateY(-105%);} .site-header__bar{ position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-h);transition:height 0.4s var(--ease);} .site-header.is-stuck .site-header__bar{ height:66px;} .brand{ display:inline-flex;align-items:center;gap:12px;} .brand__mark{ width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid currentColor;color:var(--caramel);flex:none;transition:transform 0.6s var(--ease);} .brand:hover .brand__mark{ transform:rotate(180deg);} .brand__mark i{ width:9px;height:9px;border-radius:50%;background:currentColor;display:block;} .brand__text{ display:flex;flex-direction:column;line-height:1;} .brand__name{ font-size:1.02rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--espresso);font-weight:300;} .brand__sub{ font-family:var(--script);font-size:0.95rem;color:var(--caramel-dk);margin-top:2px;} .is-light-header .brand__name{ color:#fff;} .is-light-header .brand__sub{ color:var(--caramel-lt);} .is-light-header .nav__link{ color:rgba(255, 255, 255, 0.86);} .is-light-header .burger span{ background:#fff;} .is-light-header .site-header__tel{ color:rgba(255, 255, 255, 0.86);} .site-header.is-stuck .brand__name, .site-header.is-stuck .nav__link, .site-header.is-stuck .site-header__tel{ color:var(--espresso);} .site-header.is-stuck .brand__sub{ color:var(--caramel-dk);} .site-header.is-stuck .burger span{ background:var(--espresso);} .nav{ display:flex;align-items:center;gap:clamp(14px, 2vw, 30px);} .nav__item{ position:relative;} .nav__link{ position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 2px;font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);transition:color var(--t-fast) var(--ease);} .nav__link::after{ content:"";position:absolute;left:0;bottom:4px;width:100%;height:1px;background:var(--caramel);transform:scaleX(0);transform-origin:right;transition:transform 0.42s var(--ease);} .nav__link:hover::after, .nav__item.is-current > .nav__link::after{ transform:scaleX(1);transform-origin:left;} .nav__link:hover, .nav__item.is-current > .nav__link{ color:var(--caramel-dk);} .nav__caret{ width:9px;height:9px;transition:transform 0.35s var(--ease);opacity:0.7;} .nav__item:hover .nav__caret{ transform:rotate(180deg);} .dropdown{ position:absolute;top:calc(100% + 6px);left:50%;translate:-50% 0;width:300px;background:#fff;border:1px solid var(--stone);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity 0.35s var(--ease), transform 0.35s var(--ease), visibility 0.35s;} .nav__item:hover .dropdown, .nav__item:focus-within .dropdown{ opacity:1;visibility:visible;transform:translateY(0);} .dropdown a{ display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:var(--radius);transition:background-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);} .dropdown a:hover{ background:var(--sand);transform:translateX(4px);} .dropdown b{ font-weight:400;font-size:0.92rem;color:var(--espresso);} .dropdown span{ font-size:0.78rem;color:var(--muted);} .site-header__actions{ display:flex;align-items:center;gap:16px;} .site-header__tel{ display:inline-flex;align-items:center;gap:8px;font-size:0.85rem;letter-spacing:0.02em;color:var(--text);} .site-header__tel svg{ width:15px;height:15px;color:var(--caramel);} .burger{ width:46px;height:46px;display:none;place-items:center;border-radius:50%;border:1px solid var(--stone);} .burger span{ display:block;width:18px;height:1.4px;background:var(--espresso);transition:transform 0.4s var(--ease), opacity 0.3s;} .burger span + span{ margin-top:5px;} .burger.is-open span:first-child{ transform:translateY(6.4px) rotate(45deg);} .burger.is-open span:nth-child(2){ opacity:0;} .burger.is-open span:last-child{ transform:translateY(-6.4px) rotate(-45deg);} .mobile-nav{ position:fixed;inset:0;z-index:999;background:var(--ink);color:#fff;padding:calc(var(--header-h) + 26px) var(--gutter) 40px;overflow-y:auto;clip-path:circle(0% at calc(100% - 46px) 46px);transition:clip-path 0.75s var(--ease);visibility:hidden;} .mobile-nav.is-open{ clip-path:circle(150% at calc(100% - 46px) 46px);visibility:visible;} .mobile-nav__list{ display:flex;flex-direction:column;} .mobile-nav__list > li{ border-bottom:1px solid rgba(255, 255, 255, 0.1);opacity:0;transform:translateY(18px);} .mobile-nav.is-open .mobile-nav__list > li{ animation:mnIn 0.6s var(--ease) forwards;} @keyframes mnIn{ to{ opacity:1;transform:none;} } .mobile-nav__list a{ display:block;padding:15px 0;font-size:1.3rem;font-weight:300;letter-spacing:-0.01em;color:#fff;transition:color var(--t-fast), padding-left var(--t-fast) var(--ease);} .mobile-nav__list a:hover{ color:var(--caramel-lt);padding-left:10px;} .mobile-nav__sub a{ font-size:0.98rem;color:rgba(255, 255, 255, 0.62);padding:8px 0 8px 16px;} .mobile-nav__foot{ margin-top:34px;display:grid;gap:14px;} .mobile-nav__foot .btn{ width:100%;} .mobile-nav__meta{ color:rgba(255, 255, 255, 0.5);font-size:0.85rem;line-height:1.7;} .fig{ position:relative;overflow:hidden;border-radius:var(--radius-lg);background:var(--sand-2) center/cover no-repeat;} .fig img{ width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease), opacity 0.8s var(--ease);} .fig--zoom:hover img{ transform:scale(1.06);} .fig::after{ content:"";position:absolute;inset:0;background:var(--sand);transform-origin:right;transition:transform 1.05s var(--ease-io);} .fig.is-in::after{ transform:scaleX(0);} .ratio-16-9{ aspect-ratio:16/9;} .ratio-4-3{ aspect-ratio:4/3;} .ratio-3-2{ aspect-ratio:3/2;} .ratio-1-1{ aspect-ratio:1/1;} .ratio-4-5{ aspect-ratio:4/5;} .ratio-3-4{ aspect-ratio:3/4;} .ratio-2-3{ aspect-ratio:2/3;} .img-cap{ margin-top:12px;font-size:0.8rem;color:var(--muted);letter-spacing:0.02em;} .hero{ position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);} .hero__media{ position:absolute;inset:-8% 0 -8%;z-index:0;will-change:transform;} .hero__media img{ width:100%;height:100%;object-fit:cover;} .hero__scrim{ position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(15, 10, 8, 0.62) 0%, rgba(15, 10, 8, 0.18) 32%, rgba(15, 10, 8, 0.55) 72%, rgba(15, 10, 8, 0.86) 100%);} .hero__inner{ position:relative;z-index:2;width:100%;padding-block:clamp(110px, 16vh, 170px) clamp(46px, 7vh, 74px);color:#fff;} .hero__eyebrow{ color:rgba(255, 255, 255, 0.82);} .hero__title{ color:#fff;margin-top:20px;max-width:16ch;} .hero__title em{ font-family:var(--script);font-style:normal;color:var(--caramel-lt);letter-spacing:0;} .hero__lede{ color:rgba(255, 255, 255, 0.78);margin-top:22px;max-width:54ch;} .hero__actions{ display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;} .hero__foot{ display:flex;flex-wrap:wrap;align-items:center;gap:clamp(18px, 4vw, 54px);margin-top:clamp(38px, 6vh, 66px);padding-top:26px;border-top:1px solid rgba(255, 255, 255, 0.16);} .hero__stat b{ display:block;font-size:clamp(1.5rem, 2.6vw, 2.1rem);font-weight:300;color:#fff;line-height:1;} .hero__stat span{ font-size:0.76rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255, 255, 255, 0.6);} .hero__scroll{ position:absolute;right:var(--gutter);bottom:clamp(46px, 7vh, 74px);z-index:3;display:inline-flex;flex-direction:column;align-items:center;gap:10px;font-size:0.66rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255, 255, 255, 0.62);writing-mode:vertical-rl;} .hero__scroll i{ width:1px;height:54px;background:rgba(255, 255, 255, 0.32);position:relative;overflow:hidden;} .hero__scroll i::after{ content:"";position:absolute;inset:0;background:#fff;animation:scrollLine 2.1s var(--ease-io) infinite;} @keyframes scrollLine{ 0%{ transform:translateY(-100%);} 60%, 100%{ transform:translateY(100%);} } .page-hero{ position:relative;padding-block:calc(var(--header-h) + clamp(56px, 9vw, 104px)) clamp(46px, 7vw, 84px);background:var(--ink);overflow:hidden;} .page-hero__media{ position:absolute;inset:0;z-index:0;opacity:0.5;} .page-hero__media img{ width:100%;height:100%;object-fit:cover;} .page-hero::after{ content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(15, 10, 8, 0.82), rgba(15, 10, 8, 0.6) 55%, rgba(15, 10, 8, 0.9));} .page-hero .shell{ position:relative;z-index:2;} .page-hero h1{ color:#fff;margin-top:16px;max-width:20ch;} .page-hero .lede{ color:rgba(255, 255, 255, 0.72);margin-top:18px;} .page-hero__actions{ display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;} .breadcrumb{ display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:0.76rem;letter-spacing:0.06em;color:rgba(255, 255, 255, 0.56);} .breadcrumb a{ transition:color var(--t-fast);} .breadcrumb a:hover{ color:var(--caramel-lt);} .breadcrumb li{ display:inline-flex;align-items:center;gap:8px;} .breadcrumb li + li::before{ content:"/";opacity:0.45;} .breadcrumb--light{ color:var(--muted);} .breadcrumb--light a:hover{ color:var(--caramel-dk);} .marquee{ overflow:hidden;border-block:1px solid var(--stone);background:var(--sand);padding-block:18px;} .marquee__track{ display:flex;width:max-content;gap:0;animation:marquee 42s linear infinite;} .marquee:hover .marquee__track{ animation-play-state:paused;} .marquee__group{ display:flex;align-items:center;gap:44px;padding-right:44px;} .marquee span{ font-size:0.86rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap;} .marquee i{ width:5px;height:5px;border-radius:50%;background:var(--caramel);flex:none;} @keyframes marquee{ to{ transform:translateX(-50%);} } .card{ position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--stone);border-radius:var(--radius-lg);overflow:hidden;transition:transform 0.55s var(--ease), box-shadow 0.55s var(--ease), border-color 0.55s var(--ease);} .card:hover{ transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;} .card__media{ position:relative;overflow:hidden;} .card__media img{ width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);} .card:hover .card__media img{ transform:scale(1.07);} .card__num{ position:absolute;top:14px;left:14px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(23, 18, 16, 0.55);backdrop-filter:blur(6px);color:#fff;font-size:0.78rem;letter-spacing:0.04em;} .card__body{ padding:clamp(20px, 2.4vw, 30px);display:flex;flex-direction:column;gap:12px;flex:1;} .card__body p{ color:var(--muted);font-size:0.95rem;} .card__tags{ display:flex;flex-wrap:wrap;gap:7px;margin-top:2px;} .tag{ font-size:0.72rem;letter-spacing:0.06em;color:var(--muted);border:1px solid var(--stone);border-radius:999px;padding:5px 11px;background:var(--canvas);} .card__foot{ margin-top:auto;padding-top:8px;} .ticks{ display:grid;gap:10px;} .ticks li{ position:relative;padding-left:26px;color:var(--muted);font-size:0.95rem;} .ticks li::before{ content:"";position:absolute;left:0;top:0.55em;width:12px;height:7px;border-left:1.4px solid var(--caramel);border-bottom:1.4px solid var(--caramel);transform:rotate(-45deg);} .section--dark .ticks li{ color:rgba(255, 255, 255, 0.7);} .stats{ display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(18px, 2.5vw, 34px);} .stat{ padding:clamp(20px, 2.4vw, 30px);border:1px solid var(--stone);border-radius:var(--radius-lg);background:#fff;transition:transform 0.5s var(--ease), box-shadow 0.5s var(--ease);} .stat:hover{ transform:translateY(-5px);box-shadow:var(--shadow-sm);} .stat b{ display:block;font-size:clamp(2rem, 3.6vw, 2.9rem);font-weight:300;color:var(--espresso);line-height:1;letter-spacing:-0.03em;} .stat span{ display:block;margin-top:10px;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);} .section--dark .stat{ background:rgba(255, 255, 255, 0.04);border-color:rgba(255, 255, 255, 0.12);} .section--dark .stat b{ color:#fff;} .section--dark .stat span{ color:rgba(255, 255, 255, 0.55);} .process{ position:relative;display:grid;gap:0;} .process__row{ display:grid;grid-template-columns:92px 1fr 1fr;gap:clamp(20px, 4vw, 56px);align-items:start;padding-block:clamp(26px, 3.4vw, 42px);border-top:1px solid var(--stone);transition:background-color 0.5s var(--ease);} .process__row:last-child{ border-bottom:1px solid var(--stone);} .process__row:hover{ background:rgba(176, 113, 74, 0.045);} .process__num{ font-family:var(--script);font-size:2.4rem;color:var(--caramel);line-height:1;} .process__row p{ color:var(--muted);} .section--dark .process__row{ border-color:rgba(255, 255, 255, 0.12);} .section--dark .process__row:hover{ background:rgba(255, 255, 255, 0.04);} .section--dark .process__row p{ color:rgba(255, 255, 255, 0.62);} .filters{ display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(26px, 3vw, 40px);} .filter{ position:relative;padding:9px 20px;border-radius:999px;border:1px solid var(--stone);font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);background:#fff;transition:color 0.35s var(--ease), border-color 0.35s var(--ease), background-color 0.35s var(--ease), transform 0.2s var(--ease);} .filter:hover{ color:var(--espresso);border-color:var(--caramel);} .filter:active{ transform:scale(0.96);} .filter.is-active{ background:var(--espresso);border-color:var(--espresso);color:#fff;} .gallery{ display:grid;grid-template-columns:repeat(12, 1fr);gap:clamp(12px, 1.6vw, 20px);} .gallery__item{ grid-column:span 4;position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:opacity 0.45s var(--ease), transform 0.45s var(--ease), filter 0.45s;} .gallery__item.is-hidden{ display:none;} .gallery__item.span-6{ grid-column:span 6;} .gallery__item.span-8{ grid-column:span 8;} .gallery__item img{ width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease);} .gallery__item:hover img{ transform:scale(1.05);} .gallery__cap{ position:absolute;inset:auto 0 0 0;padding:46px 22px 20px;background:linear-gradient(180deg, transparent, rgba(15, 10, 8, 0.82));color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;opacity:0;transform:translateY(14px);transition:opacity 0.45s var(--ease), transform 0.45s var(--ease);} .gallery__item:hover .gallery__cap, .gallery__item:focus-visible .gallery__cap{ opacity:1;transform:none;} .gallery__cap b{ font-weight:400;font-size:1rem;} .gallery__cap span{ display:block;font-size:0.76rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255, 255, 255, 0.7);} .gallery__zoom{ width:40px;height:40px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.45);display:grid;place-items:center;flex:none;} .gallery__zoom svg{ width:15px;height:15px;} .lightbox{ position:fixed;inset:0;z-index:1250;background:rgba(14, 10, 8, 0.96);display:grid;place-items:center;padding:clamp(16px, 4vw, 54px);opacity:0;visibility:hidden;transition:opacity 0.45s var(--ease), visibility 0.45s;} .lightbox.is-open{ opacity:1;visibility:visible;} .lightbox__stage{ position:relative;max-width:min(1240px, 100%);max-height:100%;} .lightbox img{ max-height:78vh;width:auto;max-width:100%;border-radius:var(--radius);transform:scale(0.94);opacity:0;transition:transform 0.6s var(--ease), opacity 0.6s var(--ease);} .lightbox.is-open img{ transform:none;opacity:1;} .lightbox__meta{ display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;color:rgba(255, 255, 255, 0.72);font-size:0.85rem;} .lightbox__meta b{ font-weight:400;color:#fff;} .lb-btn{ position:absolute;top:50%;translate:0 -50%;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.25);color:#fff;display:grid;place-items:center;background:rgba(255, 255, 255, 0.05);transition:background-color 0.3s, transform 0.3s var(--ease);} .lb-btn:hover{ background:var(--caramel);transform:translateY(-50%) scale(1.06);border-color:transparent;} .lb-prev{ left:clamp(-6px, -1vw, 0px);} .lb-next{ right:clamp(-6px, -1vw, 0px);} .lb-close{ position:absolute;top:clamp(14px, 3vw, 30px);right:clamp(14px, 3vw, 30px);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.25);color:#fff;display:grid;place-items:center;transition:background-color 0.3s, transform 0.4s var(--ease);} .lb-close:hover{ background:rgba(255, 255, 255, 0.12);transform:rotate(90deg);} .lb-btn svg, .lb-close svg{ width:18px;height:18px;} .explorer{ display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px, 4vw, 62px);align-items:center;} .explorer__stage{ position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--sand-2);} .explorer__stage img{ width:100%;display:block;} .explorer__wash{ position:absolute;inset:0;mix-blend-mode:multiply;opacity:0.72;transition:background-color 0.8s var(--ease);} .explorer__badge{ position:absolute;left:18px;bottom:18px;padding:10px 18px;border-radius:999px;background:rgba(255, 255, 255, 0.9);backdrop-filter:blur(8px);font-size:0.8rem;letter-spacing:0.08em;color:var(--espresso);} .swatches{ display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;} .swatch{ width:54px;height:54px;border-radius:50%;border:1px solid var(--stone);position:relative;transition:transform 0.4s var(--ease), box-shadow 0.4s var(--ease);} .swatch:hover{ transform:translateY(-4px) scale(1.06);box-shadow:var(--shadow-sm);} .swatch.is-active{ box-shadow:0 0 0 2px var(--canvas), 0 0 0 3.4px var(--caramel);} .swatch__name{ font-size:0.78rem;color:var(--muted);} .reviews{ position:relative;} .reviews__viewport{ overflow:hidden;cursor:grab;} .reviews__viewport.is-drag{ cursor:grabbing;} .reviews__track{ display:flex;gap:clamp(16px, 2vw, 26px);transition:transform 0.75s var(--ease);will-change:transform;} .review{ flex:0 0 calc((100% - clamp(32px, 4vw, 52px)) / 3);background:#fff;border:1px solid var(--stone);border-radius:var(--radius-lg);padding:clamp(22px, 2.6vw, 34px);display:flex;flex-direction:column;gap:16px;} .review__stars{ display:flex;gap:3px;color:var(--caramel);} .review__stars svg{ width:15px;height:15px;} .review p{ color:var(--text);font-size:1rem;line-height:1.72;flex:1;} .review__who{ display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--stone);} .review__av{ width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sand);color:var(--caramel-dk);font-size:0.95rem;flex:none;} .review__who b{ display:block;font-weight:400;font-size:0.95rem;color:var(--espresso);} .review__who span{ font-size:0.78rem;color:var(--muted);} .reviews__nav{ display:flex;gap:10px;} .rev-btn{ width:46px;height:46px;border-radius:50%;border:1px solid var(--stone);display:grid;place-items:center;color:var(--espresso);transition:background-color 0.35s, color 0.35s, transform 0.3s var(--ease), border-color 0.35s;} .rev-btn:hover{ background:var(--espresso);color:#fff;border-color:var(--espresso);} .rev-btn:disabled{ opacity:0.35;cursor:not-allowed;} .rev-btn svg{ width:16px;height:16px;} .rating-chip{ display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:var(--sand);border:1px solid var(--stone);font-size:0.85rem;} .rating-chip b{ font-weight:400;color:var(--espresso);} .faq{ border-top:1px solid var(--stone);} .faq__item{ border-bottom:1px solid var(--stone);} .faq__q{ width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(18px, 2.2vw, 26px) 0;text-align:left;font-size:clamp(1rem, 1.5vw, 1.15rem);color:var(--espresso);transition:color var(--t-fast), padding-left 0.4s var(--ease);} .faq__q:hover{ color:var(--caramel-dk);padding-left:8px;} .faq__ic{ position:relative;width:22px;height:22px;flex:none;} .faq__ic::before, .faq__ic::after{ content:"";position:absolute;inset:50% 0 auto;height:1.4px;background:currentColor;transition:transform 0.42s var(--ease);} .faq__ic::after{ transform:rotate(90deg);} .faq__item.is-open .faq__ic::after{ transform:rotate(0);} .faq__a{ display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.55s var(--ease);} .faq__item.is-open .faq__a{ grid-template-rows:1fr;} .faq__a > div{ overflow:hidden;} .faq__a p{ color:var(--muted);padding-bottom:24px;max-width:76ch;} .faq__a p + p{ padding-top:0;} .form{ display:grid;gap:18px;} .form__row{ display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px;} .field{ position:relative;display:flex;flex-direction:column;gap:7px;} .field label{ font-size:0.76rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);} .field input, .field textarea, .field select{ width:100%;padding:14px 16px;background:#fff;border:1px solid var(--stone);border-radius:var(--radius);font-size:0.98rem;font-weight:300;color:var(--text);transition:border-color 0.35s var(--ease), box-shadow 0.35s var(--ease), background-color 0.35s;min-height:52px;} .field textarea{ min-height:132px;resize:vertical;line-height:1.6;} .field select{ appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%237a6e64' stroke-width='1.3'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:40px;} .field input:focus, .field textarea:focus, .field select:focus{ outline:none;border-color:var(--caramel);box-shadow:0 0 0 3px rgba(176, 113, 74, 0.14);} .field input::placeholder, .field textarea::placeholder{ color:#b3a99e;} .field__err{ font-size:0.78rem;color:#b4443a;min-height:0;opacity:0;transform:translateY(-4px);transition:opacity 0.3s, transform 0.3s;} .field.has-error input, .field.has-error textarea, .field.has-error select{ border-color:#d4756b;background:#fdf6f5;} .field.has-error .field__err{ opacity:1;transform:none;} .field.is-ok input, .field.is-ok textarea, .field.is-ok select{ border-color:#9ec2ac;} .form__note{ font-size:0.8rem;color:var(--muted);} .chips{ display:flex;flex-wrap:wrap;gap:9px;} .chip{ padding:9px 16px;border-radius:999px;border:1px solid var(--stone);background:#fff;font-size:0.82rem;color:var(--muted);transition:all 0.3s var(--ease);} .chip:hover{ border-color:var(--caramel);color:var(--espresso);} .chip.is-on{ background:var(--espresso);border-color:var(--espresso);color:#fff;} .steps{ display:flex;align-items:center;gap:8px;margin-bottom:26px;} .steps__dot{ flex:1;height:2px;background:var(--stone);position:relative;overflow:hidden;border-radius:2px;} .steps__dot i{ position:absolute;inset:0;background:var(--caramel);transform:scaleX(0);transform-origin:left;transition:transform 0.6s var(--ease);} .steps__dot.is-done i, .steps__dot.is-active i{ transform:scaleX(1);} .step-panel{ display:none;animation:fadeUp 0.55s var(--ease);} .step-panel.is-active{ display:grid;gap:18px;} @keyframes fadeUp{ from{ opacity:0;transform:translateY(14px);} to{ opacity:1;transform:none;} } .info-list{ display:grid;gap:22px;} .info{ display:flex;gap:16px;align-items:flex-start;} .info__ic{ width:44px;height:44px;border-radius:50%;border:1px solid var(--stone);display:grid;place-items:center;color:var(--caramel-dk);flex:none;background:#fff;transition:background-color 0.4s, color 0.4s, transform 0.4s var(--ease);} .info:hover .info__ic{ background:var(--caramel);color:#fff;transform:translateY(-3px);} .info__ic svg{ width:18px;height:18px;} .info h4{ font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:400;} .info p, .info a{ color:var(--espresso);font-size:1rem;line-height:1.6;} .info a:hover{ color:var(--caramel-dk);} .section--dark .info__ic{ background:rgba(255, 255, 255, 0.05);border-color:rgba(255, 255, 255, 0.16);color:var(--caramel-lt);} .section--dark .info p, .section--dark .info a{ color:rgba(255, 255, 255, 0.86);} .section--dark .info h4{ color:rgba(255, 255, 255, 0.5);} .open-chip{ display:inline-flex;align-items:center;gap:9px;font-size:0.85rem;padding:8px 16px;border-radius:999px;background:rgba(70, 161, 113, 0.1);color:#2f7a52;border:1px solid rgba(70, 161, 113, 0.28);} .open-chip.is-closed{ background:rgba(229, 100, 88, 0.09);color:#b4443a;border-color:rgba(229, 100, 88, 0.26);} .open-chip i{ width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 2.2s infinite;} @keyframes pulse{ 0%, 100%{ opacity:1;} 50%{ opacity:0.35;} } .hours{ display:grid;gap:8px;} .hours li{ display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px dashed var(--stone);font-size:0.92rem;color:var(--muted);} .hours li b{ font-weight:400;color:var(--espresso);} .hours li.is-today{ color:var(--espresso);} .hours li.is-today b{ color:var(--caramel-dk);} .section--dark .hours li{ border-color:rgba(255, 255, 255, 0.14);color:rgba(255, 255, 255, 0.6);} .section--dark .hours li b{ color:#fff;} .map{ position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--sand-2);min-height:340px;height:100%;} .map iframe{ position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(0.24) sepia(0.12) contrast(1.02);} .map__facade{ position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:26px;background:var(--sand-2) center/cover;cursor:pointer;transition:opacity 0.6s var(--ease), visibility 0.6s;} .map__facade.is-gone{ opacity:0;visibility:hidden;} .map__facade::before{ content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(23, 18, 16, 0.35), rgba(23, 18, 16, 0.72));} .map__facade > div{ position:relative;color:#fff;display:grid;gap:12px;justify-items:center;} .map__pin{ width:54px;height:54px;border-radius:50%;background:var(--caramel);display:grid;place-items:center;box-shadow:0 12px 30px rgba(0, 0, 0, 0.3);animation:bob 3s ease-in-out infinite;} .map__pin svg{ width:22px;height:22px;color:#fff;} @keyframes bob{ 0%, 100%{ transform:translateY(0);} 50%{ transform:translateY(-7px);} } .cta-band{ position:relative;overflow:hidden;background:var(--ink);color:#fff;} .cta-band__media{ position:absolute;inset:0;opacity:0.32;} .cta-band__media img{ width:100%;height:100%;object-fit:cover;} .cta-band .shell{ position:relative;z-index:2;} .cta-band h2{ color:#fff;} .cta-band p{ color:rgba(255, 255, 255, 0.7);} .site-footer{ background:var(--ink);color:rgba(255, 255, 255, 0.62);padding-block:clamp(52px, 7vw, 86px) 30px;} .site-footer h4{ color:#fff;font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:400;margin-bottom:20px;} .footer-grid{ display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:clamp(28px, 4vw, 56px);} .site-footer a{ transition:color var(--t-fast), padding-left var(--t-fast) var(--ease);} .site-footer a:hover{ color:var(--caramel-lt);} .footer-links{ display:grid;gap:11px;font-size:0.93rem;} .footer-links a:hover{ padding-left:5px;} .site-footer .brand__name{ color:#fff;} .footer-about{ font-size:0.95rem;line-height:1.75;max-width:38ch;margin-top:18px;} .footer-bottom{ display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-top:clamp(40px, 5vw, 64px);padding-top:24px;border-top:1px solid rgba(255, 255, 255, 0.12);font-size:0.82rem;color:rgba(255, 255, 255, 0.45);} .footer-social{ display:flex;gap:10px;} .footer-social a{ width:42px;height:42px;border-radius:50%;border:1px solid rgba(255, 255, 255, 0.16);display:grid;place-items:center;transition:background-color 0.35s, transform 0.35s var(--ease), border-color 0.35s;} .footer-social a:hover{ background:var(--caramel);border-color:transparent;transform:translateY(-3px);} .footer-social svg{ width:16px;height:16px;} .fabs{ position:fixed;right:clamp(14px, 2vw, 26px);bottom:clamp(14px, 2vw, 26px);z-index:900;display:grid;gap:12px;} .fab{ width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--espresso);box-shadow:var(--shadow);transform:translateY(20px) scale(0.8);opacity:0;transition:transform 0.5s var(--ease), opacity 0.5s var(--ease), background-color 0.35s;} .fab.is-in{ transform:none;opacity:1;} .fab:hover{ transform:translateY(-4px) scale(1.05);} .fab svg{ width:22px;height:22px;} .fab--wa{ background:#1faa54;} .fab--top{ background:#fff;color:var(--espresso);border:1px solid var(--stone);} .fab__tip{ position:absolute;right:calc(100% + 12px);top:50%;translate:0 -50%;white-space:nowrap;background:var(--ink);color:#fff;font-size:0.76rem;letter-spacing:0.06em;padding:7px 13px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity 0.3s, transform 0.3s var(--ease);transform:translateX(6px);} .fab:hover .fab__tip{ opacity:1;transform:translateX(0);} .toasts{ position:fixed;left:50%;bottom:26px;translate:-50% 0;z-index:1500;display:grid;gap:10px;width:min(440px, calc(100vw - 32px));} .toast{ display:flex;gap:13px;align-items:flex-start;padding:15px 18px;border-radius:var(--radius-lg);background:rgba(23, 18, 16, 0.97);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(26px);opacity:0;transition:transform 0.5s var(--ease), opacity 0.5s var(--ease);border-left:2px solid var(--caramel);} .toast.is-in{ transform:none;opacity:1;} .toast.is-ok{ border-left-color:#46a171;} .toast.is-warn{ border-left-color:#d5803b;} .toast.is-err{ border-left-color:#e56458;} .toast__ic{ width:20px;height:20px;flex:none;margin-top:2px;color:var(--caramel-lt);} .toast.is-ok .toast__ic{ color:#72bc8f;} .toast.is-err .toast__ic{ color:#e97366;} .toast b{ display:block;font-weight:400;font-size:0.95rem;} .toast p{ font-size:0.85rem;color:rgba(255, 255, 255, 0.68);line-height:1.55;margin-top:2px;} .toast__x{ margin-left:auto;color:rgba(255, 255, 255, 0.45);font-size:1.1rem;line-height:1;padding:2px 4px;} .toast__x:hover{ color:#fff;} .dialog{ position:fixed;inset:0;z-index:1480;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity 0.4s var(--ease), visibility 0.4s;} .dialog.is-open{ opacity:1;visibility:visible;} .dialog__scrim{ position:absolute;inset:0;background:rgba(14, 10, 8, 0.62);backdrop-filter:blur(4px);} .dialog__box{ position:relative;width:min(460px, 100%);background:var(--canvas);border-radius:var(--radius-lg);padding:clamp(24px, 3vw, 34px);box-shadow:var(--shadow-lg);transform:translateY(18px) scale(0.97);transition:transform 0.45s var(--ease);} .dialog.is-open .dialog__box{ transform:none;} .dialog__box h3{ margin-bottom:10px;} .dialog__box p{ color:var(--muted);font-size:0.95rem;} .dialog__actions{ display:flex;gap:10px;justify-content:flex-end;margin-top:24px;flex-wrap:wrap;} .prose{ max-width:74ch;} .prose > * + *{ margin-top:20px;} .prose h2{ font-size:clamp(1.5rem, 2.6vw, 2rem);margin-top:46px;} .prose h3{ font-size:clamp(1.16rem, 1.9vw, 1.35rem);margin-top:34px;} .prose p{ color:var(--text);} .prose ul, .prose ol{ display:grid;gap:10px;padding-left:0;} .prose ul li{ position:relative;padding-left:22px;color:var(--text);} .prose ul li::before{ content:"";position:absolute;left:2px;top:0.72em;width:6px;height:6px;border-radius:50%;background:var(--caramel);} .prose ol{ counter-reset:n;} .prose ol li{ position:relative;padding-left:34px;counter-increment:n;} .prose ol li::before{ content:counter(n, decimal-leading-zero);position:absolute;left:0;top:0;font-size:0.82rem;color:var(--caramel-dk);letter-spacing:0.08em;} .prose a{ color:var(--caramel-dk);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--t-fast);} .prose a:hover{ color:var(--espresso);} .prose blockquote{ border-left:2px solid var(--caramel);padding:4px 0 4px 22px;font-size:1.1rem;color:var(--espresso);} .prose table{ width:100%;border-collapse:collapse;font-size:0.94rem;} .prose th, .prose td{ text-align:left;padding:13px 14px;border-bottom:1px solid var(--stone);vertical-align:top;} .prose th{ font-weight:400;color:var(--espresso);background:var(--sand);font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;} .prose figure{ margin-block:34px;} .callout{ background:var(--sand);border:1px solid var(--stone);border-radius:var(--radius-lg);padding:clamp(18px, 2.2vw, 26px);display:flex;gap:15px;align-items:flex-start;} .callout svg{ width:20px;height:20px;color:var(--caramel-dk);flex:none;margin-top:3px;} .callout p{ font-size:0.95rem;color:var(--text);} .article-meta{ display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:0.82rem;color:var(--muted);} .article-meta span{ display:inline-flex;align-items:center;gap:7px;} .toc{ position:sticky;top:calc(var(--header-h) + 26px);border:1px solid var(--stone);border-radius:var(--radius-lg);padding:24px;background:#fff;} .toc h4{ font-size:0.74rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:400;} .toc a{ display:block;padding:7px 0 7px 14px;border-left:1px solid var(--stone);font-size:0.9rem;color:var(--muted);transition:color 0.3s, border-color 0.3s, padding-left 0.3s var(--ease);} .toc a:hover, .toc a.is-active{ color:var(--caramel-dk);border-color:var(--caramel);padding-left:18px;} .article-grid{ display:grid;grid-template-columns:1fr 280px;gap:clamp(30px, 5vw, 68px);align-items:start;} .post{ display:flex;flex-direction:column;gap:14px;} .post__media{ border-radius:var(--radius-lg);overflow:hidden;} .post__media img{ width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1.2s var(--ease);} .post:hover .post__media img{ transform:scale(1.06);} .post__k{ font-size:0.72rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--caramel-dk);} .post h3{ font-size:1.2rem;transition:color var(--t-fast);} .post:hover h3{ color:var(--caramel-dk);} .post p{ font-size:0.94rem;color:var(--muted);} [data-reveal]{ opacity:0;transform:translateY(26px);transition:opacity 0.95s var(--ease), transform 0.95s var(--ease);will-change:transform, opacity;} [data-reveal="left"]{ transform:translateX(-30px);} [data-reveal="right"]{ transform:translateX(30px);} [data-reveal="scale"]{ transform:scale(0.965);} [data-reveal="fade"]{ transform:none;} [data-reveal].is-in{ opacity:1;transform:none;} .rv-line{ display:block;overflow:hidden;} .rv-line > span{ display:block;transform:translateY(105%);transition:transform 1.05s var(--ease);} .is-in .rv-line > span, .rv-line.is-in > span{ transform:none;} .rv-word{ display:inline-block;overflow:hidden;vertical-align:bottom;} .rv-word > span{ display:inline-block;transform:translateY(105%);transition:transform 0.9s var(--ease);} .is-in .rv-word > span{ transform:none;} .parallax{ will-change:transform;} .count{ font-variant-numeric:tabular-nums;} .mt-0{ margin-top:0;} .mt-1{ margin-top:10px;} .mt-2{ margin-top:20px;} .mt-3{ margin-top:30px;} .mt-4{ margin-top:44px;} .mb-2{ margin-bottom:20px;} .muted{ color:var(--muted);} .nowrap{ white-space:nowrap;} .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;} .badge-row{ display:flex;flex-wrap:wrap;gap:10px;} .badge{ display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;border:1px solid var(--stone);background:#fff;font-size:0.8rem;color:var(--muted);} .badge svg{ width:14px;height:14px;color:var(--caramel);} .section--dark .badge{ background:rgba(255, 255, 255, 0.05);border-color:rgba(255, 255, 255, 0.14);color:rgba(255, 255, 255, 0.72);} @media (max-width:1080px){ .footer-grid{ grid-template-columns:1fr 1fr;} .stats{ grid-template-columns:repeat(2, minmax(0, 1fr));} .review{ flex-basis:calc((100% - clamp(16px, 2vw, 26px)) / 2);} .article-grid{ grid-template-columns:1fr;} .toc{ position:static;} } @media (max-width:900px){ .nav, .site-header__tel{ display:none;} .burger{ display:grid;} .split, .explorer{ grid-template-columns:1fr;} .split--wide-left, .split--wide-right{ grid-template-columns:1fr;} .g-4{ grid-template-columns:repeat(2, minmax(0, 1fr));} .g-3{ grid-template-columns:repeat(2, minmax(0, 1fr));} .process__row{ grid-template-columns:64px 1fr;} .process__row p{ grid-column:2;} .gallery__item, .gallery__item.span-6, .gallery__item.span-8{ grid-column:span 6;} .hero{ min-height:92svh;} .hero__scroll{ display:none;} } @media (max-width:640px){ :root{ --header-h:66px;} .g-2, .g-3, .g-4, .form__row{ grid-template-columns:1fr;} .stats{ grid-template-columns:1fr 1fr;} .review{ flex-basis:100%;} .gallery__item, .gallery__item.span-6, .gallery__item.span-8{ grid-column:span 12;} .footer-grid{ grid-template-columns:1fr;} .hero__foot{ gap:22px;} .hero__stat b{ font-size:1.35rem;} .brand__name{ font-size:0.9rem;letter-spacing:0.24em;} .fab{ width:50px;height:50px;} .lb-prev{ left:0;} .lb-next{ right:0;} .lb-btn{ width:44px;height:44px;} } @media (prefers-reduced-motion:reduce){ *, *::before, *::after{ animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;} [data-reveal], .rv-line > span, .rv-word > span{ opacity:1 !important;transform:none !important;} .fig::after{ display:none;} } @media print{ .site-header, .fabs, .preloader, .curtain, .cursor, .cursor-dot, .progress, .mobile-nav{ display:none !important;} body{ background:#fff;} } .footer-address{ font-style:normal;font-size:0.93rem;line-height:1.85;opacity:0.72;} .footer-address a{ color:inherit;text-decoration:none;transition:opacity var(--t-fast);} .footer-address a:hover{ opacity:1;text-decoration:underline;text-underline-offset:3px;} .footer-areas{ display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:18px;font-size:0.76rem;line-height:1.8;opacity:0.45;} .footer-areas span{ white-space:nowrap;} .gallery-empty{ grid-column:1 / -1;font-size:0.95rem;} .hero__media picture, .page-hero__media picture, .cta-band__media picture, .fig picture, .pic picture{ display:block;width:100%;height:100%;} .hero__media img, .page-hero__media img, .cta-band__media img{ width:100%;height:100%;object-fit:cover;display:block;}