:root{--bg: #0f0d0c;--bg-2: #15120f;--surface: #1b1714;--surface-2: #231e1a;--line: rgba(236, 228, 214, .12);--line-strong: rgba(236, 228, 214, .24);--text: #ece4d6;--muted: #a89e8f;--ember: #e2763a;--ember-hot: #f5a55c;--frost: #9fb6c4;--font-display: "Cormorant Garamond", "Times New Roman", serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-rune: "Noto Sans Runic", var(--font-body);--radius: 4px;--gutter: clamp(16px, 4vw, 40px);--section: clamp(80px, 12vw, 160px);--ease: cubic-bezier(.2, .7, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}::selection{background:var(--ember);color:var(--bg)}:focus-visible{outline:2px solid var(--ember-hot);outline-offset:3px}.container{width:100%;max-width:1240px;margin:0 auto;padding:0 var(--gutter)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:16px;top:-60px;z-index:200;padding:10px 16px;background:var(--ember);color:var(--bg);font-weight:600;text-decoration:none}.skip-link:focus{top:16px}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.05;margin:0;letter-spacing:-.01em}em{font-style:italic;color:var(--ember-hot)}.eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font-size:12px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--frost)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.rune{font-family:var(--font-rune);letter-spacing:.3em;color:var(--ember)}.section{position:relative;padding:var(--section) 0}.section-head{max-width:680px;margin:0 auto clamp(48px,7vw,80px);text-align:center}.section-head .eyebrow:after{content:"";width:28px;height:1px;background:currentColor}.section-title{font-size:clamp(40px,6vw,72px)}.section-intro{color:var(--muted);font-size:18px;margin:0}.lead{font-family:var(--font-display);font-size:clamp(22px,2.4vw,28px);line-height:1.4;color:var(--text)}.ornament{display:block;width:160px;height:16px;margin:24px 0 28px;fill:none;stroke:var(--ember);stroke-width:1.2;opacity:.9}.ornament__dot{fill:var(--ember-hot);stroke:none}.section-head .ornament{margin-inline:auto}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;border:1px solid var(--ember);border-radius:var(--radius);background:linear-gradient(135deg,var(--ember) 0%,#c45a24 100%);color:#1a0d05;font:600 14px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px -10px #e2763ab3}.btn:disabled{opacity:.6;cursor:progress;transform:none}.btn--ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}.btn--ghost:hover{border-color:var(--ember);color:var(--ember-hot);box-shadow:none}.btn--small{padding:11px 20px;font-size:12px}.btn--full{width:100%}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none;transition:none}*,*:before,*:after{animation:none!important}}.header{position:fixed;inset:0 0 auto;z-index:50;transition:background .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}.header--solid{background:#0f0d0cd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:var(--line)}.header__inner{display:flex;align-items:center;justify-content:space-between;height:76px}.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;position:relative;z-index:2}.logo__mark{width:34px;height:34px;fill:none;stroke:var(--ember);stroke-width:1.6;stroke-linecap:round}.logo__text{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.nav{display:flex;align-items:center;gap:34px}.nav a:not(.btn){position:relative;font-size:14px;font-weight:500;letter-spacing:.06em;text-decoration:none;color:var(--text);opacity:.85;transition:opacity .2s}.nav a:not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav a:not(.btn):hover{opacity:1}.nav a:not(.btn):hover:after{transform:scaleX(1)}.menu-toggle{display:none;position:relative;z-index:2;width:44px;height:44px;margin-right:-10px;border:0;background:none;cursor:pointer}.menu-toggle span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--text);transition:transform .3s var(--ease)}.menu-toggle span:first-child{top:17px}.menu-toggle span:last-child{top:26px}.header--open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.header--open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}@media (max-width: 860px){.menu-toggle{display:block}.nav{position:fixed;top:0;right:0;bottom:0;left:0;flex-direction:column;justify-content:center;gap:28px;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.nav a:not(.btn){font-family:var(--font-display);font-size:34px;letter-spacing:0}.header--open .nav{opacity:1;visibility:visible}.logo__text{font-size:19px}}.hero{position:relative;display:flex;align-items:center;min-height:100vh;min-height:100svh;padding:120px 0 100px;overflow:hidden;isolation:isolate}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(90deg,#0f0d0cf5,#0f0d0cbf 45%,#0f0d0c59),linear-gradient(0deg,var(--bg) 0%,transparent 35%),url(/images/hero-esse.jpg) center 40% / cover no-repeat;filter:saturate(1.05);animation:slow-zoom 24s ease-out both}.hero__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 90%,rgba(226,118,58,.25),transparent 60%)}@keyframes slow-zoom{0%{transform:scale(1.12)}to{transform:scale(1)}}.hero__embers{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%}.hero__content{max-width:1240px}.hero__eyebrow .rune{font-size:15px;letter-spacing:.2em}.hero__eyebrow:before{display:none}.hero__title{max-width:900px;font-size:clamp(48px,9vw,116px);font-weight:500;line-height:.95;animation:rise 1.2s var(--ease) both}.hero__title span{display:block;margin-top:.15em;font-size:.48em;font-style:italic;color:var(--ember-hot)}.hero__lead{max-width:560px;margin:32px 0 44px;font-size:clamp(17px,1.6vw,20px);color:#ece4d6d1;animation:rise 1.2s .15s var(--ease) both}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;animation:rise 1.2s .3s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}.hero__scroll{position:absolute;left:50%;bottom:28px;width:26px;height:42px;margin-left:-13px;border:1px solid var(--line-strong);border-radius:14px}.hero__scroll span{position:absolute;left:50%;top:8px;width:2px;height:8px;margin-left:-1px;background:var(--ember);border-radius:2px;animation:scroll-dot 2s infinite}@keyframes scroll-dot{60%{transform:translateY(14px);opacity:0}61%{transform:none;opacity:0}}.about__grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,7vw,110px);align-items:center}.about__figure{position:relative;margin:0}.about__figure:before{content:"";position:absolute;top:-18px;right:18px;bottom:18px;left:-18px;border:1px solid var(--line-strong);z-index:-1}.about__figure img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center 30%;filter:sepia(.2) saturate(.85) contrast(1.05)}.about__figure figcaption{position:absolute;left:0;bottom:0;display:flex;flex-direction:column;gap:4px;padding:18px 24px;background:var(--bg);font-family:var(--font-display);font-size:22px;font-style:italic}.about__figure figcaption .rune{font-size:12px;font-style:normal}.about__text p{color:var(--muted)}.about__text .lead{color:var(--text);margin-top:0}.pillars{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 0;padding:0;list-style:none}.pillars li{padding:8px 16px;border:1px solid var(--line-strong);border-radius:100px;font-size:13px;font-weight:500;letter-spacing:.04em}.pillars li:before{content:"◆";margin-right:8px;font-size:8px;vertical-align:2px;color:var(--ember)}@media (max-width: 860px){.about__grid{grid-template-columns:1fr}.about__figure{max-width:480px;margin-left:18px}}.services{background:radial-gradient(ellipse at 50% 0%,rgba(159,182,196,.07),transparent 60%),var(--bg-2);border-block:1px solid var(--line)}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;list-style:none;background:var(--line);border:1px solid var(--line)}.service{position:relative;padding:clamp(32px,4vw,48px);background:var(--bg-2);overflow:hidden;transition:background .4s}.service:before{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--ember),transparent);transform:scaleX(0);transition:transform .5s var(--ease)}.service:hover{background:var(--surface)}.service:hover:before{transform:scaleX(1)}.service__rune{position:absolute;top:18px;right:26px;font-family:var(--font-rune);font-size:64px;line-height:1;color:#ece4d60d;transition:color .4s}.service:hover .service__rune{color:#e2763a2e}.service__icon{width:52px;height:52px;margin-bottom:28px;fill:none;stroke:var(--ember);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.service h3{font-size:28px;margin-bottom:12px}.service p{margin:0;color:var(--muted);font-size:15.5px}.service--cta{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;background:radial-gradient(circle at 100% 100%,rgba(226,118,58,.22),transparent 65%),var(--surface)}.service--cta h3{font-style:italic;color:var(--ember-hot)}.service--cta p{margin-bottom:20px}@media (max-width: 960px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.services__grid{grid-template-columns:1fr}}.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:40px}.filter{padding:10px 20px;border:1px solid var(--line);border-radius:100px;background:none;color:var(--muted);font:500 13px var(--font-body);letter-spacing:.06em;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.filter:hover{color:var(--text);border-color:var(--line-strong)}.filter--active{color:var(--bg);background:var(--text);border-color:var(--text)}.filter--active:hover{color:var(--bg)}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(220px,26vw,340px);grid-auto-flow:dense;gap:14px;margin:0;padding:0;list-style:none}.tile{animation:tile-in .6s var(--ease) both}.tile--wide{grid-column:span 2}@keyframes tile-in{0%{opacity:0;transform:scale(.97)}}.tile__btn{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:var(--surface);overflow:hidden;cursor:zoom-in;color:inherit;text-align:left}.tile__btn img{width:100%;height:100%;object-fit:cover;filter:sepia(.25) saturate(.75) brightness(.85);transition:transform 1s var(--ease),filter .6s}.tile__btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,rgba(15,13,12,.85) 0%,transparent 50%);transition:opacity .4s}.tile__btn:hover img,.tile__btn:focus-visible img{transform:scale(1.06);filter:none}.tile__caption{position:absolute;left:22px;right:22px;bottom:18px;z-index:1;display:flex;flex-direction:column;font-family:var(--font-display);font-size:24px;line-height:1.2;transform:translateY(6px);transition:transform .4s var(--ease)}.tile__btn:hover .tile__caption{transform:none}.tile__cat{font:600 11px var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--ember-hot);margin-bottom:4px}@media (max-width: 860px){.gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}}@media (max-width: 540px){.gallery__grid{grid-template-columns:1fr;grid-auto-rows:280px}.tile--wide{grid-column:auto}}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;padding:64px 72px;background:#080706f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade .3s both}@keyframes fade{0%{opacity:0}}.lightbox__figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:14px}.lightbox__figure img{max-width:100%;max-height:calc(100vh - 180px);object-fit:contain}.lightbox__figure figcaption{display:flex;justify-content:space-between;font-family:var(--font-display);font-size:22px}.lightbox__count{font:500 13px var(--font-body);color:var(--muted);letter-spacing:.1em}.lightbox__close,.lightbox__nav{position:absolute;width:48px;height:48px;border:1px solid var(--line-strong);border-radius:50%;background:#0f0d0c99;color:var(--text);font-size:26px;line-height:1;cursor:pointer;transition:border-color .2s,color .2s}.lightbox__close:hover,.lightbox__nav:hover{border-color:var(--ember);color:var(--ember-hot)}.lightbox__close{top:16px;right:16px}.lightbox__nav{top:50%;margin-top:-24px}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}@media (max-width: 600px){.lightbox{padding:72px 16px}.lightbox__nav{top:auto;bottom:16px;margin:0}.lightbox__nav--prev{left:calc(50% - 56px)}.lightbox__nav--next{right:calc(50% - 56px)}}.process{overflow:hidden;isolation:isolate;border-block:1px solid var(--line)}.process__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(0deg,var(--bg) 0%,rgba(15,13,12,.88) 40%,rgba(15,13,12,.92) 100%),url(/images/prosess-port.jpg) center / cover no-repeat fixed;filter:sepia(.3) saturate(.8)}@media (hover: none){.process__bg{background-attachment:scroll}}.statement{margin:0 auto clamp(64px,9vw,110px);max-width:900px;text-align:center}.statement p{margin:0;font-family:var(--font-display);font-size:clamp(48px,8vw,104px);line-height:1}.statement footer{max-width:520px;margin:28px auto 0;color:var(--muted);font-size:18px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin:0;padding:0;list-style:none;counter-reset:step}.step{position:relative}.step__num{display:flex;align-items:center;gap:14px;margin-bottom:16px;font-family:var(--font-display);font-size:20px;font-style:italic;line-height:24px;color:var(--ember)}.step__num:after{content:"";flex:1;height:1px;background:var(--line-strong)}.step h3{font-size:30px;margin-bottom:10px}.step p{margin:0;color:var(--muted)}@media (max-width: 760px){.steps{grid-template-columns:1fr;gap:44px}}.area{text-align:center;background:radial-gradient(ellipse at 50% 120%,rgba(159,182,196,.14),transparent 60%),var(--bg)}.area__inner{position:relative;max-width:820px}.area__inner .ornament{margin-inline:auto}.area__inner .eyebrow:after{content:"";width:28px;height:1px;background:currentColor}.area__coords{display:flex;justify-content:center;gap:28px;margin-bottom:32px;font-family:var(--font-display);font-size:clamp(20px,3vw,28px);font-style:italic;color:#ece4d652}.area__text{max-width:560px;margin:0 auto;font-size:19px;color:var(--muted)}.area:after{content:"";position:absolute;inset:auto 0 0;height:90px;background:var(--bg-2);clip-path:polygon(0 100%,0 70%,8% 45%,14% 62%,22% 25%,30% 58%,37% 40%,45% 66%,52% 20%,60% 55%,67% 38%,75% 64%,83% 30%,90% 56%,96% 42%,100% 60%,100% 100%);opacity:.9}.area{padding-bottom:calc(var(--section) + 60px)}.contact{background:var(--bg-2)}.contact__grid{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,7vw,100px);align-items:start}.contact__info p{color:var(--muted)}.contact__info .lead{color:var(--text);margin-top:0}.contact__list{margin:40px 0 0;display:grid;gap:0}.contact__list div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.contact__list div:last-child{border-bottom:1px solid var(--line)}.contact__list dt{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--frost);padding-top:3px}.contact__list dd{margin:0;overflow-wrap:anywhere}.contact__list a{text-decoration:none;transition:color .2s}.contact__list a:hover{color:var(--ember-hot)}.contact__card{position:relative;padding:clamp(28px,4vw,48px);background:var(--surface);border:1px solid var(--line)}.contact__card:before{content:"";position:absolute;top:-1px;left:32px;right:32px;height:2px;background:linear-gradient(90deg,transparent,var(--ember),transparent)}.form{display:grid;gap:20px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:8px}.field span{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);font:400 16px/1.5 var(--font-body);transition:border-color .2s,box-shadow .2s}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ember) 50%),linear-gradient(135deg,var(--ember) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:40px}.field textarea{resize:vertical;min-height:130px}.field input::placeholder,.field textarea::placeholder{color:#a89e8f99}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px #e2763a2e}.form-done{text-align:center;padding:40px 0}.form-done h3{font-size:40px;margin:14px 0 8px}.form-done p{color:var(--muted);margin:0 0 28px}@media (max-width: 860px){.contact__grid{grid-template-columns:1fr}}@media (max-width: 520px){.form__row{grid-template-columns:1fr}.contact__list div{grid-template-columns:1fr;gap:4px}}.footer{padding:72px 0 40px;border-top:1px solid var(--line);background:var(--bg)}.footer__inner{display:grid;grid-template-columns:1fr auto;gap:40px}.footer__tagline{margin:18px 0 0;font-family:var(--font-display);font-size:22px;color:var(--muted)}.footer__nav{display:flex;flex-wrap:wrap;gap:28px;align-self:start}.footer__nav a{font-size:14px;text-decoration:none;color:var(--muted);transition:color .2s}.footer__nav a:hover{color:var(--ember-hot)}.footer__tags{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:28px 0 0;list-style:none;border-top:1px solid var(--line);font-size:13px;color:#a89e8fb3}.footer__copy{grid-column:1 / -1;margin:0;font-size:12px;letter-spacing:.06em;color:#a89e8f8c}@media (max-width: 700px){.footer__inner{grid-template-columns:1fr}}.header--open{backdrop-filter:none;-webkit-backdrop-filter:none}@media (max-width: 860px){.about__figure img{aspect-ratio:4 / 3;object-position:center 35%}}.gallery__more{display:flex;justify-content:center;margin-top:40px}.form[hidden]{display:none}.form__hint{margin:-6px 0 0;font-size:13px;color:var(--muted);text-align:center}.form-done strong{color:var(--text)}.form-done__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px}.form-done .form-done__note{max-width:380px;margin:0 auto 20px;font-size:14px}.form-done__note a{color:var(--ember-hot)}.form-done__back{border:0;background:none;color:var(--muted);font:500 13px var(--font-body);letter-spacing:.06em;cursor:pointer}.form-done__back:hover{color:var(--text)}
