/* Ses Arrels — Jardinería en Ibiza | style.css */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Work+Sans:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{
  --ink:#1e2318;
  --ink-soft:#434d38;
  --stone:#ede6d2;
  --stone-card:#f8f3e6;
  --stone-line:#d9c99e;
  --root:#6b4c2a;       /* tierra / raíces */
  --root-deep:#4a3319;
  --olive:#556640;
  --olive-deep:#384530;
  --leaf:#7a9c50;       /* verde hoja */
  --cream:#f7f2e2;
  --shadow:0 20px 44px -22px rgba(30,35,24,0.38);
  --shadow-sm:0 10px 24px -16px rgba(30,35,24,0.28);
  --radius:10px;
  --max:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--stone);color:var(--ink);font-family:'Work Sans',Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.06;margin:0;color:var(--ink);letter-spacing:-0.015em;}
em{font-style:italic;font-family:'Fraunces',serif;font-weight:500;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;height:auto;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;}

/* skip link */
.skip-link{position:absolute;left:-999px;top:0;background:var(--olive-deep);color:#fff;padding:10px 16px;z-index:200;font-family:'Space Mono',monospace;font-size:13px;}
.skip-link:focus{left:10px;top:10px;}

/* eyebrow */
.eyebrow{font-family:'Space Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:0.15em;color:var(--root);display:flex;align-items:center;gap:10px;}

/* ===================== NAP BAR ===================== */
.nap-bar{background:var(--root-deep);color:#e8dbc8;font-family:'Space Mono',monospace;font-size:12px;}
.nap-bar .wrap{display:flex;justify-content:space-between;align-items:center;padding:7px 24px;flex-wrap:wrap;gap:6px;}
.nap-bar a{color:#e8dbc8;transition:color .2s;}
.nap-bar a:hover{color:#fff;}

/* ===================== HEADER ===================== */
header.site-header{position:sticky;top:0;left:0;right:0;z-index:50;background:rgba(237,230,210,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--stone-line);}
.nav{max-width:var(--max);margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;}

/* logo mark with SVG root */
.logo-wrap{display:flex;align-items:center;gap:12px;}
.logo-icon{width:36px;height:36px;flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1;}
.logo-name{font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:var(--root-deep);}
.logo-tag{font-family:'Space Mono',monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--olive);}

nav.links{display:flex;align-items:center;gap:28px;}
.navlinks{display:flex;gap:24px;font-size:14px;font-weight:500;}
.navlinks a{color:var(--ink-soft);position:relative;padding:4px 0;}
.navlinks a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--root);transition:width .25s ease;}
.navlinks a:hover{color:var(--ink);}
.navlinks a:hover:after{width:100%;}
.has-sub{position:relative;}
.sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--stone-card);box-shadow:var(--shadow);border-radius:8px;padding:8px;min-width:250px;margin-top:8px;}
.has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu{display:block;}
.sub-menu a{display:block;padding:9px 12px;border-radius:6px;font-size:13.5px;color:var(--ink-soft);}
.sub-menu a:hover{background:var(--stone);color:var(--ink);}
.btn-call{font-family:'Space Mono',monospace;font-size:12px;background:var(--root);color:#fff;padding:10px 18px;border-radius:30px;white-space:nowrap;transition:background .2s;}
.btn-call:hover{background:var(--root-deep);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.burger span{width:24px;height:2px;background:var(--ink);display:block;}
.mobile-menu{display:none;flex-direction:column;gap:6px;padding:14px 24px 22px;border-top:1px solid var(--stone-line);background:var(--stone);}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:15.5px;font-weight:500;padding:8px 0;}
.mobile-menu .msub{padding-left:14px;display:flex;flex-direction:column;}
.mobile-menu .msub a{font-size:14px;color:var(--ink-soft);padding:6px 0;}
@media(max-width:900px){.navlinks{display:none;}.burger{display:flex;}}

/* breadcrumb */
.breadcrumb{font-family:'Space Mono',monospace;font-size:12px;color:var(--ink-soft);padding:18px 0 0;}
.breadcrumb a:hover{color:var(--root);}

/* ===================== BUTTONS ===================== */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Space Mono',monospace;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;border-radius:30px;border:1px solid transparent;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;cursor:pointer;white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--root);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--root-deep);}
.btn-ghost{border-color:rgba(247,242,226,.7);color:var(--cream);}
.btn-ghost:hover{background:rgba(247,242,226,.12);}
.btn-outline{border-color:var(--root);color:var(--root);}
.btn-outline:hover{background:var(--root);color:#fff;}

/* ===================== HERO ===================== */
.hero{min-height:92vh;display:flex;align-items:flex-end;color:var(--cream);position:relative;overflow:hidden;}
.hero .hero-bg{position:absolute;inset:0;z-index:-1;}
.hero .hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 24%;}
.hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,25,14,.15) 0%,rgba(16,20,10,.72) 70%,rgba(14,18,8,.94) 100%);}
.hero-inner{padding:150px 0 64px;width:100%;position:relative;}
.hero .eyebrow{color:#d4e8b8;margin-bottom:22px;}
.hero h1{font-size:clamp(36px,6.6vw,76px);max-width:860px;color:var(--cream);}
.hero p.lede{margin-top:24px;max-width:520px;font-size:18px;color:#e0d9c2;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;}

/* root SVG illustration in hero */
.hero-root{position:absolute;right:5%;bottom:0;width:clamp(180px,22vw,340px);opacity:.18;pointer-events:none;}

/* service page hero (smaller) */
.svc-hero{position:relative;color:var(--cream);}
.svc-hero .hero-bg{position:absolute;inset:0;z-index:-1;}
.svc-hero .hero-bg img{width:100%;height:100%;object-fit:cover;}
.svc-hero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,20,10,.5) 0%,rgba(14,18,8,.88) 100%);}
.svc-hero-inner{padding:64px 0 56px;position:relative;}
.svc-hero h1{font-size:clamp(28px,5vw,50px);max-width:760px;color:var(--cream);margin-top:14px;}
.svc-hero p.lede{margin-top:16px;max-width:560px;font-size:16.5px;color:#e0d9c2;}
.svc-hero .hero-ctas{margin-top:26px;}

/* ===================== DIVIDER ===================== */
.divider{display:flex;align-items:center;justify-content:center;padding:44px 0 8px;}

/* ===================== INTRO ===================== */
.intro{padding:80px 0 60px;}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:start;}
.intro h2{font-size:clamp(28px,3.8vw,44px);max-width:540px;}
.intro p{font-size:16px;color:var(--ink-soft);margin-top:18px;max-width:480px;}
.value-list{display:flex;flex-direction:column;}
.value-item{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--stone-line);}
.value-item:last-child{border-bottom:none;}
.value-item .icon{width:30px;height:30px;flex-shrink:0;color:var(--root);}
.value-item h3{font-size:17px;font-weight:600;}
.value-item p{margin:5px 0 0;font-size:14px;color:var(--ink-soft);}
@media(max-width:860px){.intro-grid{grid-template-columns:1fr;gap:36px;}}

