/* ==========================================================================
   PEACEFUL PASTURE — pc- prefix stylesheet
   Design concept: Cutout Layers (duotone: ink teal + clay terracotta)
   ========================================================================== */


:root{
  --pc-ink: #173F3F;
  --pc-ink-2: #0E2B2B;
  --pc-ink-light: #1F4E4E;
  --pc-clay: #C1552F;
  --pc-clay-dark: #9A4526;
  --pc-clay-light: #E08A61;
  --pc-cream: #F5EEE1;
  --pc-cream-dark: #EAE0CC;
  --pc-tint: #EFE6D6;
  --pc-charcoal: #221F1B;
  --pc-white: #FBF8F2;

  --pc-radius-sm: 8px;
  --pc-radius-md: 16px;
  --pc-radius-lg: 28px;
  --pc-radius-xl: 48px;

  --pc-shadow-sm: 0 2px 8px rgba(23,63,63,0.08);
  --pc-shadow-md: 0 8px 24px rgba(23,63,63,0.12), 0 2px 6px rgba(23,63,63,0.08);
  --pc-shadow-lg: 0 24px 60px rgba(23,63,63,0.18), 0 8px 20px rgba(23,63,63,0.1);

  --pc-font-head: 'Playfair Display', serif;
  --pc-font-body: 'Plus Jakarta Sans', sans-serif;

  --pc-transition: 0.35s cubic-bezier(.2,.8,.2,1);
}


