/*=============== BASE ===============*/
:root{
  --header-height: 3.8rem;
  --first-color: #df7c32;
  --first-color-alt: #b85e21;
  --title-color: #151312;
  --text-color: #5d5853;
  --text-color-light: #8f8580;
  --body-color: #f8f2ea;
  --container-color: #fffaf3;
  --panel-color: #efe3d4;
  --black-color: #11100f;
  --white-color: #ffffff;
  --border-color: rgba(17,16,15,.12);
  --shadow-color: rgba(41,31,24,.14);
  --body-font: Inter, "Segoe UI", Arial, sans-serif;
  --biggest-font-size: clamp(2.7rem, 6vw, 5.8rem);
  --h1-font-size: clamp(2rem, 4vw, 3.5rem);
  --h2-font-size: clamp(1.8rem, 3.3vw, 2.9rem);
  --h3-font-size: 1.2rem;
  --normal-font-size: 1rem;
  --small-font-size: .86rem;
  --font-medium: 500;
  --font-semi-bold: 700;
  --font-bold: 800;
  --z-tooltip: 10;
  --z-fixed: 100;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body-font);background:var(--body-color);color:var(--text-color);line-height:1.7;transition:background .35s,color .35s}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%;height:auto}
button,input{font-family:inherit}
.container{max-width:1180px;margin-inline:auto;padding-inline:1.25rem}
.grid{display:grid;gap:1.6rem}
.section{padding-block:6.5rem 3.5rem}
.main{overflow:hidden}

body.dark-theme{
  --title-color:#f7efe7;
  --text-color:#cfc4b8;
  --text-color-light:#a99d91;
  --body-color:#12100e;
  --container-color:#1b1815;
  --panel-color:#261f1a;
  --border-color:rgba(255,255,255,.12);
  --shadow-color:rgba(0,0,0,.3);
}

/*=============== HEADER ===============*/
.header{position:fixed;top:0;left:0;width:100%;background:rgba(248,242,234,.86);backdrop-filter:blur(18px);z-index:var(--z-fixed);border-bottom:1px solid transparent;transition:.35s}
.dark-theme .header{background:rgba(18,16,14,.86)}
.header.shadow-header{box-shadow:0 10px 35px var(--shadow-color);border-bottom-color:var(--border-color)}
.nav{height:var(--header-height);display:flex;align-items:center;justify-content:space-between}
.nav__logo{display:inline-flex;align-items:center;column-gap:.55rem;font-weight:var(--font-bold);color:var(--title-color)}
.nav__logo-circle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--black-color);color:var(--white-color);font-weight:var(--font-bold);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.dark-theme .nav__logo-circle{background:var(--first-color)}
.nav__logo-name{letter-spacing:-.02em}
.nav__list{display:flex;align-items:center;column-gap:2rem}
.nav__link{color:var(--title-color);font-size:var(--small-font-size);font-weight:var(--font-semi-bold);transition:color .3s;position:relative}
.nav__link::after{content:"";position:absolute;left:0;bottom:-.45rem;width:0;height:2px;background:var(--first-color);transition:.3s}
.nav__link:hover,.nav__link.active-link{color:var(--first-color)}
.nav__link:hover::after,.nav__link.active-link::after{width:100%}
.nav__link-button{background:var(--black-color);color:var(--white-color);padding:.75rem 1.05rem;border-radius:2rem;box-shadow:0 12px 26px var(--shadow-color)}
.nav__link-button:hover{color:var(--white-color);background:var(--first-color)}
.nav__link-button::after{display:none}
.nav__buttons{display:flex;align-items:center;column-gap:.75rem}
.change-theme,.nav__toggle,.nav__close{font-size:1.25rem;color:var(--title-color);cursor:pointer}
.nav__toggle,.nav__close,.nav__title,.nav__name{display:none}
.language-switcher{display:flex;border:1px solid var(--border-color);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.38)}
.dark-theme .language-switcher{background:rgba(255,255,255,.05)}
.language-switcher__btn{border:0;background:transparent;color:var(--title-color);font-size:.72rem;font-weight:var(--font-bold);padding:.38rem .55rem;cursor:pointer}
.language-switcher__btn.is-active{background:var(--black-color);color:var(--white-color)}
.dark-theme .language-switcher__btn.is-active{background:var(--first-color)}

