:root{
  /* Paleta oficial proporcionada por Palm Garden */
  --brand-white:#FFFFFF;
  --brand-leaf:#7B9B4C;
  --brand-green:#2C4A1F;
  --brand-green-muted:#3D5731;
  --brand-black:#000000;
  --brand-gray-light:#D9D9D9;
  --brand-orange-light:#EBE7E5;
  --brand-orange-muted:#837053;
  --brand-brown-muted:#6D432D;
  --brand-brown-black:#311811;

  /* Alias funcionales del sistema visual */
  --forest:var(--brand-green);
  --forest-deep:var(--brand-green-muted);
  --forest-soft:var(--brand-green-muted);
  --leaf:var(--brand-leaf);
  --sage:#B9C8A5;
  --lime:#D9E8C5;
  --ivory:var(--brand-orange-light);
  --paper:#F7F3EF;
  --white:var(--brand-white);
  --taupe:var(--brand-orange-muted);
  --wood:var(--brand-brown-muted);
  --espresso:var(--brand-brown-black);
  --ink:var(--brand-black);
  --muted:#5F695F;
  --line:rgba(49,24,17,.16);

  /* Tipografías aprobadas: se usa un subconjunto coherente y fallbacks legales. */
  --serif:"The Seasons","Vidaloka","Quattrocento","Goudy Bookletter 1911","Goudy Old Style",serif;
  --editorial:"Quattrocento","Goudy Bookletter 1911","Goudy Old Style",serif;
  --sans:"Neue Montreal","Poppins","Open Sans","Segoe UI",Arial,sans-serif;
  --accent:"Amsterdam Four","Vidaloka","Quattrocento",serif;

  --ease:cubic-bezier(.22,.8,.22,1);
  --shadow:0 24px 70px rgba(16,30,20,.16);
  --container:min(1380px,calc(100vw - 64px));
}*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b6d27b;outline-offset:4px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:16px;top:-60px;z-index:10000;background:#fff;color:#111;padding:12px 16px;border-radius:0 0 8px 8px;transition:.2s}.skip-link:focus{top:0}
.section{padding:clamp(88px,10vw,156px) max(32px,calc((100vw - 1380px)/2))}
.section-kicker{margin:0 0 22px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--forest-soft)}
.section-kicker--light{color:var(--sage)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.62fr);align-items:end;gap:80px;margin-bottom:58px}
.section-heading h2,.process h2,.builder h2,.layers h2,.closing h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.95;margin:0;font-size:clamp(3rem,6.3vw,7rem)}
.section-heading>p{max-width:520px;margin:0;color:var(--muted)}
.section-heading--dark{color:var(--white)}.section-heading--dark>p{color:#b9c5bc}
.button{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:999px;font-weight:700;font-size:.9rem;letter-spacing:.01em;cursor:pointer;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.button:hover{transform:translateY(-2px)}
.button--light{background:var(--white);color:var(--forest-deep)}
.button--ghost-light{border:1px solid rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.button--dark{background:var(--forest);color:#fff}
.button--text{background:transparent;color:var(--forest);padding-left:6px;padding-right:6px}
.button--full{width:100%}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:18px max(28px,calc((100vw - 1500px)/2));color:#fff;transition:background .35s,box-shadow .35s,padding .35s,color .35s}
.site-header.is-scrolled{background:rgba(235,231,229,.94);color:var(--forest-deep);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(16px);padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:3}.brand--official{background:rgba(255,255,255,.95);padding:8px 12px;border-radius:18px;box-shadow:0 18px 40px rgba(17,24,14,.16);backdrop-filter:blur(10px)}.brand-logo{display:block;height:54px;width:auto;max-width:min(40vw,220px);object-fit:contain}.brand-mark{width:42px;height:42px}.brand-copy{display:grid;line-height:1}.brand-copy strong{font-family:var(--serif);font-size:1.35rem;font-weight:600}.brand-copy small{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;margin-top:6px;opacity:.75}
.main-nav{display:flex;align-items:center;gap:30px;font-size:.84rem;font-weight:650}.main-nav a{position:relative}.main-nav a::after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.main-nav a:hover::after{transform:scaleX(1);transform-origin:left}.nav-cta{border:1px solid currentColor;background:transparent;border-radius:999px;padding:12px 18px;cursor:pointer;font-weight:700}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;position:relative;z-index:4}.menu-toggle span:not(.sr-only){position:absolute;width:24px;height:1px;background:currentColor;left:10px;transition:.3s}.menu-toggle span:nth-child(1){top:16px}.menu-toggle span:nth-child(2){top:22px}.menu-toggle span:nth-child(3){top:28px}

/* hero */
.hero{position:relative;min-height:100svh;background:var(--forest);color:#fff;overflow:hidden;isolation:isolate}
.hero-stage,.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}
.hero-stage{overflow:hidden;background:#17301f}
.hero-slides{z-index:1}
.hero-slide{margin:0;opacity:0;transition:opacity 1.15s ease;pointer-events:none;will-change:opacity}
.hero-slide.is-active{opacity:1;z-index:2}
.hero-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;transform:scale(1.002)}
.hero-slide:nth-child(2) img{object-position:center center}
.hero-slide:nth-child(3) img{object-position:center center}
.hero-slide:nth-child(4) img{object-position:center center}
.hero-slide:nth-child(5) img{object-position:center center}
.hero-shade{z-index:3;background:linear-gradient(90deg,rgba(4,15,8,.64) 0%,rgba(4,15,8,.32) 44%,rgba(4,15,8,.30) 70%,rgba(4,15,8,.48) 100%),linear-gradient(0deg,rgba(4,15,8,.56) 0%,rgba(4,15,8,.08) 55%,rgba(4,15,8,.18) 100%);pointer-events:none}
.hero-stage::after{content:"";position:absolute;inset:0;z-index:4;background:radial-gradient(circle at 50% 36%,transparent 18%,rgba(0,0,0,.12) 100%);pointer-events:none}
@media (prefers-reduced-motion:reduce){.hero-slide{transition:opacity .85s ease}}
.hero-copy{position:relative;z-index:10;display:flex;flex-direction:column;justify-content:center;min-height:100svh;width:min(920px,calc(100% - 64px));margin:0 auto;text-align:center;padding:120px 0 140px;pointer-events:none}.hero-copy>*{pointer-events:auto}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.68rem;font-weight:700;margin:0 0 24px;color:#d6dfd2}.hero h1{font-family:var(--serif);font-size:clamp(4rem,9vw,10rem);line-height:.82;letter-spacing:-.06em;font-weight:400;margin:0;text-wrap:balance}.hero h1 em{display:block;font-weight:400;color:#dce9ca}.hero-lead{max-width:650px;margin:32px auto 0;font-size:clamp(1rem,1.35vw,1.25rem);color:#e4e8e2}.hero-actions{display:flex;gap:12px;justify-content:center;margin-top:34px}.hero-foot{position:absolute;z-index:10;left:32px;right:32px;bottom:25px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:.61rem;color:#d8ddd7}.hero-foot a{display:flex;gap:10px;align-items:center}.hero-foot b{font-size:1.2rem;font-weight:400}

/* manifesto */
.manifesto{background:var(--paper);padding-bottom:100px}.manifesto-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:80px;align-items:start}.manifesto h2{font-family:var(--serif);font-size:clamp(3.2rem,7vw,7.8rem);line-height:.9;letter-spacing:-.055em;font-weight:400;margin:0}.manifesto h2 span{color:var(--forest-soft);font-style:italic}.manifesto-copy{font-family:var(--editorial);padding-top:12px;max-width:500px;color:var(--muted);font-size:1.03rem}.manifesto-copy p:first-child{font-size:1.25rem;color:var(--ink)}.verb-ribbon{overflow:hidden;margin-top:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.verb-ribbon div{display:flex;width:max-content;gap:30px;align-items:center;animation:ribbon 26s linear infinite}.verb-ribbon span{font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);white-space:nowrap;color:var(--forest)}.verb-ribbon i{width:7px;height:7px;border-radius:50%;background:var(--leaf)}@keyframes ribbon{to{transform:translateX(-32%)}}

/* pathways */
.pathways{background:var(--ivory)}.pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);min-height:650px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pathway{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-right:1px solid var(--line);overflow:hidden;isolation:isolate;transition:color .55s var(--ease),flex .55s var(--ease)}.pathway:last-child{border-right:0}.pathway::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;opacity:0;transform:scale(1.08);transition:opacity .55s,transform 1s var(--ease)}.pathway::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,30,17,.8),rgba(10,30,17,.1));opacity:0;transition:.55s}.pathway:hover{color:#fff}.pathway:hover::before,.pathway:hover::after{opacity:1}.pathway:hover::before{transform:scale(1)}.pathway--garden::before{background-image:url('../images/projects/quinta-natural-1-6cfc8aac.webp')}.pathway--walls::before{background-image:url('../images/hero/interior-topacio-159d9c68.webp')}.pathway--care::before{background-image:url('../images/projects/layer-cuidado-9d85b5a1.webp')}.pathway-number{font-size:.72rem;letter-spacing:.14em}.pathway-content p{text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:700}.pathway-content h3{font-family:var(--serif);font-size:clamp(2rem,3.3vw,4rem);font-weight:400;line-height:.98;letter-spacing:-.04em;margin:14px 0 24px}.pathway-content span{font-size:.78rem}.pathway-action{align-self:flex-end;width:54px;height:54px;border-radius:50%;border:1px solid currentColor;background:transparent;font-size:1.35rem;cursor:pointer;transition:transform .3s,background .3s}.pathway-action:hover{transform:rotate(45deg);background:#fff;color:var(--forest)}.architect-link{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);font-size:.85rem}.architect-link b{color:var(--forest)}

/* layers */
.layers{background:var(--forest-deep);color:#fff}.layers-intro{max-width:1100px;padding-bottom:90px}.layers-intro h2 em{color:var(--lime);font-weight:400}.layers-intro>p:last-child{max-width:620px;color:#b7c2ba;font-size:1.05rem;margin-top:30px}.layer-stack{padding:0 max(32px,calc((100vw - 1380px)/2)) 150px;display:grid;gap:22px}.layer-card{position:sticky;top:94px;min-height:72vh;border-radius:26px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;background:#e9e5df;color:var(--ink);box-shadow:0 -18px 70px rgba(0,0,0,.19)}.layer-card:nth-child(2){top:114px}.layer-card:nth-child(3){top:134px}.layer-card:nth-child(4){top:154px}.layer-card figure{margin:0;min-height:500px;overflow:hidden}.layer-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.layer-card:hover img{transform:scale(1.03)}.layer-copy{padding:clamp(36px,6vw,90px);display:flex;flex-direction:column;justify-content:space-between}.layer-copy .layer-index{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--forest-soft)}.layer-copy h3{font-family:var(--serif);font-size:clamp(3.2rem,6vw,7rem);font-weight:400;letter-spacing:-.05em;margin:0 0 20px;line-height:.85}.layer-copy p{font-size:1.1rem;max-width:440px}.layer-copy button{align-self:flex-start;background:none;border:0;border-bottom:1px solid var(--forest);padding:0 0 7px;cursor:pointer;font-weight:700}

/* builder */
.builder{background:var(--forest);color:#fff}.builder-head{max-width:1050px;margin-bottom:66px}.builder-head h2{max-width:900px}.builder-head>p:last-child{max-width:650px;color:#c2ccc5;margin-top:28px}.builder-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:70px;align-items:start}.builder-controls{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.18)}.builder-controls fieldset{border:0;border-bottom:1px solid rgba(255,255,255,.18);padding:28px 0;margin:0}.builder-controls legend{font-family:var(--serif);font-size:1.65rem;padding:0;margin-bottom:16px}.builder-controls legend span{display:inline-block;width:44px;font-family:var(--sans);font-size:.64rem;letter-spacing:.18em;color:var(--sage)}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row button{border:1px solid rgba(255,255,255,.22);background:transparent;color:#d9e0da;padding:10px 13px;border-radius:999px;cursor:pointer;font-size:.78rem;transition:.25s}.choice-row button:hover,.choice-row button.is-active{background:var(--lime);border-color:var(--lime);color:var(--forest-deep)}.moodboard{position:sticky;top:105px;background:#eae5dc;color:var(--ink);padding:22px;border-radius:24px;box-shadow:0 26px 90px rgba(0,0,0,.28)}.moodboard-top{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 18px;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem}.moodboard-top strong{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:1.4rem;font-weight:400}.moodboard-grid{display:grid;grid-template-columns:1.4fr .6fr;grid-template-rows:280px 150px;gap:10px}.moodboard-grid figure{margin:0;overflow:hidden;background:#ddd}.moodboard-grid img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}.moodboard-main{grid-row:1/3}.moodboard-note{padding:18px;background:var(--forest-deep);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.moodboard-note span{font-size:.6rem;text-transform:uppercase;letter-spacing:.17em;color:var(--sage)}.moodboard-note p{font-family:var(--serif);font-size:1.25rem;line-height:1.05;margin:0}.palette{display:grid;grid-template-columns:repeat(4,1fr);min-height:38px;margin:10px 0 18px}.palette i{display:block}.moodboard-recs{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:14px 0 18px}.moodboard-recs>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}.moodboard-recs>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.moodboard-recs button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 9px;font-size:.68rem;cursor:pointer}.moodboard small{display:block;margin-top:12px;color:#70766f;font-size:.67rem}

/* catalog */
.materials{background:var(--paper)}
.catalog-heading{margin-bottom:56px}
.catalog-heading>p{max-width:510px}
.catalog-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:72px}
.catalog-family-card{position:relative;min-height:310px;border:0;padding:0;overflow:hidden;background:var(--forest-deep);color:#fff;text-align:left;cursor:pointer;isolation:isolate}
.catalog-family-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .5s,opacity .5s}
.catalog-family-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,26,16,.12),rgba(10,24,14,.86));z-index:1;transition:background .4s}
.catalog-family-card__index{position:absolute;top:20px;left:22px;z-index:2;font-size:.62rem;letter-spacing:.18em;color:#e6eee5}
.catalog-family-card__copy{position:absolute;z-index:2;left:22px;right:22px;bottom:48px;display:grid;gap:7px}
.catalog-family-card__copy strong{font-family:var(--serif);font-size:clamp(2rem,3vw,3.35rem);font-weight:400;line-height:.92;letter-spacing:-.035em}
.catalog-family-card__copy small{font-size:.61rem;text-transform:uppercase;letter-spacing:.14em;color:#d7e1d5}
.catalog-family-card__copy em{font-style:normal;font-size:.72rem;line-height:1.5;max-width:330px;color:#dfe7de;opacity:0;transform:translateY(8px);transition:.35s}
.catalog-family-card__action{position:absolute;z-index:2;right:22px;bottom:20px;font-size:.68rem;font-weight:700}
.catalog-family-card:hover img,.catalog-family-card.is-active img{transform:scale(1.045);filter:saturate(1.08)}
.catalog-family-card:hover .catalog-family-card__shade,.catalog-family-card.is-active .catalog-family-card__shade{background:linear-gradient(180deg,rgba(18,48,26,.08),rgba(15,48,24,.88))}
.catalog-family-card:hover .catalog-family-card__copy em,.catalog-family-card.is-active .catalog-family-card__copy em{opacity:1;transform:none}
.catalog-family-card.is-active{outline:4px solid var(--leaf);outline-offset:-4px}
.catalog-family-card:focus-visible{outline:4px solid var(--leaf);outline-offset:3px}
.catalog-explorer{scroll-margin-top:100px}
.catalog-routebar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.catalog-breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}
.catalog-breadcrumb::-webkit-scrollbar{display:none}
.catalog-breadcrumb button{border:0;background:none;padding:8px 0;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--forest);cursor:pointer;white-space:nowrap}
.catalog-breadcrumb button:last-of-type{font-weight:700;color:var(--ink)}
.catalog-breadcrumb span{color:var(--muted)}
.catalog-reset{border:0;background:none;color:var(--forest);text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:.7rem;white-space:nowrap}
.catalog-route-panel{display:grid;gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}
.catalog-route-panel[hidden]{display:none}
.catalog-segment-block,.catalog-subcategory-block{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:start}
.catalog-segment-block[hidden],.catalog-subcategory-block[hidden]{display:none}
.catalog-segment-block>span,.catalog-subcategory-block>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);padding-top:11px}
.catalog-route-options{display:flex;flex-wrap:wrap;gap:8px}
.catalog-route-options button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 13px;color:var(--ink);cursor:pointer;transition:.25s;font-size:.72rem}
.catalog-route-options button small{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e6e1d9;font-size:.58rem}
.catalog-route-options button:hover,.catalog-route-options button.is-active{background:var(--forest);border-color:var(--forest);color:#fff}
.catalog-route-options button.is-active small,.catalog-route-options button:hover small{background:rgba(255,255,255,.18);color:#fff}
.catalog-toolbar--hierarchy{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:38px 0 26px;border-bottom:1px solid var(--line)}
.catalog-current{display:grid;gap:5px}
.catalog-current>span{font-size:.61rem;text-transform:uppercase;letter-spacing:.16em;color:var(--forest)}
.catalog-current>strong,.catalog-current__title-row>strong{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.5rem);font-weight:400;line-height:.98;letter-spacing:-.035em}
.catalog-current>p{margin:8px 0 0;max-width:630px;color:var(--muted);font-size:.82rem}
.compare-trigger{white-space:nowrap;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:11px 14px;font-size:.72rem;cursor:pointer;font-weight:700}
.compare-trigger:disabled{opacity:.3;cursor:not-allowed}
.compare-trigger span{display:inline-grid;place-items:center;margin-left:6px;width:20px;height:20px;background:#fff;color:#111;border-radius:50%}
.catalog-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0 18px;font-size:.75rem;color:var(--muted)}
.catalog-meta p{margin:0}.catalog-meta>span{text-align:right}
.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.catalog-empty{grid-column:1/-1;min-height:240px;display:grid;place-items:center;align-content:center;gap:18px;border:1px solid var(--line)}
.catalog-empty strong{font-family:var(--serif);font-size:2rem;font-weight:400}.catalog-empty button{border:0;background:none;text-decoration:underline;cursor:pointer;color:var(--forest)}
.product-card{position:relative;background:#eee9e2;min-width:0;overflow:hidden;border-radius:3px;transition:transform .35s var(--ease),box-shadow .35s}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.product-card__image{position:relative;aspect-ratio:4/4.6;background:#e2ded8;overflow:hidden;cursor:pointer}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),opacity .4s}
.product-card:hover .product-card__image>img:first-child{transform:scale(1.035)}
.product-card__image .alt-image{position:absolute;inset:0;opacity:0}
.product-card:hover .alt-image{opacity:1;transform:scale(1.025)}
.product-card__badge{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:999px;padding:7px 10px;font-size:.56rem;text-transform:uppercase;letter-spacing:.11em;max-width:calc(100% - 62px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-card__hint{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(18,31,20,.72);color:#fff;font-size:.54rem;text-transform:uppercase;letter-spacing:.09em;opacity:.75}
.compare-toggle{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer;display:grid;place-items:center;font-size:1.1rem}
.compare-toggle.is-active{background:var(--forest);color:#fff}
.product-card__body{padding:17px}
.product-card__meta{display:flex;justify-content:space-between;gap:12px;font-size:.57rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);min-height:30px}
.product-card__meta span:first-child{color:var(--forest);font-weight:700}.product-card__meta span:last-child{text-align:right}
.product-card h3{font-family:var(--serif);font-size:1.55rem;line-height:1;margin:13px 0 7px;font-weight:400}
.product-card__key{font-size:.67rem;color:var(--muted);min-height:18px}
.product-card__actions{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.product-card__actions button{border:0;background:none;padding:0;cursor:pointer;font-size:.72rem;font-weight:700}
.product-card__add{width:34px;height:34px!important;border:1px solid var(--line)!important;border-radius:50%!important;font-size:1rem!important}
.product-card__add.is-added{background:var(--forest)!important;color:#fff}
.load-more{display:block;margin:44px auto 0;border:1px solid var(--forest);background:transparent;border-radius:999px;padding:14px 22px;cursor:pointer;font-weight:700}
.load-more[hidden]{display:none}
.product-dialog-media--catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}
.product-dialog-media--catalog figure{position:relative;margin:0;min-height:330px;background:#e9e5df;overflow:hidden}
.product-dialog-media--catalog figure:first-child:last-of-type{grid-column:1/-1}
.product-dialog-media--catalog figure img{width:100%;height:100%;object-fit:cover}
.product-dialog-media--catalog figcaption{position:absolute;left:12px;bottom:12px;padding:7px 9px;background:rgba(255,255,255,.88);font-size:.57rem;text-transform:uppercase;letter-spacing:.1em}
.product-dialog-media--catalog small{grid-column:1/-1}

/* projects */
.projects{background:var(--forest-deep);color:#fff}.project-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-auto-rows:minmax(360px,44vw);gap:12px}.project-card{position:relative;overflow:hidden;cursor:pointer;background:#1d2c22}.project-card:nth-child(3n){grid-column:1/3;max-height:650px}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,20,12,.75),transparent 55%)}.project-card:hover img{transform:scale(1.035);filter:saturate(1.08)}.project-card__copy{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;display:flex;justify-content:space-between;align-items:end;gap:20px}.project-card__copy p{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;margin:0 0 8px;color:#d2ded2}.project-card__copy h3{font-family:var(--serif);font-size:clamp(2rem,3.4vw,4.2rem);font-weight:400;line-height:.92;letter-spacing:-.04em;margin:0;max-width:650px}.project-card__copy span{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:1.2rem;flex:0 0 auto}

/* process */
.process{background:var(--ivory);display:grid;grid-template-columns:.85fr 1.15fr;gap:120px}.process-lead{position:sticky;top:130px;align-self:start}.process-lead h2{font-size:clamp(3rem,5.4vw,6rem)}.process-lead>p:last-child{max-width:480px;color:var(--muted);margin-top:28px}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:70px 1fr;padding:34px 0;border-bottom:1px solid var(--line)}.process-list>li>span{font-size:.64rem;letter-spacing:.17em;color:var(--forest-soft)}.process-list h3{font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.7rem);font-weight:400;letter-spacing:-.045em;line-height:1;margin:0 0 12px}.process-list p{margin:0;color:var(--muted);max-width:540px}

/* closing */
.closing{min-height:90vh;display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fff}.closing-visual{min-height:620px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f7f4ef 0%,#f1ede6 100%);padding:clamp(18px,3vw,42px);overflow:hidden}.closing-visual img{width:100%;height:100%;object-fit:contain;object-position:center center;display:block;filter:drop-shadow(0 18px 34px rgba(17,24,14,.08))}.closing-copy{padding:clamp(60px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.closing-copy h2{font-size:clamp(3.4rem,6.4vw,7.5rem);max-width:780px}.closing-copy h2 em{display:block;color:var(--lime);font-weight:400}.closing-copy>p:not(.section-kicker){max-width:580px;color:#c3cec6;margin:30px 0}.closing-copy .button{align-self:flex-start}.closing-contacts{display:flex;gap:30px;margin-top:48px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.contact-card{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:center;text-decoration:none;color:inherit;transition:transform .25s ease,border-color .25s ease,background .25s ease}.contact-card:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.38);background:rgba(255,255,255,.07)}.contact-card--social,.corporate-email{grid-template-columns:46px 1fr}.contact-text{display:grid;gap:4px;min-width:0}.contact-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.contact-icon svg{width:24px;height:24px;display:block}.contact-icon--whatsapp{background:#25D366;color:#25D366}.contact-icon--phone{background:#EDE6DA;color:#2C2E32}.contact-icon--instagram{background:linear-gradient(135deg,#F58529 0%,#DD2A7B 52%,#8134AF 76%,#515BD4 100%);color:#fff}.contact-icon--facebook{background:#1877F2;color:#fff}.contact-icon--email{background:#DCC6A6;color:#2C4A1F}

/* footer */
.site-footer{background:var(--brand-brown-black);color:#dce3dd;padding:70px max(32px,calc((100vw - 1380px)/2)) 34px;display:grid;grid-template-columns:1.35fr .55fr .55fr 1fr;gap:70px}.footer-brand{display:flex;gap:18px;align-items:flex-start}.footer-brand--official{align-items:center}.footer-logo{display:block;width:min(100%,170px);min-width:120px;height:auto;border-radius:18px;background:#fff;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.16)}.footer-brand strong{font-family:var(--serif);font-size:2rem}.footer-brand p{max-width:300px;color:#95a197;font-size:.78rem}.footer-links{display:flex;flex-direction:column;gap:10px;font-size:.76rem}.footer-links>span,.footer-note>span{text-transform:uppercase;letter-spacing:.16em;font-size:.6rem;color:#7f8d82;margin-bottom:8px}.footer-note{display:flex;flex-direction:column;gap:10px;font-size:.76rem}.footer-note small{color:#b8aca0;margin-top:15px}.footer-icon-link{display:flex;align-items:center;gap:10px;min-width:0;color:inherit;text-decoration:none;overflow-wrap:anywhere}.footer-icon-link i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.footer-icon-link svg{width:16px;height:16px;display:block}.footer-icon-link--whatsapp i{background:#25D366;color:#25D366}.footer-icon-link--phone i{background:#EDE6DA;color:#2C2E32}.footer-icon-link--instagram i{background:linear-gradient(135deg,#F58529 0%,#DD2A7B 52%,#8134AF 76%,#515BD4 100%);color:#fff}.footer-icon-link--facebook i{background:#1877F2;color:#fff}.footer-icon-link--email i{background:#DCC6A6;color:#2C4A1F}.footer-email-status{display:flex;align-items:center;gap:10px;color:#B8ACA0}

/* project capsule */
.project-capsule{position:fixed;z-index:850;right:22px;bottom:22px;border:0;background:var(--forest-deep);color:#fff;border-radius:999px;padding:10px 12px 10px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 12px 34px rgba(0,0,0,.25);cursor:pointer;transform:translateY(90px);transition:transform .4s var(--ease)}.project-capsule.is-visible{transform:none}.project-capsule span{font-size:.75rem;font-weight:700}.project-capsule b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--lime);color:var(--forest-deep)}
.project-drawer-backdrop{position:fixed;inset:0;z-index:1240;background:rgba(18,25,17,.48);opacity:0;transition:opacity .35s ease;backdrop-filter:blur(3px)}
.project-drawer-backdrop.is-visible{opacity:1}
.project-drawer{position:fixed;z-index:1250;right:0;top:0;bottom:0;width:min(540px,100vw);background:var(--paper);color:var(--ink);box-shadow:-24px 0 90px rgba(0,0,0,.28);transform:translateX(105%);transition:transform .45s var(--ease);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.project-drawer.is-open{transform:none}
.project-drawer__head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:34px 34px 26px;border-bottom:1px solid var(--line)}
.project-drawer__head p{margin:0 0 7px;text-transform:uppercase;letter-spacing:.16em;font-size:.61rem;color:var(--forest-soft)}
.project-drawer__head h2{margin:0;font-family:var(--serif);font-size:clamp(2.6rem,5vw,4rem);font-weight:400;line-height:.9;letter-spacing:-.045em}
.project-drawer__head span{display:block;margin-top:12px;font-size:.72rem;color:var(--muted)}
.project-drawer__head>button{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:50%;background:#e9e4dc;color:var(--ink);font-size:1.55rem;cursor:pointer}
.project-drawer__body{overflow:auto;padding:10px 34px 24px}
.project-selection-item{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.project-selection-item__image{width:96px;height:96px;border:0;padding:0;overflow:hidden;background:#e7e2da;cursor:pointer}
.project-selection-item__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.project-selection-item__image:hover img{transform:scale(1.05)}
.project-selection-item__copy{min-width:0}
.project-selection-item__copy span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.58rem;color:var(--forest-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-selection-item__copy h3{font-family:var(--serif);font-size:1.55rem;line-height:1;margin:8px 0 7px;font-weight:400}
.project-selection-item__copy small{display:block;color:var(--muted);font-size:.68rem;overflow-wrap:anywhere}
.project-selection-item__remove{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:#873b32;cursor:pointer;font-size:1.1rem}
.project-selection-empty{min-height:330px;display:grid;place-items:center;text-align:center;padding:44px 20px}
.project-selection-empty div{max-width:310px}
.project-selection-empty span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;border-radius:50%;background:#e2ead8;color:var(--forest);font-size:1.8rem}
.project-selection-empty h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:0 0 10px}
.project-selection-empty p{font-size:.78rem;color:var(--muted);line-height:1.5;margin:0}
.project-drawer__footer{padding:24px 34px 30px;border-top:1px solid var(--line);background:#f0ece5}
.project-drawer__footer>p{margin:0 0 18px;color:var(--muted);font-size:.7rem;line-height:1.5}
.project-drawer__actions{display:grid;grid-template-columns:1fr 1.15fr;gap:9px}
.project-drawer__actions .button{width:100%;justify-content:center;text-align:center}
.project-drawer__clear{display:block;margin:16px auto 0;border:0;background:transparent;color:#873b32;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:.69rem}


/* dialogs */
dialog{border:0;padding:0;background:transparent}dialog::backdrop{background:rgba(10,18,12,.78);backdrop-filter:blur(8px)}.modal{width:min(1120px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 28px 100px rgba(0,0,0,.35)}.modal-close{position:sticky;float:right;top:14px;right:14px;z-index:10;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:1.5rem;cursor:pointer;box-shadow:0 7px 20px rgba(0,0,0,.1)}.modal-close--light{color:#111}.product-dialog-layout{display:grid;grid-template-columns:1.1fr .9fr;min-height:680px}.product-dialog-media{background:#e5e0d9;padding:20px;display:grid;gap:10px}.product-dialog-media figure{margin:0;overflow:hidden;min-height:350px}.product-dialog-media img{width:100%;height:100%;object-fit:cover}.product-dialog-media small{color:var(--muted)}.product-dialog-copy{padding:70px 56px 50px}.product-dialog-copy .dialog-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;color:var(--forest-soft)}.product-dialog-copy h2{font-family:var(--serif);font-size:clamp(3rem,5vw,6rem);font-weight:400;line-height:.86;letter-spacing:-.05em;margin:20px 0}.product-dialog-copy>p{color:var(--muted)}.spec-list{margin:34px 0;border-top:1px solid var(--line)}.spec-list div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.8rem}.spec-list dt{color:var(--muted)}.spec-list dd{margin:0}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.project-modal{background:var(--forest-deep);color:#fff}.project-dialog-hero{position:relative;height:min(68vh,720px)}.project-dialog-hero img{width:100%;height:100%;object-fit:cover}.project-dialog-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,20,12,.82),transparent 60%)}.project-dialog-title{position:absolute;z-index:2;left:clamp(25px,6vw,70px);bottom:45px;max-width:780px}.project-dialog-title p{text-transform:uppercase;letter-spacing:.17em;font-size:.65rem}.project-dialog-title h2{font-family:var(--serif);font-size:clamp(3rem,6vw,7rem);line-height:.87;font-weight:400;letter-spacing:-.05em;margin:0}.project-dialog-body{padding:50px clamp(25px,6vw,70px) 75px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.project-dialog-body>p{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.4rem);line-height:1.05;margin:0}.project-dialog-body ul{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2)}.project-dialog-body li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2)}.project-dialog-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 10px 10px}.project-dialog-gallery img{width:100%;height:460px;object-fit:cover}.project-dialog-gallery img:first-child:last-child{grid-column:1/3}

/* brief */
.brief-modal{width:min(900px,calc(100vw - 24px))}.brief-shell{padding:54px clamp(22px,6vw,70px) 40px;min-height:650px}.brief-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.brief-head p{text-transform:uppercase;letter-spacing:.15em;font-size:.63rem;color:var(--forest-soft);margin:0 0 8px}.brief-head h2{font-family:var(--serif);font-size:clamp(2.7rem,5vw,5rem);font-weight:400;letter-spacing:-.045em;line-height:.9;margin:0}.brief-head>span{font-size:.7rem;color:var(--muted)}.brief-progress{height:2px;background:#d5d0c9;margin:24px 0 36px}.brief-progress span{display:block;height:100%;width:20%;background:var(--forest);transition:width .4s var(--ease)}.brief-step{display:none;animation:fadeUp .4s var(--ease)}.brief-step.is-active{display:block}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}}.brief-step fieldset{border:0;padding:0;margin:0 0 30px}.brief-step legend{font-family:var(--serif);font-size:1.55rem;margin-bottom:15px}.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.option-grid button{min-height:74px;background:#eee9e2;border:1px solid transparent;padding:12px;border-radius:10px;cursor:pointer;text-align:left;font-size:.8rem;transition:.25s}.option-grid button:hover,.option-grid button.is-active{border-color:var(--forest);background:#dfe8d3}.option-grid--compact{grid-template-columns:repeat(3,1fr)}.option-grid--compact button{min-height:55px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.brief-step label{display:grid;gap:7px;margin-bottom:16px;font-size:.74rem;font-weight:700}.brief-step input,.brief-step select{width:100%;border:1px solid #cac5be;background:#fff;padding:14px;border-radius:8px;color:var(--ink)}.file-label{border:1px dashed #aaa39a;border-radius:12px;padding:18px!important}.file-label span{font-weight:400;color:var(--muted)}.file-label input{border:0;background:transparent;padding:10px 0}.file-label small{font-weight:400;color:var(--forest-soft)}.consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:400!important;line-height:1.4}.consent input{width:18px;height:18px}.brief-actions{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.brief-summary{display:grid;gap:0;border-top:1px solid var(--line)}.summary-row{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.82rem}.summary-row span{color:var(--muted)}.send-note{background:#e2ead8;padding:18px;border-radius:10px;margin-top:24px;border:1px solid rgba(44,74,31,.14)}.send-note p{margin:6px 0 0;font-size:.76rem;color:#4e5a50;line-height:1.5}.send-note b{color:var(--forest-deep)}
.brief-review-heading{display:flex;align-items:center;gap:16px;margin:0 0 26px}.brief-review-heading p{margin:0 0 5px;text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;color:var(--forest-soft)}.brief-review-heading h3{font-family:var(--serif);font-size:clamp(1.8rem,3.3vw,3rem);font-weight:400;line-height:1;margin:0}.brief-review-icon{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:var(--forest);color:#fff;font-size:1.25rem}.button--whatsapp{border:0;background:#25D366;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:min(100%,310px);box-shadow:0 12px 28px rgba(37,211,102,.24);font-weight:700}.button--whatsapp:hover{background:#1fb85a;transform:translateY(-1px)}.button--whatsapp:focus-visible{outline:3px solid rgba(37,211,102,.35);outline-offset:3px}.button--whatsapp svg{width:23px;height:23px;flex:0 0 auto;color:#25D366;background:#fff;border-radius:50%;padding:2px;box-sizing:content-box}.button--whatsapp:disabled{opacity:.78;cursor:wait;transform:none}

/* comparison */
.compare-drawer{position:fixed;z-index:1200;right:0;top:0;bottom:0;width:min(760px,100vw);background:var(--paper);box-shadow:-20px 0 80px rgba(0,0,0,.26);transform:translateX(105%);transition:transform .45s var(--ease);padding:32px;overflow:auto}.compare-drawer.is-open{transform:none}.compare-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);padding-bottom:20px}.compare-head p{text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;color:var(--forest-soft);margin:0}.compare-head h2{font-family:var(--serif);font-size:2.8rem;font-weight:400;margin:4px 0 0}.compare-head button{width:42px;height:42px;border:0;border-radius:50%;background:#e8e2db;font-size:1.4rem;cursor:pointer}.compare-table{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;margin-top:24px}.compare-col{background:#ece7df;padding:12px}.compare-col img{width:100%;aspect-ratio:1/1;object-fit:cover}.compare-col h3{font-family:var(--serif);font-size:1.5rem;line-height:1;margin:16px 0}.compare-col dl{margin:0}.compare-col dl div{border-top:1px solid var(--line);padding:10px 0}.compare-col dt{font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.compare-col dd{margin:5px 0 0;font-size:.74rem}.compare-col button{margin-top:14px;border:0;background:none;text-decoration:underline;cursor:pointer;color:#8a2b2b}
.toast{position:fixed;z-index:2000;left:50%;bottom:26px;transform:translate(-50%,90px);background:#111d14;color:#fff;padding:12px 18px;border-radius:999px;font-size:.76rem;opacity:0;transition:.35s var(--ease);pointer-events:none;box-shadow:0 10px 35px rgba(0,0,0,.25)}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;z-index:10000;bottom:0;left:0;right:0;background:#fff3bd;color:#111;padding:14px;text-align:center}


/* company profile and exact client content */
.company-profile{background:var(--brand-white);padding-top:clamp(90px,10vw,150px);padding-bottom:clamp(90px,10vw,150px)}
.company-profile__intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);gap:80px;align-items:end;margin-bottom:64px}
.company-profile__intro h2{font-family:var(--serif);font-size:clamp(3.3rem,6.8vw,7.6rem);font-weight:400;line-height:.89;letter-spacing:-.055em;margin:0;max-width:980px}
.company-profile__intro h2 em{display:block;color:var(--brand-green-muted);font-weight:400}
.company-profile__intro>p{font-family:var(--editorial);font-size:1.16rem;line-height:1.7;color:var(--muted);margin:0;max-width:540px}
.offerings-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--brand-gray-light);border-left:1px solid var(--brand-gray-light)}
.offering-card{min-height:285px;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--brand-gray-light);border-bottom:1px solid var(--brand-gray-light);position:relative;background:var(--paper);overflow:hidden;isolation:isolate}
.offering-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--brand-green);z-index:4}
.offering-card:nth-child(2)::before{background:var(--brand-leaf)}
.offering-card:nth-child(3)::before{background:var(--brand-green-muted)}
.offering-card:nth-child(4)::before{background:var(--brand-orange-muted)}
.offering-card:nth-child(5)::before{background:var(--brand-brown-muted)}
.offering-card:nth-child(6)::before{background:var(--brand-brown-black)}
.offering-card__content{position:relative;z-index:3;display:flex;flex-direction:column;min-height:100%}
.offering-card__media,.offering-card__veil{position:absolute;inset:0}
.offering-card__media{z-index:0;opacity:.28;transition:opacity .45s ease,transform .65s cubic-bezier(.2,.65,.2,1)}
.offering-card__media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .8s cubic-bezier(.2,.65,.2,1);filter:saturate(.96) contrast(1.02)}
.offering-card__veil{z-index:1;background:linear-gradient(180deg, rgba(248,246,241,.68) 0%, rgba(248,246,241,.72) 42%, rgba(248,246,241,.82) 100%);transition:background .45s ease}
.offering-card--image:hover .offering-card__media,.offering-card--image:focus-within .offering-card__media{opacity:.78}
.offering-card--image:hover .offering-card__media img,.offering-card--image:focus-within .offering-card__media img{transform:scale(1.075)}
.offering-card--image:hover .offering-card__veil,.offering-card--image:focus-within .offering-card__veil{background:linear-gradient(180deg, rgba(22,38,18,.22) 0%, rgba(22,38,18,.35) 45%, rgba(22,38,18,.58) 100%)}
.offering-card>span,.offering-card__content>span{font-size:.65rem;letter-spacing:.16em;color:var(--muted)}
.offering-card h3,.offering-card__content h3{font-family:var(--serif);font-size:clamp(1.8rem,2.7vw,3.1rem);line-height:.98;font-weight:400;margin:auto 0 16px;max-width:330px;position:relative}
.offering-card p,.offering-card__content p{font-size:.78rem;color:var(--muted);margin:0;max-width:330px;position:relative}
.offering-card__content,.offering-card__content>span,.offering-card__content h3,.offering-card__content p{transition:color .35s ease,text-shadow .35s ease}
.offering-card--image:hover .offering-card__content>span,.offering-card--image:focus-within .offering-card__content>span{color:rgba(255,255,255,.82)}
.offering-card--image:hover .offering-card__content h3,.offering-card--image:focus-within .offering-card__content h3{color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.32)}
.offering-card--image:hover .offering-card__content p,.offering-card--image:focus-within .offering-card__content p{color:rgba(255,255,255,.92);text-shadow:0 1px 16px rgba(0,0,0,.28)}
@media (hover:none){.offering-card__media{opacity:.48}.offering-card__veil{background:linear-gradient(180deg, rgba(248,246,241,.5) 0%, rgba(248,246,241,.58) 42%, rgba(248,246,241,.72) 100%)}}
.work-pillars{margin-top:90px;display:grid;grid-template-columns:1.25fr repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.work-pillars>*{padding:34px 28px;border-right:1px solid var(--line)}
.work-pillars>*:last-child{border-right:0}
.work-pillars__lead span,.work-pillars article>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:var(--brand-green-muted)}
.work-pillars__lead h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);font-weight:400;line-height:1;margin:25px 0 0}
.work-pillars h4{font-family:var(--serif);font-size:clamp(1.45rem,1.8vw,1.75rem);font-weight:400;line-height:1.05;margin:62px 0 14px}
.work-pillars article p{font-size:.76rem;color:var(--muted);margin:0}
.brand-quote{margin:clamp(90px,12vw,170px) auto 0;padding:0;max-width:1000px;text-align:center;border:0;color:var(--brand-green)}
.brand-quote p{font-family:var(--accent);font-size:clamp(2.9rem,6vw,6.8rem);line-height:.98;letter-spacing:-.035em;margin:0}
.brand-quote cite{display:block;font-family:var(--editorial);font-size:1rem;letter-spacing:.12em;margin-top:28px;color:var(--brand-brown-muted);font-style:normal}

.closing-contacts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;width:100%;margin-top:48px!important}
.closing-contacts a,.closing-social>a,.corporate-email{border:1px solid rgba(255,255,255,.23);padding:15px 16px;display:grid;gap:4px;min-width:0;background:rgba(255,255,255,.04)}
.closing-contacts span,.closing-social span,.corporate-email span{font-size:.55rem;text-transform:uppercase;letter-spacing:.14em;color:#B9C8A5}
.closing-contacts strong,.closing-social strong,.corporate-email strong{font-size:.78rem;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.closing-social{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;width:100%}
.corporate-email{grid-column:1/3}
.corporate-email small{font-size:.66rem;color:#C3CEC6}
.footer-note a{overflow-wrap:anywhere}
.footer-email-status{font-size:.7rem!important;text-transform:none!important;letter-spacing:0!important;color:#CBBFB3!important;margin:8px 0 0!important}

@media (max-width:1050px){
  :root{--container:min(100% - 40px,1380px)}
  .site-header{padding-left:20px;padding-right:20px}.menu-toggle{display:block}.main-nav{position:fixed;inset:0;background:var(--forest-deep);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;font-family:var(--serif);font-size:2.5rem;transform:translateY(-105%);transition:transform .5s var(--ease)}.main-nav.is-open{transform:none}.main-nav .nav-cta{font-family:var(--sans);font-size:.9rem}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg);top:22px}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg);top:22px}
  .section-heading,.manifesto-grid,.builder-layout,.process,.company-profile__intro{grid-template-columns:1fr;gap:45px}.offerings-grid{grid-template-columns:repeat(2,1fr)}.work-pillars{grid-template-columns:1fr 1fr}.work-pillars__lead{grid-column:1/-1}.work-pillars>*{border-bottom:1px solid var(--line)}.pathway-grid{grid-template-columns:1fr;min-height:0}.pathway{min-height:440px;border-right:0;border-bottom:1px solid var(--line)}.pathway:last-child{border-bottom:0}.pathway::before,.pathway::after{opacity:1}.pathway{color:#fff}.catalog-toolbar{grid-template-columns:1fr auto}.catalog-filters{grid-column:1/3;grid-row:2}.catalog-grid{grid-template-columns:repeat(3,1fr)}.process-lead{position:static}.project-grid{grid-template-columns:1fr}.project-card:nth-child(3n){grid-column:auto}.closing{grid-template-columns:1fr}.closing-visual{min-height:55vh}.site-footer{grid-template-columns:1fr 1fr}.layer-card{grid-template-columns:1fr;position:relative!important;top:auto!important}.layer-card figure{height:48vh;min-height:350px}.moodboard{position:relative;top:auto}
}
@media (max-width:720px){
  .section{padding:78px 20px}.company-profile__intro{gap:28px}.company-profile__intro h2{font-size:clamp(3.2rem,14vw,5.7rem)}.offerings-grid{grid-template-columns:1fr}.offering-card{min-height:235px;padding:24px}.offering-card__media{opacity:.48}.work-pillars{grid-template-columns:1fr}.work-pillars>*{border-right:0}.work-pillars h4{margin-top:38px}.brand-quote{margin-top:90px}.brand-quote p{font-size:clamp(2.6rem,12vw,4.6rem)}.brand-copy small{display:none}.brand-mark{width:36px}.brand--official{padding:7px 10px;border-radius:14px}.brand-logo{height:44px;max-width:min(48vw,180px)}.hero-copy{width:calc(100% - 36px);padding-top:110px}.hero h1{font-size:clamp(3.6rem,17vw,6.2rem)}.hero-lead{font-size:.92rem}.hero-actions{flex-direction:column;align-items:stretch;margin-left:auto;margin-right:auto;width:min(100%,360px)}.hero-foot{left:18px;right:18px}.hero-foot>span{display:none}.manifesto-grid{gap:35px}.manifesto h2{font-size:clamp(3.3rem,15vw,5.5rem)}.section-heading{display:block}.section-heading>p{margin-top:24px}.section-heading h2,.builder h2,.layers h2,.closing h2{font-size:clamp(3.2rem,14vw,5.5rem)}.pathway-grid{margin-left:-20px;margin-right:-20px}.pathway{padding:24px;min-height:480px}.architect-link{display:grid;gap:8px}.layer-stack{padding:0 12px 80px}.layer-card{border-radius:18px}.layer-copy{padding:32px}.layer-copy h3{font-size:4rem}.builder-layout{gap:40px}.moodboard-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 130px}.moodboard-main{grid-column:1/3;grid-row:auto}.moodboard-recs{display:block}.moodboard-recs>div{justify-content:flex-start;margin-top:9px}.catalog-toolbar{grid-template-columns:1fr}.catalog-filters{grid-column:1;grid-row:auto}.compare-trigger{justify-self:start}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:8px}.product-card__body{padding:12px}.product-card h3{font-size:1.25rem}.product-card__meta{display:block}.product-card__meta span:last-child{display:none}.project-grid{grid-auto-rows:70vh;margin-left:-20px;margin-right:-20px}.project-card__copy{left:20px;right:20px}.process{padding-left:20px;padding-right:20px}.process-list li{grid-template-columns:44px 1fr}.closing-copy{padding:70px 22px}.closing-contacts{display:grid;grid-template-columns:1fr!important;gap:10px}.closing-social{grid-template-columns:1fr}.corporate-email{grid-column:auto}.site-footer{grid-template-columns:1fr;padding:55px 22px 30px;gap:38px}.project-capsule{right:12px;bottom:12px}.product-dialog-layout{grid-template-columns:1fr}.product-dialog-copy{padding:35px 22px}.product-dialog-media{padding:10px}.product-dialog-media figure{min-height:280px}.project-dialog-body{grid-template-columns:1fr;padding:36px 22px}.project-dialog-gallery{grid-template-columns:1fr}.project-dialog-gallery img,.project-dialog-gallery img:first-child:last-child{grid-column:auto;height:58vh}.brief-shell{padding:50px 18px 25px}.brief-head{display:block}.brief-head>span{display:block;margin-top:12px}.brief-actions{gap:12px;align-items:stretch}.brief-actions .button--whatsapp{width:100%;min-width:0}.option-grid,.option-grid--compact{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.summary-row{grid-template-columns:1fr;gap:2px}.compare-drawer{padding:20px}.compare-table{display:flex;overflow-x:auto}.compare-col{min-width:220px}}
@media (max-width:430px){.catalog-grid{grid-template-columns:1fr}.product-card__image{aspect-ratio:4/3.8}.hero h1{font-size:3.8rem}.moodboard{padding:12px}.moodboard-grid{grid-template-rows:210px 120px}.option-grid,.option-grid--compact{grid-template-columns:1fr 1fr}.option-grid button{font-size:.72rem}.footer-note p{font-size:1.35rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.verb-ribbon div{animation:none}}


/* Catálogo jerárquico responsive */
@media (max-width:1100px){.catalog-family-grid{grid-template-columns:repeat(2,1fr)}.catalog-grid{grid-template-columns:repeat(3,1fr)}.catalog-segment-block,.catalog-subcategory-block{grid-template-columns:150px 1fr}}
@media (max-width:760px){.catalog-heading{margin-bottom:38px}.catalog-family-grid{grid-template-columns:1fr 1fr;gap:8px;margin-left:-20px;margin-right:-20px;margin-bottom:52px}.catalog-family-card{min-height:260px}.catalog-family-card__copy{left:16px;right:16px;bottom:42px}.catalog-family-card__copy strong{font-size:2rem}.catalog-family-card__copy em{display:none}.catalog-family-card__index{left:16px}.catalog-family-card__action{right:16px}.catalog-routebar{align-items:flex-start}.catalog-segment-block,.catalog-subcategory-block{grid-template-columns:1fr;gap:10px}.catalog-route-options{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;margin-right:-20px;scrollbar-width:none}.catalog-route-options::-webkit-scrollbar{display:none}.catalog-route-options button{flex:0 0 auto}.catalog-toolbar--hierarchy{grid-template-columns:1fr;align-items:start}.compare-trigger{justify-self:start}.catalog-current>strong,.catalog-current__title-row>strong{font-size:clamp(2.3rem,11vw,4.2rem)}.catalog-meta{align-items:flex-start}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:8px}.product-dialog-media--catalog{grid-template-columns:1fr}.product-dialog-media--catalog figure{min-height:280px}.product-dialog-media--catalog figure:first-child:last-of-type{grid-column:auto}}
@media (max-width:430px){.catalog-family-grid{grid-template-columns:1fr}.catalog-family-card{min-height:230px}.catalog-grid{grid-template-columns:1fr}.catalog-meta>span{display:none}.product-card__image{aspect-ratio:4/3.8}}

/* Evita que el menú móvil se comprima dentro del header al activar el blur del encabezado. */
@media (max-width:900px){
  .main-nav{height:100dvh;min-height:100dvh;overflow-y:auto}
}

@media (max-width:600px){.project-drawer{width:100%}.project-drawer__head{padding:26px 20px 20px}.project-drawer__body{padding:6px 20px 18px}.project-drawer__footer{padding:20px}.project-selection-item{grid-template-columns:78px 1fr auto;gap:12px}.project-selection-item__image{width:78px;height:78px}.project-selection-item__copy h3{font-size:1.3rem}.project-drawer__actions{grid-template-columns:1fr}.project-drawer__actions .button{min-height:48px}}


/* Trabajo real — presentación compacta y uniforme (v10) */
.projects .section-heading{margin-bottom:40px}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:14px}
.project-card,.project-card:nth-child(3n){grid-column:auto;max-height:none;aspect-ratio:4/3;border-radius:18px;border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 38px rgba(8,18,11,.16)}
.project-card::after{background:linear-gradient(0deg,rgba(7,18,11,.88) 0%,rgba(7,18,11,.42) 48%,rgba(7,18,11,.05) 76%)}
.project-card__copy{left:22px;right:18px;bottom:20px;gap:14px}
.project-card__copy p{font-size:.57rem;line-height:1.45;letter-spacing:.12em;margin-bottom:7px}
.project-card__copy h3{font-size:clamp(1.75rem,2.3vw,2.75rem);line-height:.96;letter-spacing:-.035em;max-width:100%}
.project-card__copy span{width:42px;height:42px;font-size:1rem;background:rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.project-card:hover img{transform:scale(1.045);filter:saturate(1.06) contrast(1.02)}

.project-dialog-hero{height:min(54vh,570px)}
.project-dialog-title{left:clamp(24px,5vw,58px);right:70px;bottom:34px;max-width:760px}
.project-dialog-title h2{font-size:clamp(2.8rem,5vw,5.7rem);line-height:.9}
.project-dialog-body{padding:38px clamp(24px,5vw,58px) 48px;grid-template-columns:1.05fr .95fr;gap:46px}
.project-dialog-body>p{font-size:clamp(1.45rem,2.2vw,2.35rem);line-height:1.08;padding-top:14px}
.project-dialog-body li{padding:13px 0;font-size:.86rem}
.project-dialog-gallery{gap:8px;padding:0 8px 8px}
.project-dialog-gallery img{height:340px}

@media (max-width:1050px){
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .project-card,.project-card:nth-child(3n){grid-column:auto;aspect-ratio:4/3}
}
@media (max-width:700px){
  .projects .section-heading{margin-bottom:30px}
  .project-grid{grid-template-columns:1fr;grid-auto-rows:auto;margin-left:0;margin-right:0;gap:12px}
  .project-card,.project-card:nth-child(3n){aspect-ratio:4/3;border-radius:14px}
  .project-card__copy{left:18px;right:16px;bottom:16px}
  .project-card__copy h3{font-size:clamp(1.8rem,8vw,2.65rem)}
  .project-card__copy span{width:38px;height:38px}
  .project-dialog-hero{height:min(48vh,460px)}
  .project-dialog-title{left:22px;right:58px;bottom:24px}
  .project-dialog-title h2{font-size:clamp(2.45rem,11vw,4.2rem)}
  .project-dialog-body{grid-template-columns:1fr;gap:28px;padding:30px 22px 38px}
  .project-dialog-body>p{font-size:1.55rem;padding-top:0}
  .project-dialog-gallery{grid-template-columns:1fr}
  .project-dialog-gallery img,.project-dialog-gallery img:first-child:last-child{grid-column:auto;height:auto;aspect-ratio:4/3}
}

/* Solicitud de cotización basada en el cuestionario oficial */
.question-number{color:var(--forest-soft);font-family:var(--sans);font-size:.72em;margin-right:6px;letter-spacing:.04em}
.question-help{margin:-8px 0 15px;color:var(--muted);font-size:.75rem;font-style:italic}
.option-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.option-grid button strong{display:block;font-size:.82rem;line-height:1.25}
.option-grid button small{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;line-height:1.35;font-weight:400}
.option-grid button.is-active small{color:#485747}
.other-field{display:none!important;margin-top:12px}
.other-field.is-visible{display:grid!important}
.brief-step input[type="number"]{appearance:textfield}
.brief-step input[type="number"]::-webkit-inner-spin-button,.brief-step input[type="number"]::-webkit-outer-spin-button{appearance:none;margin:0}
@media (max-width:620px){
  .option-grid--wide{grid-template-columns:1fr}
  .option-grid--wide button{min-height:64px}
}

@media (max-width:720px){
  .hero-slide img{object-position:center center}
  .hero-slide:nth-child(1) img{object-position:56% center}
  .hero-slide:nth-child(2) img{object-position:66% center}
  .hero-slide:nth-child(4) img{object-position:42% center}
  .hero-slide:nth-child(5) img{object-position:58% center}
}

/* v19 · Créditos visuales Teknostep y presentación profesional del catálogo */
.visual-credit{margin:10px 0 0;font-size:.58rem;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:rgba(44,74,31,.55)}
.visual-credit--offerings{text-align:right}
.visual-credit--catalog{text-align:right;margin-top:-28px;margin-bottom:30px}
.product-dialog-media figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px 2px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:#566057}
.product-dialog-media figure figcaption small{font-size:.53rem;letter-spacing:.05em;text-transform:none;color:#8b908a;white-space:nowrap}
.product-dialog-media .catalog-reference-note{display:block;grid-column:1/-1;font-size:.62rem;line-height:1.5;color:#737a74;padding:4px 2px 0}
.footer-legal-credit{grid-column:1/-1;margin:8px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.56rem;line-height:1.55;color:#827b72;letter-spacing:.02em}
@media(max-width:760px){.visual-credit--catalog{margin-top:-18px;margin-bottom:24px;text-align:left}.visual-credit--offerings{text-align:left}.product-dialog-media figure figcaption{align-items:flex-start;flex-direction:column;gap:2px}.product-dialog-media figure figcaption small{white-space:normal}}


/* v21 · Vista de proyectos por familia: composición adaptativa + ampliación fiel */
.catalog-current__title-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.catalog-current__title-row>strong{display:block}
.catalog-projects-toggle{flex:0 0 auto;border:1px solid var(--forest);background:transparent;color:var(--forest);border-radius:999px;padding:11px 16px;font-size:.7rem;font-weight:700;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease;white-space:nowrap}
.catalog-projects-toggle:hover,.catalog-projects-toggle[aria-pressed="true"]{background:var(--forest);color:#fff;transform:translateY(-1px)}
.catalog-projects-toggle[hidden]{display:none}
.catalog-project-gallery[hidden],.catalog-grid[hidden]{display:none}

/* Muchas fotografías: mantiene el mosaico orgánico que funciona bien */
.catalog-project-gallery--masonry{column-width:245px;column-gap:10px;margin-top:2px}
.catalog-project-gallery--masonry .catalog-project-shot{margin:0 0 10px;break-inside:avoid}

/* Pocas fotografías: composición editorial para que cada imagen tenga presencia */
.catalog-project-gallery--curated{display:grid;gap:10px;margin-top:4px;min-height:0}
.catalog-project-gallery--curated .catalog-project-shot{margin:0;min-height:0;height:100%}
.catalog-project-gallery--curated .catalog-project-shot__media{height:100%;aspect-ratio:auto!important}
.catalog-project-gallery--count-1{grid-template-columns:1fr;max-width:980px}
.catalog-project-gallery--count-1 .catalog-project-shot{aspect-ratio:16/9}
.catalog-project-gallery--count-2{grid-template-columns:repeat(2,minmax(0,1fr));height:clamp(360px,42vw,590px)}
.catalog-project-gallery--count-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(300px,1.35fr) minmax(220px,1fr);height:clamp(560px,58vw,720px)}
.catalog-project-gallery--count-3 .catalog-project-shot:first-child{grid-column:1/-1}
.catalog-project-gallery--count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(250px,1fr));height:clamp(560px,58vw,720px)}
.catalog-project-gallery--count-5{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(290px,1.2fr) minmax(230px,1fr);height:clamp(570px,58vw,730px)}
.catalog-project-gallery--count-5 .catalog-project-shot:first-child{grid-column:1/3}

.catalog-project-shot{position:relative;display:block;width:100%;padding:0;border:0;background:#e9e5df;overflow:hidden;cursor:zoom-in;border-radius:4px;box-shadow:0 0 0 1px rgba(49,24,17,.05);text-align:left}
.catalog-project-shot__media{display:block;width:100%;overflow:hidden;background:#e3ded6}
.catalog-project-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.001);transition:transform .55s var(--ease),filter .4s ease}
.catalog-project-shot__open{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--forest-deep);font-size:1rem;opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease;box-shadow:0 5px 18px rgba(0,0,0,.12)}
.catalog-project-shot:hover img{transform:scale(1.018);filter:saturate(1.025) contrast(1.01)}
.catalog-project-shot:hover .catalog-project-shot__open,.catalog-project-shot:focus-visible .catalog-project-shot__open{opacity:1;transform:none}
.catalog-project-shot:focus-visible{outline:2px solid var(--forest);outline-offset:3px}

/* Visor de proyectos: la fotografía completa siempre cabe dentro del viewport. */
#catalogProjectDialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none!important;max-height:none!important;margin:0;padding:clamp(8px,1.8vw,24px);box-sizing:border-box;background:transparent;overflow:hidden}
#catalogProjectDialog[open]{display:grid;place-items:center}
.catalog-project-lightbox{position:relative;width:min(1600px,100%);height:100%;max-height:1100px;min-height:0;background:#111a13;border-radius:18px;overflow:hidden;box-shadow:0 28px 100px rgba(0,0,0,.45)}
.catalog-project-lightbox figure{position:absolute;inset:0;box-sizing:border-box;margin:0;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:clamp(52px,6vh,72px) clamp(54px,5vw,82px) clamp(54px,6vh,72px);overflow:hidden;background:radial-gradient(circle at 50% 45%,#1b281d 0%,#111a13 72%)}
.catalog-project-lightbox figure img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center;flex:0 1 auto;box-shadow:0 16px 46px rgba(0,0,0,.28);image-rendering:auto}
.catalog-project-lightbox.is-low-resolution figure img{box-shadow:0 12px 36px rgba(0,0,0,.24)}
.catalog-project-lightbox__close{position:absolute!important;top:14px!important;right:14px!important;z-index:4!important}
.catalog-project-lightbox__nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:54px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#152018;font-size:1.9rem;line-height:1;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.18)}
.catalog-project-lightbox__nav--prev{left:12px}.catalog-project-lightbox__nav--next{right:12px}
.catalog-project-lightbox__nav[hidden]{display:none}
.catalog-project-lightbox__count{position:absolute;z-index:3;left:50%;bottom:12px;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(15,25,18,.78);color:#fff;font-size:.6rem;letter-spacing:.12em}

@media(max-width:760px){
  .catalog-projects-toggle{padding:10px 14px}
  .catalog-project-gallery--masonry{column-width:155px;column-gap:8px}
  .catalog-project-gallery--masonry .catalog-project-shot{margin-bottom:8px}
  .catalog-project-gallery--curated{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;height:auto;gap:8px}
  .catalog-project-gallery--curated .catalog-project-shot{height:auto;aspect-ratio:4/3}
  .catalog-project-gallery--curated .catalog-project-shot:first-child{grid-column:1/-1;aspect-ratio:16/9}
  .catalog-project-gallery--count-1 .catalog-project-shot:first-child{aspect-ratio:4/3}
  .catalog-project-shot__open{opacity:1;transform:none;width:30px;height:30px;right:8px;bottom:8px;font-size:.9rem}
  #catalogProjectDialog{padding:6px}
  .catalog-project-lightbox{width:100%;height:100%;max-height:none;border-radius:14px}
  .catalog-project-lightbox figure{padding:52px 8px 58px}
  .catalog-project-lightbox__nav{top:auto;bottom:10px;transform:none;width:40px;height:36px;font-size:1.55rem}
  .catalog-project-lightbox__nav--prev{left:10px}.catalog-project-lightbox__nav--next{right:10px}
  .catalog-project-lightbox__count{bottom:17px}
}
@media(max-width:430px){.catalog-project-gallery--masonry{column-width:145px}}


/* =========================================
   TRABAJO REAL V24 · horizontal editorial rail
   ========================================= */
.projects{background:var(--forest-deep);color:#fff;overflow:hidden}
.projects-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:60px;align-items:end;margin-bottom:40px}
.projects-head h2{font-family:var(--serif);font-size:clamp(4rem,7vw,8.3rem);font-weight:400;line-height:.88;letter-spacing:-.055em;margin:18px 0 0;max-width:980px}
.projects-head>p{justify-self:end;margin:0 0 12px;color:#d4dfd1;font-size:.9rem}
.project-rail-shell{position:relative;margin-left:calc((100vw - min(100vw - 64px,1320px))/2 * -1);margin-right:calc((100vw - min(100vw - 64px,1320px))/2 * -1)}
.project-rail{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:max(32px,calc((100vw - min(100vw - 64px,1320px))/2));padding:4px max(32px,calc((100vw - min(100vw - 64px,1320px))/2)) 20px;cursor:grab;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(226,236,222,.6) rgba(255,255,255,.1)}
.project-rail.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.project-rail::-webkit-scrollbar{height:8px}
.project-rail::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px}
.project-rail::-webkit-scrollbar-thumb{background:rgba(226,236,222,.62);border-radius:999px}
.project-slide{position:relative;flex:0 0 min(72vw,820px);aspect-ratio:16/10;scroll-snap-align:start;overflow:hidden;border-radius:22px;background:#162219;border:1px solid rgba(255,255,255,.12);cursor:pointer;box-shadow:0 22px 55px rgba(4,13,7,.25);isolation:isolate;transition:transform .35s var(--ease),border-color .35s ease}
.project-slide:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.25)}
.project-slide:focus-visible{outline:2px solid #e5eee1;outline-offset:4px}
.project-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform 1s var(--ease),filter .45s ease}
.project-slide:hover>img{transform:scale(1.025);filter:saturate(1.03) contrast(1.02)}
.project-slide__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,11,.02) 35%,rgba(8,18,11,.74) 100%);z-index:1}
.project-slide__copy{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:18px}
.project-slide__copy span{font-size:.66rem;letter-spacing:.16em;color:#d9e4d6;padding-bottom:6px}
.project-slide__copy h3{font-family:var(--serif);font-size:clamp(2rem,3.7vw,4.5rem);line-height:.92;font-weight:400;letter-spacing:-.045em;margin:0;color:#fff;text-wrap:balance}
.project-slide__open{position:absolute;z-index:2;right:24px;top:22px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#fff;padding:9px 13px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(13,29,18,.28);backdrop-filter:blur(8px)}
.project-rail-arrow{position:absolute;z-index:5;top:50%;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(15,34,21,.68);color:#fff;display:grid;place-items:center;font-size:1.25rem;cursor:pointer;backdrop-filter:blur(8px);transition:background .25s ease,transform .25s ease}
.project-rail-arrow:hover{background:rgba(255,255,255,.16);transform:translateY(-1px)}
.project-rail-arrow--prev{left:18px}
.project-rail-arrow--next{right:18px}
.project-rail-footer{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:18px;margin-top:20px;color:#c9d5c6;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.project-rail-progress{height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.project-rail-progress i{display:block;width:100%;height:100%;background:#e1eadf;transform:scaleX(.08);transform-origin:left center;transition:transform .12s linear}

/* fullscreen viewer: image is never forced beyond its intrinsic dimensions */
.project-modal{position:relative;width:calc(100vw - 18px);height:calc(100svh - 18px);max-width:none;max-height:none;overflow:hidden;border-radius:18px;background:#0c120e;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.project-modal .modal-close{position:absolute;float:none;top:18px;right:18px;z-index:20;width:46px;height:46px;background:rgba(248,248,244,.94);color:#172018}
#projectDialogContent{width:100%;height:100%}
.work-lightbox{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:58px 70px 74px}
.work-lightbox__media{width:100%;height:100%;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain}
.work-lightbox__media img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:#0c120e;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.work-lightbox__nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(14,26,17,.62);color:#fff;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}
.work-lightbox__nav:hover{background:rgba(255,255,255,.12)}
.work-lightbox__nav--prev{left:18px}.work-lightbox__nav--next{right:18px}
.work-lightbox__meta{position:absolute;left:28px;right:28px;bottom:20px;z-index:3;display:flex;justify-content:space-between;align-items:end;gap:20px;pointer-events:none}
.work-lightbox__meta h2{margin:0;font-family:var(--serif);font-size:clamp(1.7rem,3vw,3.2rem);line-height:.95;font-weight:400;letter-spacing:-.035em;max-width:75%}
.work-lightbox__meta span{font-size:.72rem;letter-spacing:.12em;color:#d7e1d4}

@media (max-width:900px){
  .projects-head{grid-template-columns:1fr;gap:18px}.projects-head>p{justify-self:start;margin:0}
  .project-slide{flex-basis:min(82vw,720px)}
  .project-rail-arrow{display:none}
  .work-lightbox{padding:64px 18px 84px}
  .work-lightbox__nav{top:auto;bottom:20px;transform:none;width:44px;height:44px}
  .work-lightbox__nav--prev{left:auto;right:76px}.work-lightbox__nav--next{right:22px}
  .work-lightbox__meta{right:132px;bottom:22px;align-items:center}
  .work-lightbox__meta h2{font-size:clamp(1.45rem,6vw,2.3rem);max-width:100%}
  .work-lightbox__meta span{display:none}
}
@media (max-width:600px){
  .projects{padding-left:18px;padding-right:18px}
  .projects-head h2{font-size:clamp(3.2rem,15vw,5.4rem)}
  .project-rail-shell{margin-left:-18px;margin-right:-18px}
  .project-rail{padding-left:18px;padding-right:18px;scroll-padding-inline:18px;gap:12px}
  .project-slide{flex-basis:calc(100vw - 50px);border-radius:16px;aspect-ratio:4/5}
  .project-slide__copy{left:18px;right:18px;bottom:18px;grid-template-columns:1fr;gap:7px}
  .project-slide__copy h3{font-size:clamp(2.1rem,10vw,3rem)}
  .project-slide__open{right:14px;top:14px}
  .project-rail-footer{grid-template-columns:1fr auto;gap:10px}.project-rail-progress{grid-column:1/-1;grid-row:2}.project-rail-footer>span:first-child{font-size:.62rem}
  .project-modal{width:calc(100vw - 8px);height:calc(100svh - 8px);border-radius:12px}
  .project-modal .modal-close{top:10px;right:10px;width:42px;height:42px}
  .work-lightbox{padding:58px 10px 82px}
  .work-lightbox__media{overflow:auto}
  .work-lightbox__meta{left:16px;right:124px;bottom:20px}
  .work-lightbox__meta h2{font-size:1.55rem}
}

/* ==========================================
   Trabajo real v25 · corrección definitiva
   ========================================== */
.project-rail{cursor:auto;scrollbar-width:auto;scrollbar-color:rgba(226,236,222,.72) rgba(255,255,255,.10)}
.project-rail::-webkit-scrollbar{height:11px}
.project-rail::-webkit-scrollbar-track{background:rgba(255,255,255,.10);border-radius:999px}
.project-rail::-webkit-scrollbar-thumb{background:rgba(226,236,222,.72);border-radius:999px;border:2px solid rgba(36,70,40,.5)}
.project-rail::-webkit-scrollbar-thumb:hover{background:#edf3e9}
.project-slide{cursor:default}
.project-slide__visual{position:absolute;inset:0;z-index:0;display:grid;place-items:center;overflow:hidden;background:#152219}
.project-slide__bg{position:absolute;inset:-30px;background-position:center;background-size:cover;filter:blur(24px) saturate(.82) brightness(.62);transform:scale(1.08);opacity:.75}
.project-slide__visual>img{position:relative!important;inset:auto!important;z-index:1!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;transform:none!important;filter:none!important;image-rendering:auto;background:#101a13}
.project-slide:hover .project-slide__visual>img{transform:none!important;filter:none!important}
.project-slide__shade{z-index:2;background:linear-gradient(180deg,rgba(8,18,11,.03) 30%,rgba(8,18,11,.78) 100%)}
.project-slide__copy{z-index:3;right:170px}
.project-slide__copy small{grid-column:2;font-size:.66rem;letter-spacing:.10em;text-transform:uppercase;color:#d8e2d5;margin-top:4px}
.project-slide__open{appearance:none;-webkit-appearance:none;position:absolute;z-index:6;right:24px;top:22px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(13,29,18,.62);color:#fff;padding:10px 14px;font:600 .66rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(10px);transition:background .2s ease,border-color .2s ease,transform .2s ease}
.project-slide__open:hover,.project-slide__open:focus-visible{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.75);transform:translateY(-1px);outline:none}

.project-modal{width:calc(100vw - 18px);height:calc(100svh - 18px);max-width:none;max-height:none;overflow:hidden;background:#0b120e}
#projectDialogContent{height:100%}
.work-lightbox{position:relative;width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;overflow:hidden;background:#0b120e}
.work-lightbox__backdrop{position:absolute;inset:-40px;z-index:0;background-position:center;background-size:cover;filter:blur(36px) brightness(.34) saturate(.7);transform:scale(1.12);opacity:.78}
.work-lightbox::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(7,13,9,.55),rgba(7,13,9,.12) 32%,rgba(7,13,9,.65))}
.work-lightbox__head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 88px 12px 28px;min-height:68px}
.work-lightbox__head h2{margin:0;font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.8rem);line-height:.95;font-weight:400;letter-spacing:-.035em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-lightbox__head span{flex:0 0 auto;font-size:.72rem;letter-spacing:.12em;color:#d7e1d4}
.work-lightbox__stage{position:relative;z-index:2;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;min-height:0;padding:4px 16px 12px}
.work-lightbox__media{width:100%;height:100%;min-height:0;margin:0;display:grid;place-items:center;overflow:auto;overscroll-behavior:contain}
.work-lightbox__media img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;image-rendering:auto;box-shadow:0 20px 65px rgba(0,0,0,.42);background:#0b120e}
.work-lightbox__nav{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;justify-self:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(12,25,16,.72);color:#fff;font-size:1.85rem;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}
.work-lightbox__nav:hover{background:rgba(255,255,255,.15)}
.work-lightbox__film{position:relative;z-index:2;display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;padding:10px 28px 18px;scrollbar-width:thin;scrollbar-color:rgba(225,235,221,.65) rgba(255,255,255,.08)}
.work-lightbox__film::-webkit-scrollbar{height:7px}.work-lightbox__film::-webkit-scrollbar-track{background:rgba(255,255,255,.08)}.work-lightbox__film::-webkit-scrollbar-thumb{background:rgba(225,235,221,.65);border-radius:999px}
.work-lightbox__thumb{flex:0 0 92px;height:66px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:9px;overflow:hidden;background:#101a13;cursor:pointer;opacity:.66;transition:opacity .2s,border-color .2s,transform .2s}
.work-lightbox__thumb:hover{opacity:1;transform:translateY(-1px)}
.work-lightbox__thumb.is-active{opacity:1;border-color:#edf3e9;box-shadow:0 0 0 1px rgba(237,243,233,.35)}
.work-lightbox__thumb img{width:100%;height:100%;object-fit:cover;display:block}

@media (max-width:760px){
  .project-slide__copy{right:18px;padding-top:55px}
  .project-slide__copy small{grid-column:1}
  .project-slide__open{right:14px;top:14px}
  .project-modal{width:calc(100vw - 6px);height:calc(100svh - 6px)}
  .work-lightbox__head{padding:58px 16px 8px;min-height:105px;align-items:end}
  .work-lightbox__head h2{font-size:1.55rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .work-lightbox__stage{grid-template-columns:44px minmax(0,1fr) 44px;padding:4px 4px 8px}
  .work-lightbox__nav{width:40px;height:40px;font-size:1.55rem}
  .work-lightbox__film{padding:8px 12px 14px;gap:7px}
  .work-lightbox__thumb{flex-basis:74px;height:54px}
}
.project-slide__badge{position:absolute;z-index:6;left:24px;top:22px;padding:8px 12px;border-radius:999px;background:rgba(235,231,229,.92);color:#2c4a1f;font-size:.62rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;border:1px solid rgba(255,255,255,.6)}
.project-slide--render .project-slide__shade{background:linear-gradient(180deg,rgba(49,24,17,.04) 28%,rgba(28,38,27,.78) 100%)}
@media(max-width:760px){.project-slide__badge{left:14px;top:14px;font-size:.58rem;padding:7px 10px}.project-slide--render .project-slide__open{top:52px}}

/* ==========================================
   Trabajo real v26 · galería completa estable
   ========================================== */
.projects-v26__head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:54px;align-items:end;margin-bottom:28px}
.projects-v26__head h2{font-family:var(--serif);font-size:clamp(4rem,7.2vw,8.6rem);font-weight:400;line-height:.88;letter-spacing:-.055em;margin:18px 0 0;max-width:980px}
.projects-v26__head>p{justify-self:end;max-width:360px;margin:0 0 10px;color:#d7e1d4;line-height:1.55;font-size:.88rem}
.projects-v26__meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0 16px;border-top:1px solid rgba(255,255,255,.12);color:#d3ded0;font-size:.69rem;letter-spacing:.1em;text-transform:uppercase}
.projects-v26__controls{display:flex;gap:8px}
.projects-v26__controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.055);color:#fff;font-size:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.projects-v26__controls button:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.45)}
.work-gallery-v26{display:grid;grid-template-rows:repeat(2,minmax(235px,27vw));grid-auto-flow:column;grid-auto-columns:clamp(290px,31vw,430px);gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 0 14px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-width:auto;scrollbar-color:rgba(229,237,225,.74) rgba(255,255,255,.09)}
.work-gallery-v26::-webkit-scrollbar{height:10px}.work-gallery-v26::-webkit-scrollbar-track{background:rgba(255,255,255,.09);border-radius:999px}.work-gallery-v26::-webkit-scrollbar-thumb{background:rgba(229,237,225,.74);border-radius:999px;border:2px solid rgba(32,62,37,.42)}
.work-photo-v26{position:relative;display:grid;place-items:center;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#132019;cursor:pointer;scroll-snap-align:start;isolation:isolate;box-shadow:0 18px 42px rgba(5,14,8,.16);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.work-photo-v26:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.25);box-shadow:0 23px 48px rgba(5,14,8,.24)}
.work-photo-v26:focus-visible{outline:2px solid #edf3e9;outline-offset:3px}
.work-photo-v26__blur{position:absolute;inset:-22px;z-index:0;background-position:center;background-size:cover;filter:blur(24px) brightness(.57) saturate(.78);transform:scale(1.12);opacity:.72}
.work-photo-v26>img{position:relative;z-index:1;display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto;background:#142019;box-shadow:0 8px 28px rgba(0,0,0,.16)}
.work-photo-v26::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(7,15,10,0) 50%,rgba(7,15,10,.72) 100%);pointer-events:none}
.work-photo-v26__info{position:absolute;z-index:3;left:16px;right:54px;bottom:14px;display:flex;align-items:end;justify-content:space-between;gap:12px;text-align:left;color:#fff;pointer-events:none}
.work-photo-v26__info small{display:block;max-width:80%;font-size:.61rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-photo-v26__info b{font-size:.59rem;letter-spacing:.08em;font-weight:600;color:#dbe5d8;white-space:nowrap}
.work-photo-v26>i{position:absolute;z-index:4;right:14px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:rgba(8,18,11,.34);color:#fff;font-style:normal;font-size:.78rem;pointer-events:none}
.work-photo-v26--render{border-color:rgba(216,198,166,.35)}
.work-gallery-v26__progress{height:2px;margin-top:8px;background:rgba(255,255,255,.1);overflow:hidden}
.work-gallery-v26__progress i{display:block;width:100%;height:100%;background:#e5ede2;transform:scaleX(.035);transform-origin:left center;transition:transform .1s linear}

.work-viewer-v26[hidden]{display:none!important}
.work-viewer-v26{position:fixed!important;inset:0!important;z-index:99999!important;display:grid;place-items:center;padding:12px;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.work-viewer-v26.is-open{opacity:1;visibility:visible}
.work-viewer-v26__backdrop{position:absolute;inset:0;background:rgba(6,12,8,.91);backdrop-filter:blur(12px)}
.work-viewer-v26__panel{position:relative;z-index:2;width:min(1500px,calc(100vw - 24px));height:min(960px,calc(100svh - 24px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:#0c130f;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.56)}
.work-viewer-v26__close{position:absolute;z-index:20;right:16px;top:16px;width:46px;height:46px;border:0;border-radius:50%;display:grid;place-items:center;background:#f6f5ef;color:#142018;font-size:1.6rem;line-height:1;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.work-viewer-v26__top{position:relative;z-index:4;min-height:76px;padding:16px 82px 12px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.08);background:#101913}
.work-viewer-v26__top small{display:block;margin-bottom:5px;color:#aebdaf;font-size:.59rem;letter-spacing:.13em;text-transform:uppercase}
.work-viewer-v26__top h3{margin:0;font-family:var(--serif);font-size:clamp(1.45rem,2.5vw,2.65rem);line-height:.95;font-weight:400;letter-spacing:-.035em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-viewer-v26__top>span{flex:0 0 auto;font-size:.7rem;letter-spacing:.11em;color:#ccd7c9}
.work-viewer-v26__stage{position:relative;min-height:0;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:6px;padding:10px 12px;background:#09100c}
.work-viewer-v26__image-shell{position:relative;width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#101813}
.work-viewer-v26__image-bg{position:absolute;inset:-34px;background-position:center;background-size:cover;filter:blur(34px) brightness(.34) saturate(.75);transform:scale(1.1);opacity:.68}
.work-viewer-v26__image-shell>img{position:relative;z-index:2;display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto;box-shadow:0 18px 58px rgba(0,0,0,.34)}
.work-viewer-v26__nav{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:1.85rem;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.work-viewer-v26__nav:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
.work-viewer-v26__strip{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;min-height:76px;padding:8px 18px 12px;overflow-x:auto;overflow-y:hidden;border-top:1px solid rgba(255,255,255,.08);background:#101913;scrollbar-width:thin;scrollbar-color:rgba(225,235,221,.5) rgba(255,255,255,.06)}
.work-viewer-v26__thumb{position:relative;flex:0 0 78px;height:54px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;background:#172019;opacity:.62;cursor:pointer;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.work-viewer-v26__thumb:hover{opacity:1;transform:translateY(-1px)}.work-viewer-v26__thumb.is-active{opacity:1;border-color:#eef4eb;box-shadow:0 0 0 1px rgba(238,244,235,.3)}
.work-viewer-v26__thumb img{width:100%;height:100%;object-fit:cover;display:block}.work-viewer-v26__thumb span{position:absolute;right:3px;bottom:2px;padding:1px 4px;border-radius:5px;background:rgba(5,11,7,.65);color:#fff;font-size:.5rem}

@media(max-width:900px){
  .projects-v26__head{grid-template-columns:1fr;gap:18px}.projects-v26__head>p{justify-self:start;margin:0}
  .work-gallery-v26{grid-template-rows:repeat(2,minmax(210px,34vw));grid-auto-columns:min(68vw,390px)}
}
@media(max-width:640px){
  .projects{padding-left:18px;padding-right:18px}
  .projects-v26__head h2{font-size:clamp(3.2rem,15vw,5.6rem)}
  .projects-v26__meta{align-items:flex-end}.projects-v26__controls button{width:38px;height:38px}
  .work-gallery-v26{grid-template-rows:repeat(2,210px);grid-auto-columns:82vw;gap:9px;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;scroll-padding-inline:18px}
  .work-photo-v26{border-radius:14px}
  .work-viewer-v26{padding:3px}
  .work-viewer-v26__panel{width:calc(100vw - 6px);height:calc(100svh - 6px);border-radius:12px}
  .work-viewer-v26__close{right:9px;top:9px;width:42px;height:42px}
  .work-viewer-v26__top{min-height:90px;padding:48px 14px 8px;align-items:end}
  .work-viewer-v26__top h3{font-size:1.42rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .work-viewer-v26__top>span{font-size:.62rem}
  .work-viewer-v26__stage{grid-template-columns:42px minmax(0,1fr) 42px;padding:5px 3px;gap:2px}
  .work-viewer-v26__nav{width:38px;height:38px;font-size:1.45rem}
  .work-viewer-v26__strip{justify-content:flex-start;min-height:67px;padding:7px 10px 9px}.work-viewer-v26__thumb{flex-basis:67px;height:47px}
}

/* ==========================================
   Trabajo real v27 · galería definitiva inline
   ========================================== */
.projects-v27__head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:54px;align-items:end;margin-bottom:28px}
.projects-v27__head h2{font-family:var(--serif);font-size:clamp(4rem,7vw,8.2rem);font-weight:400;line-height:.9;letter-spacing:-.055em;margin:18px 0 0;max-width:960px}
.projects-v27__head>p{justify-self:end;max-width:350px;margin:0 0 10px;color:#d7e1d4;line-height:1.55;font-size:.88rem}
.projects-v27__toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;gap:18px;padding:14px 0 18px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px}
.projects-v27__select-wrap{display:grid;grid-template-columns:auto minmax(240px,520px);align-items:center;gap:12px}
.projects-v27__select-wrap label{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#c8d4c5;white-space:nowrap}
.projects-v27__select-wrap select{width:100%;min-height:42px;padding:0 42px 0 15px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#294529;color:#fff;font:600 .76rem/1 var(--sans);outline:none;cursor:pointer;appearance:auto}
.projects-v27__select-wrap select:focus{border-color:rgba(255,255,255,.56);box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.projects-v27__select-wrap select option{color:#172019;background:#f4f2ed}
.projects-v27__count{align-self:center;color:#d3ded0;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.projects-v27__controls{display:flex;gap:8px}
.projects-v27__controls[hidden]{display:none!important}
.projects-v27__controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.055);color:#fff;font-size:1rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.projects-v27__controls button:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.45)}

.work-switcher-v27{position:relative;min-width:0}
.work-browse-v27[hidden],.work-viewer-v27[hidden]{display:none!important}
.work-gallery-v27{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(320px,33vw,465px);grid-template-rows:minmax(300px,34vw);gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 0 13px;scroll-snap-type:x proximity;scroll-padding-inline:1px;overscroll-behavior-inline:contain;scrollbar-width:auto;scrollbar-color:rgba(229,237,225,.74) rgba(255,255,255,.09)}
.work-gallery-v27::-webkit-scrollbar{height:10px}
.work-gallery-v27::-webkit-scrollbar-track{background:rgba(255,255,255,.09);border-radius:999px}
.work-gallery-v27::-webkit-scrollbar-thumb{background:rgba(229,237,225,.74);border-radius:999px;border:2px solid rgba(32,62,37,.42)}
.work-photo-v27{position:relative;display:grid;place-items:center;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:#132019;cursor:pointer;scroll-snap-align:start;isolation:isolate;box-shadow:0 18px 42px rgba(5,14,8,.16);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.work-photo-v27:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.27);box-shadow:0 23px 48px rgba(5,14,8,.24)}
.work-photo-v27:focus-visible{outline:2px solid #edf3e9;outline-offset:3px}
.work-photo-v27__blur{position:absolute;inset:-24px;z-index:0;background-position:center;background-size:cover;filter:blur(28px) brightness(.52) saturate(.78);transform:scale(1.13);opacity:.74}
.work-photo-v27>img{position:relative;z-index:1;display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.work-photo-v27::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(7,15,10,0) 54%,rgba(7,15,10,.72) 100%);pointer-events:none}
.work-photo-v27__info{position:absolute;z-index:3;left:16px;right:52px;bottom:14px;display:flex;align-items:end;justify-content:space-between;gap:10px;color:#fff;pointer-events:none}
.work-photo-v27__info small{display:block;max-width:78%;font-size:.6rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-photo-v27__info b{font-size:.58rem;letter-spacing:.08em;font-weight:600;color:#dbe5d8;white-space:nowrap}
.work-photo-v27>i{position:absolute;z-index:4;right:14px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:rgba(8,18,11,.34);color:#fff;font-style:normal;font-size:.78rem;pointer-events:none}
.work-photo-v27--render{border-color:rgba(216,198,166,.35)}
.work-gallery-v27__progress{height:2px;margin-top:8px;background:rgba(255,255,255,.1);overflow:hidden}
.work-gallery-v27__progress i{display:block;width:100%;height:100%;background:#e5ede2;transform:scaleX(.05);transform-origin:left center;transition:transform .1s linear}

.work-viewer-v27{border:1px solid rgba(255,255,255,.11);border-radius:20px;overflow:hidden;background:#0d1510;color:#fff;box-shadow:0 26px 70px rgba(5,14,8,.32)}
.work-viewer-v27__top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:76px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#111b14}
.work-viewer-v27__back{min-height:40px;padding:0 15px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:600 .72rem/1 var(--sans);cursor:pointer;white-space:nowrap}
.work-viewer-v27__back:hover{background:rgba(255,255,255,.12)}
.work-viewer-v27__identity{min-width:0;text-align:center}
.work-viewer-v27__identity small{display:block;margin-bottom:4px;color:#acbaae;font-size:.56rem;letter-spacing:.12em;text-transform:uppercase}
.work-viewer-v27__identity h3{margin:0;font-family:var(--serif);font-size:clamp(1.55rem,2.5vw,2.8rem);font-weight:400;line-height:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-viewer-v27__counter{font-size:.66rem;letter-spacing:.1em;color:#cbd7c8;white-space:nowrap}
.work-viewer-v27__stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:7px;padding:12px;background:#09100c}
.work-viewer-v27__image-shell{position:relative;width:100%;height:clamp(430px,62vh,730px);display:grid;place-items:center;overflow:hidden;border-radius:13px;background:#0c140f}
.work-viewer-v27__image-bg{position:absolute;inset:-36px;background-position:center;background-size:cover;filter:blur(36px) brightness(.32) saturate(.72);transform:scale(1.12);opacity:.7}
.work-viewer-v27__image-shell>img{position:relative;z-index:2;display:block;object-fit:contain;image-rendering:auto;max-width:none;max-height:none;box-shadow:0 18px 58px rgba(0,0,0,.34)}
.work-viewer-v27__nav{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:1.85rem;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.work-viewer-v27__nav:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}
.work-viewer-v27__strip{display:flex;align-items:center;gap:7px;min-height:78px;padding:9px 14px 12px;overflow-x:auto;overflow-y:hidden;border-top:1px solid rgba(255,255,255,.08);background:#111b14;scrollbar-width:thin;scrollbar-color:rgba(225,235,221,.5) rgba(255,255,255,.06)}
.work-viewer-v27__thumb{position:relative;flex:0 0 82px;height:56px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;background:#172019;opacity:.62;cursor:pointer;isolation:isolate;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.work-viewer-v27__thumb:hover{opacity:1;transform:translateY(-1px)}
.work-viewer-v27__thumb.is-active{opacity:1;border-color:#eef4eb;box-shadow:0 0 0 1px rgba(238,244,235,.3)}
.work-viewer-v27__thumb-bg{position:absolute;inset:-8px;background-position:center;background-size:cover;filter:blur(8px) brightness(.6);transform:scale(1.1)}
.work-viewer-v27__thumb img{position:relative;z-index:1;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block;margin:auto}
.work-viewer-v27__thumb b{position:absolute;z-index:3;right:3px;bottom:2px;padding:1px 4px;border-radius:5px;background:rgba(5,11,7,.68);color:#fff;font-size:.49rem}

@media(max-width:960px){
  .projects-v27__head{grid-template-columns:1fr;gap:18px}.projects-v27__head>p{justify-self:start;margin:0}
  .projects-v27__toolbar{grid-template-columns:1fr auto}.projects-v27__select-wrap{grid-column:1/-1;grid-template-columns:auto 1fr}.projects-v27__count{justify-self:start}
  .work-gallery-v27{grid-auto-columns:min(68vw,430px);grid-template-rows:minmax(290px,45vw)}
}
@media(max-width:640px){
  .projects{padding-left:18px;padding-right:18px}
  .projects-v27__head h2{font-size:clamp(3.1rem,14vw,5.2rem)}
  .projects-v27__toolbar{grid-template-columns:1fr auto;gap:12px}.projects-v27__select-wrap{display:block}.projects-v27__select-wrap label{display:block;margin-bottom:8px}.projects-v27__select-wrap select{min-height:44px}
  .projects-v27__count{font-size:.58rem;line-height:1.4}.projects-v27__controls button{width:38px;height:38px}
  .work-gallery-v27{grid-auto-columns:84vw;grid-template-rows:310px;gap:9px;margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;scroll-padding-inline:18px}
  .work-photo-v27{border-radius:14px}
  .work-viewer-v27{border-radius:14px;margin-left:-8px;margin-right:-8px}
  .work-viewer-v27__top{grid-template-columns:1fr auto;gap:8px;padding:10px 10px 11px}
  .work-viewer-v27__back{grid-column:1/-1;justify-self:start;min-height:38px}
  .work-viewer-v27__identity{text-align:left}.work-viewer-v27__identity h3{font-size:1.45rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .work-viewer-v27__stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:2px;padding:5px 2px}
  .work-viewer-v27__image-shell{height:min(58svh,560px);border-radius:9px}
  .work-viewer-v27__nav{width:36px;height:36px;font-size:1.4rem}
  .work-viewer-v27__strip{min-height:68px;padding:7px 9px 9px}.work-viewer-v27__thumb{flex-basis:69px;height:48px}
}

/* v29 · cierre visual + envío a ambos WhatsApp */
.closing-visual{
  background-size:cover!important;
  background-position:64% center!important;
  background-repeat:no-repeat!important;
}
.closing-visual img{
  position:relative;
  z-index:1;
}
.whatsapp-pair-fallback{
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(44,74,31,.18);
  border-radius:10px;
  background:#f0f4eb;
  color:var(--forest-deep);
}
.whatsapp-pair-fallback p{
  margin:6px 0 12px;
  font-size:.76rem;
  line-height:1.5;
  color:#536052;
}
.whatsapp-pair-fallback__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.whatsapp-pair-fallback__actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-size:.75rem;
  font-weight:700;
}
@media (max-width:720px){
  .closing-visual{background-position:58% center!important;}
  .whatsapp-pair-fallback__actions{display:grid;grid-template-columns:1fr;}
}

/* =========================================================
   v33 · Capa de compatibilidad multidispositivo / multinavegador
   No cambia la dirección visual; agrega fallbacks y estabilidad.
   ========================================================= */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  width:100%;
}
body{min-width:280px;width:100%;}
img{height:auto;}
button,input,select,textarea{-webkit-tap-highlight-color:transparent;}

/* Fallbacks de viewport para navegadores sin svh/dvh. */
.hero{min-height:100vh;min-height:100svh;}
.hero-copy{min-height:100vh;min-height:100svh;}
.modal{max-height:calc(100vh - 28px);max-height:calc(100svh - 28px);}
#catalogProjectDialog{height:100vh;height:100dvh;}
.project-modal{height:calc(100vh - 18px);height:calc(100svh - 18px);}
.work-viewer-v26__panel{height:calc(100vh - 24px);height:min(960px,calc(100svh - 24px));}
.work-viewer-v27__image-shell{height:min(62vh,730px);height:clamp(430px,62vh,730px);}

/* Fallback de tamaños fluidos para motores que ignoran clamp/min/max. */
.section{padding:120px 32px;padding:clamp(88px,10vw,156px) max(32px,calc((100vw - 1380px)/2));}
.site-header{padding-left:28px;padding-right:28px;padding-left:max(28px,calc((100vw - 1500px)/2));padding-right:max(28px,calc((100vw - 1500px)/2));}
.section-heading h2,.process h2,.builder h2,.layers h2,.closing h2{font-size:6rem;font-size:clamp(3rem,6.3vw,7rem);}
.hero h1{font-size:8rem;font-size:clamp(4rem,9vw,10rem);}
.hero-lead{font-size:1.1rem;font-size:clamp(1rem,1.35vw,1.25rem);}
.manifesto h2{font-size:6rem;font-size:clamp(3.2rem,7vw,7.8rem);}
.pathway-content h3{font-size:3rem;font-size:clamp(2rem,3.3vw,4rem);}
.layer-copy h3{font-size:5rem;font-size:clamp(3.2rem,6vw,7rem);}
.product-dialog-copy h2{font-size:4.8rem;font-size:clamp(3rem,5vw,6rem);}
.projects-v27__head h2{font-size:6.5rem;font-size:clamp(4rem,7vw,8.2rem);}

/* Safari / WebKit conserva el mismo efecto de cristal. */
.button--ghost-light{-webkit-backdrop-filter:blur(8px);}
.site-header.is-scrolled{-webkit-backdrop-filter:blur(16px);}
.brand--official{-webkit-backdrop-filter:blur(10px);}
dialog::backdrop{-webkit-backdrop-filter:blur(8px);}

/* Si backdrop-filter no existe, usar fondos sólidos equivalentes. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .button--ghost-light{background:rgba(20,45,28,.72);}
  .site-header.is-scrolled{background:#ebe7e5;}
  .brand--official{background:#fff;}
}

/* Dialog funcional en navegadores que no implementan showModal. */
dialog.dialog-fallback-open[open]{
  display:block;
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:6000;
  margin:0;
  box-shadow:0 0 0 100vmax rgba(10,18,12,.78),0 28px 100px rgba(0,0,0,.35);
}
html.modal-is-open,html.modal-is-open body{overscroll-behavior:none;}

/* Touch: elementos que dependían de hover deben conservar información/imagen. */
@media (hover:none),(pointer:coarse){
  .pathway{color:#fff;}
  .pathway::before,.pathway::after{opacity:1;}
  .pathway::before{transform:scale(1);}
  .offering-card__media{opacity:.48;}
  .offering-card__veil{background:linear-gradient(180deg,rgba(248,246,241,.5) 0%,rgba(248,246,241,.58) 42%,rgba(248,246,241,.72) 100%);}
}

/* Tablet y móvil: navegación usa viewport clásico + dinámico cuando exista. */
@media (max-width:1050px){
  .main-nav{height:100vh;min-height:100vh;height:100dvh;min-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
}

/* Dispositivos móviles muy estrechos. */
@media (max-width:430px){
  .hero-copy{width:calc(100% - 28px);}
  .hero h1{font-size:3.8rem;}
  .section-heading h2,.builder h2,.layers h2,.closing h2{font-size:3.6rem;}
  .brand-logo{max-width:150px;}
}
@media (max-width:360px){
  .hero h1{font-size:3.25rem;line-height:.86;}
  .section-heading h2,.builder h2,.layers h2,.closing h2{font-size:3.15rem;}
  .hero-actions{width:100%;}
  .option-grid,.option-grid--compact{grid-template-columns:1fr;}
}

/* Teléfono/tablet en horizontal: evita que el hero quede cortado por poca altura. */
@media (orientation:landscape) and (max-height:620px) and (max-width:1100px){
  .hero,.hero-copy{min-height:100vh;min-height:100svh;}
  .hero-copy{padding:86px 18px 58px;width:min(820px,calc(100% - 36px));}
  .hero h1{font-size:4.4rem;line-height:.84;}
  .hero-lead{margin-top:18px;font-size:.88rem;}
  .hero-actions{margin-top:20px;}
  .hero-foot{display:none;}
  .main-nav{justify-content:flex-start;padding-top:90px;padding-bottom:40px;}
}

/* Menor altura de laptop: conserva composición sin invadir la cabecera. */
@media (min-width:1101px) and (max-height:760px){
  .hero-copy{padding-top:110px;padding-bottom:86px;}
  .hero h1{font-size:clamp(4rem,7.3vw,7.6rem);}
  .hero-lead{margin-top:22px;}
  .hero-actions{margin-top:24px;}
}

/* Imágenes y scrollers táctiles. */
.catalog-route-options,.catalog-project-gallery,.work-gallery-v27,.work-viewer-v27__strip,.compare-table{
  -webkit-overflow-scrolling:touch;
}

/* Fallback si aspect-ratio no existe. */
@supports not (aspect-ratio:1 / 1){
  .product-card__image{height:300px;}
  .catalog-family-card{min-height:360px;}
  @media (max-width:760px){.catalog-family-card{min-height:260px}.product-card__image{height:250px;}}
  @media (max-width:430px){.catalog-family-card{min-height:230px}.product-card__image{height:280px;}}
}

/* Reaplica exactamente las escalas responsive aprobadas tras los fallbacks de escritorio. */
@media (max-width:720px){
  .hero h1{font-size:clamp(3.6rem,17vw,6.2rem);}
  .manifesto h2{font-size:clamp(3.3rem,15vw,5.5rem);}
  .section-heading h2,.builder h2,.layers h2,.closing h2{font-size:clamp(3.2rem,14vw,5.5rem);}
  .layer-copy h3{font-size:4rem;}
}
@media (max-width:640px){
  .projects-v27__head h2{font-size:clamp(3.1rem,14vw,5.2rem);}
  .work-viewer-v27__image-shell{height:min(58vh,560px);height:min(58svh,560px);}
  .project-modal{height:calc(100vh - 6px);height:calc(100svh - 6px);}
}
@media (max-width:430px){
  .hero h1{font-size:3.8rem;}
}
@media (max-width:360px){
  .hero h1{font-size:3.25rem;}
}

/* =========================================================
   v34 · Producción: carga progresiva + accesibilidad de movimiento
   ========================================================= */
/* El usuario que solicita menos movimiento conserva toda la información,
   pero sin carruseles automáticos ni desplazamientos/transiciones innecesarias. */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important;}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    transition-delay:0ms!important;
  }
  .verb-ribbon div{animation:none!important;transform:none!important;}
  .hero-slide{transition:none!important;}
  .hero-slide img{transition:none!important;transform:none!important;}
  .offering-card__media,.offering-card__media img,
  .pathway::before,.pathway::after,
  .work-photo-v27,.work-viewer-v27__thumb,
  .catalog-project-shot img{transition:none!important;transform:none!important;}
}


/* v37 · Ajuste de logotipo horizontal y hero en dos líneas */
.brand-logo--horizontal{height:58px;max-width:min(36vw,250px);width:auto;object-fit:contain;object-position:left center;}
.hero-title--two-lines span{display:block;}
.hero-title--two-lines em{display:block;}
@media (min-width:1080px){
  .hero-title--two-lines{font-size:clamp(3.8rem,7.15vw,8.5rem);}
  .hero-title--two-lines em{white-space:nowrap;}
}
@media (max-width:767px){
  .brand-logo--horizontal{height:42px;max-width:min(58vw,195px);}
}


/* v38 · correcciones solicitadas por cliente */
.brand-logo--horizontal{height:62px;max-width:min(52vw,310px)!important;width:auto;object-fit:contain;object-position:left center;}
.footer-logo{width:min(100%,220px)!important;min-width:150px!important;height:auto;object-fit:contain;background:#fff;padding:10px 12px;border-radius:18px;}
.closing-visual{align-items:center;justify-content:center;background-color:#f1ede6!important;}
.closing-visual img{width:100%;height:100%;object-fit:contain;object-position:center center;}
.hero-copy{width:min(1320px,calc(100% - 52px))!important;max-width:none!important;}
.hero-title--two-lines{display:grid;justify-items:center;gap:0;max-width:none;width:100%;margin-left:auto;margin-right:auto;text-align:center;}
@media (min-width:992px){
  .hero-title--two-lines{font-size:clamp(4rem,6.4vw,8.15rem)!important;line-height:.86;}
  .hero-title--two-lines span,.hero-title--two-lines em{display:block;white-space:nowrap;}
  .hero-title--two-lines em{font-size:.9em;}
}
@media (min-width:1400px){
  .hero-title--two-lines{font-size:clamp(4.3rem,6.2vw,8.35rem)!important;}
}
@media (max-width:991px){
  .hero-copy{width:min(100%,calc(100% - 28px))!important;}
}
@media (max-width:767px){
  .brand-logo--horizontal{height:42px;max-width:min(70vw,230px)!important;}
}

/* v39 · Logotipos finales y ambientación del cierre */
.brand--official{padding:7px 11px;}
.brand-logo--fixed{
  display:block;
  width:auto;
  height:72px;
  max-width:min(27vw,150px);
  object-fit:contain;
  object-position:left center;
}
.closing-visual{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}
.closing-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(228,239,222,.06));
  pointer-events:none;
}
.closing-visual{position:relative;}
.closing-visual img{
  max-width:min(88%,720px);
  max-height:78%;
}
.footer-logo--v39{
  width:min(100%,260px)!important;
  min-width:180px!important;
  padding:9px 12px;
}
@media (max-width:767px){
  .brand-logo--fixed{height:56px;max-width:min(34vw,118px);}
  .brand--official{padding:5px 8px;border-radius:14px;}
  .closing-visual{background-position:center center!important;}
  .closing-visual img{max-width:90%;max-height:74%;}
}

/* v41 · Historia, misión, valores y compromiso */
.brand-story{margin-top:clamp(76px,9vw,130px);padding-top:clamp(34px,4vw,58px);border-top:1px solid var(--line)}
.brand-story__heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.55fr);align-items:end;gap:48px;margin-bottom:36px}
.brand-story__heading>div>span{display:block;font-size:.62rem;line-height:1;text-transform:uppercase;letter-spacing:.18em;color:var(--brand-green-muted);margin-bottom:16px}
.brand-story__heading h3{font-family:var(--serif);font-size:clamp(3rem,5vw,6rem);font-weight:400;line-height:.92;letter-spacing:-.045em;margin:0;color:var(--brand-green)}
.brand-story__heading p{max-width:420px;margin:0;color:var(--muted);font-family:var(--editorial);font-size:1.05rem}
.brand-story__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.story-card{position:relative;display:block;width:100%;height:clamp(300px,29vw,420px);padding:0;border:0;border-radius:18px;background:transparent;color:inherit;text-align:left;cursor:pointer;perspective:1200px;-webkit-tap-highlight-color:transparent}
.story-card__inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.2,.75,.2,1)}
.story-card.is-flipped .story-card__inner{transform:rotateY(180deg)}
.story-card__face{position:absolute;inset:0;display:flex;flex-direction:column;padding:clamp(22px,2.2vw,34px);border-radius:18px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 16px 42px rgba(21,39,25,.10)}
.story-card__front{justify-content:space-between;color:#f7f4ef;background:linear-gradient(155deg,#49683f 0%,#1f3b27 72%,#13291b 100%)}
.story-card__front::before,.story-card__front::after{content:"";position:absolute;border:1px solid rgba(233,240,220,.25);border-radius:100% 0 100% 0;transform:rotate(-24deg);pointer-events:none}
.story-card__front::before{width:78%;height:48%;right:-25%;top:13%}
.story-card__front::after{width:62%;height:37%;left:-22%;bottom:7%;opacity:.65}
.story-card--sage .story-card__front{background:linear-gradient(155deg,#9cad82 0%,#617a50 65%,#405c37 100%)}
.story-card--sand .story-card__front{color:#213323;background:linear-gradient(155deg,#ede3d1 0%,#d4c39f 64%,#b4a27c 100%)}
.story-card--sand .story-card__front::before,.story-card--sand .story-card__front::after{border-color:rgba(44,74,31,.20)}
.story-card--deep .story-card__front{background:linear-gradient(155deg,#25482f 0%,#142d1e 60%,#0b1d13 100%)}
.story-card__face small{position:relative;z-index:1;font-size:.62rem;line-height:1;text-transform:uppercase;letter-spacing:.18em;opacity:.8}
.story-card__front strong{position:relative;z-index:1;font-family:var(--serif);font-size:clamp(2.2rem,3vw,4rem);font-weight:400;line-height:.92;letter-spacing:-.035em;margin:auto 0}
.story-card__face em{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font-family:var(--sans);font-size:.68rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-style:normal;border-top:1px solid currentColor;padding-top:15px;opacity:.8}
.story-card__face em b{font-size:1rem;font-weight:400}
.story-card__back{justify-content:space-between;background:#f7f3eb;color:var(--brand-green);transform:rotateY(180deg);border:1px solid rgba(44,74,31,.12)}
.story-card__back>span{font-family:var(--editorial);font-size:clamp(1.05rem,1.3vw,1.35rem);line-height:1.45;margin:auto 0}
.story-card:focus-visible{outline:3px solid var(--leaf);outline-offset:5px}
.story-card:focus:not(:focus-visible){outline:0}
@media (max-width:1050px){
  .brand-story__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .story-card{height:360px}
}
@media (max-width:720px){
  .brand-story__heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}
  .brand-story__heading p{font-size:.95rem}
  .brand-story__grid{grid-template-columns:1fr;gap:10px}
  .story-card{height:270px}
  .story-card__front strong{font-size:clamp(2.8rem,14vw,4.2rem)}
  .story-card__back>span{font-size:1.12rem;max-width:31ch}
}
@media (prefers-reduced-motion:reduce){
  .story-card__inner{transition:none!important}
}

/* El navegador posterga el trabajo visual de las secciones fuera de pantalla. */
@supports (content-visibility:auto){
  .materials,.projects,.closing,.site-footer{content-visibility:auto;contain-intrinsic-size:900px}
}
