:root{--black:#090909;--white:#fff;--gold:#eac982;--blue:#0097b2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:ChefBody,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
figure,h1,h2,h3,p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.page-width{width:min(100% - 11.5%,1080px);margin-inline:auto}
.image-frame{overflow:hidden}
.image-frame img{width:100%;height:100%;object-fit:cover}
.hero{position:relative;display:grid;place-items:center;isolation:isolate;min-height:clamp(430px,57vw,720px);overflow:hidden;background:#211919}
.hero__image,.services__image{position:absolute;z-index:-2;inset:-10% 0;background-position:center;background-size:cover;will-change:transform}
.hero__image{background-image:url('assets/images/hero.jpg');background-position:center 54%;filter:brightness(.78)}
.hero__shade{position:absolute;z-index:-1;inset:0 auto 0 50%;width:min(100%,1366px);transform:translateX(-50%);background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.04) 38%,rgba(0,0,0,.42) 64%,rgba(0,0,0,.85) 85%,#090909 100%);pointer-events:none}
.hero__content{text-align:center;width:100%;padding:0 16px;transform:translateY(-7px)}
.hero__signature{font-family:ChefScript,cursive;color:var(--gold);font-size:clamp(29px,4.4vw,46px);line-height:1;margin-bottom:.15em;transform:translateX(7px)}
.hero h1{font-family:Editorial,Georgia,serif;font-size:clamp(76px,11.3vw,162px);font-weight:400;line-height:1.02;letter-spacing:-.035em;text-transform:uppercase}
.hero__tagline{font-family:LatinSans,Arial,sans-serif;letter-spacing:.192em;font-size:clamp(13px,1.65vw,20px);margin-top:-5px}
.about{padding:46px 0 70px;background:var(--black)}
.mixed-title{display:flex;align-items:baseline;gap:.14em;font-weight:400;white-space:nowrap}
.mixed-title span{font-family:Editorial,Georgia,serif;font-size:clamp(36px,4.8vw,60px);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.mixed-title em{font-family:ChefScript,cursive;font-size:clamp(40px,5.5vw,69px);color:var(--gold);font-weight:400;font-style:normal;line-height:.85}
.about .mixed-title{gap:8px}
.about__intro{width:min(89%,1080px);margin-left:6%;margin-right:auto}
.about__intro p{font-size:clamp(12.3px,1.5vw,18px);line-height:1.15;letter-spacing:.03em;margin-top:16px}
.about__gallery{display:flex;flex-direction:column;align-items:center;gap:28px;margin-top:34px}
.about .image-frame,.clients__photo{position:relative}
.about .image-frame img[data-parallax],.clients__photo img[data-parallax]{position:absolute;top:-44px;left:0;width:100%;height:calc(100% + 88px);object-fit:cover;will-change:transform}
.about .about__portrait img[data-parallax]{top:-13%;left:-5.15%;width:110.3%;height:auto;max-width:none}
.about__details{margin-top:28px}
.about__portrait{width:min(47%,470px);aspect-ratio:2/3}
.about__pasta{width:min(47%,470px);aspect-ratio:2/3}
.about__stew{width:min(48%,470px);aspect-ratio:2/3}
.about__duo{display:grid;grid-template-columns:1fr 1fr;gap:5.1%;width:min(70%,730px);margin:10px auto 0}
.about__duo figure{aspect-ratio:1.1}
.credentials{width:min(71%,850px);padding:34px 0 32px;font-size:clamp(18px,2.61vw,25px);line-height:1.36;letter-spacing:.05em}
.credentials .star-list{margin:30px 0}
.star-list li{position:relative;padding-left:1.5em}
.star-list li::before{content:'✦';position:absolute;left:0;top:.04em;color:var(--gold);font-size:.82em}
.about__feature{width:min(76%,850px);aspect-ratio:2/3;margin:0 auto}
.clients{background:var(--blue);padding:70px 0 72px}
.clients__photo{width:min(66%,650px);aspect-ratio:2/3;margin:auto}
.clients__content{width:min(100% - 23%,900px);padding-top:72px}
.clients h2,.services h2{font-family:Editorial,Georgia,serif;font-size:clamp(65.5px,8.73vw,110px);font-weight:400;line-height:1.02;letter-spacing:-.033em;text-transform:uppercase}
.clients p,.clients li{font-size:clamp(18px,2.61vw,25px);line-height:1.48;letter-spacing:.05em}
.clients p:first-of-type{margin-top:26px}
.clients .star-list{margin:10px 0}
.clients .star-list li::before{color:#eabb50}
.services{position:relative;isolation:isolate;overflow:hidden;padding:75px 0 48px;min-height:1860px;background:#251e19}
.services__image{background-image:url('assets/images/services-bg.jpg');background-position:center 40%;inset:-5% 0}
.services__shade{position:absolute;z-index:-1;inset:0;background:rgba(0,0,0,.69)}
.services__content{width:min(100% - 11.5%,1100px)}
.services h2{font-size:clamp(110px,15.65vw,190px);line-height:1.01;letter-spacing:-.035em;margin:0 0 74px 38px}
.services__top{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.service__number{font-family:ChefBody,Arial,sans-serif;font-size:clamp(30px,4.83vw,46px);font-weight:700;color:var(--gold);line-height:1.35;letter-spacing:-.01em}
.service h3{font-size:clamp(21px,3.43vw,32px);line-height:1.4;font-weight:700;letter-spacing:.05em;margin:0 0 20px}
.service li{font-size:clamp(18px,2.61vw,25px);line-height:1.6;letter-spacing:.05em}
.services__top .star-list{margin-left:-9px}
.services__lower{width:min(80%,800px);margin:66px 0 0 17%}
.services__lower .service+.service{margin-top:55px}
.service--short{margin-left:-3%}
.service--short h3{margin-bottom:0}
.service--last{margin-left:11%}
.service--last h3{max-height:1.4em;overflow:hidden}
.contact{background:var(--black);padding:72px 0 32px}
.contact__content{width:min(100% - 11.5%,1100px)}
.contact .mixed-title{justify-content:center;gap:20px;transform:translateX(3px)}
.contact .mixed-title span{font-size:clamp(42px,6.9vw,88px)}
.contact .mixed-title em{font-size:clamp(80px,14vw,175px)}
.contact__tagline{text-align:center;letter-spacing:.12em;font-family:LatinSans,Arial,sans-serif;font-size:clamp(12px,1.94vw,28px);line-height:1.35;margin:18px auto 70px}
.contact__tagline span{display:block;position:relative;left:50%;width:max-content;white-space:nowrap;transform:translateX(-50%)}
.contact__details{width:max-content;max-width:100%;margin:auto;font-family:ChefBody,Arial,sans-serif;letter-spacing:.05em;font-size:clamp(16px,2.3vw,21px)}
.contact__row{display:flex;align-items:center;gap:36px;margin-bottom:35px}
.contact__row a,.contact__row--social>div{display:flex;align-items:center;gap:12px}
.contact__row a:hover{text-decoration:underline;text-underline-offset:5px}
.contact__icon{border:2px solid currentColor;border-radius:4px;width:20px;height:31px;font-size:0;position:relative}
.contact__icon::after{content:'';width:4px;height:2px;background:currentColor;position:absolute;bottom:3px;left:6px}
.line-icon{font:bold 8px Arial,sans-serif;display:grid;place-items:center;width:30px;height:26px;background:#fff;color:#000;border-radius:50%;letter-spacing:0}
.social-letter{font:bold 36px Arial,sans-serif;line-height:1;width:30px;text-align:center}
.social-letter--tiktok{font-size:32px}
.contact__row--social{font-size:clamp(14px,2vw,17px);letter-spacing:0;gap:42px}
.contact__logo{width:72px;height:72px;object-fit:contain;margin:90px auto 0}
@media(min-width:651px) and (max-width:750px){
  .about .about__portrait img[data-parallax]{top:-4px;left:0;width:100%;height:calc(100% + 8px);object-fit:cover}
  .services__top{grid-template-areas:'number-one number-one' 'title-one title-one' 'number-two number-two' 'title-two title-two' 'list-one list-two';column-gap:35px;row-gap:0}
  .services__top .service{display:contents}
  .services__top .service:first-child .service__number{grid-area:number-one;margin-left:85px}
  .services__top .service:first-child h3{grid-area:title-one;margin-left:85px;white-space:nowrap;margin-bottom:0}
  .services__top .service:first-child .star-list{grid-area:list-one}
  .services__top .service:nth-child(2) .service__number{grid-area:number-two;margin:27px 0 0 173px}
  .services__top .service:nth-child(2) h3{grid-area:title-two;margin:0 0 0 173px}
  .services__top .service:nth-child(2) .star-list{grid-area:list-two}
}
@media(min-width:751px){
  .about__intro,.about__showcase{width:calc(100% - 142px);max-width:1214px;margin-inline:auto}
  .about__intro p{font-size:22px}
  .about__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.2%;margin-top:3.6%}
  .about__portrait,.about__pasta,.about__stew{width:100%;aspect-ratio:1}
  .about__details{display:grid;grid-template-columns:46.7% minmax(0,1fr);column-gap:3.3%;margin-top:3.6%}
  .about__duo{width:100%;gap:6.9%;margin:0}
  .about__duo figure{aspect-ratio:1}
  .credentials{width:100%;max-width:none;margin:44px 0 0;padding:0;font-size:19.575px}
  .about__feature{width:100%;aspect-ratio:2/3;margin:0}
  .clients{display:grid;grid-template-columns:43.2% minmax(0,1fr);column-gap:6.7%;align-items:center;padding:77px max(71px,calc((100% - 1214px)/2))}
  .clients__photo{width:100%;aspect-ratio:486/568}
  .clients__content{width:100%;padding-top:0}
  .clients h2{font-size:67px;letter-spacing:0}
  .clients p,.clients li{font-size:21.5px;letter-spacing:.04em}
  .services{min-height:0}
  .services__content,.contact__content{width:calc(100% - 142px);max-width:1214px}
  .services h2{font-size:117.375px;margin:0 0 74px}
  .services__top{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .services__top .star-list{margin-left:0}
  .services__lower{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:66px 0 0;row-gap:115px}
  .services__lower .service+.service{margin-top:0}
  .service--short,.service--last{margin-left:0}
  .service__number{font-size:36.225px}
  .service h3{font-size:25.725px}
  .service li{font-size:19.575px}
  .contact .mixed-title{gap:26px}
  .contact .mixed-title span{font-size:61.75px}
  .contact .mixed-title em{font-size:124.7px}
  .contact__tagline{font-size:17.3px}
  .contact__details{display:flex;align-items:center;justify-content:flex-start;gap:62px;width:930px;font-size:17.25px}
  .contact__row{margin-bottom:0;gap:58px}
  .contact__row--social{font-size:15px;gap:52px}
}
@media(max-width:650px){
  .page-width,.about__intro,.clients__content,.services__content,.contact__content{width:min(100% - 40px,520px)}
  .hero{min-height:57vw}
  .hero__signature{font-size:4.4vw}
  .hero h1{font-size:11.3vw}
  .hero__tagline{font-size:1.65vw}
  .about{padding-top:5.6vw;padding-bottom:9.3vw}
  .mixed-title span{font-size:4.8vw}
  .mixed-title em{font-size:5.5vw}
  .about__intro p{font-size:1.64vw;line-height:1.15;margin-top:2.13vw}
  .about__gallery{gap:3.73vw;margin-top:4.53vw}
  .about__details{margin-top:3.73vw}
  .about__portrait,.about__pasta,.about__stew{width:min(82%,390px);aspect-ratio:1}
  .about__duo{width:min(90%,520px);gap:1.6vw;margin-top:1.33vw}
  .credentials{width:min(100% - 40px,520px);font-size:clamp(11.5px,3.6vw,19.575px);padding:4.53vw 0 4.27vw}
  .credentials .star-list{margin:4vw 0 4vw -5.33vw}
  .about__feature{width:min(88%,520px)}
  .clients{padding:6.4vw 0 7.47vw}
  .clients__photo{width:calc(100% - 30px);aspect-ratio:486/568}
  .clients__content{width:calc(100% - 60px);padding-top:6.93vw}
  .clients h2{font-size:9.23vw}
  .clients p,.clients li{font-size:2.77vw}
  .services{padding:10vw 0 0;min-height:0}
  .services__content{width:calc(100% - 30px)}
  .services h2{font-size:17.15vw;line-height:.96;margin:0 0 9.87vw 6.93vw}
  .services__top{grid-template-areas:'number-one' 'title-one' 'number-two' 'title-two' 'list-one' 'list-two';grid-template-columns:1fr;column-gap:0;row-gap:0}
  .services__top .service{display:contents}
  .services__top .service:first-child .service__number{grid-area:number-one;margin:0}
  .services__top .service:first-child h3{grid-area:title-one;margin:0;white-space:normal}
  .services__top .service:first-child .star-list{grid-area:list-one;margin:3.2vw 0 0 8.8vw}
  .services__top .service:nth-child(2) .service__number{grid-area:number-two;margin:4vw 0 0 9.6vw}
  .services__top .service:nth-child(2) h3{grid-area:title-two;margin:0 0 0 9.6vw}
  .services__top .service:nth-child(2) .star-list{grid-area:list-two;margin:5.33vw 0 0 8.8vw}
  .services__lower{width:100%;margin:8.8vw 0 0}
  .services__lower .service+.service{margin-top:7.33vw}
  .service--short{margin-left:0}
  .service--last{margin-left:9.33%}
  .service__number{font-size:clamp(27px,8.4vw,36.225px)}
  .service h3{font-size:clamp(19px,5.84vw,25.725px);line-height:1.25;margin-bottom:2.67vw}
  .services__lower .service:not(.service--last) h3{width:calc(100% - 15px);text-align:justify}
  .service li{font-size:clamp(14px,4.48vw,19.575px)}
  .contact{padding:18vw 0 4.27vw}
  .contact .mixed-title{flex-wrap:nowrap;gap:2.67vw;transform:none}
  .contact .mixed-title span{font-size:6.77vw}
  .contact .mixed-title em{font-size:13.65vw}
  .contact__tagline{margin:2.4vw auto 9.33vw;font-size:1.89vw}
  .contact__row{gap:4.8vw;margin-bottom:4.67vw}
  .contact__details{font-size:clamp(12px,3.84vw,17.25px);margin-left:5.6vw;margin-right:0}
  .contact__row--social{font-size:clamp(10px,3.33vw,15px);gap:5.6vw;flex-direction:column;align-items:flex-start}
  .contact__logo{margin-top:12vw;width:13.33vw;height:13.33vw}
  .desktop-break{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.parallax-media{transform:none!important;will-change:auto}}