*,*::before,*::after{ box-sizing: border-box; margin:0; padding:0; }
html{ scroll-behavior: smooth; }
body{
  font-family: var(--pc-font-body);
  color: var(--pc-charcoal);
  background: var(--pc-cream);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
button{ font-family: inherit; cursor:pointer; border:none; background:none; }
ul{ list-style:none; }
h1,h2,h3,h4{ font-family: var(--pc-font-head); font-weight:700; line-height:1.15; color: var(--pc-ink); }

.pc-container{ max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }


.pc-eyebrow{
  display:inline-block; text-transform: uppercase; letter-spacing: 0.14em;
  font-size: 0.78rem; font-weight:600; color: var(--pc-clay); margin-bottom: 1rem;
}
.pc-eyebrow--light{ color: var(--pc-clay-light); }
.pc-h2{ font-size: clamp(1.8rem, 3.2vw, 2.6rem); margin-bottom: 1rem; }
.pc-h2--light{ color: var(--pc-white); }
.pc-section-head{ max-width: 700px; margin-bottom: 3rem; }
.pc-section-head__desc{ color:#4b5754; font-size:1.05rem; }
.pc-section-head__desc--light{ color: #cfe0dd; }


.pc-section{ padding: 6rem 0; position: relative; }
.pc-section--cream{ background: var(--pc-cream); }
.pc-section--tint{ background: var(--pc-tint); }
.pc-section--ink{ background: var(--pc-ink); }
.pc-section--clay{ background: linear-gradient(135deg, var(--pc-clay), var(--pc-clay-dark)); }


.pc-nav{
  position: fixed; top:0; left:0; right:0; z-index:200;
  transition: background var(--pc-transition), box-shadow var(--pc-transition), color var(--pc-transition);
  padding: 0.6rem 0;
}
.pc-nav__inner{
  max-width: 1240px; margin:0 auto; padding: 0.6rem 1.5rem;
  display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:1rem;
}
.pc-nav__links{ display:flex; gap:2rem; align-items:center; }
.pc-nav__links--left{ justify-content:flex-end; }
.pc-nav__links--right{ justify-content:flex-start; }
.pc-nav__link{
  font-size: 0.92rem; font-weight: 600; position: relative; padding: 0.3rem 0;
  color: inherit; transition: color var(--pc-transition), opacity var(--pc-transition);
  white-space: nowrap;
}
.pc-nav__link::after{
  content:''; position:absolute; left:0; bottom:-2px; height:2px; width:0;
  background: var(--pc-clay); transition: width var(--pc-transition);
}
.pc-nav__link:hover::after, .pc-nav__link.is-active::after{ width:100%; }
.pc-nav__logo{
  display:flex; align-items:center; gap:0.6rem; font-family: var(--pc-font-head);
  font-weight:700; font-size:1.15rem; justify-self:center;
}
.pc-nav[data-theme="dark"]{ color: var(--pc-white); }
.pc-nav[data-theme="light"]{ color: var(--pc-ink); }
.pc-nav[data-theme="light"] .pc-nav__link.is-active::after{ background: var(--pc-clay); }

.pc-nav__burger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; z-index: 210;
}
.pc-nav__burger span{
  display:block; height:2px; width:26px; background: currentColor; border-radius:2px;
  transition: transform var(--pc-transition), opacity var(--pc-transition);
}
.pc-nav__burger.is-open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.pc-nav__burger.is-open span:nth-child(2){ opacity:0; }
.pc-nav__burger.is-open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }


.pc-mobile-menu{
  position: fixed; inset:0; background: var(--pc-ink); z-index:190;
  clip-path: polygon(100% 0%, 100% 0%, 100% 0%, 100% 0%);
  transition: clip-path 0.65s cubic-bezier(.77,0,.18,1);
  display:flex; align-items:center; justify-content:center;
}
.pc-mobile-menu.is-open{ clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
.pc-mobile-menu__links{
  display:flex; flex-direction:column; gap:1.8rem; text-align:center;
  opacity:0; transform: translateY(20px); transition: opacity 0.4s ease 0.15s, transform 0.4s ease 0.15s;
}
.pc-mobile-menu.is-open .pc-mobile-menu__links{ opacity:1; transform:none; }
.pc-mobile-menu__links a{
  font-family: var(--pc-font-head); font-size: 1.6rem; color: var(--pc-white);
  font-weight:600; transition: color var(--pc-transition);
}
.pc-mobile-menu__links a:hover{ color: var(--pc-clay-light); }


.pc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  padding: 0.9rem 1.8rem; border-radius: var(--pc-radius-md);
  font-weight:600; font-size:0.95rem; transition: transform var(--pc-transition), box-shadow var(--pc-transition), background var(--pc-transition), color var(--pc-transition);
  min-height:44px;
}
.pc-btn--clay{ background: var(--pc-clay); color: var(--pc-white); box-shadow: var(--pc-shadow-sm); }
.pc-btn--clay:hover{ background: var(--pc-clay-dark); transform: translateY(-2px); box-shadow: var(--pc-shadow-md); }
.pc-btn--dark{ background: var(--pc-ink); color: var(--pc-white); }
.pc-btn--dark:hover{ background: var(--pc-ink-2); transform: translateY(-2px); box-shadow: var(--pc-shadow-md); }
.pc-btn--outline-light{ border: 2px solid rgba(251,248,242,0.6); color: var(--pc-white); }
.pc-btn--outline-light:hover{ background: rgba(251,248,242,0.12); transform: translateY(-2px); }
.pc-btn--outline-dark{ border: 2px solid var(--pc-ink); color: var(--pc-ink); }
.pc-btn--outline-dark:hover{ background: var(--pc-ink); color: var(--pc-white); }
.pc-btn--sm{ padding: 0.55rem 1.1rem; font-size:0.82rem; }

.pc-link-arrow{
  display:inline-flex; align-items:center; gap:0.5rem; font-weight:600; color: var(--pc-clay);
  transition: gap var(--pc-transition);
}
.pc-link-arrow:hover{ gap:0.9rem; }


.pc-hero{
  position: relative; min-height: 100vh; display:flex; align-items:center;
  overflow:hidden; background: var(--pc-ink-2);
}
.pc-hero__bgimg{
  position:absolute; inset:0; background-size:cover; background-position: center;
  filter: saturate(0.9);
}
.pc-hero__overlay{
  position:absolute; inset:0; background: linear-gradient(160deg, var(--pc-ink) 10%, var(--pc-ink-2) 90%);
  mask-image: radial-gradient(circle at 80% 42%, transparent 0 200px, black 202px);
  -webkit-mask-image: radial-gradient(circle at 80% 42%, transparent 0 200px, black 202px);
}
.pc-hero__ring{
  position:absolute; top:42%; left:80%; width:420px; height:420px;
  transform: translate(-50%,-50%);
  border: 3px solid var(--pc-clay); border-radius:50%;
  opacity:0.85;
}
.pc-hero__content{
  position:relative; z-index:5; max-width: 660px; padding: 0 1.5rem 0 4vw;
}
.pc-hero__title{
  font-size: clamp(2.4rem, 5.6vw, 4.2rem); color: var(--pc-white); margin-bottom:1.4rem;
}
.pc-hero__subtitle{
  color: #d9e4e1; font-size: clamp(1rem, 1.4vw, 1.15rem); max-width: 540px; margin-bottom: 2.4rem;
}
.pc-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; }
.pc-hero__scrollcue{
  position:absolute; bottom: 2.2rem; left:50%; transform: translateX(-50%);
  width: 26px; height: 42px; border: 2px solid rgba(251,248,242,0.5); border-radius: 20px;
}
.pc-hero__scrollcue span{
  display:block; width:4px; height:8px; background: var(--pc-clay-light); border-radius:2px;
  margin: 7px auto 0; animation: pc-scroll-bounce 1.8s infinite;
}
@keyframes pc-scroll-bounce{
  0%{ transform: translateY(0); opacity:1; }
  70%{ transform: translateY(14px); opacity:0; }
  100%{ opacity:0; }
}