/*=============== BUTTONS ===============*/
.button{display:inline-flex;align-items:center;justify-content:center;column-gap:.55rem;background:var(--black-color);color:var(--white-color);font-weight:var(--font-bold);padding:1rem 1.2rem;border-radius:3rem;box-shadow:0 18px 38px var(--shadow-color);transition:transform .3s, background .3s, color .3s;border:1px solid transparent}
.button:hover{transform:translateY(-3px);background:var(--first-color)}
.button--ghost{background:transparent;color:var(--title-color);border-color:var(--border-color);box-shadow:none}
.button--ghost:hover{color:var(--white-color);border-color:var(--first-color)}

/*=============== HOME ===============*/
.home{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:8rem;background:linear-gradient(180deg,var(--body-color) 0%,var(--container-color) 100%)}
.home::before{content:"";position:absolute;width:38rem;height:38rem;border-radius:50%;background:radial-gradient(circle,rgba(223,124,50,.18),transparent 66%);right:-13rem;top:5rem;pointer-events:none}
.home__container{grid-template-columns:1.02fr .98fr;align-items:center;position:relative}
.home__eyebrow{display:inline-flex;align-items:center;column-gap:.55rem;margin-bottom:1.1rem;color:var(--first-color);font-weight:var(--font-bold);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}
.home__eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--first-color);box-shadow:0 0 0 7px rgba(223,124,50,.12)}
.home__name{font-size:var(--biggest-font-size);line-height:.92;letter-spacing:-.07em;color:var(--title-color);margin-bottom:1.25rem}
.home__name span{display:block;color:transparent;-webkit-text-stroke:1.6px var(--title-color);opacity:.72}
.home__description{font-size:1.08rem;max-width:650px;margin-bottom:2rem;color:var(--text-color)}
.home__buttons{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}
.home__metrics{display:grid;grid-template-columns:repeat(3,max-content);gap:1.25rem}
.home__metrics div{background:var(--container-color);border:1px solid var(--border-color);border-radius:1.15rem;padding:.85rem 1rem;box-shadow:0 18px 42px var(--shadow-color)}
.home__metrics strong{display:block;color:var(--title-color);font-size:1.35rem;line-height:1}
.home__metrics span{font-size:.75rem;color:var(--text-color-light);text-transform:uppercase;letter-spacing:.08em}
.home__visual{position:relative;min-height:520px;display:grid;place-items:center}
.home__image-card{position:relative;width:min(100%,520px);padding:1rem}
.home__image-bg{position:absolute;inset:2.4rem 0 0 2rem;background:var(--first-color);border-radius:2rem;transform:rotate(-3deg);box-shadow:0 32px 70px rgba(223,124,50,.24)}
.home__img{position:relative;height:460px;width:100%;object-fit:cover;border-radius:2rem;border:8px solid var(--container-color);box-shadow:0 35px 80px var(--shadow-color);z-index:2}
.home__frame-accent{position:absolute;right:-.35rem;top:4rem;width:70px;height:70px;border:8px solid var(--black-color);z-index:3}
.home__corner-square{position:absolute;left:-.4rem;bottom:3.2rem;width:38px;height:38px;background:var(--first-color);z-index:3}
.home__plane-badge{position:absolute;right:1.4rem;bottom:.9rem;width:94px;height:94px;z-index:5;display:grid;place-items:center}
.home__plane-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed var(--black-color);animation:spin 14s linear infinite}
.home__plane-center{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--black-color);color:var(--white-color);font-size:1.35rem;box-shadow:0 20px 42px var(--shadow-color)}
.home__floating-card{position:absolute;left:-.6rem;bottom:5.2rem;display:flex;align-items:center;column-gap:.8rem;background:rgba(255,250,243,.92);backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:0 28px 58px var(--shadow-color);border-radius:1.25rem;padding:1rem;z-index:6;color:var(--title-color)}
.dark-theme .home__floating-card{background:rgba(27,24,21,.92)}
.home__floating-card i{width:42px;height:42px;border-radius:.9rem;display:grid;place-items:center;background:var(--first-color);color:var(--white-color);font-size:1.3rem}
.home__floating-card b{display:block;font-size:.92rem}.home__floating-card small{color:var(--text-color-light)}
@keyframes spin{to{transform:rotate(360deg)}}

