/* Shared responsive layer. Desktop editorial layouts remain in their page styles. */
/* Keep the approved local Georgia where available. Android receives the
   metric-compatible Gelasio web font instead of an unrelated generic serif. */
@font-face{font-family:"Editorial Serif";src:local("Georgia"),url("assets/fonts/gelasio-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Editorial Serif";src:local("Georgia Bold"),local("Georgia-Bold"),url("assets/fonts/gelasio-bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Editorial Serif";src:local("Georgia Italic"),local("Georgia-Italic"),url("assets/fonts/gelasio-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Editorial Serif";src:local("Georgia Bold Italic"),local("Georgia-BoldItalic"),url("assets/fonts/gelasio-bold-italic.woff2") format("woff2");font-style:italic;font-weight:700;font-display:swap}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%;height:auto}
.inline-arrow{display:inline-block;width:.95em;height:.95em;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.catalog-pages .inline-arrow{margin-inline:5px}
.contents-mobile-label{display:none}
button,input,select,textarea{font-family:Inter,"Segoe UI",Arial,sans-serif}
.newsletter-form .signup-field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.site-header>*:not(svg),.footer-main>*,.newsletter>*,.contact-layout>*,.contact-field,.work-intro>*,.about-intro>*,.offer-grid>*{min-width:0}
.nav-toggle{display:none}
.page-home .site-header nav a[href="work-with-us.html"]{border-bottom:0;padding-bottom:0}
.direct-email a{overflow-wrap:anywhere}
.site-footer nav{flex-wrap:wrap}
.our-approach h2{white-space:normal}
@media(min-width:761px){
  .page-home .newsletter h2{font-size:clamp(44px,4.2vw,64px);white-space:nowrap}
}
@media(min-width:761px) and (max-width:1366px){
  .page-home .hero-copy::before{inset:24px 32px;background-position:left center;opacity:.14}
}

@media(min-width:1101px){
  .page-home .hero{height:clamp(340px,31.25vw,585px)}
}
@media(min-width:1101px) and (max-width:1600px){
  .page-home .hero-copy{padding-block:32px}
}
@media(min-width:1101px) and (max-width:1400px){
  .page-home .hero-copy{padding-block:24px}
  .page-home .hero h1{font-size:clamp(48px,5vw,68px);margin:12px 0 18px}
  .page-home .hero p{font-size:16px;line-height:1.6;max-width:34ch}
  .page-home .hero-links{margin-top:20px}
}
@media(max-width:1100px){
  .page-home .hero{display:flex;flex-direction:column;height:auto}
  .page-home .hero-photo{position:relative;inset:auto;order:0;z-index:0;width:100%;height:auto;aspect-ratio:1.9}
  .page-home .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:100% center}
  .page-home .hero-copy{order:1;padding:40px clamp(20px,6vw,48px)}
}

@media(max-width:1200px){
  .site-header{grid-template-columns:minmax(0,1fr) auto;gap:24px}
  .site-header .social-links{display:none}
  .site-header nav{gap:22px}
  .footer-main{grid-template-columns:minmax(0,1fr) auto;gap:24px}
  .footer-main>.social-links{grid-column:1/-1;justify-self:start;display:flex}
  .newsletter{grid-template-columns:1fr;gap:32px;padding-block:56px}
  .signup-fields{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) auto}
  .contact-layout{padding:56px clamp(20px,6vw,112px);gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .contact-showcase{padding:44px clamp(20px,6vw,112px)}
  .contact-intro h1{font-size:clamp(56px,6.5vw,80px)}
  .contact-form{padding:28px}
  .contact-fields{grid-template-columns:1fr}
  .contact-field.full{grid-column:auto}
  .work-intro,.about-intro,.about-next{gap:40px}
  .our-approach h2{white-space:normal}
  .approach-lead{gap:36px;align-items:start}
  .approach-column{padding-inline:24px}
}

@media(max-width:900px){
  .site-header{grid-template-columns:minmax(0,1fr) auto;gap:0 20px;padding-block:18px;align-items:center}
  .site-header .brand{justify-self:start}
  .site-header .brand-main{font-size:34px;white-space:nowrap}
  .site-header .brand-sub{font-size:9.5px}
  .site-header.menu-ready .nav-toggle:not([hidden]){display:flex;align-items:center;gap:10px;justify-self:end;min-height:44px;padding:10px 12px;border:1px solid var(--rule);background:transparent;color:var(--ink);font:500 14px Inter,sans-serif;cursor:pointer}
  .nav-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
  .site-header nav{grid-column:1/-1;justify-self:stretch;display:flex;flex-wrap:wrap;gap:4px 24px;width:100%;padding-top:18px}
  .site-header nav a{display:flex;align-items:center;min-height:44px;font-size:15px;padding-block:10px;white-space:normal;width:max-content}
  .site-header.menu-ready nav{display:none}
  .site-header.menu-ready.menu-open nav{display:flex;flex-direction:column;align-items:start}
  .site-header.menu-ready nav a[aria-current]{padding-bottom:10px}
  .footer-main{grid-template-columns:1fr;gap:24px}
  .footer-main nav{gap:4px 24px;justify-self:start}
  .footer-main nav a{display:flex;align-items:center;min-height:44px}
  .footer-main>.social-links{grid-column:auto;gap:12px}
  .site-footer .social-links{display:flex;justify-self:start}
  .site-footer .social-links a{width:44px;height:44px}
  .footer-bottom{align-items:start;flex-direction:column;gap:14px}
  .footer-legal{flex-wrap:wrap;gap:4px 20px}
  .footer-legal a{display:flex;align-items:center;min-height:44px}
  .contact-layout,.about-intro,.work-intro,.work-enquiry{grid-template-columns:1fr}
  .contact-intro p{max-width:62ch}
  .contact-form{max-width:740px;width:100%}
  .contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-field.full{grid-column:1/-1}
  .about-intro img{max-height:520px;object-fit:cover}
  .work-intro{padding-bottom:56px}
  .work-intro figure{aspect-ratio:auto;max-width:760px;width:100%}
  .work-intro figure img{position:static;height:auto;aspect-ratio:3/2}
  .work-intro h1 br{display:none}
  .work-intro h1{max-width:16ch;font-size:clamp(48px,7vw,70px)}
  .offer-section{display:block}
  .offer-heading h2{max-width:none;margin-bottom:32px}
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;gap:30px}
  .process-grid{gap:24px}
  .process-grid h3{font-size:26px}
  .example-grid{gap:24px}
  .example-grid,.process-grid,.dish-stories{grid-template-columns:1fr;gap:36px}
  .example-grid img{aspect-ratio:3/2}
  .process-grid h3{min-height:0}
  .example-grid h3{font-size:26px}
  .example-head{display:block}
  .example-head p{max-width:60ch}
  .experience-note{text-align:left}
  .journal-masthead{display:block}
  .journal-masthead p{margin-top:24px}
  .journal-feature{grid-template-columns:1fr;gap:28px}
  .feature-copy h2{max-width:18ch}
  .feature-copy p{max-width:60ch}
  .cronulla-article .article-header{display:block}
  .cronulla-article .article-header h1{font-size:clamp(60px,8vw,78px);margin-bottom:28px}
  .cronulla-article .article-deck{max-width:55ch}
  .film-grid{grid-template-columns:1fr;gap:32px}
  .food-opening{grid-template-columns:1fr;gap:30px;padding-block:38px}
  .food-opening h1{font-size:clamp(58px,9vw,82px)}
  .food-deck{max-width:55ch}
  .food-cover{max-width:760px}
  .food-contents{gap:0 24px}
  .food-contents>.eyebrow{width:100%;margin-bottom:10px}
  .food-contents a,.story-index a{display:flex;align-items:center;min-height:44px;line-height:1.5}
  .food-reading{grid-template-columns:1fr;gap:36px}
  .food-side{display:grid;grid-template-columns:1fr 1fr;gap:32px}
  .food-side .visit-note{margin-top:0}
  .food-film{grid-template-columns:1fr;gap:28px;padding:38px}
  .food-film p{max-width:52ch}
  .food-verdict{max-width:none;margin-inline:clamp(20px,6vw,112px);width:auto}
  .verdict-columns{gap:40px}
  .verdict-ratings th{font-size:24px;padding-right:12px}
  .verdict-ratings td{font-size:36px}
  .verdict-ratings td span{font-size:16px;margin-left:2px}
  .longform-grid{grid-template-columns:1fr;gap:38px}
  .reader-sidebar{position:static;max-width:none}
  .reader-sidebar .place-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .story-index{gap:0 24px;flex-wrap:wrap}
  .story-index>.eyebrow{width:100%;margin-bottom:10px}
  .story-section{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
  .margin-note{grid-column:2}
  .gallery-photo img{height:auto;aspect-ratio:3/2}
}

@media(max-width:760px){
  .wrap{margin-inline:20px}
  .eyebrow{line-height:1.6;letter-spacing:.15em}
  .article-top{flex-wrap:wrap;gap:12px;padding-top:24px}
  .draft-label{font-size:11px;line-height:1.6}
  .text-link,.story-link,.about-copy .cta,.hero-links a,.together-copy a{min-height:44px;line-height:1.5;max-width:100%;padding-top:10px}
  .page-home .hero{display:flex;flex-direction:column;height:auto}
  .page-home .hero-photo{position:relative;inset:auto;order:0;z-index:0;width:100%;height:auto;aspect-ratio:1.65}
  .page-home .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:92% center}
  .page-home .hero-copy{order:1;padding:32px 20px 40px}
  .page-home .hero-copy::before{inset:20px;opacity:.07}
  .page-home .hero h1{font-size:clamp(54px,12vw,76px);margin:14px 0 20px}
  .page-home .hero .eyebrow{font-size:12px}
  .page-home .hero p{font-size:17px;line-height:1.65}
  .page-home .hero-links{margin-top:22px}
  .our-approach{padding:40px 20px}
  .approach-lead{grid-template-columns:1fr;gap:24px}
  .our-approach h2{font-size:34px;line-height:1.15;white-space:normal}
  .approach-note{padding:20px}
  .approach-columns{grid-template-columns:1fr;gap:26px;margin-top:28px;padding-top:26px}
  .approach-column,.approach-column:first-child,.approach-column:last-child{padding:0;border-left:0}
  .section-head{display:block;padding:40px 20px 24px}
  .section-head h2{font-size:46px;line-height:1.06}
  .section-head p{max-width:40ch;margin:20px 0 0}
  .stories{grid-template-columns:1fr;gap:36px;padding:0 20px 40px}
  .story h3{font-size:36px}
  .about{grid-template-columns:1fr}
  .about-photo img{height:auto;min-height:0;max-height:none;aspect-ratio:3/2;object-fit:cover}
  .about-copy{padding:36px 20px 40px}
  .page-home .about-copy h2{font-size:clamp(32px,10vw,46px)}
  .page-home .about-copy h2 .headline-line{white-space:nowrap}
  .newsletter{padding:42px 20px;gap:28px}
  .newsletter h2{font-size:44px}
  .newsletter-copy>p{font-size:17px}
  .signup-fields{grid-template-columns:1fr}
  .signup-fields button{width:100%;min-height:52px;white-space:normal}
  .signup-field input{padding:16px;min-height:52px;font-size:16px}
  .site-footer{padding:36px 20px 20px}
  .footer-main{padding-bottom:24px}
  .about-intro,.people,.about-next,.work-intro,.offer-section,.work-examples,.work-process,.work-enquiry{padding:40px 20px}
  .about-intro,.people,.about-next,.offer-grid,.example-grid,.process-grid,.work-enquiry{grid-template-columns:1fr;gap:30px}
  .about-intro h1{font-size:clamp(36px,11.5vw,54px);white-space:nowrap}
  .about-intro p,.together-copy p,.work-intro p,.work-enquiry p{font-size:17px}
  .person:first-child{padding-right:0}
  .person+.person{padding:30px 0 0;border-top:1px solid var(--rule)}
  .person h2{font-size:36px}
  .person p{max-width:none}
  .together-copy{padding-left:0}
  .about-next h2{font-size:clamp(30px,9vw,40px)}
  .about-next h2 .headline-line{white-space:nowrap}
  .about-next .eyebrow{font-size:clamp(10px,2.7vw,12px);letter-spacing:.08em;white-space:nowrap}
  .work-intro h1{font-size:clamp(44px,11vw,60px);line-height:1.05}
  .work-intro figure img{aspect-ratio:1.3;object-position:center 5%}
  .offer-heading h2{font-size:38px;max-width:18ch}
  .offer-heading h2 br{display:none}
  .offer-card h3{font-size:29px}
  .offer-card+.offer-card{border-top:1px solid var(--rule);padding-top:28px}
  .offer-card p{font-size:16px}
  .example-grid h3,.process-grid h3{font-size:29px;min-height:0}
  .process-grid{margin-top:28px}
  .experience-note{font-size:12px;text-align:left;margin-top:28px}
  .food-portfolio{padding-inline:20px;--food-size:150px;--food-gap:14px}
  .contact-layout{padding:40px 20px;gap:36px}
  .contact-intro h1{font-size:62px}
  .contact-intro .lead{font-size:28px}
  .contact-intro p{font-size:17px}
  .direct-email a{font-size:16px;line-height:1.8}
  .contact-form{padding:26px 20px}
  .contact-form h2{font-size:32px}
  .contact-fields{grid-template-columns:1fr;gap:20px}
  .contact-field.full{grid-column:auto}
  .contact-field input,.contact-field select{min-height:48px}
  .contact-form button{width:100%;min-height:52px}
  .contact-showcase{grid-template-columns:1fr;gap:30px;padding:40px 20px}
  .contact-showcase figcaption{font-size:27px}
  .journal-masthead{padding-block:36px 28px}
  .journal-masthead h1{font-size:clamp(54px,13vw,76px)}
  .journal-masthead p{font-size:17px;max-width:42ch}
  .page-food-index .featured-story-label{font-size:clamp(10px,2.8vw,12px);letter-spacing:.04em;white-space:nowrap}
  .journal-feature{grid-template-columns:1fr;gap:28px;padding-block:28px 40px}
  .feature-copy h2{font-size:48px}
  .feature-copy h2 br{display:none}
  .feature-copy h2 br::after{content:' '}
  .feature-copy p{font-size:17px;max-width:none}
  .journal-food{grid-template-columns:1fr;gap:26px;padding-block:40px}
  .food-portrait img{aspect-ratio:1.5;object-position:center 28%}
  .food-copy h2{font-size:46px}
  .food-pair{grid-column:auto;width:100%;max-width:none}
  .catalog-heading{grid-template-columns:1fr;gap:20px}
  .story-card-grid{grid-template-columns:1fr;gap:36px}
  .story-card h3{font-size:32px;min-height:0}
  .catalog-pagination{flex-direction:column;align-items:start;gap:16px}
  .catalog-pages{gap:3px;flex-wrap:wrap}
  .catalog-pages a,.catalog-pages span{padding-inline:10px}
  .cronulla-article .article-header{margin-inline:20px;display:block;padding-block:32px}
  .cronulla-article .article-header h1{font-size:clamp(54px,13vw,68px);max-width:10ch}
  .cronulla-article .article-deck{font-size:22px}
  .cronulla-article .article-hero figcaption{display:block;font-size:11px}
  .cronulla-article .article-hero figcaption span{display:block;margin-top:5px}
  .story-section,.photo-interlude,.film-grid,.story-wrapup,.experience-reading{grid-template-columns:1fr;gap:28px}
  #gunnamatta-title{font-size:clamp(30px,9.5vw,43px)}
  #gunnamatta-title .headline-line{white-space:nowrap}
  .cronulla-article #gallery-title{font-size:clamp(32px,10vw,44px);white-space:nowrap}
  .margin-note{grid-column:auto}
  .place-notes,.reader-sidebar .place-notes{grid-template-columns:1fr}
  .story-copy p,.longform-body p,.wrapup-copy p,.food-story p{font-size:20px;line-height:1.7}
  .story-copy .story-lead,.longform-body p.continuation-lead,.food-story p.food-lead{font-size:23px;line-height:1.6}
  .longform-grid{margin-inline:20px;padding-block:42px;gap:36px}
  .wrapup-photo{max-width:320px}
  .food-opening{padding-block:32px;gap:28px}
  .food-opening h1{font-size:clamp(52px,13vw,68px);line-height:1.02}
  .food-deck{font-size:22px;line-height:1.55}
  .food-contents,.story-index{gap:0 20px;padding-block:18px}
  .food-contents a,.story-index a{font-size:13px}
  .food-contents,.story-index{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}
  .food-contents .contents-desktop-label{display:none}
  .food-contents .contents-mobile-label{display:inline}
  .food-contents>.eyebrow,.story-index>.eyebrow{margin-right:0;margin-bottom:12px}
  .food-contents a,.story-index a{width:100%;min-height:44px;padding-block:6px;font-size:15px}
  .food-contents a>span,.story-index a>span{width:24px;flex-shrink:0;margin-right:12px}
  .food-reading{grid-template-columns:1fr;gap:36px;padding-block:42px}
  .food-side{max-width:none}
  .food-side{grid-template-columns:1fr;gap:32px}
  .food-side p,.visit-note dt,.visit-note dd{font-size:14px}
  .sue-note img{max-width:none;aspect-ratio:1.5}
  .plate-heading{grid-template-columns:1fr;gap:20px}
  .dish-stories{grid-template-columns:1fr;gap:36px}
  .dish-stories h3{min-height:0;font-size:34px;margin:20px 0 16px}
  .experience-reading{padding-block:42px}
  .experience-portrait{max-width:320px}
  .food-film{grid-template-columns:1fr;gap:26px;padding:30px 20px}
  .food-film h2{font-size:46px}
  .food-film p{font-size:20px}
  .film-poster figcaption{left:16px;bottom:16px;right:16px}
  .film-poster figcaption strong{font-size:30px}
  .film-play{width:60px;height:60px}
  .film-play svg{width:25px;height:25px}
  .film-availability{inset:0;padding:18px;display:flex;align-items:center;font-size:14px;background:var(--paper)}
  .film-availability[hidden]{display:none}
  .food-verdict{margin-inline:20px;width:auto;padding-block:42px 32px}
  .verdict-heading{display:block;margin-bottom:18px}
  .verdict-heading h2{font-size:46px}
  .verdict-preview{margin:0 0 8px}
  .verdict-columns{grid-template-columns:1fr;gap:28px}
  .verdict-ratings th{font-size:23px;max-width:none}
  .verdict-ratings th small{font-size:14px;line-height:1.6}
  .verdict-ratings td{font-size:34px;padding-left:6px}
  .verdict-details{padding-block:0;gap:24px}
  .verdict-details dt{font-size:26px}
  .verdict-details dd{font-size:16px}
  .return-verdict{margin-top:30px}
  .return-verdict p{max-width:100%;font-size:20px}
  .gallery-heading{align-items:start;flex-direction:column;gap:20px}
  .gallery-controls{align-self:start}
  .gallery-position{margin-right:8px}
  .gallery-track,.food-article .gallery-track{grid-auto-columns:86%;gap:18px}
  .gallery-photo img{height:auto;aspect-ratio:3/2}
  .gallery-track{touch-action:pan-x pan-y pinch-zoom}
  .gallery-track:focus-visible{outline:2px solid var(--red);outline-offset:5px}
  .gallery-track figcaption{font-size:12px}
  .photo-viewer{padding:70px 20px 96px;height:100dvh}
  .photo-viewer img{max-height:calc(100dvh - 220px)}
  .viewer-toolbar{left:20px;right:20px}
  .viewer-arrow{top:auto;bottom:max(20px,env(safe-area-inset-bottom));transform:none;width:48px;height:48px}
  .viewer-back{left:calc(50% - 62px)}
  .viewer-forward{right:calc(50% - 62px)}
}

.food-marquee.is-touch-paused .food-track{animation-play-state:paused}
@media(max-width:400px){
  .film-poster figcaption .eyebrow{display:none}
  .film-poster figcaption strong{font-size:24px;margin-top:0}
  .film-poster .film-play{top:40%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.food-track{animation:none}}
