@font-face{font-family:TonysSans;src:url('sans.ttf') format('truetype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:#fffdf5;color:#203f34;font-family:TonysSans,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #71816c;outline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}.header{height:100px;max-width:1400px;margin:auto;padding:0 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d7ddcf}.wordmark{font:bold 40px Georgia;line-height:1}.wordmark span{display:block;font:10px TonysSans,Arial,sans-serif;letter-spacing:2px;margin-top:10px}nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:bold}.nav-order{background:#203f34;color:#fffdf5;padding:13px 22px;border-radius:3px}.hero{max-width:1400px;margin:auto;padding:66px 6% 70px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;margin-bottom:21px}h1{font-size:clamp(46px,5.4vw,78px);letter-spacing:-2px}h1 em{color:#71816c;font-weight:400}.intro{max-width:430px;font-size:17px;margin-top:25px;color:#506158}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:13px 24px;font-weight:bold;font-size:15px;border:1px solid #203f34;border-radius:3px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.solid{background:#203f34;color:#fffdf5}.outline:hover{background:#edf0e6}.hero-foot{font-size:12px;color:#506158;margin-top:27px}.hero-foot span{padding:0 9px}.hero-image{background:#e9e4d8;position:relative;border-radius:150px 150px 4px 4px;overflow:hidden;min-height:460px}.hero-image img{width:100%;height:460px;object-fit:cover;display:block}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(20,31,22,.96));padding:75px 30px 25px;color:#fffdf5}.hero-image figcaption span{display:block;font-size:12px}.hero-image figcaption span:first-child{letter-spacing:2px;font-size:10px}.hero-image figcaption strong{font:32px Georgia;display:block;margin:8px 0}.ribbon{background:#203f34;color:#fffdf5;display:flex;justify-content:center;gap:70px;padding:20px 25px;font-family:Georgia;font-size:23px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{min-width:0;background:#edf0e6;overflow:hidden}.photo-card img{display:block;width:100%;height:260px;object-fit:cover}.photo-card figcaption{display:flex;align-items:baseline;gap:14px;padding:16px 18px}.photo-card figcaption span{font-size:12px;letter-spacing:1px;color:#71816c}.photo-card figcaption strong{font:24px Georgia,serif}.gallery-link{display:inline-block;margin-top:24px}.story{display:grid;grid-template-columns:220px 1fr;gap:8%;align-items:center;border-top:1px solid #d7ddcf}.story-stamp{width:190px;aspect-ratio:1;border:1px solid #71816c;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#203f34}.story-stamp span{font-size:11px;letter-spacing:2px}.story-stamp strong{font:56px Georgia,serif;color:#71816c;margin:8px 0}.story-copy h2{max-width:680px;margin-bottom:22px}.story-copy p:not(.eyebrow){max-width:700px;color:#506158;font-size:17px;margin-top:16px}.story-copy .eyebrow{color:#71816c}.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:7%;align-items:center}.process-copy>p:last-child{margin-top:18px;max-width:340px;color:#506158;font-size:17px}.process-video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#e9e4d8;border-radius:130px 130px 4px 4px}.process-video:focus-visible{outline:3px solid #71816c;outline-offset:4px}.section{padding:80px 6%;max-width:1400px;margin:auto}.section-heading{margin-bottom:38px}h2{font-size:clamp(34px,4vw,52px);letter-spacing:-1px}.section-heading>p:last-child{margin-top:16px;color:#506158}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.menu-card{padding:0;border:1px solid #d7ddcf;border-radius:3px;display:flex;flex-direction:column;min-height:0;overflow:hidden;transition:background .2s}.menu-card-image{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;background:#edf0e6}.calzone-image{aspect-ratio:1.25;object-position:center 58%}.menu-card-copy{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}.menu-card:focus-visible{outline-offset:4px}.menu-card:hover{background:#edf0e6}.menu-index{font-size:12px;letter-spacing:1px;color:#71816c;margin-bottom:28px}.menu-card h3{font-size:27px;margin-bottom:13px}.menu-card p{font-size:14px;color:#506158}.menu-label{margin-top:auto;padding-top:24px;font-size:13px;font-weight:bold;text-decoration:underline;text-underline-offset:5px}.menu-bottom{margin-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#506158}.text-link{text-decoration:underline;text-underline-offset:5px;font-weight:bold}.catering{max-width:none;background:#203f34;color:#fffdf5;display:grid;grid-template-columns:1fr 1fr;gap:6%;padding-left:max(6%,calc((100vw - 1232px)/2));padding-right:max(6%,calc((100vw - 1232px)/2))}.catering .eyebrow{color:#d0d9c4}.catering-lead{margin-top:23px;color:#d0d9c4;font-size:15px;letter-spacing:.04em}.catering-copy{max-width:480px}.catering-copy p{font-size:16px}.catering-copy p+p{margin-top:15px}.cream{background:#fffdf5;margin-top:24px;color:#203f34}.catering-copy .small-note{font-size:12px;color:#d0d9c4;margin-top:16px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:6%}.contact-details{display:grid;gap:30px}.detail>span{display:block;font-size:11px;letter-spacing:2px;margin-bottom:10px;color:#506158}.detail p{font-size:16px}.detail .text-link{display:inline-block;margin-top:12px;font-size:14px}.phone{font:32px Georgia;display:block;margin-bottom:8px}footer{border-top:1px solid #d7ddcf;padding:35px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px}footer .wordmark{font-size:34px}footer>a{font-size:14px;text-decoration:underline}.mobile-order{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}@media(max-width:900px){nav{gap:20px}.hero{gap:5%;padding-top:45px}.hero-image,.hero-image img{min-height:390px;height:390px}.ribbon{gap:35px;font-size:20px}.menu-grid{grid-template-columns:repeat(2,1fr)}.menu-card{min-height:215px}.section{padding-top:60px;padding-bottom:60px}}@media(max-width:600px){.header{height:85px;padding:0 22px}.wordmark{font-size:34px}.wordmark span{font-size:9px;letter-spacing:1.5px}nav>a:not(.nav-order){display:none}.nav-order{font-size:12px;padding:10px 14px}.hero{padding:36px 22px 35px;grid-template-columns:1fr;gap:30px}.eyebrow{font-size:11px;margin-bottom:18px;letter-spacing:1.5px}h1{font-size:52px;letter-spacing:-1.5px}.intro{font-size:16px;margin-top:21px}.actions{margin-top:25px}.button{font-size:14px;padding:13px 22px}.hero-foot{margin-top:20px}.hero-image{border-radius:95px 95px 3px 3px}.hero-image,.hero-image img{height:310px;min-height:310px}.hero-image figcaption{padding:60px 22px 20px}.hero-image figcaption strong{font-size:28px}.ribbon{gap:0;justify-content:space-around;padding:17px 8px;font-size:15px}.section{padding:48px 22px}.section-heading{margin-bottom:27px}h2{font-size:36px}.menu-grid{gap:12px}.menu-card{padding:0;min-height:0}.menu-card-copy{padding:17px 14px 17px}.menu-card-image{aspect-ratio:1.45}.calzone-image{aspect-ratio:1.2;object-position:center 58%}.menu-index{margin-bottom:16px}.menu-card h3{font-size:24px}.menu-card p{font-size:14px}.menu-label{font-size:13px}.menu-bottom{display:block}.menu-bottom a{display:inline-block;margin-top:14px}.process{grid-template-columns:1fr;gap:24px}.process-video{border-radius:90px 90px 4px 4px}.photo-grid{grid-template-columns:1fr;gap:18px}.photo-card img{height:auto;aspect-ratio:4/3}.story{grid-template-columns:1fr;gap:24px}.story-stamp{width:130px}.story-stamp strong{font-size:40px}.catering,.contact{grid-template-columns:1fr;gap:26px}.catering .button{width:100%;padding:13px 15px}.contact-details{gap:26px}footer{padding:28px 22px 105px;align-items:flex-start;flex-wrap:wrap}footer p{max-width:180px}.mobile-order{display:grid;grid-template-columns:1fr 1.3fr;position:fixed;bottom:0;left:0;right:0;padding:10px 14px max(10px,env(safe-area-inset-bottom));gap:10px;background:#fffdf5;border-top:1px solid #d7ddcf;z-index:10;box-shadow:0 -4px 20px #203f340a}.mobile-order a{padding:12px;text-align:center;font-size:14px;font-weight:bold;border:1px solid #203f34;border-radius:3px}.mobile-order a:last-child{background:#203f34;color:#fffdf5}}
.catering-film{margin:24px 0 0;max-width:320px}.catering-video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#203f34;border-radius:3px}.catering-film figcaption{margin-top:10px;font-size:13px;color:#d0d9c4}@media(max-width:600px){.catering-film{max-width:280px;margin-left:auto;margin-right:auto}}/* Compact category cards: balanced food thumbnails with the menu copy alongside. */
.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.menu-card{display:grid;grid-template-columns:148px minmax(0,1fr);gap:18px;align-items:center;min-height:172px;padding:15px;overflow:hidden}
.menu-card-image{width:148px;height:112px;aspect-ratio:auto;object-fit:cover;border-radius:2px;background:#edf0e6}
.menu-card .calzone-image{aspect-ratio:auto;object-position:center 58%}
.menu-card-copy{min-width:0;padding:0;display:flex;flex-direction:column;align-self:stretch}
.menu-card .menu-index{margin-bottom:9px}
.menu-card h3{font-size:25px;margin-bottom:8px}
.menu-card p{font-size:14px}
.menu-card .menu-label{padding-top:14px}
@media(max-width:600px){
 .menu-grid{grid-template-columns:1fr;gap:11px}
 .menu-card{grid-template-columns:96px minmax(0,1fr);gap:14px;min-height:122px;padding:11px}
 .menu-card-image{width:96px;height:88px}
 .menu-card-copy{padding:0}
 .menu-card .menu-index{margin-bottom:6px}
 .menu-card h3{font-size:24px;margin-bottom:4px}
 .menu-card p{font-size:14px}
 .menu-card .menu-label{padding-top:8px}
}
/* Family photographs and a compact gallery, in the existing palette. */
.food-hero{min-height:420px}.food-hero img{height:420px;object-position:52% center}
.together{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:6%;align-items:center;padding-top:20px}
.together-copy h2{margin-bottom:22px}.together-copy>p:last-child{color:#506158;max-width:440px}
.together-photo,.founder-photo,.generation-photo{margin:0;min-width:0}
.together-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 52%;border-radius:3px}
.together-photo figcaption,.founder-photo figcaption,.generation-photo figcaption{font-size:13px;color:#506158;margin-top:12px}
.curated-gallery{row-gap:24px}.curated-gallery a{display:block}.curated-gallery img{display:block;height:auto;aspect-ratio:4/3;object-fit:cover}.curated-gallery .photo-card strong{font-size:22px}
.family-story{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.founder-photo{max-width:400px}.founder-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 52%;border-radius:3px}
.story-copy .story-signature{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-top:28px}
.generation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:6%;border-top:1px solid #d7ddcf}
.generation-photo img{display:block;width:100%;aspect-ratio:1.63;object-fit:cover;object-position:top;border-radius:3px}
@media(max-width:900px){.food-hero{min-height:370px}.food-hero img{height:370px}.curated-gallery .photo-card strong{font-size:19px}}
@media(max-width:600px){
.food-hero{min-height:0;border-radius:65px 65px 3px 3px}.food-hero img{height:auto;aspect-ratio:4/3}.food-hero figcaption{padding:60px 20px 20px}
.together,.family-story,.generation{grid-template-columns:minmax(0,1fr);gap:26px}.together{padding-top:14px}.together-photo img{aspect-ratio:4/3}.founder-photo{max-width:100%}.founder-photo img{max-height:480px}
.curated-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.curated-gallery .photo-card figcaption{padding:12px;display:block}.curated-gallery .photo-card strong{display:block;font-size:19px;margin-top:4px}
}

/* Keep the introduction balanced after removing the group photograph. */
.together{grid-template-columns:minmax(0,1fr)}.together-copy{max-width:720px}.together-copy>p:last-child{max-width:640px}

/* History: bounded portrait crop and text-only second generation. */
.family-story{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center}
.family-story .founder-photo{width:100%;max-width:360px}
.family-story .founder-photo img{width:100%;height:clamp(320px,35vw,420px);max-height:420px;aspect-ratio:auto;object-fit:cover;object-position:50% 62%}
.generation{grid-template-columns:minmax(0,1fr)}
.generation .story-copy{max-width:700px}
@media(max-width:600px){.family-story{grid-template-columns:minmax(0,1fr);gap:26px}.family-story .founder-photo{max-width:360px;margin-inline:auto}.family-story .founder-photo img{height:380px;max-height:380px}}

/* Catering film: preserve the full portrait frame within a quiet bordered card. */
.catering-film{max-width:320px;padding:8px;border:1px solid #ffffff30;border-radius:8px;background:#ffffff08;overflow:hidden}
.catering-film .catering-video{width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;border-radius:4px}
.catering-film figcaption{padding:4px 8px 8px;margin-top:10px}
@media(max-width:600px){.catering-film{max-width:280px}}

/* Clear food photography, direct catering contact and mobile navigation. */
.hero-image.food-hero{height:auto;min-height:0;border-radius:0;background:transparent;overflow:visible}
.hero-image.food-hero img{border-radius:100px 100px 3px 3px;min-height:0}
.hero-image.food-hero figcaption{position:static;background:none;color:#203f34;padding:18px 0 0}
.hero-image.food-hero figcaption span{color:#506158}
.hero-image.food-hero figcaption strong{margin:6px 0}
.catering-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.catering-actions .button{margin-top:0}
.catering-email{color:#fffdf5;border-color:#d0d9c4}
.catering-email:hover{background:#ffffff12}
.mobile-nav{display:none}
@media(max-width:600px){
.header{position:relative;gap:10px}.header>nav{margin-left:auto}.header .nav-order{padding:10px 12px}
.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;font-size:12px;font-weight:bold;padding:10px 8px;list-style:none;border:1px solid #d7ddcf;border-radius:3px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:focus-visible{outline:3px solid #71816c;outline-offset:3px}
.mobile-nav nav{position:absolute;top:calc(100% - 1px);left:22px;right:22px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px;background:#fffdf5;border:1px solid #d7ddcf;border-radius:3px;box-shadow:0 8px 20px #203f3418;z-index:20}
.mobile-nav nav>a:not(.nav-order){display:block;padding:12px 0}.mobile-nav nav>a+a{border-top:1px solid #d7ddcf}
.hero-image.food-hero img{height:auto;min-height:0;aspect-ratio:4/3;border-radius:65px 65px 3px 3px}
}
/* Catering enquiry: email composition with explicit send instructions. */
.catering-enquiry{grid-column:1/-1;width:100%;max-width:900px;border-top:1px solid #ffffff30;padding-top:36px;margin-top:8px}
.catering-enquiry h3{font-size:32px}.catering-enquiry .form-intro{margin:12px 0 24px;color:#d0d9c4}
.enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-bottom:18px}
.catering-enquiry label{display:block;font-size:14px;font-weight:bold;min-width:0}
.catering-enquiry input,.catering-enquiry textarea{display:block;width:100%;min-width:0;margin-top:7px;border:1px solid #d7ddcf;border-radius:3px;background:#fffdf5;color:#203f34;padding:12px;font:16px TonysSans,Arial,sans-serif;line-height:1.5}
.catering-enquiry textarea{resize:vertical}.catering-enquiry input:focus-visible,.catering-enquiry textarea:focus-visible{outline:3px solid #d0d9c4;outline-offset:3px}
.catering-enquiry .enquiry-help{font-size:13px;color:#d0d9c4;margin-top:18px;max-width:700px}
.catering-enquiry button{font-family:inherit;cursor:pointer}.catering-enquiry button:focus-visible,.enquiry-fallback summary:focus-visible{outline:3px solid #d0d9c4;outline-offset:4px}
#enquiry-status{font-size:14px;margin-top:16px}.enquiry-fallback{margin-top:20px}.enquiry-fallback summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:14px}.enquiry-fallback p{margin:14px 0}.enquiry-fallback a{text-decoration:underline}.enquiry-fallback button{margin-top:14px}
@media(max-width:600px){.enquiry-fields{grid-template-columns:1fr;gap:16px}.catering-enquiry{padding-top:28px}.catering-enquiry h3{font-size:28px}}

/* Catering collage: full original frame, with the film as a smaller companion. */
.catering{column-gap:6%;row-gap:48px}
.catering-heading,.catering-copy{min-width:0}
.catering-collage{width:100%;max-width:460px;margin-top:32px;overflow:hidden;border-radius:3px}
.catering-collage img{display:block;width:100%;height:auto;aspect-ratio:4/5}
.catering-copy .catering-film{width:100%;max-width:280px}
@media(max-width:600px){.catering{row-gap:32px}.catering-collage{max-width:380px;margin:26px auto 0}.catering-copy .catering-film{max-width:250px;margin-inline:auto}}

/* Keep both siblings in view with the photograph at its natural proportions. */
.generation{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:6%;row-gap:26px}
.generation .generation-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:0}
@media(max-width:750px){.generation{grid-template-columns:minmax(0,1fr)}}

/* Hide only the gray footer embedded below the photograph. */
.generation .generation-photo{width:100%;aspect-ratio:1536/944;overflow:hidden;border-radius:3px}

/* Social profiles in the existing cream and dark-green footer. */
footer{flex-wrap:wrap}.footer-social{display:flex;flex-direction:column;gap:8px}.footer-social .social-heading{font-size:12px;font-weight:bold;letter-spacing:.06em;max-width:none}.social-links{display:flex;flex-wrap:wrap;gap:6px 16px}.social-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:12px}.social-links svg{width:19px;height:19px;flex:none}.social-links a:hover span{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.footer-social{flex-basis:100%}.social-links{gap:4px 20px}}