/*=============== TITLES ===============*/
.section__heading{margin-bottom:1.1rem}.section__eyebrow{display:inline-flex;align-items:center;column-gap:.65rem;color:var(--first-color);font-weight:var(--font-bold);letter-spacing:.14em;font-size:.75rem;margin-bottom:.55rem}.section__eyebrow span{width:36px;height:2px;background:var(--first-color)}
.section__title-1,.section__title-2{font-size:var(--h2-font-size);color:var(--title-color);line-height:1.05;letter-spacing:-.05em}.section__title-1 span,.section__title-2 span{position:relative}.section__title-1 span::after{content:"";position:absolute;left:0;bottom:.12rem;width:100%;height:.38rem;background:rgba(223,124,50,.28);z-index:-1}.section__title-2 span::after{content:"";position:absolute;left:0;bottom:.12rem;width:70%;height:.38rem;background:rgba(223,124,50,.28);z-index:-1}

/*=============== ABOUT ===============*/
.about{background:var(--container-color)}
.about__container{grid-template-columns:.88fr 1.12fr;align-items:center}.about__visual{position:relative;min-height:520px;display:grid;place-items:center}.about__bg-panel{position:absolute;width:72%;height:72%;background:var(--first-color);border-radius:2rem;left:4%;top:14%;box-shadow:0 28px 60px rgba(223,124,50,.2)}
.about__img{position:relative;width:82%;height:420px;object-fit:cover;border-radius:1.8rem;border:8px solid var(--container-color);box-shadow:0 30px 70px var(--shadow-color)}
.about__accent-square{position:absolute;right:6%;top:12%;width:50px;height:50px;border:8px solid var(--black-color)}.about__plane-card{position:absolute;left:7%;bottom:13%;width:64px;height:64px;display:grid;place-items:center;background:var(--black-color);color:var(--white-color);border-radius:1rem;font-size:1.35rem;box-shadow:0 20px 48px var(--shadow-color)}.about__dots{position:absolute;right:4%;bottom:18%;width:100px;height:70px;background-image:radial-gradient(var(--first-color) 2px,transparent 2px);background-size:14px 14px;opacity:.6}
.about__lead{font-size:1.12rem;color:var(--title-color);font-weight:var(--font-medium);margin-bottom:1.4rem}.about__highlights{display:grid;gap:1rem;margin:1.6rem 0}.about__highlight{display:flex;column-gap:1rem;background:var(--body-color);border:1px solid var(--border-color);border-radius:1.15rem;padding:1rem;box-shadow:0 15px 35px var(--shadow-color)}.about__icon{min-width:42px;height:42px;border-radius:.9rem;background:var(--black-color);color:var(--white-color);display:grid;place-items:center;font-size:1.2rem}.about__closing{color:var(--text-color)}

/*=============== SERVICES ===============*/
.services{position:relative}.services__intro{text-align:center;max-width:760px}.services__eyebrow-wrap{display:flex;justify-content:center}.services__eyebrow{display:inline-block;background:var(--black-color);color:var(--white-color);font-weight:var(--font-bold);font-size:.75rem;letter-spacing:.15em;padding:.4rem .65rem;border-radius:.6rem;margin-bottom:.8rem}.services__main-title{font-size:clamp(2.3rem,5vw,4.2rem);line-height:.95;color:var(--title-color);letter-spacing:-.06em}.services__main-title span:last-child{color:var(--first-color)}.services__summary{margin-top:1rem;color:var(--text-color)}.services__container{grid-template-columns:repeat(3,1fr);margin-top:3rem}.services__card{position:relative}.services__panel{min-height:280px;background:var(--container-color);border:1px solid var(--border-color);border-radius:1.6rem;padding:2rem;box-shadow:0 22px 55px var(--shadow-color);transition:transform .3s,border .3s}.services__panel:hover{transform:translateY(-8px);border-color:rgba(223,124,50,.45)}.services__icon-hex{width:62px;height:62px;display:grid;place-items:center;background:var(--black-color);color:var(--white-color);font-size:1.65rem;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);margin-bottom:1.2rem}.services__panel h3{font-size:var(--h3-font-size);color:var(--title-color);margin-bottom:.8rem}.services__line{display:block;width:46px;height:3px;background:var(--first-color);margin-bottom:1rem}.services__panel p{font-size:.96rem;color:var(--text-color)}