.pc-intro{ text-align:center; }
.pc-intro__text{ max-width:820px; margin:0 auto 2.5rem; font-size:1.1rem; color:#3d4744; }
.pc-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.pc-chip{
  display:inline-flex; align-items:center; gap:0.6rem; background: var(--pc-white);
  border:1px solid var(--pc-cream-dark); padding: 0.7rem 1.3rem; border-radius: 999px;
  font-weight:600; font-size:0.92rem; box-shadow: var(--pc-shadow-sm);
  transition: transform var(--pc-transition), box-shadow var(--pc-transition);
}
.pc-chip:hover{ transform: translateY(-3px); box-shadow: var(--pc-shadow-md); }
.pc-chip i{ color: var(--pc-clay); }


.pc-feature-row{
  display:grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items:center;
  margin-bottom: 5rem;
}
.pc-feature-row:last-child{ margin-bottom:0; }
.pc-feature-row--reverse .pc-feature-row__media{ order:2; }
.pc-feature-row--reverse .pc-feature-row__text{ order:1; }
.pc-feature-row__media img{ width:100%; height: 340px; object-fit: cover; }
.pc-feature-row__num{
  display:inline-block; font-family: var(--pc-font-head); font-size:1rem; font-weight:700;
  color: var(--pc-clay); letter-spacing:0.1em; margin-bottom:0.6rem;
}
.pc-feature-row__text h3{ font-size: 1.5rem; margin-bottom:0.9rem; }
.pc-feature-row__text p{ color:#454f4c; }


.pc-blob{ overflow:hidden; box-shadow: var(--pc-shadow-lg); }
.pc-blob--1{ border-radius: 42% 58% 65% 35% / 45% 40% 60% 55%; }
.pc-blob--2{ border-radius: 60% 40% 35% 65% / 55% 60% 40% 45%; }
.pc-blob--3{ border-radius: 35% 65% 55% 45% / 60% 35% 65% 40%; }
.pc-blob--4{ border-radius: 55% 45% 40% 60% / 40% 55% 45% 60%; }


.pc-accordion{ max-width: 880px; margin: 0 auto; }
.pc-accordion__item{
  background: rgba(251,248,242,0.04); border: 1px solid rgba(251,248,242,0.15);
  border-radius: var(--pc-radius-md); margin-bottom: 1rem; overflow:hidden;
  transition: border-color var(--pc-transition);
}
.pc-accordion__item.is-open{ border-color: var(--pc-clay); }
.pc-accordion__trigger{
  width:100%; display:flex; align-items:center; gap:1rem; padding: 1.3rem 1.6rem;
  color: var(--pc-white); text-align:left;
}
.pc-accordion__icon{
  width:42px; height:42px; border-radius:50%; background: var(--pc-clay);
  display:flex; align-items:center; justify-content:center; color: var(--pc-white); flex-shrink:0;
}
.pc-accordion__title{ flex:1; font-weight:600; font-size:1.05rem; }
.pc-accordion__chevron{ transition: transform var(--pc-transition); color: var(--pc-clay-light); }
.pc-accordion__item.is-open .pc-accordion__chevron{ transform: rotate(180deg); }
.pc-accordion__panel{
  max-height:0; overflow:hidden; transition: max-height var(--pc-transition), padding var(--pc-transition);
  padding: 0 1.6rem;
}
.pc-accordion__item.is-open .pc-accordion__panel{ max-height: 300px; padding: 0 1.6rem 1.6rem; }
.pc-accordion__panel p{ color:#cfe0dd; }


.pc-where{ text-align:center; }
.pc-province-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:0.9rem; }
.pc-province{
  padding: 0.75rem 1.4rem; background: var(--pc-white); border-radius: var(--pc-radius-sm);
  font-weight:600; box-shadow: var(--pc-shadow-sm); border: 1px solid var(--pc-cream-dark);
  transition: transform var(--pc-transition), background var(--pc-transition), color var(--pc-transition);
}
.pc-province:hover{ background: var(--pc-ink); color: var(--pc-white); transform: translateY(-3px); }


.pc-closing, .pc-two-col{
  display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 3.5rem; align-items:center;
}
.pc-two-col--reverse{ grid-template-columns: 1.1fr 0.9fr; }
.pc-two-col--reverse .pc-two-col__media{ order:2; }
.pc-two-col--reverse .pc-two-col__text{ order:1; }
.pc-closing__media img, .pc-two-col__media img{ width:100%; height:380px; object-fit:cover; }
.pc-closing__text p, .pc-two-col__text p{ color:#454f4c; margin-bottom:1.2rem; }


.pc-cta-banner{ text-align:center; }
.pc-cta-banner__desc{ color:#f6e3d8; max-width:600px; margin: 0 auto 2rem; font-size:1.05rem; }


.pc-footer{ background: var(--pc-ink-2); color: #cfe0dd; padding-top: 4.5rem; position:relative; }
.pc-footer__grid{
  display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2.5rem; padding-bottom: 3rem;
  border-bottom: 1px solid rgba(251,248,242,0.1);
}
.pc-footer__col h4{ color: var(--pc-white); font-family: var(--pc-font-body); font-size:1rem; margin-bottom:1.1rem; }
.pc-footer__col a{ display:block; margin-bottom:0.7rem; transition: color var(--pc-transition); }
.pc-footer__col a:hover{ color: var(--pc-clay-light); }
.pc-footer__col p{ margin-bottom:0.6rem; font-size:0.92rem; }
.pc-footer__logo{ display:flex; align-items:center; gap:0.6rem; font-family: var(--pc-font-head); font-size:1.2rem; color: var(--pc-white); margin-bottom:1rem; }
.pc-footer__bottom{ text-align:center; padding: 1.6rem 0; font-size:0.85rem; color:#7f938e; }

.pc-back-to-top{
  position: fixed; bottom: 2rem; right: 2rem; width:52px; height:52px; border-radius:50%;
  background: var(--pc-clay); color: var(--pc-white); display:flex; align-items:center; justify-content:center;
  box-shadow: var(--pc-shadow-lg); opacity:0; visibility:hidden; transform: translateY(20px);
  transition: opacity var(--pc-transition), transform var(--pc-transition), background var(--pc-transition), visibility var(--pc-transition);
  z-index:150;
}
.pc-back-to-top.is-visible{ opacity:1; visibility:visible; transform:none; }
.pc-back-to-top:hover{ background: var(--pc-clay-dark); transform: translateY(-4px); }


.pc-reveal{ opacity:0; transform: translateY(40px); transition: opacity 0.9s ease, transform 0.9s ease; }
.pc-reveal.is-visible{ opacity:1; transform:none; }


.pc-page-hero{
  position:relative; padding: 9rem 0 5rem; background: var(--pc-ink);
  color: var(--pc-white);
}
.pc-page-hero--sm{ padding: 9rem 0 4rem; }
.pc-page-hero__title{ font-size: clamp(2rem, 4.4vw, 3.2rem); color: var(--pc-white); margin-bottom:1rem; }
.pc-page-hero__desc{ color:#d9e4e1; max-width:680px; font-size:1.05rem; }
.pc-page-hero__cut{
  position:absolute; bottom:-1px; left:0; right:0; height:70px; background: var(--pc-cream);
  clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 60%);
}


.pc-article{ max-width: 880px; margin:0 auto; }
.pc-article__block{ margin-bottom: 3rem; padding-bottom:3rem; border-bottom: 1px solid var(--pc-cream-dark); }
.pc-article__block:last-child{ border-bottom:none; }
.pc-article__num{
  display:inline-block; font-family: var(--pc-font-head); color: var(--pc-clay);
  font-size:1rem; font-weight:700; margin-bottom:0.5rem; letter-spacing:0.08em;
}
.pc-article__block h2{ margin-bottom:1rem; font-size:1.5rem; }
.pc-article__block p{ color:#454f4c; }


.pc-num-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:1.6rem; }
.pc-num-card{
  background: var(--pc-white); border-radius: var(--pc-radius-md); padding: 1.8rem;
  box-shadow: var(--pc-shadow-sm); transition: transform var(--pc-transition), box-shadow var(--pc-transition);
}
.pc-num-card:hover{ transform: translateY(-6px); box-shadow: var(--pc-shadow-md); }
.pc-num-card__num{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  border-radius:50%; background: var(--pc-ink); color: var(--pc-white); font-family: var(--pc-font-head);
  font-weight:700; margin-bottom:1rem;
}
.pc-num-card h3{ font-size:1.15rem; margin-bottom:0.6rem; }
.pc-num-card p{ color:#454f4c; font-size:0.94rem; }


.pc-table-wrap{ overflow-x:auto; border-radius: var(--pc-radius-md); box-shadow: var(--pc-shadow-sm); }
.pc-table{ width:100%; border-collapse:collapse; background: var(--pc-white); min-width:600px; }
.pc-table th, .pc-table td{ padding: 1rem 1.3rem; text-align:left; font-size:0.95rem; }
.pc-table thead{ background: var(--pc-ink); color: var(--pc-white); }
.pc-table tbody tr:nth-child(even){ background: var(--pc-cream); }
.pc-table tbody tr{ transition: background var(--pc-transition); }
.pc-table tbody tr:hover{ background: var(--pc-tint); }
.pc-table-note{ margin-top:1.5rem; color:#5b655f; font-size:0.92rem; }


.pc-hours{ width:100%; border-collapse:collapse; }
.pc-hours td{ padding: 0.75rem 0; border-bottom: 1px solid var(--pc-cream-dark); font-size:0.95rem; }
.pc-hours td:first-child{ font-weight:600; }


.pc-contact-form{
  background: var(--pc-white); border-radius: var(--pc-radius-lg); padding: 2.2rem;
  box-shadow: var(--pc-shadow-md); max-width: 1100px; margin:0 auto;
}
.pc-contact-form__row{ display:grid; grid-template-columns: 1fr 1fr 1.4fr; gap:1.2rem; }
.pc-contact-form__row--bottom{
  grid-template-columns: 1fr auto; align-items:center; margin-top:1.4rem;
}
.pc-field{ display:flex; flex-direction:column; gap:0.4rem; }
.pc-field label{ font-size:0.85rem; font-weight:600; color: var(--pc-ink); }
.pc-field input, .pc-field textarea{
  border: 1.5px solid var(--pc-cream-dark); border-radius: var(--pc-radius-sm); padding: 0.75rem 1rem;
  font-family: inherit; font-size:0.95rem; resize:none; transition: border-color var(--pc-transition), box-shadow var(--pc-transition);
}
.pc-field input:focus, .pc-field textarea:focus{
  outline:none; border-color: var(--pc-clay); box-shadow: 0 0 0 3px rgba(193,85,47,0.15);
}
.pc-checkbox{ display:flex; align-items:center; gap:0.6rem; font-size:0.88rem; color:#4b5754; }
.pc-checkbox input{ width:20px; height:20px; accent-color: var(--pc-clay); flex-shrink:0; }
.pc-form-msg{ margin-top:1rem; font-size:0.9rem; color: var(--pc-clay-dark); font-weight:600; min-height:1.2rem; }


.pc-map-wrap{ border-radius: var(--pc-radius-md); overflow:hidden; box-shadow: var(--pc-shadow-md); margin-top:2rem; }


.pc-timeline{ position:relative; max-width: 900px; margin:0 auto; padding-left: 2.6rem; }
.pc-timeline::before{
  content:''; position:absolute; left: 8px; top:6px; bottom:6px; width:2px; background: var(--pc-cream-dark);
}
.pc-timeline__item{ position:relative; margin-bottom: 2.6rem; }
.pc-timeline--long .pc-timeline__item{ margin-bottom: 2.8rem; }
.pc-timeline--medium .pc-timeline__item{ margin-bottom: 2.2rem; }
.pc-timeline--compact .pc-timeline__item{ margin-bottom: 1.6rem; }
.pc-timeline__item::before{
  content:''; position:absolute; left:-2.6rem; top:6px; width:16px; height:16px; border-radius:50%;
  background: var(--pc-clay); border: 3px solid var(--pc-cream); box-shadow: 0 0 0 2px var(--pc-clay);
}
.pc-timeline__date{
  font-size:0.78rem; font-weight:700; color: var(--pc-clay); text-transform:uppercase; letter-spacing:0.08em;
  margin-bottom:0.4rem;
}
.pc-timeline__content h2{ font-size:1.3rem; margin-bottom:0.6rem; }
.pc-timeline__content p{ color:#454f4c; }


.pc-legal-doc{ max-width: 880px; margin:0 auto; }
.pc-legal-doc__block{ margin-bottom: 2.4rem; }
.pc-legal-doc__block h2{ font-size:1.3rem; margin-bottom:0.7rem; }
.pc-legal-doc__block p{ color:#454f4c; }


.pc-thanks{
  padding: 10rem 0 6rem; background: var(--pc-ink); text-align:center;
}
.pc-thanks__title{ color: var(--pc-white); font-size: clamp(2rem,4.4vw,3rem); margin-bottom:1rem; }
.pc-thanks__desc{ color:#d9e4e1; max-width:600px; margin:0 auto; }


.pc-cookie-card{
  position: fixed; top: 20px; left: -420px; width: 320px; background: var(--pc-white);
  border-radius: var(--pc-radius-md); box-shadow: var(--pc-shadow-lg); padding: 1.4rem;
  z-index: 500; transition: left 0.6s cubic-bezier(.2,.8,.2,1);
  border: 1px solid var(--pc-cream-dark);
}
.pc-cookie-card.is-visible{ left: 20px; }
.pc-cookie-card__icon{
  width:38px; height:38px; border-radius:50%; background: var(--pc-ink); color: var(--pc-white);
  display:flex; align-items:center; justify-content:center; margin-bottom:0.8rem;
}
.pc-cookie-card__text{ font-size:0.85rem; color:#454f4c; margin-bottom:1rem; line-height:1.5; }
.pc-cookie-card__actions{ display:flex; gap:0.6rem; }

.pc-cookie-modal{
  position: fixed; inset:0; background: rgba(23,63,63,0.55); z-index: 600;
  display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden;
  transition: opacity var(--pc-transition), visibility var(--pc-transition); padding: 1.5rem;
}
.pc-cookie-modal.is-visible{ opacity:1; visibility:visible; }
.pc-cookie-modal__panel{
  background: var(--pc-white); border-radius: var(--pc-radius-lg); padding: 2.2rem; max-width: 520px;
  width:100%; max-height: 85vh; overflow-y:auto; box-shadow: var(--pc-shadow-lg); position:relative;
  transform: translateY(20px); transition: transform var(--pc-transition);
}
.pc-cookie-modal.is-visible .pc-cookie-modal__panel{ transform:none; }
.pc-cookie-modal__panel h3{ margin-bottom:0.8rem; }
.pc-cookie-modal__panel > p{ color:#454f4c; font-size:0.9rem; margin-bottom:1.4rem; }
.pc-cookie-modal__close{
  position:absolute; top:1rem; right:1.2rem; font-size:1.6rem; color: var(--pc-ink); line-height:1;
}
.pc-cookie-cat{ padding: 0.9rem 0; border-bottom: 1px solid var(--pc-cream-dark); }
.pc-cookie-cat:last-of-type{ border-bottom:none; }
.pc-cookie-cat__head{ display:flex; justify-content:space-between; align-items:center; font-weight:600; margin-bottom:0.3rem; }
.pc-cookie-cat__head input{ width:20px; height:20px; accent-color: var(--pc-clay); }
.pc-cookie-cat p{ font-size:0.85rem; color:#5b655f; }
.pc-cookie-modal__actions{ display:flex; gap:0.8rem; margin-top:1.5rem; flex-wrap:wrap; }


@media (max-width: 1024px){
  .pc-feature-row, .pc-closing, .pc-two-col{ grid-template-columns: 1fr; }
  .pc-feature-row--reverse .pc-feature-row__media, .pc-two-col--reverse .pc-two-col__media{ order:1; }
  .pc-feature-row--reverse .pc-feature-row__text, .pc-two-col--reverse .pc-two-col__text{ order:2; }
  .pc-num-grid{ grid-template-columns: repeat(2,1fr); }
  .pc-contact-form__row{ grid-template-columns: 1fr 1fr; }
  .pc-contact-form__row .pc-field--grow{ grid-column: span 2; }
}

@media (max-width: 900px){
  .pc-nav__links{ display:none; }
  .pc-nav__burger{ display:flex; }
  .pc-nav__inner{ grid-template-columns: 1fr auto 1fr; }
  .pc-hero__content{ padding: 0 1.5rem; }
  .pc-hero__ring{ width:280px; height:280px; left:75%; }
  .pc-hero__overlay{ mask-image: radial-gradient(circle at 75% 38%, transparent 0 130px, black 132px); -webkit-mask-image: radial-gradient(circle at 75% 38%, transparent 0 130px, black 132px); }
  .pc-footer__grid{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px){
  .pc-section{ padding: 4rem 0; }
  .pc-num-grid{ grid-template-columns: 1fr; }
  .pc-footer__grid{ grid-template-columns: 1fr; }
  .pc-contact-form__row{ grid-template-columns: 1fr; }
  .pc-contact-form__row .pc-field--grow{ grid-column: span 1; }
  .pc-contact-form__row--bottom{ grid-template-columns:1fr; gap:1rem; }
  .pc-hero__title{ font-size: clamp(2rem, 8vw, 2.6rem); }
  .pc-cookie-card{ width: calc(100vw - 40px); }
  .pc-back-to-top{ right:1.2rem; bottom:1.2rem; }
  .pc-table th, .pc-table td{ padding:0.8rem; font-size:0.85rem; }
}