:root{--color-primary:#ab1c2c;--color-primary-soft:#ab1c2ccc;--color-on-primary:#fff;--color-ink:#000;--color-surface:#fff;--font-family-base:"Instrument Sans", system-ui, -apple-system, sans-serif;--text-base:17px;--text-nav:28px;--text-heading:36px;--text-hero-caption:36px;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:clamp(1.5rem, 1rem + 2vw, 2.5rem);--space-section:clamp(2.5rem, 1.8rem + 3vw, 4.5rem);--radius-pill:30px;--duration-fast:.15s;--duration-normal:.3s;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--header-bar-height:84px;--header-height:128px;--content-max-width:1312px}@media (width<=760px){:root{--header-bar-height:56px;--header-height:102px}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{background:var(--color-surface);color:var(--color-ink);font-family:var(--font-family-base);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:var(--color-on-primary);background:var(--color-primary);transition:top var(--duration-fast) var(--ease-out-expo);border-radius:0 0 8px 8px;padding:12px 20px;font-weight:600;text-decoration:none;position:absolute;top:-100%;left:12px}.skip-link:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:2px;top:0}.page-heading{font-size:var(--text-heading);text-align:center;font-weight:400}.route-loading{min-height:calc(100vh - var(--header-height));color:var(--color-primary);place-content:center;justify-items:center;gap:14px;display:grid}.route-loading__mark{border:4px solid #ab1c2c33;border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite route-loading-spin}@keyframes route-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.home-page{min-height:calc(100vh - var(--header-height));padding-top:32px;padding-bottom:96px}.home-page .page-heading{height:50px;padding-top:0;font-size:36px;line-height:44px}.home-page .carousel{margin-top:10px}.home-page__intro{width:min(calc(100% - 200px), var(--content-max-width));border-top:2px solid var(--color-primary);grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:28px 64px;margin:88px auto 0;padding-top:28px;display:grid}.home-page__intro h2{max-width:620px;color:var(--color-primary);font-size:clamp(36px,5vw,68px);font-weight:600;line-height:.98}.home-page__intro p{max-width:560px;font-size:clamp(20px,2.2vw,30px);line-height:1.25}.home-page__actions{flex-wrap:wrap;grid-column:2;gap:12px 28px;display:flex}.home-page__actions a{color:var(--color-primary);text-underline-offset:5px;font-weight:600}.portfolio-page{min-height:calc(100vh - var(--header-height));padding-top:97px}.portfolio-page .project-card--paris-xiii{margin-bottom:38px}.portfolio-page .project-card--woufood{margin-bottom:86px}.portfolio-page{padding-bottom:4px}.offers-page{align-items:flex-start;gap:32px;padding:78px 40px 112px;display:flex;position:relative}.offers-page__title{top:calc(var(--header-height) + 40px);color:var(--color-primary);writing-mode:vertical-rl;flex-shrink:0;margin:0;font-size:40px;font-weight:600;line-height:1;position:sticky;transform:rotate(180deg)}.offers-page__content{width:min(100%,1040px);margin-inline:auto}.offers-page__intro{max-width:760px;margin-bottom:56px;font-size:clamp(24px,2.7vw,38px);line-height:1.18}.offers-category{margin-bottom:48px}.offers-category__title{color:var(--color-primary);border-bottom:2px solid var(--color-primary);margin:0 0 16px;padding-bottom:12px;font-size:clamp(22px,2.2vw,28px);font-weight:600;line-height:1.15}.offers-category__list{border-bottom:1px solid #ab1c2c4d;margin:0;padding:0;list-style:none}.offer-item{border-top:1px solid #ab1c2c4d;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 24px;padding:16px 0;display:grid}.offer-item__label{font-size:1.05rem;font-weight:600}.offer-item__price{white-space:nowrap;color:var(--color-primary);font-weight:600}.offer-item__description{color:#000000b3;grid-column:1/-1;max-width:640px;font-size:.95rem;line-height:1.45}.offers-page__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:44px;font-size:18px;display:flex}.offers-page__cta{min-height:52px;color:var(--color-on-primary);background:var(--color-primary);border-radius:var(--radius-pill);transition:background var(--duration-fast) var(--ease-out-expo), transform var(--duration-fast) var(--ease-out-expo);align-items:center;padding:.85rem 2.2rem;font-weight:600;text-decoration:none;display:inline-flex}.offers-page__cta:hover,.offers-page__cta:focus-visible{background:#8f1724;transform:translateY(-1px)}.offers-page__cta:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.contact-page{min-height:644px;padding-top:101px;padding-bottom:48px;position:relative}.contact-form{flex-direction:column;gap:29px;width:min(100% - 328px,1184px);margin-inline:auto;display:flex}.contact-field{flex-direction:column;gap:8px;display:flex}.contact-field label{color:var(--color-ink);padding-left:8px;font-size:1rem;font-weight:600}.contact-field--honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.contact-form input,.contact-form textarea{width:100%;color:var(--color-ink);background:var(--color-surface);border:6px solid var(--color-primary);font:600 36px/1 var(--font-family-base);letter-spacing:0;border-radius:20px;padding:0 34px}.contact-form input{height:78px}.contact-form textarea{resize:vertical;height:auto;min-height:156px;line-height:1.3;font-family:var(--font-family-base);padding-block:24px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#00000073;opacity:1}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline-offset:3px;outline:3px solid #ab1c2c4d}.contact-form button{width:366px;height:78px;color:var(--color-on-primary);background:var(--color-primary);font:600 36px/1 var(--font-family-base);cursor:pointer;border:0;border-radius:20px;margin:23px auto 0}.contact-form button:hover,.contact-form button:focus-visible{background:#8f1724}.contact-form button:disabled{cursor:wait;opacity:.65}.contact-form button:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.contact-form__status{text-align:center;max-width:600px;min-height:1.5em;margin:16px auto 0;font-size:.95rem}.contact-note{width:407px;margin:52px 0 0 31px;font-size:20px;line-height:22px}.project-page{min-height:calc(100vh - var(--header-height) - 94px);padding-top:83px}.project-page__title{width:min(100% - 222px,1290px);color:var(--color-primary);text-align:center;margin:0 auto 44px;font-size:clamp(48px,8vw,112px);font-weight:600;line-height:.9}.project-page__cover{width:min(calc(100% - 200px), var(--content-max-width));aspect-ratio:1312/767;object-fit:cover;margin:0 auto 72px}.project-page__video{background:var(--color-primary);display:block}.project-page__intro{text-align:center;width:min(100% - 222px,1290px);min-height:515px;margin-inline:auto;font-size:36px;line-height:normal}.project-page__intro p+p{margin-top:30px}.project-page__scroll-link{width:50px;height:77px;margin:0 auto;display:block}.project-page__scroll-link img{width:100%;height:100%}.project-gallery{gap:1.35px;width:min(100% - 200px,1312px);margin:62px auto 162px;display:grid}.project-gallery img{aspect-ratio:1312/767;object-fit:cover;width:100%}.project-page__nav{flex-wrap:wrap;justify-content:space-between;gap:16px;width:min(100% - 200px,1312px);margin:48px auto 80px;font-size:1.1rem;display:flex}.project-page__nav-link{text-decoration:none}.project-page__nav-link:hover,.project-page__nav-link:focus-visible{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.project-page__nav-link--next{color:var(--color-primary);margin-left:auto;font-weight:600}.project-page--gibert{min-height:4945px;padding-top:121px}.project-page--gibert .project-gallery{width:min(100%,1512px);height:3878px;margin:83px auto 271px;position:relative}.project-page--gibert .project-gallery img{object-fit:fill;position:absolute}.project-page--gibert .project-gallery img:first-child{width:56.283%;height:805px;top:0;left:24.206%}.project-page--gibert .project-gallery img:nth-child(2){width:67.725%;height:768px;top:1061px;left:18.519%}.project-page--gibert .project-gallery img:nth-child(3){width:67.725%;height:768px;top:1984px;left:13.228%}.project-page--gibert .project-gallery img:nth-child(4){width:67.725%;height:768px;top:3110px;left:15.212%}@media (width<=900px){.home-page{min-height:calc(100vh - var(--header-height));padding-top:10px}.home-page .page-heading{height:auto;padding-inline:20px;font-size:clamp(26px,8vw,36px);line-height:1.2}.home-page .carousel{margin-top:18px}.home-page__intro{grid-template-columns:1fr;gap:24px;width:calc(100% - 40px);margin-top:64px}.home-page__actions{grid-column:auto}.portfolio-page{padding-top:48px}.offers-page{padding:56px 20px 48px;display:block}.offers-page__title{writing-mode:horizontal-tb;margin-bottom:24px;font-size:clamp(28px,9vw,40px);position:static;transform:none}.offers-page__content{max-width:100%}.offers-page__intro{margin-bottom:44px}.offer-item{grid-template-columns:1fr;gap:4px}.offer-item__price{order:-1}.offers-page__footer{flex-direction:column;align-items:flex-start}.contact-page{height:auto;min-height:calc(100vh - var(--header-height) - 94px);padding:64px 20px 52px;overflow:visible}.contact-form{gap:20px;width:100%}.contact-form input,.contact-form textarea{border-width:4px;border-radius:16px;padding-inline:22px;font-size:22px}.contact-form input{height:64px}.contact-form textarea{min-height:120px;padding-block:16px}.contact-form button{border-radius:16px;width:min(100%,300px);height:64px;margin-top:12px;font-size:28px}.contact-note{width:min(100%,407px);margin:42px 0 0;font-size:26px}.project-page,.project-page--gibert,.project-page--woufood{min-height:calc(100vh - var(--header-height) - 94px);padding-top:56px}.project-page__intro{width:calc(100% - 40px);min-height:0;font-size:clamp(21px,5.7vw,30px)}.project-page__title{width:calc(100% - 40px);margin-bottom:36px}.project-page__cover{width:calc(100% - 40px);margin-bottom:48px}.project-page__intro p+p{margin-top:24px}.project-page__scroll-link{width:38px;height:58px;margin-top:44px}.project-gallery,.project-page--gibert .project-gallery{width:calc(100% - 40px);height:auto;margin:54px auto 80px}.project-page--gibert .project-gallery{gap:20px;display:grid}.project-page--gibert .project-gallery img,.project-page--gibert .project-gallery img:nth-child(n){aspect-ratio:auto;width:100%;height:auto;position:static}.project-card--gibert .project-card__caption{margin-top:10px}}.not-found-page{min-height:calc(100vh - var(--header-height));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.not-found-page h1{font-size:var(--text-heading)}.not-found-page__link{color:var(--color-primary);font-weight:600;text-decoration:none}.not-found-page__link:hover,.not-found-page__link:focus-visible{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.site-header{z-index:20;height:var(--header-height);background:var(--color-surface);width:100%;transition:transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-out-expo);position:sticky;top:0}.site-header--scrolled{box-shadow:0 12px 24px -20px #00000073}.site-header--hidden{transform:translateY(-100%)}.site-header--hidden:focus-within{transform:none}.site-header__bar{height:var(--header-bar-height);background:var(--color-primary);align-items:center;gap:20px;padding-inline:40px;display:flex;position:relative;overflow:hidden}.site-header__logo-link{z-index:1;height:40px;transition:opacity var(--duration-fast) var(--ease-out-expo);border-radius:4px;flex-shrink:0;display:block;position:relative}.site-header__logo-link:hover{opacity:.85}.site-header__logo-link:focus-visible{outline:2px solid var(--color-on-primary);outline-offset:4px}.site-header__logo{width:auto;height:100%}.site-header__tagline{z-index:1;max-width:250px;color:var(--color-on-primary);opacity:.9;margin:0;padding-left:20px;font-size:14px;line-height:1.3;position:relative}.site-header__tagline:before{content:"";background:#ffffff73;width:1px;height:32px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.site-header__illustration{pointer-events:none;width:160px;height:auto;position:absolute;top:-30px;right:40px}.site-nav{top:calc(var(--header-bar-height) - 2px);z-index:1;position:absolute;left:0}.site-nav__list{margin:0;padding:0;list-style:none;display:flex}.site-nav__link{width:132px;height:38px;color:var(--color-on-primary);background:var(--color-primary-soft);transition:background var(--duration-fast) var(--ease-out-expo);border-radius:0 0 22px 22px;justify-content:center;align-items:center;font-size:18px;line-height:1;text-decoration:none;display:flex}.site-nav__link:hover,.site-nav__link:focus-visible{background:#8f1724}.site-nav__link:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.site-nav__link--active{height:46px;padding-top:6px}@media (width<=760px){.site-header__bar{padding-inline:16px}.site-header__logo-link{height:28px}.site-header__tagline{display:none}.site-header__illustration{width:100px;top:-20px;right:12px}.site-nav{width:100%}.site-nav__list li{flex:1}.site-nav__link{border-radius:0 0 18px 18px;width:100%;height:42px;font-size:15px}.site-nav__link--active{height:48px;padding-top:4px}}