/*=============== RESULTS ===============*/
.projects{background:var(--container-color)}.projects__header{text-align:center;max-width:900px}.projects__intro{margin-top:1rem}.result-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.result-tab{border:1px solid var(--border-color);background:var(--body-color);color:var(--title-color);font-weight:var(--font-bold);padding:.78rem 1rem;border-radius:999px;cursor:pointer;transition:.3s}.result-tab.is-active,.result-tab:hover{background:var(--black-color);color:var(--white-color);border-color:var(--black-color)}.dark-theme .result-tab.is-active,.dark-theme .result-tab:hover{background:var(--first-color);border-color:var(--first-color)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.7rem}.shot{background:var(--body-color);border:1px solid var(--border-color);border-radius:1.5rem;overflow:hidden;box-shadow:0 20px 50px var(--shadow-color);transition:transform .3s,opacity .25s;cursor:pointer}.shot:hover{transform:translateY(-7px)}.shot.is-hidden{display:none}.shot img{width:100%;height:225px;object-fit:cover;transition:transform .4s}.shot:hover img{transform:scale(1.045)}.shot div{padding:1rem 1.05rem 1.2rem}.shot span{display:inline-block;color:var(--first-color);font-weight:var(--font-bold);font-size:.75rem;letter-spacing:.12em;margin-bottom:.4rem}.shot h3{font-size:1.05rem;color:var(--title-color);margin-bottom:.25rem}.shot p{font-size:.9rem;color:var(--text-color)}

/*=============== WORKFLOW ===============*/
.workflow__container{grid-template-columns:.8fr 1.2fr;align-items:start}.workflow__intro{margin-top:1rem}.timeline{display:grid;gap:1rem}.step{display:grid;grid-template-columns:72px 1fr;gap:1rem}.step b{height:52px;width:52px;border-radius:1rem;display:grid;place-items:center;background:var(--first-color);color:var(--white-color);box-shadow:0 14px 28px rgba(223,124,50,.25)}.step div{background:var(--container-color);border:1px solid var(--border-color);border-radius:1.2rem;padding:1rem 1.1rem;box-shadow:0 18px 42px var(--shadow-color)}.step strong{display:block;color:var(--title-color);margin-bottom:.25rem}.step p{font-size:.93rem}