/* root decorative SVG in about section */
.root-deco{display:flex;justify-content:center;margin:50px 0 0;opacity:.22;}
.root-deco svg{width:clamp(200px,40vw,480px);}

/* ===================== SECTION HEAD ===================== */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:42px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(26px,3.4vw,40px);max-width:580px;}

/* ===================== SERVICES ===================== */
.services{padding:50px 0 100px;}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.svc-card{background:var(--stone-card);padding:28px 24px;min-height:220px;border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.svc-icon{width:32px;height:32px;color:var(--root);}
.svc-card h3{font-size:17px;margin-top:22px;font-weight:600;}
.svc-card h3 a{color:var(--ink);}
.svc-card p{font-size:13.4px;color:var(--ink-soft);margin-top:8px;}
.svc-card .more{font-family:'Space Mono',monospace;font-size:11.5px;color:var(--root);margin-top:14px;text-transform:uppercase;letter-spacing:.05em;}
@media(max-width:980px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.svc-grid{grid-template-columns:1fr;}}

/* ===================== GALLERY ===================== */
.gallery{padding:20px 0 100px;}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.gal-grid figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-sm);aspect-ratio:4/5;}
.gal-grid figure.wide{aspect-ratio:8/5;grid-column:span 2;}
.gal-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.gal-grid figure:hover img{transform:scale(1.05);}
.gal-cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(14,18,8,.85) 100%);color:#f3eedb;font-size:12.5px;font-family:'Space Mono',monospace;}
@media(max-width:880px){.gal-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.gal-grid{grid-template-columns:1fr;}.gal-grid figure.wide{grid-column:span 1;}}

/* ===================== FEATURE BLOCK ===================== */
.feature-block{padding:10px 0 90px;}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.feature-grid img{border-radius:var(--radius);box-shadow:var(--shadow);}
.feature-grid h2{font-size:clamp(24px,3.2vw,34px);}
.feature-grid p{color:var(--ink-soft);margin-top:14px;font-size:15.5px;}
.feature-grid ul{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.feature-grid li{padding-left:22px;position:relative;font-size:14.5px;color:var(--ink-soft);}
.feature-grid li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--root);}
@media(max-width:860px){.feature-grid{grid-template-columns:1fr;gap:28px;}}

