*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --fruit-red:#b91c1c;
  --fruit-green:#2d6a4f;
  --fruit-pink:#f4a6b8;
  --fruit-sky:#87ceeb;
  --fruit-serif:"Cardo",Georgia,serif;
  --fruit-sans:"Alegreya Sans",system-ui,sans-serif;
}
html{scroll-behavior:smooth}
.fruit-body{font-family:var(--fruit-sans);background:#faf8f5;color:#2c2416;line-height:1.65}
.fruit-skip{position:absolute;left:-9999px;z-index:9999;padding:.75rem;background:var(--fruit-red);color:#fff}
.fruit-skip:focus{left:1rem;top:1rem}
.fruit-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:2px solid var(--fruit-green);flex-wrap:wrap;gap:1rem}
.fruit-header__name{font-family:var(--fruit-serif);font-size:1.1rem;font-weight:700;color:var(--fruit-green);text-decoration:none}
.fruit-header__nav{display:flex;gap:1.25rem}
.fruit-header__nav a{color:#2c2416;text-decoration:none;font-weight:500}
.fruit-header__nav a:hover{color:var(--fruit-red)}
.fruit-intro{text-align:center;padding:4rem 1.5rem;background:linear-gradient(180deg,var(--fruit-sky) 0%,#faf8f5 100%)}
.fruit-intro__title{font-family:var(--fruit-serif);font-size:clamp(2rem,5vw,3rem);color:var(--fruit-green);line-height:1.2;margin-bottom:1rem}
.fruit-intro__sub{font-size:1.05rem;max-width:480px;margin:0 auto;color:#4a4035}
.fruit-seasons{padding:2rem 0 3rem}
.fruit-seasons__label{text-align:center;font-family:var(--fruit-serif);font-size:1.25rem;color:var(--fruit-red);margin-bottom:1.5rem;padding:0 1.5rem}
.fruit-scroll{display:flex;gap:1.25rem;overflow-x:auto;padding:0 1.5rem 1rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.fruit-panel{flex:0 0 min(85vw,320px);scroll-snap-align:start;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.fruit-panel__photo{height:180px;display:flex;align-items:center;justify-content:center;font-family:var(--fruit-serif);font-style:italic;font-size:1.1rem;color:rgba(255,255,255,.9)}
.fruit-panel--spring .fruit-panel__photo{background:linear-gradient(135deg,var(--fruit-pink),#ffd6e0)}
.fruit-panel--summer .fruit-panel__photo{background:linear-gradient(135deg,var(--fruit-green),#40916c)}
.fruit-panel--fall .fruit-panel__photo{background:linear-gradient(135deg,var(--fruit-red),#dc2626)}
.fruit-panel--winter .fruit-panel__photo{background:linear-gradient(135deg,var(--fruit-sky),#b8dff5);color:#2c5282}
.fruit-panel h3{font-family:var(--fruit-serif);font-size:1.35rem;padding:1rem 1.25rem .25rem;color:var(--fruit-green)}
.fruit-panel p{padding:0 1.25rem 1.25rem;font-size:.9rem;color:#5c4f42}
.fruit-about,.fruit-contact,.fruit-legal{max-width:640px;margin:0 auto;padding:2.5rem 1.5rem}
.fruit-about h2,.fruit-contact h2,.fruit-legal h2{font-family:var(--fruit-serif);color:var(--fruit-red);margin-bottom:1rem;font-size:1.5rem}
.fruit-addr{font-style:normal;margin-top:1rem;line-height:1.8}
.fruit-addr a{color:var(--fruit-green)}
.fruit-form__field{margin-bottom:1rem}
.fruit-form__field label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.9rem}
.fruit-form__field input,.fruit-form__field textarea{width:100%;padding:.65rem .85rem;border:1px solid #c4b8a8;border-radius:4px;font-family:inherit;font-size:1rem;background:#fff}
.fruit-form__field input:focus,.fruit-form__field textarea:focus{outline:2px solid var(--fruit-green);border-color:var(--fruit-green)}
.fruit-form__check{display:flex;gap:.6rem;font-size:.85rem;align-items:flex-start;margin-bottom:.35rem}
.fruit-form__check input{margin-top:.2rem}
.fruit-form__check a{color:var(--fruit-red)}
.fruit-form__err{display:block;color:var(--fruit-red);font-size:.8rem;min-height:1rem}
.fruit-btn{background:var(--fruit-red);color:#fff;border:none;padding:.75rem 2rem;font-family:var(--fruit-serif);font-size:1rem;cursor:pointer;border-radius:4px}
.fruit-btn:disabled{opacity:.55;cursor:not-allowed}
.fruit-form__ok{margin-top:1rem;padding:1rem;background:#e8f5e9;border-left:4px solid var(--fruit-green);font-weight:600;color:var(--fruit-green)}
.fruit-legal{border-top:1px solid #e0d8cc}
.fruit-legal a{color:var(--fruit-green)}
.fruit-footer{text-align:center;padding:2rem 1.5rem;background:var(--fruit-green);color:#fff}
.fruit-footer nav{display:flex;justify-content:center;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}
.fruit-footer a{color:var(--fruit-pink);text-decoration:none}
