:root{--bg:#0d0d0d;--bg-card:#1a1a1a;--bg-elevated:#222;--accent:#c19a6b;--accent-light:#d4b48e;--accent-dark:#a07d52;--gray:#333;--gray-light:#666;--text:#fff;--text-muted:#999;--text-dim:#666;--font-heading:"Oswald", sans-serif;--font-body:"Inter", sans-serif;--ease-out-quint:cubic-bezier(.23, 1, .32, 1);--ease-out-expo:cubic-bezier(.19, 1, .22, 1);--ease-in-out-quart:cubic-bezier(.77, 0, .175, 1);font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1, "liga" 1;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{background:var(--bg);overflow-x:clip}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-light)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;-webkit-hyphens:none;hyphens:none;font-weight:600;line-height:1.1}::selection{background:var(--accent);color:var(--bg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--gray);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dark)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.section{padding:clamp(4rem,10vh,8rem) 0;position:relative}.section-title{color:var(--text);margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem)}.section-subtitle{font-family:var(--font-body);color:var(--text-muted);text-transform:none;letter-spacing:0;max-width:50ch;font-size:clamp(.875rem,1.5vw,1.125rem);font-weight:400}.gold-line{background:var(--accent);width:60px;height:2px;margin:1.5rem 0}.noise-overlay{z-index:9999;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}.navbar{z-index:1000;padding:1rem 0;transition:background .4s,padding .3s,-webkit-backdrop-filter .4s,backdrop-filter .4s;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);background:#0d0d0dd9;border-bottom:1px solid #c19a6b26;padding:.6rem 0}.navbar .container{justify-content:space-between;align-items:center;display:flex}.navbar-logo{font-family:var(--font-heading);color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:1.75rem;font-weight:700;text-decoration:none;transition:opacity .2s}.navbar-logo:hover{opacity:.8;color:var(--accent)}.navbar-links{align-items:center;gap:2rem;display:flex}.navbar-links a{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.navbar-links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s var(--ease-out-quint);position:absolute;bottom:-4px;left:0}.navbar-links a:hover{color:var(--accent)}.navbar-links a:hover:after{width:100%}.navbar-cta{border-radius:0;padding:.5rem 1.25rem;border:1px solid var(--accent)!important;color:var(--accent)!important;font-size:.8rem!important;transition:background .3s,color .3s!important}.navbar-cta:hover{background:var(--accent)!important;color:var(--bg)!important}.navbar-cta:after{display:none!important}.burger{cursor:pointer;z-index:1001;flex-direction:column;gap:5px;padding:4px;display:none}.burger span{background:var(--text);width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.burger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-menu{z-index:999;opacity:0;pointer-events:none;background:#0d0d0dfa;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:opacity .3s;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu a{font-family:var(--font-heading);color:var(--text);text-transform:uppercase;letter-spacing:.1em;font-size:2rem;text-decoration:none;transition:color .2s}.mobile-menu a:hover{color:var(--accent)}@media (width<=768px){.navbar-links{display:none}.burger{display:flex}}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.hero-bg-bison{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hero-bg-bison svg{opacity:.06;width:min(80vw,700px);height:auto}.hero-content{z-index:1;position:relative}.hero-title{letter-spacing:.15em;color:var(--text);will-change:transform;margin-bottom:1.5rem;font-size:clamp(4rem,15vw,12rem);font-weight:700;line-height:.9}.hero-title .char{will-change:transform, opacity;display:inline-block}.hero-subtitle{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.3em;text-transform:uppercase;margin-bottom:3rem;font-size:clamp(.875rem,2vw,1.25rem);font-weight:300}.hero-subtitle span{color:var(--accent)}.hero-cta{background:var(--accent);color:var(--bg);font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;transition:transform .3s var(--ease-out-quint), box-shadow .3s ease;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.hero-cta:before{content:"";transition:transform .5s var(--ease-out-quint);background:linear-gradient(135deg,#0000 0%,#ffffff26 50%,#0000 100%);position:absolute;inset:0;transform:translate(-100%)}.hero-cta:hover{color:var(--bg);transform:translateY(-2px);box-shadow:0 8px 30px #c19a6b4d}.hero-cta:hover:before{transform:translate(100%)}.hero-cta:active{transform:scale(.97)}.hero-scroll-indicator{color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.7rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom, var(--accent), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.styles-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem;display:grid}@media (width<=1024px){.styles-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.styles-grid{grid-template-columns:1fr}}.style-card{background:var(--bg-card);cursor:pointer;transition:border-color .3s ease, transform .3s var(--ease-out-quint);border:1px solid #ffffff0d;position:relative;overflow:hidden}.style-card:hover{border-color:var(--accent);transform:translateY(-4px)}.style-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.style-card-image{aspect-ratio:3/4;background:var(--bg-elevated);width:100%;position:relative;overflow:hidden}.style-card-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out-quint), filter .4s ease;filter:grayscale(30%)}.style-card:hover .style-card-image img{filter:grayscale(0%);transform:scale(1.08)}.style-card-overlay{pointer-events:none;background:linear-gradient(#0000 40%,#0d0d0de6 100%);position:absolute;inset:0}.style-card-info{padding:1.25rem}.style-card-title{color:var(--accent);letter-spacing:.08em;margin-bottom:.5rem;font-size:1.25rem}.style-card-desc{color:var(--text-muted);font-size:.85rem;font-weight:300;line-height:1.5}.gallery-masonry{columns:4;column-gap:1rem;margin-top:3rem}@media (width<=1024px){.gallery-masonry{columns:3}}@media (width<=768px){.gallery-masonry{columns:2}}.gallery-item{break-inside:avoid;cursor:pointer;border-radius:2px;margin-bottom:1rem;position:relative;overflow:hidden}.gallery-item img{width:100%;transition:transform .5s var(--ease-out-quint), filter .3s ease;filter:brightness(.85);display:block}.gallery-item:hover img{filter:brightness();transform:scale(1.05)}.gallery-item:after{content:"";pointer-events:none;border:1px solid #0000;transition:border-color .3s;position:absolute;inset:0}.gallery-item:hover:after{border-color:var(--accent)}.lightbox{z-index:2000;cursor:zoom-out;opacity:0;pointer-events:none;background:#000000f2;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{object-fit:contain;border:1px solid #c19a6b33;max-width:90vw;max-height:90vh}.lightbox-close{width:48px;height:48px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;font-size:1.5rem;transition:color .2s,transform .2s;display:flex;position:absolute;top:2rem;right:2rem}.lightbox-close:hover{color:var(--accent);transform:rotate(90deg)}.masters-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem;display:grid}.master-card{background:var(--bg-card);transition:border-color .3s ease, transform .3s var(--ease-out-quint);border:1px solid #ffffff0d;position:relative;overflow:hidden}.master-card:hover{border-color:#c19a6b4d;transform:translateY(-4px)}.master-card-photo{aspect-ratio:3/4;width:100%;position:relative;overflow:hidden}.master-card-photo img{object-fit:cover;filter:saturate(.7)brightness(.8);width:100%;height:100%;transition:filter .5s ease, transform .5s var(--ease-out-quint)}.master-card:hover .master-card-photo img{filter:saturate()brightness(.9);transform:scale(1.03)}.master-card-photo:after{content:"";background:linear-gradient(to top, var(--bg-card) 0%, transparent 100%);pointer-events:none;height:60%;position:absolute;bottom:0;left:0;right:0}.master-card-info{padding:1.5rem;position:relative}.master-card-name{color:var(--accent);letter-spacing:.06em;margin-bottom:.5rem;font-size:1.5rem}.master-card-spec{color:var(--text-muted);margin-bottom:.25rem;font-size:.85rem}.master-card-exp{color:var(--text-dim);font-size:.8rem;font-style:italic}.process-timeline{gap:0;margin-top:3rem;padding-bottom:1rem;display:flex;position:relative;overflow-x:auto}.process-timeline:before{content:"";background:var(--gray);height:1px;position:absolute;top:32px;left:0;right:0}.process-step{text-align:center;flex:1;min-width:180px;padding:0 1rem;position:relative}.process-step-number{border:2px solid var(--accent);width:64px;height:64px;font-family:var(--font-heading);color:var(--accent);background:var(--bg);z-index:1;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:1.5rem;font-weight:700;transition:background .3s,color .3s;display:flex;position:relative}.process-step:hover .process-step-number{background:var(--accent);color:var(--bg)}.process-step-icon{color:var(--accent);margin-bottom:.75rem;font-size:1.5rem}.process-step-title{color:var(--text);letter-spacing:.06em;margin-bottom:.5rem;font-size:1rem}.process-step-desc{color:var(--text-muted);font-size:.8rem;font-weight:300;line-height:1.5}@media (width<=768px){.process-timeline{flex-direction:column;align-items:flex-start;gap:2rem}.process-timeline:before{width:1px;height:100%;inset:0 auto 0 32px}.process-step{text-align:left;align-items:flex-start;gap:1.5rem;min-width:auto;padding:0;display:flex}.process-step-number{flex-shrink:0;margin:0}.process-step-text{flex:1}}.booking{text-align:center;background:linear-gradient(180deg, var(--bg) 0%, #c19a6b0d 50%, var(--bg) 100%)}.booking-title{margin-bottom:1rem;font-size:clamp(2rem,5vw,3.5rem)}.booking-subtitle{font-family:var(--font-body);color:var(--text-muted);text-transform:none;letter-spacing:0;max-width:45ch;margin-bottom:3rem;margin-left:auto;margin-right:auto;font-size:clamp(1rem,2vw,1.25rem);font-weight:300}.booking-actions{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.btn-primary{background:var(--accent);color:var(--bg);font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;transition:transform .3s var(--ease-out-quint), box-shadow .3s ease;align-items:center;gap:.75rem;padding:1.15rem 2.5rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";transition:transform .5s var(--ease-out-quint);background:linear-gradient(135deg,#0000,#ffffff26,#0000);position:absolute;inset:0;transform:translate(-100%)}.btn-primary:hover{color:var(--bg);transform:translateY(-2px);box-shadow:0 8px 30px #c19a6b4d}.btn-primary:hover:before{transform:translate(100%)}.btn-primary:active{transform:scale(.97)}.btn-secondary{border:1px solid var(--accent);color:var(--accent);font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;transition:background .3s ease, color .3s ease, transform .3s var(--ease-out-quint);align-items:center;gap:.75rem;padding:1.15rem 2.5rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-secondary:hover{background:var(--accent);color:var(--bg);transform:translateY(-2px)}.btn-secondary:active{transform:scale(.97)}.contacts{position:relative;overflow:hidden}.contacts-bg-bison{opacity:.03;pointer-events:none;z-index:0;position:absolute;bottom:0;right:-5%}.contacts-bg-bison svg{width:500px;height:auto}.contacts-content{z-index:1;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem;display:grid;position:relative}@media (width<=768px){.contacts-content{grid-template-columns:1fr}}.contacts-info{flex-direction:column;gap:1.5rem;display:flex}.contact-item{align-items:flex-start;gap:1rem;display:flex}.contact-icon{border:1px solid var(--accent);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;transition:background .3s,color .3s;display:flex}.contact-item:hover .contact-icon{background:var(--accent);color:var(--bg)}.contact-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem;font-size:.75rem}.contact-value{color:var(--text);font-size:1rem}.contact-value a{color:var(--text);text-decoration:none;transition:color .2s}.contact-value a:hover{color:var(--accent)}.contacts-map{aspect-ratio:16/10;background:var(--bg-card);border:1px solid #ffffff0d;overflow:hidden}.contacts-map iframe{filter:grayscale(80%)brightness(.7)contrast(1.1);border:none;width:100%;height:100%;transition:filter .5s}.contacts-map:hover iframe{filter:grayscale(40%)brightness(.8)contrast(1.05)}.footer{text-align:center;border-top:1px solid #ffffff0d;padding:2rem 0}.footer-text{color:var(--text-dim);font-size:.8rem}.footer-text a{color:var(--accent)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.hero-cta:focus-visible,.navbar-cta:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}.section+.section{border-top:1px solid #ffffff08}.contact-item{transition:transform .3s var(--ease-out-quint);border-radius:4px;padding:.75rem}.contact-item:hover{background:#ffffff05;transform:translate(6px)}.gallery-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.style-card:active,.master-card:active{transform:scale(.98)}.process-step{transition:transform .3s var(--ease-out-quint)}.process-step:hover{transform:translateY(-4px)}@media (width<=768px){.process-step:hover{transform:translate(4px)}}.booking .btn-primary:hover{box-shadow:0 8px 40px #c19a6b59,0 0 80px #c19a6b1a}.footer-text a:hover{color:var(--accent-light)}.gold-line{transform-origin:0}.contacts-map{transition:border-color .3s}.contacts-map:hover{border-color:#c19a6b33}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:none){.style-card:hover{border-color:#ffffff0d;transform:none}.master-card:hover,.gallery-item:hover img,.process-step:hover{transform:none}.contact-item:hover{background:0 0;transform:none}}