/* ===================== PROCESS ===================== */
.process{background:var(--root-deep);color:var(--cream);padding:90px 0;}
.process .eyebrow{color:#d4c8b0;}
.process h2{color:var(--cream);font-size:clamp(26px,3.4vw,40px);max-width:580px;margin-bottom:50px;}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.proc-step{border-top:1px solid rgba(247,242,226,.2);padding-top:20px;}
.proc-step .pnum{font-family:'Fraunces',serif;font-style:italic;font-size:32px;color:#c4a87a;}
.proc-step h3{color:var(--cream);font-size:17px;margin-top:12px;font-weight:600;}
.proc-step p{font-size:13.6px;color:#c8bfa8;margin-top:6px;}
@media(max-width:880px){.proc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.proc-grid{grid-template-columns:1fr;}}

/* ===================== ZONE ===================== */
.zone-section{padding:30px 0 90px;}
.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.zone-card{background:var(--stone-card);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);}
.zone-card h2,.zone-card h3{font-size:18px;font-weight:600;}
.zone-card p{font-size:13.6px;color:var(--ink-soft);margin-top:8px;}
@media(max-width:880px){.zone-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.zone-grid{grid-template-columns:1fr;}}

/* ===================== COVERAGE ===================== */
.coverage{padding:90px 0;}
.cov-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.cov-grid h2{font-size:clamp(26px,3.4vw,38px);max-width:480px;}
.cov-grid p{color:var(--ink-soft);margin-top:16px;max-width:440px;}
.towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.town{font-family:'Space Mono',monospace;font-size:12.5px;border:1px solid var(--root);color:var(--root);padding:8px 14px;border-radius:20px;}
.map-card{background:var(--olive-deep);border-radius:var(--radius);padding:36px;color:var(--cream);aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow);background-image:radial-gradient(circle at 30% 20%,rgba(255,255,255,.1),transparent 55%);}
.map-card .island{font-family:'Fraunces',serif;font-style:italic;font-size:28px;}
.map-card .pin-list{font-family:'Space Mono',monospace;font-size:12px;line-height:2;color:#d4e8b8;}
@media(max-width:860px){.cov-grid{grid-template-columns:1fr;gap:36px;}.map-card{aspect-ratio:auto;}}

/* ===================== FAQ ===================== */
.faq{padding:90px 0;}
.faq-list{display:flex;flex-direction:column;max-width:780px;}
.faq-item{border-bottom:1px solid var(--stone-line);padding:20px 0;}
.faq-item summary{font-weight:600;font-size:15.5px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:after{content:"+";font-family:'Space Mono',monospace;font-size:18px;color:var(--root);}
.faq-item[open] summary:after{content:"–";}
.faq-item h3{display:inline;font-size:15.5px;font-weight:600;font-family:'Work Sans',sans-serif;}
.faq-item p{margin-top:12px;font-size:14.5px;color:var(--ink-soft);max-width:680px;}

/* ===================== TESTIMONIALS ===================== */
.testi{padding:0 0 100px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.testi-card{background:var(--stone-card);padding:30px 26px;border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.testi-card .mark{font-family:'Fraunces',serif;font-size:42px;color:var(--root);opacity:.5;line-height:1;}
.testi-card p.quote{font-family:'Fraunces',serif;font-size:16px;font-style:italic;line-height:1.5;margin-top:4px;}
.testi-card .who{margin-top:16px;font-family:'Space Mono',monospace;font-size:11.5px;color:var(--olive-deep);}
@media(max-width:880px){.testi-grid{grid-template-columns:1fr;}}

/* ===================== CTA BAND ===================== */
.cta-band{background:var(--root-deep);color:var(--cream);padding:54px 0;text-align:center;}
.cta-band h2{color:var(--cream);font-size:clamp(22px,3vw,32px);max-width:680px;margin:0 auto;}
.cta-band .hero-ctas{justify-content:center;margin-top:26px;}

/* ===================== CONTACT ===================== */
.contact{background:var(--ink);color:var(--cream);padding:90px 0 60px;}
.contact .eyebrow{color:#c4b8a0;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:26px;}
.contact h2{color:var(--cream);font-size:clamp(28px,4vw,46px);max-width:520px;}
.contact-info{display:flex;flex-direction:column;margin-top:30px;}
.ci-row{border-top:1px solid rgba(247,242,226,.18);padding:14px 0;}
.ci-row:first-child{border-top:none;padding-top:0;}
.ci-label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#c4b8a0;}
.ci-value{font-size:18px;margin-top:6px;}
.ci-value a:hover{color:var(--leaf);}
.form{display:flex;flex-direction:column;gap:16px;}
.form input,.form textarea{background:rgba(247,242,226,.05);border:1px solid rgba(247,242,226,.25);border-radius:6px;color:var(--cream);font-family:'Work Sans',sans-serif;font-size:15px;padding:13px 15px;outline:none;transition:border-color .2s,background .2s;}
.form input::placeholder,.form textarea::placeholder{color:#a8a090;}
.form input:focus,.form textarea:focus{border-color:var(--leaf);background:rgba(247,242,226,.09);}
.form button{margin-top:6px;align-self:flex-start;}
.note{font-size:12.5px;color:#8a8070;margin-top:12px;}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:40px;}}

/* ===================== FOOTER (NAP estático) ===================== */
footer.site-footer{background:var(--ink);color:#9a9080;padding:40px 0 30px;border-top:1px solid rgba(247,242,226,.12);font-size:13.5px;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px;}
.foot-grid .logo-name{color:#e8e0d0;font-size:17px;}
.foot-grid .logo-tag{color:#9a9080;}
.foot-grid h4{font-family:'Space Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:#dfd8c8;margin-bottom:12px;}
.foot-grid p,.foot-grid address{margin:0;font-style:normal;line-height:1.7;}
.foot-grid a{display:block;padding:4px 0;}
.foot-grid a:hover{color:var(--cream);}
.foot-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(247,242,226,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr;gap:24px;}}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--leaf);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}html{scroll-behavior:auto;}}
