/* Shared page flow. Each approved Canva screen participates in normal document layout. */
@font-face{font-family:SourceHan;src:url('_assets/fonts/05b4edd61a8719094d7050f658166220.ttf') format('truetype');font-display:swap}
html,body{width:100%;max-width:100%;overflow-x:clip}
main{width:100%;max-width:none;margin:0;padding-bottom:clamp(40px,4vw,64px)}
body[data-page="top"] main{background:#000;padding-bottom:0}
body[data-page="restaurant"] main,body[data-page="produce"] main{background:#000}
body[data-page="city"] main{background:#e8f8fa}
body[data-page="cleanliness"] main{background:#fbfaf7}
body[data-page="contact"] main{background:#fbf8f2}
/* TODO(layout-source-crops): approved Canva crops include oversized child boxes.
   Paint containment prevents cross-section rendering; converting every source box
   to in-bounds object-position requires a separate visual reapproval. */
.page-section{position:relative;width:100%;max-width:none;margin:0;container-type:inline-size;contain:layout paint;isolation:isolate;overflow:clip}
.page-section>.screen{position:relative;left:auto;top:auto;width:1366px;max-width:none;height:720px;min-height:720px;margin:0;zoom:calc(100cqw / 1366px);transform:none;transform-origin:initial;contain:size layout paint;overflow:clip}

@media (min-width:761px){
  body.top-active .nav-bar nav{gap:32px}
  body.top-active .nav-bar a{font-family:SourceHan,"Yu Gothic",sans-serif;font-size:15px}
  .company-band{padding-left:26px}
  .company-band .logo{transform:scale(.92);transform-origin:left center}
  .company-band h1{font-family:"Arial Black",SourceHan,sans-serif;font-size:30px;transform:scaleX(.96);transform-origin:right center;margin-right:5px}
  .top-photo>div{left:34px;bottom:34px}
  .top-photo h2{font-size:134px;line-height:1.03}
  .top-photo:after{background:rgba(100,110,146,.25)}
  .top-photo p{font-size:32px}
  .clean-contact{grid-template-rows:720px}
  .clean-contact>img{height:720px}
  .contact-title{transform:translateY(-35px)}
  .contact-data{transform:translateY(-78px)}
  .contact-screen{padding-top:22px}
  section[data-screen="top-03"]>.top-profile-start{height:500px;min-height:500px}
  section[data-screen="top-04"],section[data-screen="top-04"]>.top-profile-end{height:287px;min-height:287px;overflow:hidden}
  .top-profile-end{display:grid;grid-template-rows:252px 35px}
  .top-profile-end .top-profile-lower{position:relative;grid-row:1;min-height:0}
  .top-profile-end .top-profile-brand{top:0}
  .top-profile-end .top-footer-links{bottom:14px}
  .top-profile-end .top-platform-footer{position:static;grid-row:2}
}

.contact-data a{color:#111}

/* Footer links use the existing page-end breathing room and do not resize sections. */
.clean-contact-copy nav a,.chef-screen>nav a,.standalone-footer-nav a{color:inherit;font:inherit;text-decoration:none}
.standalone-footer-nav{position:relative;z-index:2;height:0;overflow:visible;transform:translateY(14px);color:#111;font-size:17px;line-height:24px;text-align:center;white-space:nowrap}
.standalone-footer-nav-light{color:#fff}

/* Canva-like CTA finish. Geometry is intentionally unchanged. */
.top-overview-copy a,.top-work a{
  background:rgba(255,255,255,.08);
  box-shadow:0 5px 14px rgba(45,42,42,.12),inset 0 1px rgba(255,255,255,.28)
}
.city-buttons a{
  background:linear-gradient(90deg,rgba(72,190,233,.9),rgba(7,81,178,.92));
  box-shadow:0 6px 14px rgba(7,81,178,.22),inset 0 1px rgba(255,255,255,.22)
}
.clean-intro .clean-copy a{
  position:absolute;
  padding-top:10px;
  color:#fff;
  background:transparent;
  border:0;
  box-shadow:none;
  text-shadow:0 2px 3px rgba(0,0,0,.48);
  -webkit-backdrop-filter:none;
  backdrop-filter:none
}
.clean-intro .clean-copy a::after{
  content:"";
  position:absolute;
  left:0;
  right:46px;
  bottom:9px;
  height:2px;
  background:#fff;
  box-shadow:0 2px 3px rgba(0,0,0,.34)
}
.clean-intro .clean-copy .cta-arrow-icon{
  position:absolute;
  top:-1px;
  right:0;
  margin:0;
  width:46px;
  height:46px;
  color:#102a42;
  background:#fff;
  border-radius:50%;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))
}
.clean-intro .clean-copy .cta-arrow-icon circle{
  display:none
}
.clean-intro .clean-copy .cta-arrow-icon path{
  stroke:#102a42;
  stroke-width:1.8
}
.contact-title>a{
  background:rgba(213,34,24,.92);
  box-shadow:0 5px 14px rgba(104,14,10,.2),0 0 0 1px rgba(213,34,24,.82),inset 0 1px rgba(255,255,255,.18)
}
.top-overview-copy a:hover,.top-work a:hover,.city-buttons a:hover,.clean-copy a:hover,.contact-title>a:hover{
  filter:brightness(1.04)
}

@media (max-width:760px){
  .page-section{contain:none;overflow:visible}
  .page-section>.screen{width:100%;height:auto;min-height:calc(100vh - 56px);zoom:1;contain:none;overflow:hidden}
}

