@import url('./brand-assets.css');

/* Grow Farmers — opening typography system */
:root{
  --container:1440px;
  --max:1440px;
  --gut:24px;
  --header-height:88px;
  --fs-display:clamp(32px,2.75vw,40px);
  --fs-h1:clamp(30px,2.5vw,38px);
  --fs-h2:clamp(23px,1.8vw,29px);
  --fs-h3:clamp(18px,1.3vw,21px);
  --fs-body-lg:17px;
  --fs-body:15.5px;
  --fs-body-sm:14px;
  --fs-label:11.5px;
  --fs-meta:11px;
  --section-xl:92px;
  --section-lg:76px;
  --section-md:56px;
  --radius:12px;
  --radius-sm:8px;
}

html{scroll-padding-top:calc(var(--header-height) + 24px)}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:var(--fs-body);
  font-weight:400;
  line-height:1.7;
  letter-spacing:-.018em;
  word-break:keep-all;
  text-align:left;
}
.shell{width:min(calc(100% - 48px),var(--container));margin-inline:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid #ecefed;box-shadow:none;backdrop-filter:blur(18px)}
.header-inner{height:var(--header-height)!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important}
.brand{width:158px!important;height:29px!important}
.desktop-nav{gap:22px!important;font-size:13px!important;font-weight:500;letter-spacing:.025em;white-space:nowrap}
.desktop-nav a[aria-current="page"]{font-weight:650}
.header-actions{gap:10px!important}
.cta{min-height:42px!important;padding:0 18px!important;border-radius:999px;font-size:12.5px!important;font-weight:600;letter-spacing:.025em}
.button{min-height:44px;padding:0 18px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.015em;box-shadow:none}
.mobile-menu{top:var(--header-height)!important}

/* Global alignment — public pages use one left edge */
main,main .shell,main section,main article,main .section-head,main .page-banner,main .page-hero,
main h1,main h2,main h3,main h4,main p,main li,main figcaption,main .eyebrow,
main .intro-split,main .media-panel,main .feature-card,main .project-info,main .process-row,
main .contact-panel,main .form-card,main .farm-register-copy{text-align:left!important}
main .section-head{align-items:flex-start!important}
main .section-head>div,main .section-head>p{justify-self:start}

/* Type hierarchy */
.eyebrow{margin:0 0 16px;font-size:var(--fs-label)!important;font-weight:650!important;line-height:1.4!important;letter-spacing:.11em!important;color:#66746e}
main h1{font-size:var(--fs-h1)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.038em!important}
main h2{font-size:var(--fs-h2)!important;font-weight:520!important;line-height:1.38!important;letter-spacing:-.032em!important}
main h3{font-size:var(--fs-h3)!important;font-weight:540!important;line-height:1.45!important;letter-spacing:-.024em!important}
.home-hero h1,.page-hero h1,.service-hero-copy h1{font-size:var(--fs-display)!important;font-weight:500!important;line-height:1.18!important;letter-spacing:-.04em!important;max-width:760px!important}
.page-banner h1,.contact-panel h1{font-size:var(--fs-h1)!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.038em!important;max-width:760px!important}
.section-title,.intro-split .statement,.farm-register-copy h2,.media-panel .text h2,.flow-head h2,.capability-intro h2,.service-cta-inner h2,.service-role-copy h2{font-size:var(--fs-h2)!important;font-weight:520!important;line-height:1.38!important;letter-spacing:-.032em!important}
.feature-card h3,.process-row h3,.project-info h3,.flow-card h3,.capability-row h3{font-size:var(--fs-h3)!important;font-weight:540!important;line-height:1.45!important;letter-spacing:-.024em!important}
main p,main li{font-size:var(--fs-body);line-height:1.72}
.page-hero p.lead,.page-banner p,.section-head>p,.intro-split .copy,.contact-panel p,.farm-register-copy p,.service-hero-copy>p{font-size:var(--fs-body)!important;line-height:1.74!important}
figcaption{font-size:var(--fs-meta)!important;line-height:1.55!important;letter-spacing:.06em!important}

/* Page rhythm */
.page-hero{padding:108px 0 82px}
.page-banner{padding:102px 0 78px}
.page-banner p{max-width:680px;margin:22px 0 0;color:var(--muted)}
.section{padding:var(--section-xl) 0}
.section-head{margin-bottom:44px;gap:44px}
.section-head>p{max-width:520px;margin:0;color:var(--muted)}
.soft-band{background:#f7f8f7}
.intro-split{grid-template-columns:200px minmax(0,1fr);gap:clamp(44px,6vw,104px)}

/* Cards and lists */
.feature-grid{gap:18px}
.feature-card{min-height:0;border:1px solid #e7ebe8;border-radius:var(--radius);box-shadow:none;background:#fff}
.feature-copy{padding:26px 28px}
.feature-card .num{width:auto;height:auto;border-radius:0;background:none!important;color:#66736d!important;font-size:var(--fs-label)!important;font-weight:600;letter-spacing:.08em;display:block}
.feature-card h3{margin:30px 0 12px}
.feature-card p{margin:0;color:var(--muted);font-size:var(--fs-body-sm)!important;line-height:1.7}
.feature-card:nth-child(even){background:#fff;color:var(--ink);border-color:#e7ebe8}
.feature-card:nth-child(even) p{color:var(--muted)}

.preview-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 22px}
.project-card{border:0;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
.project-thumb{aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#f1f4f2}
.project-info{padding:16px 0 0}
.project-info h3{margin:0}
.project-info p{margin:8px 0 0;color:var(--muted);font-size:var(--fs-body-sm)!important;line-height:1.65}
.project-tags{margin-top:11px}
.project-tags span{padding:0;background:none;border-radius:0;color:#71807a;font-size:var(--fs-meta)!important;letter-spacing:.05em}
.portfolio-toolbar{padding:16px 0;margin-bottom:34px;border-block:1px solid #e7ebe8}
.portfolio-toolbar>div:first-child{font-size:13px;font-weight:500}
.portfolio-toolbar>div:first-child strong{font-size:21px;font-weight:540}
.work-filter button{min-height:34px;padding:0 13px;border-radius:999px;font-size:11.5px;font-weight:550}

.media-panel{grid-template-columns:200px minmax(0,1fr);gap:clamp(44px,6vw,104px);padding:0;border-radius:0;background:transparent;align-items:start}
.media-panel .text{padding:0}
.media-panel .text h2{margin:0 0 20px}
.media-panel img{height:auto;aspect-ratio:16/9;border-radius:var(--radius)}
.process-list{gap:0;border-top:1px solid #e4e9e6}
.process-row{grid-template-columns:60px minmax(200px,260px) 1fr;gap:26px;padding:26px 0;border-radius:0;border-bottom:1px solid #e4e9e6;background:transparent!important;color:var(--ink)!important}
.process-row span{font-size:11.5px;color:#728078!important;letter-spacing:.06em}
.process-row h3{margin:0}
.process-row p{margin:0;color:var(--muted)!important;font-size:var(--fs-body-sm)!important;line-height:1.7}

/* Forms */
.farm-register-layout,.contact-layout{gap:22px}
.farm-register-copy,.contact-panel,.form-card{border-radius:var(--radius);box-shadow:none}
.farm-register-copy,.contact-panel{padding:34px;background:#f7f8f7;color:var(--ink);border:1px solid #e5e9e6}
.farm-register-copy .eyebrow,.contact-panel .eyebrow{color:#60706a}
.farm-register-copy p,.contact-panel p{color:var(--muted)}
.form-card{padding:32px;border:1px solid #e5e9e6}
.field{font-size:13px!important;font-weight:550!important;line-height:1.45}
.field input,.field textarea,.field select{border-radius:var(--radius-sm);font-size:15px!important;line-height:1.5;text-align:left}
.field small{font-size:11.5px!important;line-height:1.55}
.check-grid label{border-radius:var(--radius-sm);font-size:13px}
.info-item{border-radius:var(--radius-sm);background:#fff;border:1px solid #e3e8e5}
.info-item strong{color:var(--ink);font-weight:600}.info-item span{color:var(--muted)}

/* Footer */
.site-footer{margin-top:0}
.footer-inner{width:min(calc(100% - 48px),var(--container));padding:56px 0 62px;grid-template-columns:200px 1fr auto;gap:48px}
.footer-info,.footer-links{font-size:12.5px;line-height:1.75;text-align:left}

@media(max-width:1180px){
  .header-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
  .brand{grid-column:1!important;justify-self:start!important;min-width:0}
  .desktop-nav{display:none!important}
  .header-actions{grid-column:2!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:0!important;width:auto!important}
  .header-actions>.cta{display:none!important}
  .menu-button{display:block!important;justify-self:end!important;margin:0!important;width:42px!important;height:42px!important;padding:9px!important}
  .menu-button span{width:100%;margin:7px 0}
}

@media(max-width:760px){
  :root{--header-height:76px;--section-xl:68px;--section-lg:60px;--section-md:50px;--fs-body:15px;--fs-body-sm:13.5px}
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px;line-height:1.68}
  .shell{width:min(calc(100% - 32px),var(--container))}
  .header-inner{height:var(--header-height)!important;width:min(calc(100% - 32px),var(--container))!important}
  .brand{width:145px!important;height:27px!important}
  .mobile-menu{top:var(--header-height)!important;left:0;right:0;width:100%;max-height:calc(100dvh - var(--header-height));overflow-y:auto;padding:24px 16px 28px;gap:17px;font-size:16px;font-weight:500}
  .page-hero{padding:76px 0 60px}
  .page-banner{padding:74px 0 58px}
  main h1{font-size:clamp(27px,7.8vw,34px)!important}
  main h2{font-size:clamp(22px,6.5vw,27px)!important}
  main h3{font-size:clamp(18px,5.2vw,21px)!important}
  .page-hero h1,.home-hero h1,.service-hero-copy h1{font-size:clamp(29px,8.1vw,36px)!important;line-height:1.18!important}
  .page-banner h1,.contact-panel h1{font-size:clamp(27px,7.8vw,34px)!important;line-height:1.2!important}
  .section-title,.intro-split .statement,.farm-register-copy h2,.media-panel .text h2,.flow-head h2,.capability-intro h2,.service-cta-inner h2,.service-role-copy h2{font-size:clamp(22px,6.5vw,27px)!important;line-height:1.38!important}
  .eyebrow{font-size:11px!important;margin-bottom:14px}
  .page-banner p,.page-hero p.lead,.section-head>p,.intro-split .copy{font-size:15px!important}
  .section{padding:68px 0}
  .section-head{display:block;margin-bottom:32px}
  .section-head>p{margin-top:16px}
  .intro-split,.media-panel{grid-template-columns:1fr;gap:28px}
  .preview-grid,.project-grid{grid-template-columns:1fr;gap:30px}
  .project-thumb{aspect-ratio:16/9}
  .process-row{grid-template-columns:40px minmax(0,1fr);gap:10px 14px;padding:20px 0}
  .process-row p{grid-column:2}
  .feature-grid{grid-template-columns:1fr}
  .feature-copy{padding:22px}
  .feature-card h3{margin-top:22px}
  .farm-register-layout,.contact-layout{grid-template-columns:1fr;min-width:0}
  .farm-register-copy,.contact-panel,.form-card{padding:24px 20px;min-width:0}
  .form-grid,.check-grid{grid-template-columns:1fr}
  .field input,.field textarea,.field select{min-width:0;max-width:100%}
  .footer-inner{width:min(calc(100% - 32px),var(--container));grid-template-columns:1fr;padding:44px 0;gap:26px}
  .footer-links{justify-content:flex-start}
}
