/* ========================================================================== 
   Maine state directory
   /alpaca-farm/states/maine/maine.css
   Page-specific styles scoped beneath .maine-state-page
   ========================================================================== */

.maine-state-page{
  --maine-pine:#176b5b;
  --maine-pine-dark:#0d4d42;
  --maine-blue:#176f91;
  --maine-blue-dark:#0f506a;
  --maine-sky:#d9f3f5;
  --maine-berry:#7d3d75;
  --maine-coral:#e36e55;
  --maine-sun:#f4bf42;
  --maine-cream:#fff9e9;
  --maine-paper:#fffdf7;
  --maine-ink:#183b3b;
  --maine-line:#c9ded8;
  --wrap:76rem;
  background:#f7fcf8;
  color:var(--maine-ink);
}

.maine-state-page main{
  padding-block:0 5rem;
  overflow:hidden;
}

.maine-state-page .maine-section-kicker{
  margin:0 0 .6rem;
  color:var(--maine-coral);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* --- Maine hero --------------------------------------------------------- */

.maine-state-page .maine-hero{
  position:relative;
  padding:clamp(2rem,5vw,4rem) 0 clamp(4rem,7vw,6.5rem);
  background:linear-gradient(115deg,#dceee9 0%,#eef3e5 56%,#f6edcf 100%);
}

.maine-state-page .maine-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1.35rem;
  background:linear-gradient(90deg,var(--maine-blue) 0 28%,var(--maine-sun) 28% 48%,var(--maine-coral) 48% 70%,var(--maine-pine) 70% 100%);
}

.maine-state-page .maine-hero__frame{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(19rem,.78fr);
  align-items:center;
}

.maine-state-page .maine-hero__image{
  min-height:26rem;
  overflow:hidden;
  border:6px solid rgba(255,255,255,.92);
  border-radius:1.5rem;
  box-shadow:0 22px 52px rgba(15,80,106,.2);
}

.maine-state-page .maine-hero__image img{
  width:100%;
  height:100%;
  min-height:26rem;
  object-fit:cover;
}

.maine-state-page .maine-hero__copy{
  position:relative;
  z-index:2;
  margin-left:-3.25rem;
  padding:clamp(1.75rem,4vw,3.25rem);
  background:rgba(255,253,247,.96);
  border:1px solid rgba(23,107,91,.18);
  border-radius:1.25rem;
  box-shadow:0 20px 45px rgba(24,59,59,.18);
}

.maine-state-page .maine-hero__copy::before{
  content:"";
  position:absolute;
  top:0;
  left:2rem;
  width:5.5rem;
  height:.45rem;
  background:var(--maine-sun);
  border-radius:0 0 .4rem .4rem;
}

.maine-state-page .maine-hero__eyebrow{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 0 1rem;
  color:var(--maine-pine);
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.maine-state-page .maine-hero__eyebrow a{
  color:inherit;
}

.maine-state-page .maine-hero h1{
  max-width:11ch;
  margin-bottom:1rem;
  color:var(--maine-blue-dark);
  font-size:clamp(2.45rem,5.6vw,4.6rem);
  line-height:.98;
}

.maine-state-page .maine-hero__copy > p:last-of-type{
  margin-bottom:1.5rem;
  color:#365d59;
  font-size:1.05rem;
}

.maine-state-page .maine-hero__jump{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.8rem 1rem;
  background:var(--maine-coral);
  border:2px solid var(--maine-coral);
  border-radius:999px;
  color:#fff;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}

.maine-state-page .maine-hero__jump::after{
  content:"↓";
  font-size:1.05rem;
}

.maine-state-page .maine-hero__jump:hover{
  background:#c85640;
  border-color:#c85640;
  color:#fff;
  transform:translateY(-2px);
}

/* --- Directory heading and farm accordion ------------------------------ */

.maine-state-page .maine-directory-section{
  padding-top:clamp(3.5rem,7vw,6rem);
}

.maine-state-page .maine-directory-heading{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(18rem,1.15fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:end;
  max-width:68rem;
  margin-bottom:2rem;
  padding-bottom:1.5rem;
  border-bottom:3px solid var(--maine-sun);
}

.maine-state-page .maine-directory-heading h2{
  margin:0;
  color:var(--maine-pine-dark);
  font-size:clamp(2rem,4vw,3.15rem);
  line-height:1.05;
}

.maine-state-page .maine-directory-heading > p{
  margin:0;
  color:#4c6965;
  font-size:1.02rem;
}

.maine-state-page .directory{
  max-width:68rem;
}

.maine-state-page .farm{
  --farm-accent:var(--maine-blue);
  margin-bottom:.85rem;
  overflow:hidden;
  background:var(--maine-paper);
  border:1px solid #cfe0dc;
  border-left:0;
  border-radius:0 .85rem .85rem 0;
  box-shadow:0 4px 0 rgba(24,59,59,.04);
}

.maine-state-page .farm:nth-child(4n+2){ --farm-accent:var(--maine-coral); }
.maine-state-page .farm:nth-child(4n+3){ --farm-accent:var(--maine-pine); }
.maine-state-page .farm:nth-child(4n+4){ --farm-accent:var(--maine-berry); }

.maine-state-page .farm::before{
  width:6px;
  background:var(--farm-accent);
}

.maine-state-page .farm:hover{
  box-shadow:0 8px 22px rgba(24,59,59,.1);
}

.maine-state-page .farm.is-open{
  transform:none;
  border-color:color-mix(in srgb,var(--farm-accent) 42%,#cfe0dc);
  box-shadow:0 14px 30px rgba(24,59,59,.13);
}

.maine-state-page .farm-trigger{
  min-height:5rem;
  padding:1.15rem 1.25rem 1.15rem 1.5rem;
  background:linear-gradient(90deg,color-mix(in srgb,var(--farm-accent) 9%,#fff) 0%,#fffdf7 68%);
}

.maine-state-page .farm-trigger:hover{
  background:linear-gradient(90deg,color-mix(in srgb,var(--farm-accent) 15%,#fff) 0%,#fffdf7 72%);
}

.maine-state-page .farm-name{
  color:#244c49;
  font-size:1.08rem;
  font-weight:700;
}

.maine-state-page .farm-town{
  padding:.3rem .7rem;
  background:color-mix(in srgb,var(--farm-accent) 12%,#fff);
  border:1px solid color-mix(in srgb,var(--farm-accent) 35%,#fff);
  border-radius:999px;
  color:color-mix(in srgb,var(--farm-accent) 85%,#203b38);
  font-size:.75rem;
  font-weight:700;
}

.maine-state-page .farm-town:empty{
  display:none;
}

.maine-state-page .chev{
  position:relative;
  width:2rem;
  height:2rem;
  background:#fff;
  border:2px solid var(--farm-accent);
  border-radius:50%;
  transform:none;
}

.maine-state-page .chev::before,
.maine-state-page .chev::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:.7rem;
  height:2px;
  background:var(--farm-accent);
  border-radius:2px;
  transform:translate(-50%,-50%);
  transition:opacity .2s ease,transform .2s ease;
}

.maine-state-page .chev::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

.maine-state-page .farm.is-open .chev{
  border-color:var(--farm-accent);
  transform:none;
}

.maine-state-page .farm.is-open .chev::after{
  opacity:0;
}

.maine-state-page .farm-body{
  padding:1.35rem 1.5rem 1.55rem;
  background:color-mix(in srgb,var(--farm-accent) 4%,#fffdf7);
  border-top:1px solid color-mix(in srgb,var(--farm-accent) 28%,#fff);
}

.maine-state-page .farm-body > p{
  max-width:55rem;
  color:#49635f;
  line-height:1.7;
}

.maine-state-page .farm-meta{
  grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));
  gap:.8rem;
  margin-top:1.25rem;
}

.maine-state-page .farm-meta > div{
  padding:.85rem .9rem;
  background:rgba(255,255,255,.78);
  border:1px solid color-mix(in srgb,var(--farm-accent) 16%,#d7e4e0);
  border-radius:.55rem;
}

.maine-state-page .farm-meta dt{
  color:color-mix(in srgb,var(--farm-accent) 82%,#334b47);
  font-weight:700;
}

.maine-state-page .farm-profile-link{
  padding:.65rem .8rem;
  background:var(--farm-accent);
  border-color:var(--farm-accent);
  border-radius:.45rem;
  color:#fff;
}

.maine-state-page .farm-profile-link:hover{
  background:color-mix(in srgb,var(--farm-accent) 82%,#102f2b);
  border-color:color-mix(in srgb,var(--farm-accent) 82%,#102f2b);
  color:#fff;
}

/* --- Maine farm-country section ---------------------------------------- */

.maine-state-page .maine-farm-country{
  margin-top:clamp(4.5rem,8vw,7rem);
}

.maine-state-page .maine-farm-country__intro{
  display:grid;
  grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);
  gap:clamp(2rem,7vw,7rem);
  padding:clamp(2rem,5vw,4.25rem);
  background:var(--maine-pine-dark);
  border-radius:1.35rem 1.35rem 0 0;
  color:#effcf7;
}

.maine-state-page .maine-farm-country__intro .maine-section-kicker{
  color:#ffd76d;
}

.maine-state-page .maine-farm-country__intro h2{
  margin:0;
  color:#fff;
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.08;
}

.maine-state-page .maine-farm-country__copy p{
  color:#d8eee7;
}

.maine-state-page .maine-farm-country__copy p:last-child{
  margin-bottom:0;
}

.maine-state-page .maine-farm-neighbors{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
  border:1px solid #c9e2d9;
  border-top:0;
  border-radius:0 0 1.35rem 1.35rem;
}

.maine-state-page .maine-farm-neighbors article{
  min-width:0;
  padding:1.6rem 1.35rem 1.75rem;
  background:#e4f5ef;
  border-right:1px solid #bcdcd1;
}

.maine-state-page .maine-farm-neighbors article:nth-child(2){ background:#fff1ca; }
.maine-state-page .maine-farm-neighbors article:nth-child(3){ background:#dff1f7; }
.maine-state-page .maine-farm-neighbors article:nth-child(4){ background:#f9e3df; border-right:0; }

.maine-state-page .maine-farm-neighbors span{
  display:inline-block;
  margin-bottom:1rem;
  color:var(--maine-coral);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.12em;
}

.maine-state-page .maine-farm-neighbors h3{
  margin:0 0 .55rem;
  color:var(--maine-pine-dark);
  font-family:var(--font-display);
  font-size:1.25rem;
}

.maine-state-page .maine-farm-neighbors p{
  margin:0;
  color:#45615d;
  font-size:.9rem;
  line-height:1.6;
}

/* --- Native questions accordion ---------------------------------------- */

.maine-state-page .maine-questions{
  display:grid;
  grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);
  gap:clamp(2.5rem,7vw,7rem);
  margin-top:clamp(4.5rem,8vw,7rem);
}

.maine-state-page .maine-questions__heading{
  align-self:start;
  position:relative;
  padding:1.5rem clamp(1.5rem,4vw,3rem) 0 0;
  background:transparent;
  border:0;
  border-top:4px solid var(--maine-sun);
  border-radius:0;
  box-shadow:none;
}

.maine-state-page .maine-questions__heading h2{
  margin:0 0 1rem;
  color:var(--maine-blue-dark);
  font-size:clamp(1.85rem,3vw,2.6rem);
  line-height:1.1;
}

.maine-state-page .maine-questions__heading > p:last-child{
  margin:0;
  color:#52635c;
  font-size:.92rem;
  line-height:1.7;
}

.maine-state-page .maine-questions__list{
  border-top:2px solid var(--maine-pine);
}

.maine-state-page .maine-questions details{
  --question-accent:var(--maine-blue);
  border-bottom:1px solid #bdd8d1;
}

.maine-state-page .maine-questions details:nth-child(2){ --question-accent:var(--maine-coral); }
.maine-state-page .maine-questions details:nth-child(3){ --question-accent:var(--maine-pine); }
.maine-state-page .maine-questions details:nth-child(4){ --question-accent:var(--maine-berry); }
.maine-state-page .maine-questions details:nth-child(5){ --question-accent:#b47b00; }

.maine-state-page .maine-questions summary{
  position:relative;
  padding:1.35rem 3.5rem 1.35rem .9rem;
  color:#244c49;
  font-size:1.02rem;
  font-weight:700;
  line-height:1.4;
  list-style:none;
  cursor:pointer;
}

.maine-state-page .maine-questions summary::-webkit-details-marker{
  display:none;
}

.maine-state-page .maine-questions summary::after{
  content:"+";
  position:absolute;
  top:50%;
  right:.65rem;
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  background:color-mix(in srgb,var(--question-accent) 12%,#fff);
  border:1px solid color-mix(in srgb,var(--question-accent) 45%,#fff);
  border-radius:50%;
  color:var(--question-accent);
  font-size:1.3rem;
  transform:translateY(-50%);
}

.maine-state-page .maine-questions details[open] summary{
  color:var(--question-accent);
}

.maine-state-page .maine-questions details[open] summary::after{
  content:"−";
}

.maine-state-page .maine-questions details > div{
  padding:0 3.5rem 1.4rem .9rem;
}

.maine-state-page .maine-questions details p{
  margin:0;
  color:#526b67;
}

/* --- Closing overview and state finder --------------------------------- */

.maine-state-page .maine-overview{
  display:grid;
  grid-template-columns:minmax(16rem,.72fr) minmax(0,1.28fr);
  column-gap:clamp(2.5rem,8vw,8rem);
  align-items:start;
  margin-top:clamp(4.5rem,8vw,7rem);
  padding-block:clamp(2.5rem,5vw,4rem);
  background:transparent;
  border:0;
  border-top:1px solid var(--maine-line);
  border-bottom:1px solid var(--maine-line);
  border-radius:0;
  box-shadow:none;
}

.maine-state-page .maine-overview::before{
  content:none;
}

.maine-state-page .maine-overview .maine-section-kicker{
  grid-column:1;
  grid-row:1;
}

.maine-state-page .maine-overview h2{
  grid-column:1;
  grid-row:2 / span 2;
  max-width:22ch;
  margin:0;
  color:var(--maine-pine-dark);
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.08;
}

.maine-state-page .maine-overview p:not(.maine-section-kicker){
  grid-column:2;
  max-width:66rem;
  color:#405f5b;
  line-height:1.8;
}

.maine-state-page .maine-overview p:last-child{
  margin-bottom:0;
}

.maine-state-page .maine-overview a{
  color:var(--maine-blue-dark);
  font-weight:700;
}

.maine-state-page .finder-band{
  max-width:42rem;
  margin-top:clamp(4.5rem,8vw,7rem);
  padding:2rem;
  background:#fff;
  border:2px solid #d4e5df;
  border-radius:1rem;
  box-shadow:8px 8px 0 #dff1e9;
}

.maine-state-page .maine-finder-heading{
  margin-bottom:1.25rem;
  color:var(--maine-blue-dark);
}

/* --- Responsive adjustments -------------------------------------------- */

@media (max-width:900px){
  .maine-state-page .maine-hero__frame{
    grid-template-columns:1fr;
  }

  .maine-state-page .maine-hero__image{
    min-height:0;
    border-radius:1.25rem 1.25rem 0 0;
  }

  .maine-state-page .maine-hero__image img{
    min-height:0;
    aspect-ratio:16/9;
  }

  .maine-state-page .maine-hero__copy{
    margin:-1rem 1rem 0;
  }

  .maine-state-page .maine-farm-neighbors{
    grid-template-columns:repeat(2,1fr);
  }

  .maine-state-page .maine-farm-neighbors article:nth-child(2){ border-right:0; }
  .maine-state-page .maine-farm-neighbors article:nth-child(-n+2){ border-bottom:1px solid #bcdcd1; }

  .maine-state-page .maine-questions{
    grid-template-columns:1fr;
  }

  .maine-state-page .maine-questions__heading{
    max-width:38rem;
  }
}

@media (max-width:700px){
  .maine-state-page .maine-directory-heading,
  .maine-state-page .maine-farm-country__intro,
  .maine-state-page .maine-overview{
    grid-template-columns:1fr;
    gap:1.4rem;
  }

  .maine-state-page .maine-overview .maine-section-kicker,
  .maine-state-page .maine-overview h2,
  .maine-state-page .maine-overview p:not(.maine-section-kicker){
    grid-column:1;
    grid-row:auto;
  }

  .maine-state-page .farm-trigger{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.55rem .8rem;
  }

  .maine-state-page .farm-name{
    grid-column:1;
  }

  .maine-state-page .farm-town{
    grid-column:1;
    justify-self:start;
  }

  .maine-state-page .chev{
    grid-column:2;
    grid-row:1 / span 2;
  }
}

@media (max-width:520px){
  .maine-state-page .maine-hero{
    padding-top:1rem;
  }

  .maine-state-page .maine-hero > .wrap{
    padding-inline:.75rem;
  }

  .maine-state-page .maine-hero__copy{
    margin:-.5rem .35rem 0;
    padding:1.5rem;
  }

  .maine-state-page .maine-hero h1{
    font-size:clamp(2.35rem,13vw,3.25rem);
  }

  .maine-state-page .maine-farm-neighbors{
    grid-template-columns:1fr;
  }

  .maine-state-page .maine-farm-neighbors article{
    border-right:0;
    border-bottom:1px solid #bcdcd1;
  }

  .maine-state-page .maine-farm-neighbors article:last-child{
    border-bottom:0;
  }

  .maine-state-page .farm-body{
    padding:1.2rem 1rem 1.35rem;
  }

  .maine-state-page .maine-questions details > div{
    padding-right:.9rem;
  }

  .maine-state-page .finder-band{
    box-shadow:5px 5px 0 #dff1e9;
  }
}

@supports not (color:color-mix(in srgb,#000,#fff)){
  .maine-state-page .farm-trigger,
  .maine-state-page .farm-trigger:hover,
  .maine-state-page .farm-body{
    background:var(--maine-paper);
  }

  .maine-state-page .farm-town{
    background:#eef8f5;
    border-color:#bfd8d1;
    color:var(--farm-accent);
  }

  .maine-state-page .farm-meta > div{
    border-color:#d7e4e0;
  }
}