/*=============== REPOSITORY ===============*/
.repository{background:var(--container-color)}.repository__container{grid-template-columns:1fr 1fr;align-items:center}.repo-card{background:#151312;color:#f8f2ea;border-radius:1.6rem;overflow:hidden;box-shadow:0 28px 70px var(--shadow-color);border:1px solid rgba(255,255,255,.08)}.repo-card__top{display:flex;gap:.45rem;background:#211d19;padding:1rem}.repo-card__top span{width:12px;height:12px;border-radius:50%;background:#df7c32}.repo-card__top span:nth-child(2){background:#e1b55f}.repo-card__top span:nth-child(3){background:#67b26f}.repo-card pre{padding:1.3rem;overflow:auto;font-size:.9rem;line-height:1.75}.repository__info p{margin-top:1rem}.repository__warning{display:flex;gap:.8rem;align-items:flex-start;background:var(--body-color);border:1px solid rgba(223,124,50,.35);padding:1rem;border-radius:1.1rem;margin:1.4rem 0}.repository__warning i{font-size:1.3rem;color:var(--first-color)}.repository__buttons{display:flex;flex-wrap:wrap;gap:.9rem}

/*=============== CONTACT/FOOTER ===============*/
.contact__container{grid-template-columns:1fr .85fr;align-items:center}.contact__data{background:var(--container-color);border:1px solid var(--border-color);box-shadow:0 22px 50px var(--shadow-color);border-radius:1.6rem;padding:2rem}.contact__data p{margin-top:1rem}.contact__panel{background:var(--black-color);color:var(--white-color);border-radius:1.6rem;padding:2rem;box-shadow:0 25px 65px var(--shadow-color);position:relative;overflow:hidden}.contact__panel::after{content:"";position:absolute;right:-3rem;top:-3rem;width:10rem;height:10rem;border-radius:50%;background:rgba(223,124,50,.35)}.contact__panel h3{font-size:1.6rem;margin-bottom:.7rem}.contact__panel p{color:#d8d0c6}.contact__social-links{display:flex;gap:.8rem;margin-top:1.3rem}.contact__social-link{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--white-color);color:var(--black-color);font-size:1.2rem;transition:.3s}.contact__social-link:hover{background:var(--first-color);color:var(--white-color);transform:translateY(-4px)}.footer{padding:2rem 0;border-top:1px solid var(--border-color);background:var(--container-color)}.footer__container{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--text-color-light)}.footer__top{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--black-color);color:var(--white-color)}

.scrollup{position:fixed;right:1rem;bottom:-50%;background:var(--black-color);color:var(--white-color);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;z-index:var(--z-tooltip);box-shadow:0 12px 30px var(--shadow-color);transition:.35s}.show-scroll{bottom:1.2rem}
.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:200;display:none;align-items:center;justify-content:center;padding:2rem}.image-modal.is-open{display:flex}.image-modal img{max-width:min(1100px,96vw);max-height:86vh;border-radius:1rem;box-shadow:0 30px 80px rgba(0,0,0,.55)}.image-modal__close{position:absolute;right:1.2rem;top:1.2rem;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:#111;font-size:1.4rem;cursor:pointer}

/*=============== RESPONSIVE ===============*/
@media (max-width: 1050px){.home__container,.about__container,.workflow__container,.repository__container,.contact__container{grid-template-columns:1fr}.home__visual{min-height:auto}.services__container,.gallery{grid-template-columns:repeat(2,1fr)}.about__visual{min-height:440px}.about__img{height:360px}}
@media (max-width: 860px){.nav__menu{position:fixed;top:0;right:-100%;width:82%;height:100vh;background:var(--container-color);box-shadow:-20px 0 55px var(--shadow-color);padding:5.5rem 2rem 2rem;transition:right .35s}.nav__menu.show-menu{right:0}.nav__list{flex-direction:column;align-items:flex-start;row-gap:1.8rem}.nav__toggle,.nav__close,.nav__title,.nav__name{display:block}.nav__close{position:absolute;top:1.2rem;right:1.2rem}.nav__title{position:absolute;top:1.2rem;left:2rem;color:var(--text-color-light);font-size:.75rem;text-transform:uppercase;letter-spacing:.16em}.nav__name{font-size:1.7rem;color:var(--title-color);margin-bottom:2rem}.home{padding-top:7rem}.home__name{font-size:clamp(2.6rem,13vw,4rem)}.home__metrics{grid-template-columns:repeat(3,1fr)}.home__img{height:360px}.home__floating-card{position:relative;left:auto;bottom:auto;margin-top:1rem}.section{padding-block:5rem 2.5rem}}
@media (max-width: 640px){.container{padding-inline:1rem}.services__container,.gallery{grid-template-columns:1fr}.home__buttons,.repository__buttons{flex-direction:column;align-items:stretch}.button{width:100%}.home__metrics{grid-template-columns:1fr}.home__image-bg{inset:2rem 0 0 1rem}.home__img{height:300px;border-width:6px}.home__frame-accent{width:50px;height:50px;border-width:6px}.about__visual{min-height:360px}.about__img{width:90%;height:300px}.step{grid-template-columns:1fr}.footer__container{flex-direction:column;text-align:center}.nav__logo-name{display:none}.language-switcher__btn{padding:.35rem .45rem}}
