*,*::before,*::after{box-sizing:border-box}body{margin:0;line-height:1.5}img{display:block;max-width:100%}input,button,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}body{font-family:"Playfair Display","Shippori Mincho";color:#333}.container{max-width:1200px;margin:0 auto;padding:0 16px}.u-underline{position:relative;display:inline-block}.u-underline:hover{text-shadow:2px 2px 3px #111 !important}.u-underline::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background-color:#fff;transform:scaleX(0);transform-origin:center;transition:transform .3s ease;box-shadow:2px 2px 3px #111 !important}.u-underline:hover::after{transform:scaleX(1)}.u-underline--whiteshadow:hover{text-shadow:1px 1px 2px #fff !important}.site-header{position:fixed;top:0;left:0;width:100%;height:60px;z-index:99;background:hsla(0,0%,100%,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px rgba(0,0,0,.1);border:1px solid hsla(0,0%,100%,.4)}.site-header .site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.site-header .site-header__inner .site-header__logo .site-header__logo-link{display:flex;align-items:center}.site-header .site-header__inner .site-header__logo .site-header__logo-link .site-header__logo-image{height:35px;padding-right:.5rem}.site-header .site-header__inner .site-header__logo .site-header__logo-link .site-header__logo-title{display:inline-block;font-size:20px;text-shadow:1px 1px 2px #333;font-weight:700 !important;color:#fff}.site-header .hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}.site-header .hamburger span{display:block;width:25px;height:2px;background:#333}.site-header .main-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;font-size:1.3rem;color:#111}.site-header .main-nav ul a{text-decoration:none}@media(max-width: 768px){.site-header .hamburger{display:flex}.site-header .main-nav{position:fixed;top:60px;right:0;width:70%;height:calc(100% - 60px);background:hsla(0,0%,100%,.5);transform:translateX(100%);transition:transform .3s ease}.site-header .main-nav.open{transform:translateX(0)}.site-header .main-nav ul{flex-direction:column;padding:40px 20px}}:root{--bg-green: #36563c;--text-light: #ddd;--container-w: 1100px}.hero{position:relative;min-height:120vh;display:grid;place-items:center;background:linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 30%, rgba(0, 0, 0, 0.5) 60%, rgb(54, 86, 60) 100%),url("../images/hero.webp") center/cover no-repeat}@media(max-width: 768px){.hero{min-height:100dvh}}.hero__title{color:var(--text-light);letter-spacing:.1em;font-size:clamp(2.5rem,8vw,8rem);text-shadow:2px 2px 2px #111,-2px -2px 2px #111;text-align:center;margin:0;color:#ccc}.hero__subtitle{color:var(--text-light);font-size:clamp(1rem,3vw,3.75rem);letter-spacing:.05em;text-align:center;margin-top:.5rem;white-space:nowrap}.reveal-on-load::before{content:"";position:absolute;inset:0;background:#000;opacity:.8;z-index:0;animation:fadeOut 1.6s ease forwards;pointer-events:none}@keyframes fadeOut{to{opacity:0}}@media(prefers-reduced-motion: reduce){.reveal-on-load::before{animation:none;opacity:0}}.section{padding-block:clamp(2.5rem,6vw,5rem)}.section--texture{background-color:var(--bg-green);background-image:url("https://www.transparenttextures.com/patterns/arches.png")}.section__head{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}.section__title{color:var(--text-light);font-size:clamp(1.75rem,4vw,3.125rem);margin:0}.section__subtitle{color:var(--text-light);font-size:clamp(.875rem,2vw,1.5rem);margin:0 0 1rem}.works{display:grid;justify-items:center}.works .works__item{display:block}.works .works__image{width:min(100%,900px);height:auto;border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}.logos{display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:clamp(.75rem,2.5vw,1.25rem);margin-top:1rem}.logos__item{display:grid;place-items:center}.logos__item img{width:100%;height:auto;aspect-ratio:1/1;-o-object-fit:contain;object-fit:contain}.qualifications{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin-top:1.25rem}.qualifications__item{background:hsla(0,0%,100%,.2);color:var(--text-light);padding:.4rem .7rem;border-radius:9999px;font-size:.9rem;line-height:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}