:root{color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-behavior:smooth}body{font-family:var(--font-family-base, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);color:var(--color-text);background:var(--color-bg);line-height:1.5}a{color:inherit}img{display:block;max-width:100%}.site{min-height:100vh}.layout-shell{width:min(var(--layout-fluid-standard),var(--layout-max-standard));margin-inline:auto}.layout-shell--wide{width:min(var(--layout-fluid-wide),var(--layout-max-wide))}.layout-shell--full{width:min(100%,var(--layout-max-full))}.gutter--tight{padding-inline:var(--gutter-tight)}.gutter--standard{padding-inline:var(--gutter-standard)}.gutter--wide{padding-inline:var(--gutter-wide)}.section{padding-block:var(--layout-section-py-mobile)}.section--reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.section--reveal.is-visible{opacity:1;transform:translateY(0)}.section__title{margin:0;max-width:var(--layout-max-narrow);font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.02em}.section__text{margin:1rem 0 0;max-width:var(--layout-max-narrow);color:#000000b8}.eyebrow{margin:0 0 .75rem;font-size:.8rem;letter-spacing:.12em;font-weight:600;color:#000000b8}.btn{appearance:none;border:1px solid rgba(0,0,0,.18);background:#fff;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.74rem 1.3rem;font:inherit;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.btn:hover{border-color:#00000057;background:#ffffffe0}.btn:focus-visible,input:focus-visible,textarea:focus-visible,.gallery__arrow:focus-visible,.gallery__rail:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-header{position:fixed;inset:0 0 auto;z-index:20;height:var(--layout-header-h);display:flex;align-items:center;background:transparent;transition:background-color .18s ease,box-shadow .18s ease;overflow:visible}.site-header--solid{background:#fffffff5;box-shadow:0 5px 14px #00000014}.site-header__inner{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.site-header__brand{display:inline-flex;align-items:center;min-height:38px;min-width:0}.site-header__logo{width:auto;max-height:34px}.site-header__nav{margin-left:auto;display:inline-flex;align-items:center;gap:clamp(.6rem,1.8vw,1.4rem)}.site-header__toggle{display:none;appearance:none;width:44px;height:44px;border:0;background:transparent;color:var(--color-text);padding:0;font:inherit;cursor:pointer}.site-header__toggleIcon{display:inline-grid;gap:4px}.site-header__toggleIcon span{display:block;width:18px;height:1px;background:currentColor;opacity:.88;border-radius:999px}.site-header__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.site-header__link{text-decoration:none;font-size:.95rem;color:var(--color-text);padding:.2rem 0}.site-header__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;background-image:var(--hero-image);background-size:cover;background-position:center;color:#fff}.hero__overlay{position:absolute;inset:0;background:linear-gradient(130deg,#000000b3,#0006 55%,#0000008c)}.hero__content{position:relative;z-index:1;padding-top:var(--layout-header-h);max-width:760px}.hero__badge{margin:0;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.36rem .7rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.hero__headline{margin:.9rem 0 0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.06;letter-spacing:-.03em}.hero__subtext{margin:1rem 0 0;max-width:64ch;color:#ffffffe6}.hero__description{margin-top:.8rem;max-width:64ch}.hero__description p{margin:0;color:#ffffffe0}.hero__description p+p{margin-top:.4rem}.hero .btn{margin-top:1.6rem}.about{display:grid;gap:2rem}.about__text{max-width:var(--layout-max-narrow)}.about__paragraphs p{margin:0;color:#000000b8}.about__paragraphs p+p{margin-top:.9rem}.about__bullets{list-style:none;padding:0;margin:1.4rem 0;display:grid;gap:.7rem}.about__bullets li{position:relative;padding-left:1.6rem}.about__bullets li:before{content:"✓";position:absolute;left:0;top:0;color:var(--color-accent)}.about__media{position:relative;align-self:start}.about__image{width:100%;border-radius:var(--radius-base);box-shadow:0 10px 24px #00000014;object-fit:cover}.about__overlay{position:absolute;left:1rem;bottom:1rem;background:#ffffffd1;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:.58rem .75rem;max-width:min(84%,340px)}.about__overlayLabel{margin:0;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#000000e0}.about__overlayText{margin:.28rem 0 0;font-size:.86rem;color:#000000c7}.services{margin-top:1.2rem;border-top:1px solid rgba(0,0,0,.12)}.services__item{padding:1.1rem 0;border-bottom:1px solid rgba(0,0,0,.12);opacity:0;transform:translateY(18px);transition:opacity var(--motion-duration) ease,transform var(--motion-duration) ease;transition-delay:var(--stagger-delay, 0ms)}.services__item.is-visible{opacity:1;transform:translateY(0)}.services__title{margin:0;font-size:1.05rem}.services__desc{margin:.45rem 0 0;max-width:70ch;color:#000000b8}.gallery{overflow:hidden}.gallery__viewport{margin-top:1.3rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem}.gallery__railWrap{min-width:0;width:100%;max-width:100%;position:relative}.gallery__rail{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:auto;padding:0 var(--g-edge);gap:var(--g-gap)}.gallery__rail--hideScrollbar{scrollbar-width:none}.gallery__rail--hideScrollbar::-webkit-scrollbar{display:none}.gallery__card{flex:0 0 72vw;max-width:260px;border-radius:var(--radius-base);overflow:hidden;background:#00000014}.gallery__image{width:100%;aspect-ratio:var(--g-aspect-ratio);object-fit:var(--g-fit)}.gallery__imageButton{display:block;width:100%;border:0;padding:0;background:transparent;cursor:pointer}.gallery__viewer{position:fixed;inset:0;z-index:40;background:#000000e6;display:grid;place-items:center;padding:1rem;overflow:hidden}.gallery__viewerContent{width:100%;display:grid;place-items:center}.gallery__viewerImage{width:auto;max-width:92vw;max-height:88vh;object-fit:contain;border-radius:10px}.gallery__viewerIndex{position:absolute;top:.95rem;left:50%;transform:translate(-50%);margin:0;padding:.2rem .55rem;border-radius:999px;background:#00000052;color:#fff;font-size:.85rem}.gallery__viewerClose{position:absolute;top:.9rem;right:.9rem;appearance:none;border:1px solid rgba(255,255,255,.32);background:#00000059;color:#fff;width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;font:inherit;cursor:pointer}.gallery__viewerNav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:#0000005c;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.gallery__viewerNav--left{left:.7rem}.gallery__viewerNav--right{right:.7rem}.gallery__fade{display:none;position:absolute;top:0;bottom:0;width:58px;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:2}.gallery__fade--visible{opacity:1}.gallery__fade--left{left:0;background:linear-gradient(90deg,#ffffff61,#fff0)}.gallery__fade--right{right:0;background:linear-gradient(270deg,#ffffffc7,#fff0)}.gallery__arrow{display:none;width:42px;height:42px;border-radius:999px;border:1px solid rgba(0,0,0,.38);background:#ffffffb8;color:#000000e6;align-items:center;justify-content:center;cursor:pointer;transition:color .16s ease,background-color .16s ease,opacity .16s ease}.gallery__arrow:hover{color:#000;background:#ffffffeb}.gallery__arrow:disabled{opacity:.3;cursor:default}.gallery__arrowIcon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.gallery__arrowIcon--left{transform:scaleX(-1);transform-origin:center}.contact{margin-top:1.4rem;display:grid;gap:1.8rem;max-width:1040px;margin-inline:auto}.section--contact .section__title,.section--contact .section__text{max-width:1040px;margin-inline:auto}.contact__info{color:#000000c7;display:grid;gap:1rem}.contact__infoBlock{display:grid;gap:.25rem}.contact__info p,.contact__infoValue{margin:0}.contact__infoLabel{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#6b7280}.contact__infoValue{color:var(--color-text)}.contact__form{display:grid;gap:.7rem;max-width:560px;width:100%}.contact__form label{font-size:.92rem;font-weight:500}.contact__form input,.contact__form textarea{width:100%;border-radius:12px;border:1px solid rgba(0,0,0,.2);background:#fff;color:var(--color-text);padding:.9rem .92rem;font:inherit}.contact__form textarea{resize:vertical;min-height:170px}.contact__form .btn{background:var(--color-accent);color:#fff;border-color:var(--color-accent);width:fit-content;min-width:220px;margin-top:16px;justify-self:center}.contact__form .btn:hover{background:#000;border-color:#000}.contact__feedback{margin:.35rem 0 0;font-size:.94rem}.contact__feedback--success{color:var(--color-accent)}.contact__feedback--error{color:#000}.site-footer{padding-block:2.2rem 1.8rem;border-top:1px solid rgba(0,0,0,.12);background:var(--color-footer-bg);color:var(--color-footer-text)}.site-footer__grid{display:grid;gap:1.6rem}.site-footer__col{min-width:0}.site-footer__title{margin:0;font-size:1.02rem}.site-footer__heading{margin:0;font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffffe0}.site-footer__links{margin-top:.65rem;display:grid;gap:.46rem}.site-footer__links a{text-decoration:none;color:var(--color-footer-text)}.site-footer__links a:hover{text-decoration:underline}.site-footer__links a:focus-visible{outline:2px solid #ffffff;outline-offset:2px}.site-footer__muted{margin:.65rem 0 0;color:#ffffffd1}.site-footer__text{margin:1.6rem 0 0;color:#ffffffd1;font-size:.9rem;border-top:1px solid rgba(255,255,255,.18);padding-top:1rem}@media(max-width:767px){.site-header__inner{justify-content:space-between;min-height:var(--layout-header-h)}.site-header__brand{max-width:calc(100% - 96px)}.site-header__logo{max-height:30px;width:auto;max-width:100%;object-fit:contain}.site-header__toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.site-header__nav{display:none;position:absolute;top:calc(var(--layout-header-h) - 2px);right:0;left:0;margin-left:0;padding:.8rem var(--gutter-tight) 1rem;background:#fff;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);flex-direction:column;align-items:flex-start;gap:.7rem}.site-header__nav--open{display:flex}.site-header__link{font-size:.96rem;width:100%;padding:.18rem 0}.gallery__viewport{grid-template-columns:1fr}.gallery__viewerNav{display:none}}@media(min-width:900px){.section{padding-block:var(--layout-section-py-desktop)}.about{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:clamp(2rem,4vw,4rem);align-items:center}.contact{grid-template-columns:minmax(260px,340px) minmax(420px,560px);justify-content:center;align-items:start;gap:clamp(72px,8vw,96px)}.section--contact .section__title,.section--contact .section__text{text-align:center}.contact__form{margin-left:auto}.site-footer__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.9fr);gap:clamp(1.2rem,2.8vw,3rem)}.gallery__arrow{display:inline-flex}.gallery__fade{display:block}.gallery__card{--g-cardW: calc( (100% - (2 * var(--g-edge)) - ((var(--g-cols) - 1) * var(--g-gap))) / var(--g-cols) );flex:0 0 var(--g-cardW);max-width:none}.gallery__rail{scroll-snap-type:none}}@media(min-width:768px){.site-header__toggle{display:none}.site-header__nav{display:inline-flex!important;position:static;padding:0;border:0;background:transparent;flex-direction:row;align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.services__item{opacity:1;transform:none}.section--reveal{opacity:1;transform:none;transition:none}}
