:root{--green:#c4d3bc;--blue:#2b08d8;--pink:#f3b8d5;--paper:#fcfcf8;color:var(--blue);font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:7px}.header{background:var(--green);min-height:124px;padding:24px 6%;display:flex;align-items:center;gap:48px}.wordmark{display:block;width:120px;height:88px;flex-shrink:0;background:var(--green);overflow:hidden}.wordmark img{display:block;width:100%;height:auto;clip-path:polygon(1% 0,99% 0,99% 77%,54% 77%,54% 98%,1% 98%)}.header nav{color:#fff;display:flex;gap:38px;align-items:center;margin-left:auto;font-size:16px}.header nav a{padding:12px 0;position:relative}.header nav a::after{content:"";position:absolute;bottom:3px;height:2px;left:0;right:100%;background:currentColor;transition:right .2s}.header nav a:hover::after,.header nav .active::after{right:0}.language{color:#fff;font-size:14px;border-left:1px solid #ffffff66;padding-left:28px}.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.about-visual{min-width:0;position:relative;overflow:hidden}.flower-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.eyebrow{margin:0 0 24px;font-size:14px;letter-spacing:2px}h1,h2{font-size:clamp(30px,3.2vw,56px);font-weight:500;line-height:1.08;letter-spacing:-2px;margin:0}.description{font-size:18px;line-height:1.8;margin:0;padding:48px clamp(28px,4vw,80px);min-width:0}.description h1,.description h2{margin-bottom:32px}.description p{margin:0 0 24px}.description p:last-child{margin-bottom:0}footer{background:var(--pink);display:flex;justify-content:space-between;padding:30px 6%;font-size:14px}footer span:first-child{font-weight:700;font-size:20px;letter-spacing:-1px}@media(max-width:700px){.header{min-height:100px;padding:20px 6%;gap:20px}.wordmark{display:block;width:120px;height:88px;flex-shrink:0;background:var(--green);overflow:hidden}.wordmark img{display:block;width:100%;height:auto;clip-path:polygon(1% 0,99% 0,99% 77%,54% 77%,54% 98%,1% 98%)}.header nav{gap:20px;font-size:14px}.language{display:none}.about{grid-template-columns:1fr}.about-visual{min-height:420px;height:65svh;max-height:650px}.description{padding:40px 7%}.eyebrow{font-size:12px}.description{font-size:16px}footer{gap:24px;align-items:center;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.services{margin:0 0 28px;padding-left:22px}.services li{padding-left:5px;margin-bottom:20px}.services li:last-child{margin-bottom:0}@media(max-width:700px){.header{flex-wrap:wrap;gap:16px}.header nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;flex:1;min-width:165px}.header nav a{white-space:nowrap}}
.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;min-width:0;gap:0}.work-gallery>div{position:relative;min-height:0;overflow:hidden}.work-gallery-top{grid-column:1/-1;aspect-ratio:1600/1003}.work-gallery img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}@media(max-width:700px){.work-gallery{height:850px;max-height:150svh}}
.languages{display:flex;align-items:center;gap:7px;border-left:1px solid #ffffff66;padding-left:22px;flex-shrink:0}.languages button{display:grid;place-items:center;width:40px;height:36px;padding:5px;background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer}.languages svg{display:block;width:28px;height:19px;box-shadow:0 1px 3px #0002}.languages button:hover{background:#ffffff33}.languages button[aria-pressed="true"]{border-color:#fff;background:#ffffff26}.languages button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}@media(max-width:900px){.header{gap:20px;flex-wrap:wrap}.header nav{gap:18px}.languages{margin-left:auto;padding-left:14px}}
#contact-bar{padding:52px 6%;align-items:center;gap:36px}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}.contact-details h2{font-size:32px;letter-spacing:-1px;margin-bottom:12px}.contact-details a{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.social-buttons{display:flex;gap:16px;flex-shrink:0}.social-buttons button{width:54px;height:54px;border:1px solid var(--blue);border-radius:50%;background:transparent;color:var(--blue);display:grid;place-items:center;opacity:1;cursor:default}.social-buttons svg{width:26px;height:26px}@media(max-width:700px){#contact-bar{flex-direction:column;align-items:flex-start;padding:40px 7%}.contact-details a{font-size:16px}.header nav{flex-wrap:wrap}}
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-photo{position:relative;overflow:hidden;aspect-ratio:736/981}.home-photo img{position:absolute;bottom:0;left:0;display:block;width:100%;height:133.333333%;object-fit:fill}.home-register{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--paper)}.register-button{background:var(--blue);color:#fff;font:inherit;font-size:clamp(18px,1.7vw,26px);line-height:1.4;border:0;border-radius:4px;padding:22px 30px;max-width:390px;opacity:1;cursor:default}@media(max-width:700px){.home-intro{grid-template-columns:1fr}.home-register{padding:40px 7%}.register-button{width:100%}}
.home-register{grid-column:1;grid-row:1}.home-photo{grid-column:2;grid-row:1}@media(max-width:700px){.home-register{grid-column:1;grid-row:1}.home-photo{grid-column:1;grid-row:2}}
:root{--section-space:clamp(28px,4vw,64px)}.home-intro{padding-top:var(--section-space);background:var(--paper)}.work{padding-bottom:var(--section-space);background:var(--paper)}
/* Screen-sized desktop sections, with natural overflow for small screens and zoom. */
:root{--header-height:104px}
html{scroll-padding-top:var(--header-height)}
.header{position:sticky;top:0;z-index:20;min-height:0;padding:10px 4%;gap:24px}
.header nav{gap:24px;flex-wrap:wrap}
@media(min-width:1000px){
 .home-intro{height:calc(100svh - var(--header-height));min-height:320px;padding-top:clamp(16px,3vh,32px)}
 .home-photo{aspect-ratio:auto;min-height:0}
 .home-photo img{object-fit:cover;object-position:center bottom}
 .about{min-height:calc(100svh - var(--header-height))}
 .description{font-size:clamp(16px,1.1vw,18px);line-height:1.4;padding:clamp(20px,3vh,40px) clamp(24px,3vw,56px);align-self:center}
 .description h1,.description h2{font-size:clamp(28px,2.5vw,44px);line-height:1.08;letter-spacing:-1px;margin-bottom:18px}
 .description .eyebrow{font-size:13px;margin-bottom:14px}
 .description p{margin-bottom:14px}
 .services{margin-bottom:16px;padding-left:20px}
 .services li{margin-bottom:10px}
 .work{padding-bottom:clamp(16px,3vh,32px)}
 .work-gallery{grid-template-rows:minmax(0,2fr) minmax(0,3fr);height:100%;min-height:0}
 .work-gallery-top{aspect-ratio:auto}
 #contact-bar{min-height:calc(100svh - var(--header-height));padding:48px 8%}
}
@media(min-width:1000px) and (max-height:800px){
 .description{padding:16px 24px;font-size:16px;line-height:1.3}
 .description h1,.description h2{font-size:28px;margin-bottom:12px}
 .description p,.services li{margin-bottom:9px}
 .description .eyebrow{margin-bottom:10px}
}
@media(max-width:999px){.header{position:relative}html{scroll-padding-top:0}.home-photo img{object-fit:cover}}
/* Portada panorámica con registro superpuesto. */
.home-intro{position:relative;display:block;height:calc(100svh - 124px);min-height:420px;max-height:900px;padding:0;overflow:hidden;background:var(--green)}
.home-photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.home-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 74%}
.home-register{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:flex-start;padding:clamp(24px,7vw,112px);background:linear-gradient(90deg,#10120d55 0%,#10120d22 38%,transparent 72%)}
.register-button{max-width:420px;text-decoration:none;box-shadow:0 8px 28px #0003}
@media(max-width:700px){.home-intro{height:calc(80svh - 100px);min-height:430px;max-height:700px}.home-photo img{object-position:center 76%}.home-register{align-items:flex-end;justify-content:center;padding:28px 7%;background:linear-gradient(0deg,#10120d66,transparent 58%)}.register-button{width:auto;max-width:100%}}
/* La foto de portada gira 90 grados hacia la izquierda. */
.home-photo img{top:50%;left:50%;width:100svh;height:100vw;transform:translate(-50%,-50%) rotate(-90deg);object-fit:cover;object-position:center}
@media(max-width:700px){.home-photo img{width:100svh;height:100vw;object-position:center}}
@media(min-width:701px){.home-register{align-items:flex-start;justify-content:flex-start;padding:clamp(20px,2vw,40px) clamp(24px,3vw,64px);background:linear-gradient(90deg,#10120d1f,transparent 48%)}}
@media(min-width:701px){.home-register{align-items:flex-end;justify-content:flex-start;padding:clamp(20px,2.5vw,48px) clamp(24px,3vw,64px)}.register-button{max-width:340px;padding:16px 22px;font-size:clamp(16px,1.35vw,21px)}}
/* Galería de trabajo con solo las dos imágenes verticales. */
.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;height:100%;min-height:0}
.work-gallery>div{grid-column:auto;grid-row:1}
@media(max-width:700px){.work-gallery{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));height:850px;max-height:150svh}.work-gallery>div{grid-column:1;grid-row:auto}}
/* Ajustes exclusivos para teléfonos en vertical. */
@media(max-width:700px) and (orientation:portrait){
 #nuestro-trabajo>.work-gallery{grid-row:1}
 #nuestro-trabajo>.description{grid-row:2}
 .home-photo img{object-position:center bottom}
 .header{display:grid;grid-template-columns:84px minmax(0,1fr);grid-template-areas:"brand nav";align-items:center;column-gap:12px;min-height:0;padding:10px 14px}
 .wordmark{grid-area:brand;width:84px;height:64px}
 .header nav{grid-area:nav;min-width:0;justify-content:flex-end;gap:4px 12px;font-size:12px}
 .header nav a[href^="#"]{transform:translateY(-5px)}
 .header nav .account-nav{position:absolute;right:124px;bottom:12px;padding:4px 0;font-size:12px}
 .languages{position:absolute;right:14px;bottom:10px;gap:4px;border-left:0;padding:0}
 .languages button{width:32px;height:29px;padding:3px}
 .languages svg{width:23px;height:15px}
}
/* Barras redondeadas inspiradas en la nueva propuesta visual. */
.header{margin:12px 2%;padding:10px 16px;border-radius:999px;background:var(--green);gap:14px}
.header nav{background:var(--pink);border-radius:999px;padding:6px;gap:6px;color:var(--blue)}
.header nav a{border:1px solid #ffffffa6;border-radius:999px;padding:8px 12px}
.header nav a::after{display:none}
.header nav a.active{background:var(--blue);color:#fff}
.languages{border-left:0;padding-left:0}
.languages button{width:38px;height:38px;border-radius:50%;padding:3px}
.languages svg{width:30px;height:30px;border-radius:50%;overflow:hidden}
#contact-bar{min-height:0;margin:18px 4% 24px;padding:18px 28px;border-radius:999px;background:var(--green)}
#contact-bar .contact-details{flex-direction:row;align-items:center;gap:20px}
#contact-bar .contact-details h2{font-size:clamp(18px,2vw,26px);margin:0;white-space:nowrap}
#contact-bar .contact-details a{font-size:16px}
.social-buttons{gap:10px}
.social-buttons button{width:42px;height:42px;border:0;background:var(--blue);color:#fff}
@media(max-width:900px){
 .header{margin:8px 10px;padding:10px 14px;border-radius:28px}
 .header nav{border-radius:22px;padding:5px;gap:5px}
 .header nav a{padding:7px 10px}
}
@media(max-width:700px){
 #contact-bar{margin:14px;padding:18px;border-radius:26px}
 #contact-bar .contact-details{flex-direction:column;align-items:flex-start;gap:10px}
 #contact-bar .contact-details h2{white-space:normal}
}
/* Encabezado: remate verde en el logo, cápsula rosa para las secciones y accesos externos. */
.header{position:sticky;top:12px;z-index:30;display:flex;align-items:stretch;gap:0;min-height:78px;margin:12px 1.5%;padding:0;border-radius:0;background:transparent}
.wordmark{grid-area:auto;display:flex;align-items:center;justify-content:center;width:130px;height:78px;padding:0 7px;border-radius:999px;background:var(--green)}
.wordmark img{width:110px;height:auto}
.header nav{grid-area:auto;display:flex;flex:1;align-items:center;justify-content:space-between;flex-wrap:nowrap;min-width:0;margin:0 0 0 -8px;padding:6px 8px 6px 22px;gap:6px;border-radius:999px;background:var(--pink);color:var(--blue);font-size:13px}
.header nav a{display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:9px clamp(10px,1vw,14px);border:1px solid #ffffffa6;border-radius:999px}
.header nav a::after{display:none}
.header nav a.active{background:var(--blue);color:#fff;padding-right:18px;padding-left:18px;font-size:16px}
.header-tools{grid-area:auto;display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:12px}
.languages{position:static;display:flex;align-items:center;gap:4px;margin:0;padding:0;border:0}
.languages button{width:38px;height:38px;padding:2px;border:0;border-radius:50%;background:transparent}
.languages button[aria-pressed="true"]{border:0;background:transparent}
.languages svg{width:34px;height:34px;border-radius:50%;overflow:hidden;box-shadow:none}
.account-nav{display:grid;place-items:center;width:38px;height:38px;color:var(--blue)}
.account-nav svg{display:block;width:36px;height:36px}
.account-nav:hover{opacity:.75}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header nav .admin-nav{border-color:var(--blue);color:var(--blue);font-weight:600}
.header nav .admin-nav[hidden]{display:none}
/* Ajustes visuales solicitados para el encabezado. */
.header{isolation:isolate}
.header::before{content:"";position:absolute;z-index:-1;left:0;right:176px;top:-4px;bottom:-4px;border-radius:999px;background:var(--green)}
.header nav{box-shadow:none}
.header nav a{border-color:var(--green)}
.wordmark img{width:104.5px}
.header-tools,.languages{border:0!important;outline:0}
.languages button,.languages button[aria-pressed="true"]{border:0!important;outline:0;background:var(--green)}
.languages svg{clip-path:circle(50%);}
@media(max-width:999px){
 .header::before{display:none}
 .header{position:relative;top:auto;display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-areas:"brand tools" "nav nav";align-items:center;gap:6px 8px;min-height:0;margin:8px 10px;padding:0;background:transparent}
 .wordmark{grid-area:brand;width:76px;height:60px;padding:0;border-radius:999px;background:var(--green)}
 .wordmark img{width:66.5px;height:auto}
 .header-tools{grid-area:tools;justify-self:end;gap:5px;margin:0}
 .languages{gap:2px}
 .languages button{width:31px;height:31px}
 .languages svg{width:27px;height:27px}
 .account-nav{width:32px;height:32px}
 .account-nav svg{width:31px;height:31px}
 .header nav{grid-area:nav;flex-wrap:wrap;justify-content:center;gap:4px;padding:6px;border-radius:24px;font-size:12px;margin:0}
 .header nav a{padding:6px 9px;transform:none;font-size:12px}
 .header nav a.active{padding:6px 9px;font-size:12px}
}
/* La portada empieza detrás de la cabecera para que la foto continúe hasta arriba. */
.header{position:sticky;top:36px;margin:36px 1.5% calc(-1 * (var(--header-height) + 36px));background:transparent}
.home-intro{height:100svh}
@media(max-width:999px){
 .header{top:24px;margin:24px 10px calc(-1 * (var(--header-height) + 24px));}
 .home-intro{height:80svh}
}
.home-photo img{top:50%;left:50%;width:100svh;height:100vw;transform:translate(-50%,-50%) rotate(-90deg);object-fit:cover;object-position:center}
@media(max-width:700px){.home-photo img{width:100svh;height:100vw;object-position:center bottom}}
/* Portada con la fotografía original en vertical y completa. */
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:100svh;background:var(--paper)}
.home-photo{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;overflow:hidden}
.home-photo img{position:absolute;inset:0;width:100%;height:100%;transform:none;object-fit:contain;object-position:center;background:var(--paper)}
.home-register{position:relative;inset:auto;grid-column:1;grid-row:1;align-items:flex-end;justify-content:flex-start;padding:clamp(24px,5vw,72px);background:transparent}
@media(max-width:700px){
 .home-intro{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);height:80svh}
 .home-photo{grid-column:1;grid-row:1}
 .home-photo img{object-fit:contain;object-position:center;background:var(--paper)}
 .home-register{position:absolute;inset:0;grid-column:1;grid-row:1;align-items:flex-end;justify-content:center;padding:28px 7%;background:linear-gradient(0deg,#10120d55,transparent 45%)}
}
/* Foto de portada girada a la izquierda: su borde inferior queda hacia la derecha. */
.home-intro{position:relative;display:block;height:100svh;background:var(--paper)}
.home-photo{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.home-photo img{position:absolute;top:50%;left:40%;width:100svh;height:100vw;transform:translate(-50%,-50%) rotate(-90deg) scale(1.2);object-fit:contain;object-position:center;background:var(--paper)}
.home-register{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:flex-start;padding:clamp(24px,5vw,72px);background:transparent}
@media(max-width:700px){
 .home-intro{height:80svh}
 .home-photo img{width:100svh;height:100vw;object-fit:contain;object-position:center}
 .home-register{align-items:flex-end;justify-content:center;padding:28px 7%;background:linear-gradient(0deg,#10120d55,transparent 45%)}
}
/* Cada apartado llena como mínimo una pantalla; la cabecera verde queda fija al recorrerlos. */
.header{position:sticky;top:36px;z-index:30}
main>#empresa,main>#nuestro-trabajo,#contact-bar{min-height:100svh;scroll-margin-top:calc(var(--header-height) + 36px)}
@media(max-width:999px){
 .header{top:24px}
 .header::before{display:block;left:-4px;right:-4px;top:-4px;bottom:-4px;border-radius:28px;background:var(--green)}
 main>#empresa,main>#nuestro-trabajo,#contact-bar{scroll-margin-top:calc(var(--header-height) + 24px)}
}
/* Apartados a pantalla completa y franja de contacto persistente. */
html{scroll-snap-type:y mandatory;scroll-behavior:smooth}
main>#inicio,main>#empresa,main>#nuestro-trabajo{height:100dvh;min-height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}
main>#empresa,main>#nuestro-trabajo{overflow-y:auto;overscroll-behavior-y:auto;padding-bottom:108px}
main>#inicio{overflow:hidden}
footer#contact-bar{position:fixed;z-index:25;left:4%;right:4%;bottom:12px;width:auto;height:auto;min-height:0;margin:0;padding:14px 24px;border-radius:999px;scroll-snap-align:none}
.home-register{padding-bottom:112px}
@media(max-width:999px){
 html{scroll-snap-type:y mandatory}
 footer#contact-bar{left:10px;right:10px;bottom:8px;padding:10px 14px;border-radius:22px;gap:10px}
 #contact-bar .contact-details{min-width:0;gap:4px}
 #contact-bar .contact-details h2{font-size:15px}
 #contact-bar .contact-details a{font-size:12px;line-height:1.25}
 .social-buttons{gap:6px}
 .social-buttons button{width:32px;height:32px}
 .social-buttons svg{width:18px;height:18px}
 .home-register{padding-bottom:128px}
}
/* Alinear cada apartado al borde superior; el encabezado se superpone y permanece visible. */
html{scroll-padding-top:0}
main>#inicio,main>#empresa,main>#nuestro-trabajo{scroll-margin-top:0}
/* Sacar la cabecera del flujo evita que sus márgenes desplacen los límites de los apartados. */
.header{position:fixed;top:36px;left:1.5%;right:1.5%;margin:0}
@media(max-width:999px){.header{top:24px;left:10px;right:10px;margin:0}}
/* La banda inferior sube el mismo margen y la portada cubre toda la pantalla por detrás. */
footer#contact-bar{bottom:36px}
main>#inicio,main>#empresa,main>#nuestro-trabajo{height:100vh;min-height:100vh}
.home-photo img{transform:translate(-50%,-50%) rotate(-90deg) scale(1.265)}
@media(max-width:999px){
 footer#contact-bar{bottom:24px}
 main>#inicio,main>#empresa,main>#nuestro-trabajo{height:100dvh;min-height:100dvh}
}
/* Subir el botón junto con la franja inferior y suavizar el recorte del logo. */
.home-register{padding-bottom:136px}
.wordmark img{clip-path:polygon(1% 0,99% 0,99% 77%,54% 77%,49% 82%,44% 89%,39% 95%,32% 98%,1% 98%)}
@media(max-width:999px){.home-register{padding-bottom:152px}}
/* Cubrir la costura del recorte del logo con el verde exacto de la cabecera. */
.wordmark{position:relative}
.wordmark::after{display:none}
.wordmark img{clip-path:polygon(2% 0,98% 0,98% 77%,54% 77%,49% 82%,44% 89%,39% 95%,32% 98%,2% 98%)}
/* Mantener visible la curva rosa sobre el bloque verde del logo. */
.header nav{position:relative;z-index:1;border-radius:999px;overflow:hidden}
#empresa{background:#fff}
/* Ajustar las pantallas y el encuadre al área real de cualquier navegador. */
main>#inicio,main>#empresa,main>#nuestro-trabajo{height:100dvh;min-height:100dvh;max-height:none}
.home-photo img{width:max(100dvh,56.28vw);height:max(100vw,177.7dvh);object-fit:cover}
/* Borde verde unido a la cápsula rosa, independiente del ancho de los accesos laterales. */
.header nav{box-shadow:0 0 0 4px var(--green)}
/* Barras más altas, conservando su borde exterior superior e inferior. */
.header{min-height:100px}
.wordmark{height:100px}
.header nav{font-size:16px}
.header nav a{padding:12px clamp(8px,.9vw,16px)}
.header nav a.active{font-size:20px}
.header nav{justify-content:center;gap:clamp(8px,1.1vw,20px);padding-left:28px;padding-right:28px}
.header nav a{padding:14px clamp(10px,1.1vw,20px)}
footer#contact-bar{min-height:96px;padding-top:26px;padding-bottom:26px}
.home-register{padding-bottom:162px}
@media(max-width:999px){
 .header{min-height:0;padding-bottom:10px;row-gap:10px}
 .wordmark{height:68px}
 .header nav{padding:10px 6px;gap:5px}
 .header nav a,.header nav a.active{font-size:14px;padding:8px 10px}
 footer#contact-bar{min-height:96px;padding-top:18px;padding-bottom:18px}
 .home-register{padding-bottom:174px}
}
/* Composición de la referencia: siete centros equidistantes. */
:root{--green:#bfd6b3;--pink:#efaed0;font-family:'Century Gothic','Trebuchet MS',Arial,sans-serif}
.header{top:28px;min-height:80px}
.wordmark{height:80px}
.header nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;align-items:center;gap:0;padding:10px 8px}
.header nav a{font-size:16px;padding:12px 10px;min-width:0;max-width:96%;border:2px solid var(--green);text-align:center}
.header nav a.active{font-size:22px;padding:10px 22px}
.header nav:has(.admin-nav:not([hidden])){grid-template-columns:repeat(8,minmax(0,1fr))}
.header nav .admin-nav[hidden]{display:none}
.home-photo img{left:50%;transform:translate(-50%,-50%) rotate(-90deg);width:max(100dvh,56.28vw);height:max(100vw,177.7dvh)}
.register-button{border-radius:999px;width:244px;max-width:244px;min-height:120px;padding:24px 15px;font-size:22px;font-weight:700;text-align:center;line-height:1.35;box-shadow:none}
.home-register{padding-left:6.2%;padding-bottom:20.5dvh}
footer#contact-bar{left:6.2%;right:4.5%;bottom:3.4dvh;min-height:76px;padding:16px 26px}
.footer-website{font-size:22px;font-weight:700}
#contact-bar .contact-details{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.social-buttons button:first-child{border-radius:10px;background:radial-gradient(circle at 30% 110%,#ffdb66 0%,#ff8343 35%,#dc258a 65%,#773ad2 95%)}
@media(max-width:1199px) and (min-width:1000px){.header nav a{font-size:14px;padding:12px 6px}.header nav a.active{font-size:19px;padding:11px 16px}}
@media(max-width:999px){
 .header{top:24px;min-height:0}.wordmark{height:68px}
 .header nav{grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 6px;row-gap:6px}
 .header nav:has(.admin-nav:not([hidden])){grid-template-columns:repeat(4,minmax(0,1fr))}
 .header nav a,.header nav a.active{font-size:13px;padding:8px 6px}
 .register-button{width:230px;min-height:100px;font-size:20px}
 .home-register{padding:0 7% 160px}
 footer#contact-bar{left:10px;right:10px;bottom:24px;min-height:72px;padding:14px;flex-direction:row;align-items:center}
 .footer-website{font-size:clamp(13px,3.5vw,20px)}
}
/* Cápsulas más anchas, centradas en sus siete segmentos. */
@media(min-width:1000px){
 .header nav a{width:92%;max-width:92%;padding:12px 4px;font-size:clamp(14px,1.12vw,18px);letter-spacing:.35px;line-height:1.25}
 .header nav a.active{width:92%;padding:10px 4px;font-size:clamp(20px,1.55vw,24px);letter-spacing:.5px}
 .header nav:has(.admin-nav:not([hidden])) a{font-size:clamp(12px,1vw,16px);letter-spacing:.2px}
 .header nav:has(.admin-nav:not([hidden])) a.active{font-size:clamp(17px,1.3vw,21px)}
}
@media(max-width:999px){
 .header nav a,.header nav a.active{width:94%;max-width:94%;padding:9px 3px;letter-spacing:.2px;font-size:13px}
}
/* Cambio de selección suave, sin alterar el tamaño de las cápsulas. */
.header nav a{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
@media(min-width:1000px){
 .header nav a,.header nav a.active{font-size:clamp(14px,1.12vw,18px);padding:12px 4px;letter-spacing:.35px;line-height:1.25}
 .header nav:has(.admin-nav:not([hidden])) a,.header nav:has(.admin-nav:not([hidden])) a.active{font-size:clamp(12px,1vw,16px);letter-spacing:.2px}
}
/* Sobre nosotros: fotografía, separador y tarjeta de la referencia. */
#empresa{display:flex;align-items:center;justify-content:center;padding:140px 5.9% 140px}
.about-layout{width:100%;display:grid;grid-template-columns:30.2% minmax(0,1fr);gap:26px;align-items:stretch;max-width:1500px}
.about-sunflowers{display:block;width:100%;height:100%;min-height:0;max-height:58.3dvh;object-fit:cover;border-radius:12px}
.about-content{border-left:3px solid #bfd6b3;padding-left:24px;display:flex;flex-direction:column;min-width:0}
.about-content h1{font-size:22px;font-weight:700;letter-spacing:0;line-height:1.3;margin:14px 0 20px}
.about-copy{background:#c4d3bc;border-radius:12px;padding:16px 28px 24px;color:#000;font-size:clamp(16px,1.4vw,21px);line-height:1.3;flex:1}
.about-copy p{margin:0 0 28px}.about-copy p:last-child{margin-bottom:0}
@media(max-width:999px){
 #empresa{padding:190px 6% 120px;align-items:flex-start}
 .about-layout{grid-template-columns:1fr;gap:20px}
 .about-sunflowers{height:320px;max-height:none;object-position:center 45%}
 .about-content{border-left:0;padding-left:0}
 .about-content h1{margin:0 0 16px;font-size:22px}
 .about-copy{font-size:17px;padding:22px;line-height:1.45}
 .about-copy p{margin-bottom:22px}
}
@media(min-width:1000px){
 #empresa{align-items:flex-start;padding-top:20.8dvh;padding-bottom:140px}
 .about-layout{height:58.3dvh}
 .about-copy{font-weight:400}
}
/* Texto centrado dentro de la tarjeta de Sobre nosotros. */
.about-copy{display:flex;flex-direction:column;justify-content:center;text-align:center}
/* Animación del botón de registro sin desplazar el contenido. */
.register-button{cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;transform-origin:center}
@media(hover:hover) and (pointer:fine){
 .register-button:hover{transform:scale(1.06);box-shadow:0 10px 24px #2b08d826}
}
.register-button:focus-visible{transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.register-button:hover,.register-button:focus-visible{transform:none}}
/* Mantener el bloque centrado en altura con su sangría izquierda original. */
.about-copy{text-align:left}

#nuestro-trabajo{background:#fff}

/* Servicios según la referencia, con la imagen a la derecha. */
#nuestro-trabajo{display:block;padding:21dvh 9.8% 140px 5.15%;background:#fff;position:relative}
.services-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:24px;height:58.3dvh;max-width:1500px;margin:auto}
.services-content{display:flex;flex-direction:column;min-width:0}
.services-content h1{font-size:22px;font-weight:700;line-height:1.3;letter-spacing:0;text-align:right;margin:20px 14px 14px 0}
.services-copy{padding:18px 28px 26px;font-weight:400}
.services-copy p{margin-bottom:28px}
.services-photo{border-left:3px solid #bfd6b3;padding-left:24px;min-width:0;min-height:0}
.services-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}
#nuestro-trabajo>span{position:absolute;top:0}
@media(max-width:999px){
 #nuestro-trabajo{padding:190px 6% 120px}
 .services-layout{grid-template-columns:1fr;height:auto;gap:20px}
 .services-content h1{text-align:left;margin:0 0 16px}
 .services-photo{border-left:0;padding-left:0;grid-row:1}
 .services-photo img{height:320px;object-position:center}
 .services-copy{padding:22px}
 .services-copy p{margin-bottom:22px}
}
/* Transporte: sección independiente con la composición de referencia. */
main>#transporte{position:relative;height:100dvh;min-height:100dvh;scroll-margin-top:0;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;background:#fff;padding:21dvh 7.5% 140px 8.4%}
.transport-layout{grid-template-columns:28.2% minmax(0,1fr);height:58.3dvh;gap:24px}
.transport-copy{padding:18px 28px;font-weight:400}
.transport-copy p{margin:0}
@media(max-width:999px){
 main>#transporte{padding:190px 6% 120px}
 .transport-layout{grid-template-columns:1fr;height:auto;gap:20px}
 .transport-copy{padding:22px}
}

/* Contacto conserva su propia pantalla; la barra inferior sigue fija. */
main>#contacto{height:100dvh;min-height:100dvh;scroll-margin-top:0;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto;background:#fff;padding:20.8dvh 9.3% 140px}
.contact-layout{grid-template-columns:minmax(0,2.7fr) minmax(0,1fr);height:58.3dvh}
.contact-copy{padding:18px 44px;font-weight:400}
.contact-copy .contact-intro{margin-bottom:28px}
.contact-copy a{color:inherit}
.contact-copy a:hover{text-decoration:underline}
@media(max-width:999px){
 main>#contacto{padding:190px 6% 120px}
 .contact-layout{grid-template-columns:1fr;height:auto}
 .contact-copy{padding:22px}
}
/* Portfolio a pantalla completa, con cuatro fotografías de la referencia. */
main>#portfolio{height:100dvh;min-height:100dvh;background:#fff;scroll-margin-top:0;scroll-snap-align:start;scroll-snap-stop:always;padding:16dvh 5.9% 16dvh;overflow-y:auto}
#portfolio-title{font-size:22px;font-weight:700;letter-spacing:0;line-height:1.3;text-align:center;margin:0 0 18px}
.portfolio-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;height:63dvh}
.portfolio-grid>img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:12px}
.portfolio-next{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fff;color:#111;cursor:pointer;transition:scale .2s ease;z-index:2}
.portfolio-next svg{display:block;width:100%;height:100%}
.portfolio-next:hover{scale:1.08}.portfolio-next:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:999px){main>#portfolio{padding:190px 6% 120px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:14px}.portfolio-grid>img{height:330px}.portfolio-next{bottom:20px}}
.portfolio-next:hover{scale:1.06}
.portfolio-grid>img{transition:transform .22s ease,opacity .22s ease}
.portfolio-grid.is-changing>img{transform:translateY(24px);opacity:0}
@media(prefers-reduced-motion:reduce){.portfolio-next:hover{scale:1}.portfolio-grid.is-changing>img{transform:none}}
/* Flecha lateral y transición horizontal del portfolio. */
.portfolio-next{left:auto;right:-4.4vw;top:50%;bottom:auto;transform:translateY(-50%)}
.portfolio-grid.is-changing>img{transform:translateX(-36px);opacity:0}
.portfolio-grid.is-entering>img{transition:none;transform:translateX(36px);opacity:0}
.home-photo img,.about-sunflowers,.services-photo img,.portfolio-grid>img{filter:none;image-rendering:auto}
@media(max-width:999px){.portfolio-next{right:-4.5vw;width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.portfolio-grid.is-changing>img,.portfolio-grid.is-entering>img{transform:none}}
/* En el segundo grupo, la flecha vuelve desde el margen izquierdo. */
main>#tienda-web{height:100dvh;min-height:100dvh;background:#fff;scroll-margin-top:0;scroll-snap-align:start;scroll-snap-stop:always;padding:145px 5.8% 130px;overflow-y:auto}
.shop-search{display:flex;align-items:center;gap:20px;padding:10px 18px;background:#d2e2c9;border-radius:999px;margin-bottom:18px;color:#111}
.shop-search input{flex:1;min-width:0;border:0;background:transparent;padding:6px 0;font:inherit;font-size:17px;color:#111;outline-offset:4px}
.shop-search #shop-count{white-space:nowrap;font-size:14px}
.shop-body{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:24px;align-items:start}
.flower-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px clamp(20px,6vw,90px);padding:0 20px}
.flower-card{background:#bfd6b3;border-radius:12px;padding:10px 18px;color:#111;min-width:0;width:80%;justify-self:center}
.shop-photo{position:relative;width:100%;height:clamp(128px,19.2dvh,192px);border-radius:12px;background:#e7e8e4;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#686d63;font-size:14px}
.shop-photo img{display:block;width:100%;height:100%;object-fit:cover}
.flower-name{background:#e5b6cb;border-radius:999px;padding:7px 12px;color:var(--blue);font-size:15px;line-height:1.3;min-height:42px;margin:14px 0 12px;overflow-wrap:anywhere}
.flower-details{margin:0;display:grid;gap:6px;font-size:14px}
.flower-details>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#e5b6cb;border-radius:999px;padding:3px 12px;min-height:24px}
.flower-details dt,.flower-details dd{margin:0;overflow-wrap:anywhere}
.flower-details dd{text-align:right}
.flower-details>div:last-child{margin-top:16px}
.flower-alphabet{position:sticky;top:0;display:flex;flex-direction:column;align-items:center;background:#d2e2c9;border-radius:999px;padding:8px 3px}
.flower-alphabet button{border:0;background:transparent;color:var(--blue);font:inherit;font-size:12px;font-weight:700;width:28px;min-height:20px;padding:2px;cursor:pointer;border-radius:999px}
.flower-alphabet button[aria-pressed=true]{background:var(--pink)}
.flower-alphabet button:disabled{opacity:.35;cursor:default}
.shop-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:24px}
.shop-pagination button{font:inherit;border:1px solid var(--green);border-radius:999px;padding:9px 18px;background:var(--pink);color:var(--blue);cursor:pointer}
.shop-pagination button:disabled{opacity:.4;cursor:default}
.shop-empty{grid-column:1/-1;color:#333}
@media(max-width:999px){main>#tienda-web{padding:190px 5% 120px}.flower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:0}.flower-card{padding:14px}.shop-body{gap:12px}}
@media(max-width:550px){.flower-grid{grid-template-columns:1fr}.shop-search{gap:8px}.shop-search input{font-size:15px}.shop-search #shop-count{font-size:12px}}
.portfolio-grid.is-second-page .portfolio-next{right:auto;left:-4.4vw}
.portfolio-grid.is-second-page .portfolio-next svg{transform:rotate(180deg)}
@media(max-width:999px){.portfolio-grid.is-second-page .portfolio-next{left:-4.5vw}}
