:root { --moss:#33442c; --moss-dark:#1f3327; --sage:#a7b593; --ivory:#f4ecdd; --paper:#fffdf7; --sky:#c9e1ed; --blossom:#d87580; --brown:#49382d; --whatsapp:#25d366; --whatsapp-dark:#128c4d; --rule:color-mix(in srgb,var(--brown) 27%,transparent); --display:Baskerville,Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif; --sans:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif; --parallax-x:0px; --parallax-y:0px; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; overflow-x:clip; } body { background:var(--ivory); color:var(--moss); font-family:var(--sans); font-size:16px; line-height:1.65; margin:0; overflow-x:clip; } img { display:block; max-width:100%; } a { color:inherit; } button,input,textarea { color:inherit; font:inherit; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-weight:500; letter-spacing:-.04em; line-height:.98; } h2 { font-family:var(--display); font-size:clamp(2.65rem,7vw,5.7rem); } h3 { font-family:var(--display); font-size:clamp(1.65rem,3vw,2.55rem); } p { max-width:65ch; }
.sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }.skip-link { background:var(--moss-dark); color:var(--ivory); left:1rem; padding:.65rem 1rem; position:fixed; top:-5rem; z-index:10; }.skip-link:focus { top:1rem; }:focus-visible { outline:3px solid var(--blossom); outline-offset:4px; }.section-shell { margin:0 auto; max-width:1280px; padding-left:clamp(1.25rem,5vw,5rem); padding-right:clamp(1.25rem,5vw,5rem); }.eyebrow,.hero-kicker { color:var(--brown); font-size:.69rem; font-weight:700; letter-spacing:.095em; line-height:1.4; margin-bottom:1.1rem; text-transform:uppercase; }
.button { align-items:center; border:0; display:inline-flex; font-size:.78rem; font-weight:700; gap:.6rem; justify-content:center; letter-spacing:.02em; min-height:3.35rem; padding:.8rem 1.25rem; text-decoration:none; transition:background-color .2s ease,transform .2s ease; }.button:hover { transform:translateY(-2px); }.button-whatsapp { background:var(--whatsapp); color:#083c20; }.button-whatsapp:hover { background:var(--whatsapp-dark); color:#fff; }.whatsapp-icon { fill:currentColor; flex:0 0 auto; height:1.18rem; width:1.18rem; }
.site-header { align-items:center; background:rgba(255,253,247,.94); border:1px solid rgba(73,56,45,.15); border-radius:999px; box-shadow:0 10px 30px rgba(49,59,39,.12); display:flex; justify-content:space-between; left:1rem; min-height:64px; padding:.7rem 1.05rem; position:fixed; right:1rem; top:.85rem; transition:background-color .25s ease,box-shadow .25s ease; z-index:5; }.site-header.is-scrolled { background:rgba(255,253,247,.97); box-shadow:0 12px 34px rgba(49,59,39,.16); backdrop-filter:blur(14px); }.brand { display:flex; flex-direction:column; font-family:var(--display); font-size:1.45rem; line-height:.85; text-decoration:none; }.brand small { font-family:var(--sans); font-size:.49rem; font-weight:700; letter-spacing:.08em; margin-top:.55rem; text-transform:uppercase; }.menu-toggle { background:transparent; border:0; cursor:pointer; display:grid; gap:.35rem; padding:.65rem 0 .65rem .65rem; }.menu-toggle span:not(.sr-only) { background:var(--moss); height:1px; width:1.6rem; } nav { background:var(--ivory); border-bottom:1px solid var(--rule); display:none; left:0; padding:1.2rem 1.25rem 1.5rem; position:absolute; right:0; top:100%; } nav.is-open { display:grid; gap:1rem; } nav a { font-size:.78rem; font-weight:700; text-decoration:none; }.nav-contact { align-items:center; color:var(--whatsapp-dark); display:inline-flex; gap:.35rem; }
.hero { background:var(--ivory); min-height:100svh; overflow:hidden; padding:.75rem; position:relative; }.hero-scene { border-radius:0 0 2.5rem 2.5rem; height:calc(100svh - 1.5rem); overflow:hidden; position:relative; }.hero-scene-image { animation:camera-in 1.6s cubic-bezier(.22,1,.36,1) both,breathe 16s 1.6s ease-in-out infinite alternate; height:100%; object-fit:cover; object-position:63% 53%; transform-origin:63% 53%; width:100%; }.hero-tint { background:linear-gradient(180deg,rgba(244,236,221,.08),rgba(244,236,221,.18) 56%,rgba(27,48,37,.52)); inset:0; position:absolute; }.mist { background:radial-gradient(ellipse,rgba(255,255,255,.67),rgba(255,255,255,0) 68%); filter:blur(18px); height:25%; opacity:.12; position:absolute; width:42%; }.mist-one { animation:drift-one 22s ease-in-out infinite alternate; left:11%; top:17%; }.mist-two { animation:drift-two 25s ease-in-out infinite alternate; right:7%; top:36%; }.light-band { background:linear-gradient(105deg,transparent,rgba(255,251,225,.2),transparent); height:130%; left:28%; position:absolute; top:-15%; transform:rotate(10deg) translateX(var(--parallax-x)); width:12%; }.petal { background:var(--blossom); border-radius:80% 20% 80% 20%; height:.55rem; opacity:0; position:absolute; transform:rotate(22deg); width:.38rem; }.petal-one { animation:petal-one 14s 1.4s linear infinite; left:66%; top:28%; }.petal-two { animation:petal-two 17s 4.6s linear infinite; left:75%; top:31%; }.petal-three { animation:petal-three 15s 2s linear infinite; left:61%; top:35%; }.hero-portrait { background:var(--paper); bottom:7.5rem; box-shadow:0 18px 42px rgba(31,51,39,.2); height:min(43svh,410px); left:clamp(1.5rem,6vw,5rem); overflow:hidden; position:absolute; width:min(34vw,285px); z-index:2; }.hero-portrait::after { border:1px solid rgba(216,117,128,.85); content:""; inset:.65rem; pointer-events:none; position:absolute; }.hero-portrait img { height:100%; object-fit:cover; object-position:center 19%; width:100%; }.hero-copy { --hero-scroll-opacity:1; --hero-scroll-y:0px; bottom:2.15rem; color:var(--paper); left:clamp(1.5rem,6vw,5rem); max-width:min(61vw,640px); opacity:var(--hero-scroll-opacity); position:absolute; transform:translateY(var(--hero-scroll-y)); transition:opacity .1s linear,transform .1s linear; z-index:3; }.hero-kicker { color:rgba(255,253,247,.83); margin-bottom:.8rem; }.hero h1 { color:var(--paper); font-family:var(--display); font-size:clamp(3rem,6.8vw,6.6rem); margin-bottom:.85rem; text-shadow:0 2px 18px rgba(20,42,32,.3); }.hero h1 span { animation:reveal-line .78s cubic-bezier(.22,1,.36,1) both; display:block; overflow:hidden; }.hero-intro { animation:rise .65s .45s cubic-bezier(.22,1,.36,1) both; color:rgba(255,253,247,.96); font-size:.92rem; line-height:1.55; margin-bottom:1.1rem; max-width:38ch; }.hero-copy .button { animation:rise .65s .62s cubic-bezier(.22,1,.36,1) both; }
.media { padding-bottom:clamp(5.5rem,12vw,10rem); padding-top:clamp(5.5rem,12vw,10rem); }.media-heading { display:grid; gap:1.7rem; margin-bottom:2.4rem; }.media-heading h2 { max-width:10ch; }.media-heading > p { color:var(--brown); font-size:.95rem; margin-bottom:0; max-width:37ch; }.media-grid { border-top:1px solid var(--rule); display:grid; }.media-card { border-bottom:1px solid var(--rule); color:inherit; padding:1rem 0 1.45rem; text-decoration:none; }.media-thumb { aspect-ratio:16 / 9; background:var(--moss); overflow:hidden; position:relative; }.media-thumb img { height:100%; object-fit:cover; transition:transform .45s cubic-bezier(.22,1,.36,1); width:100%; }.media-card:hover .media-thumb img { transform:scale(1.035); }.media-play { align-items:center; background:var(--whatsapp); border-radius:50%; bottom:.85rem; color:#093d20; display:flex; height:2.65rem; justify-content:center; left:.85rem; position:absolute; width:2.65rem; }.media-play svg { fill:currentColor; height:1rem; margin-left:.12rem; width:1rem; }.media-card h3 { font-size:clamp(1.6rem,4vw,2.25rem); margin:1.1rem 0 .55rem; }.media-card p { color:var(--brown); font-size:.84rem; margin:0; }.media-status { color:var(--brown); font-size:.92rem; margin:1.4rem 0; }
.intro { display:grid; gap:2rem; padding-bottom:clamp(5.5rem,10vw,10rem); padding-top:clamp(4.5rem,9vw,8rem); }.section-mark { display:flex; height:3.25rem; padding-left:.25rem; }.section-mark span { border-left:1px solid var(--blossom); border-radius:24px 0 0; border-top:1px solid var(--blossom); height:100%; width:2.1rem; }.intro h2 { max-width:12ch; }.intro-copy { color:var(--brown); font-size:.96rem; }
.about { background:#e6decf; padding:clamp(5.5rem,11vw,10rem) 0; }.about-grid { display:grid; gap:3.5rem; }.portrait-wrap { aspect-ratio:4 / 5; max-width:440px; overflow:hidden; padding-left:1.1rem; position:relative; }.portrait-edge { border:1px solid var(--blossom); bottom:-1.1rem; left:0; position:absolute; right:1.1rem; top:1.1rem; }.portrait-wrap img { filter:saturate(.91); height:100%; object-fit:cover; object-position:center 18%; position:relative; width:100%; }.about-copy h2 { font-size:clamp(3.1rem,9vw,5.6rem); margin-bottom:1.4rem; }.about-copy .lead { font-family:var(--display); font-size:1.6rem; line-height:1.14; }.about-copy p:not(.eyebrow) { color:var(--brown); font-size:.94rem; }
.approach { display:grid; gap:3.4rem; padding-bottom:clamp(5.5rem,12vw,12rem); padding-top:clamp(5.5rem,12vw,12rem); }.approach-quote { align-items:flex-start; display:flex; gap:1rem; }.quote-line { background:var(--blossom); height:4rem; margin-top:.5rem; width:1px; }.approach-quote p { font-family:var(--display); font-size:clamp(1.8rem,5.2vw,3.7rem); line-height:1.05; margin:0; max-width:14ch; }.approach-body h2 { max-width:11ch; }.approach-body > p:not(.eyebrow) { color:var(--brown); font-size:.95rem; }
.first-contact { display:grid; gap:3rem; padding-bottom:clamp(5.5rem,12vw,10rem); padding-top:clamp(5.5rem,12vw,10rem); }.first-contact h2 { max-width:10ch; }.first-contact ol { list-style:none; margin:0; padding:0; }.first-contact li { border-top:1px solid var(--rule); display:grid; gap:1rem; grid-template-columns:2rem 1fr; padding:1.35rem 0; }.first-contact li:last-child { border-bottom:1px solid var(--rule); }.first-contact li > span { color:var(--blossom); font-size:.75rem; font-weight:700; }.first-contact h3 { font-family:var(--sans); font-size:1rem; font-weight:700; letter-spacing:-.02em; line-height:1.3; margin-bottom:.25rem; }.first-contact li p { color:var(--brown); font-size:.86rem; margin-bottom:0; }.final-cta { background:var(--sky); overflow:hidden; padding:clamp(5.5rem,12vw,10rem) 0; position:relative; }.final-cta-art { border:1px solid rgba(51,68,44,.25); border-radius:50% 50% 0 0; height:55vw; max-height:550px; position:absolute; right:-12vw; top:-9vw; width:55vw; }.final-cta-art::after { border:1px solid rgba(216,117,128,.55); border-radius:50% 50% 0 0; content:""; inset:1.4rem; position:absolute; }.final-cta-copy { position:relative; }.final-cta h2 { max-width:11ch; }.final-cta .button { margin-top:.4rem; } footer { background:var(--ivory); padding:2.2rem 0; }.footer-inner { display:grid; gap:1rem; }.footer-inner strong { display:block; font-family:var(--display); font-size:1.4rem; font-weight:500; }.footer-inner span,.footer-inner p,.footer-inner a { color:var(--brown); font-size:.68rem; margin:.3rem 0 0; }.footer-meta { display:grid; gap:.35rem; }
@keyframes camera-in { from { transform:scale(1.035); } to { transform:scale(1); } } @keyframes breathe { from { transform:scale(1); } to { transform:scale(1.012); } } @keyframes drift-one { from { transform:translateX(-8px) translateY(var(--parallax-y)); } to { transform:translateX(10px) translateY(var(--parallax-y)); } } @keyframes drift-two { from { transform:translateX(9px) translateY(var(--parallax-y)); } to { transform:translateX(-10px) translateY(var(--parallax-y)); } } @keyframes reveal-line { from { clip-path:inset(0 0 100% 0); transform:translateY(1em); } to { clip-path:inset(0); transform:translateY(0); } } @keyframes rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } } @keyframes petal-one { 0% { opacity:0; transform:translate(0,0) rotate(0); } 8%,80% { opacity:.8; } 100% { opacity:0; transform:translate(22px,270px) rotate(240deg); } } @keyframes petal-two { 0% { opacity:0; transform:translate(0,0) rotate(25deg); } 10%,82% { opacity:.75; } 100% { opacity:0; transform:translate(-28px,350px) rotate(300deg); } } @keyframes petal-three { 0% { opacity:0; transform:translate(0,0) rotate(-10deg); } 10%,80% { opacity:.8; } 100% { opacity:0; transform:translate(40px,300px) rotate(220deg); } }
@media (min-width:700px) { .site-header { left:50%; right:auto; top:1rem; transform:translateX(-50%); width:min(calc(100% - 2rem),1120px); }.menu-toggle { display:none; }nav { align-items:center; background:transparent; border:0; display:flex; gap:clamp(1.1rem,2vw,2rem); padding:0; position:static; }.nav-contact { border-bottom:1px solid currentColor; }.hero { padding:1rem; }.hero-scene { height:calc(100svh - 2rem); }.hero-scene-image { object-position:65% 54%; }.hero-portrait { bottom:0; height:min(78svh,760px); left:clamp(3rem,8vw,9.5rem); width:min(27vw,360px); }.hero-portrait::after { inset:.9rem; }.hero-copy { bottom:auto; left:52%; max-width:min(43vw,610px); top:31%; }.hero h1 { font-size:clamp(4rem,6.25vw,6.8rem); }.hero-intro { font-size:1rem; }.media-heading { align-items:end; grid-template-columns:1fr minmax(220px,.55fr); }.media-grid { gap:clamp(1rem,2vw,2rem); grid-template-columns:repeat(3,1fr); }.media-card { border-bottom:0; padding:1rem 0 0; }.intro { grid-template-columns:.35fr 1.05fr 1fr; }.section-mark { align-self:start; }.intro-copy { padding-top:1.2rem; }.about-grid { align-items:center; grid-template-columns:minmax(260px,.78fr) 1fr; }.about-copy { max-width:600px; }.approach { grid-template-columns:.9fr 1fr; }.approach-body { padding-top:3rem; }.first-contact { grid-template-columns:.8fr 1fr; }.first-contact ol { padding-top:.7rem; }.final-cta-art { right:5vw; top:-15vw; }.footer-inner { align-items:end; grid-template-columns:1fr auto; }.footer-meta { justify-items:end; max-width:36ch; }.footer-inner p { text-align:right; } }
@media (max-width:699px) { .media-card:nth-child(n + 2) { display:none; } }
@media (min-width:1100px) { .intro { grid-template-columns:.28fr 1.1fr 1fr; }.about-grid { column-gap:clamp(5rem,10vw,12rem); }.first-contact { column-gap:clamp(5rem,12vw,13rem); }.first-contact li { padding:1.6rem 0; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }.hero-photo img,.hero-copy { transform:none !important; } }

/* Hero editorial: Paola leads the image, the city remains context. */
.hero { min-height:100svh; padding:0; }.hero-photo { display:block; height:100svh; overflow:hidden; position:relative; width:100%; }.hero-photo img { height:100%; max-width:none; object-fit:cover; object-position:center center; width:100%; }.hero-shade { background:linear-gradient(180deg,rgba(22,43,33,.85) 0%,rgba(22,43,33,.65) 42%,rgba(22,43,33,.1) 70%,rgba(22,43,33,.35) 100%); inset:0; pointer-events:none; position:absolute; }.hero-copy { bottom:auto; left:clamp(1.4rem,6vw,4rem); max-width:min(88vw,560px); right:1.4rem; top:8rem; }.hero-kicker { color:rgba(255,253,247,.88); }.hero h1 { font-size:clamp(3.1rem,11.5vw,5.3rem); text-shadow:0 2px 18px rgba(9,24,16,.5); }.hero-intro { color:#fffdf7; font-size:.95rem; max-width:36ch; text-shadow:0 1px 12px rgba(9,24,16,.55); }
@media (min-width:700px) { .hero { min-height:0; padding:1rem; }.hero-photo { border-radius:0 0 2.5rem 2.5rem; height:clamp(440px,62svh,620px); }.hero-photo img { object-position:34% center; }.hero-shade { background:linear-gradient(90deg,rgba(19,37,29,.1) 0%,rgba(19,37,29,.04) 31%,rgba(19,37,29,.56) 56%,rgba(19,37,29,.9) 100%); inset:1rem; }.hero-copy { bottom:auto; left:auto; max-width:min(39vw,570px); right:clamp(2.6rem,7vw,7rem); top:50%; transform:translateY(calc(-50% + var(--hero-scroll-y))); }.hero h1 { font-size:clamp(3.8rem,5.8vw,6.15rem); }.hero-intro { font-size:1rem; }.hero-kicker { margin-bottom:1rem; } }
@media (min-width:700px) { .hero { height:100svh; min-height:100svh; }.hero-photo { height:calc(100svh - 2rem); }.hero-photo img { object-position:30% center; } }
.brand-line { align-items:center; display:flex; gap:.52rem; white-space:nowrap; }.brand-emblem { height:1.92rem; max-width:none; object-fit:contain; width:1.6rem; }.hero-sun { bottom:1.4rem; height:auto; opacity:.32; pointer-events:none; position:absolute; right:1.45rem; width:5.8rem; z-index:2; }.hero-copy { z-index:3; }@media (min-width:700px) { .hero-sun { bottom:clamp(2rem,7vh,5rem); right:clamp(2.5rem,7vw,7rem); width:clamp(6.5rem,10vw,10.5rem); }.brand-emblem { height:2.12rem; width:1.78rem; } }
@media (max-width:699px) { .hero-copy { bottom:2rem; left:1.4rem; max-width:calc(100% - 2.8rem); right:1.4rem; top:auto; }.hero-kicker,.hero-intro { display:none; }.hero h1 { font-size:clamp(2.75rem,9vw,3.55rem); line-height:1.01; margin-bottom:1.1rem; max-width:11ch; }.hero-sun { bottom:1.5rem; opacity:.25; }.hero-copy .button { position:relative; z-index:1; } }
@media (max-width:699px) { .hero { background:var(--moss-dark); display:block; height:100svh; min-height:100svh; }.hero-photo { height:60svh; }.hero-photo img { object-position:center 22%; }.hero-shade { background:linear-gradient(180deg,rgba(22,43,33,.3),rgba(22,43,33,.04) 60%,rgba(22,43,33,.35)); bottom:auto; height:60svh; inset:0 0 auto; }.hero-copy { background:var(--moss-dark); bottom:0; display:block; height:40svh; left:0; max-width:none; padding:1.25rem 1.4rem 1.4rem; right:0; top:auto; }.hero-kicker,.hero-intro,.hero-sun { display:none; }.hero h1 { font-size:clamp(2.35rem,8.5vw,3.15rem); line-height:1.02; margin-bottom:1rem; max-width:13ch; }.hero-copy .button { min-height:3.05rem; } }
@media (max-width:699px) { .hero { background:var(--ivory); }.hero-photo { height:100svh; }.hero-photo img { object-position:center center; }.hero-shade { background:linear-gradient(180deg,rgba(22,43,33,.2) 0%,rgba(22,43,33,0) 48%,rgba(22,43,33,.18) 62%,rgba(22,43,33,.82) 100%); bottom:0; height:auto; inset:0; }.hero-copy { background:transparent; bottom:1.65rem; height:auto; left:0; max-width:none; padding:0 1.4rem; right:0; top:auto; }.hero-kicker,.hero-intro,.hero-sun { display:none; }.hero h1 { font-size:clamp(2.25rem,7.5vw,2.8rem); line-height:1.02; margin-bottom:1rem; max-width:13ch; }.hero-copy .button { min-height:3.05rem; } }
.button-whatsapp { border-radius:14px; box-shadow:0 9px 22px rgba(8,60,32,.2); }.hero-copy { text-align:center; }.hero-name { color:var(--paper); font-family:var(--sans) !important; font-size:clamp(2.15rem,4.5vw,4.75rem) !important; font-weight:500; letter-spacing:.075em; line-height:1.04; margin:0; max-width:none !important; text-shadow:0 2px 18px rgba(9,24,16,.48); text-transform:uppercase; }.hero-rule { background:var(--blossom); display:block; height:2px; margin:1rem auto; width:4rem; }.hero-roles { color:rgba(255,253,247,.94); display:flex; font-size:clamp(.62rem,1.1vw,.83rem); font-weight:700; gap:.65rem; justify-content:center; letter-spacing:.16em; margin:0; text-transform:uppercase; }.hero-roles span { color:var(--blossom); }.hero-statement { color:#fffdf7; font-family:var(--sans); font-size:clamp(1.05rem,1.35vw,1.2rem); font-weight:500; letter-spacing:.01em; line-height:1.45; margin:1.15rem auto 1.3rem; max-width:38ch; text-shadow:0 1px 12px rgba(9,24,16,.55); }.hero-copy .button { border-radius:14px; }.hero-copy .button:hover { box-shadow:0 12px 26px rgba(8,60,32,.28); }
@media (max-width:699px) { .hero-copy { bottom:1.5rem; text-align:left; }.hero-name { font-size:clamp(2rem,8vw,2.7rem) !important; letter-spacing:.055em; }.hero-rule { margin:.72rem 0; width:3rem; }.hero-roles { font-size:.56rem; gap:.38rem; justify-content:flex-start; letter-spacing:.095em; }.hero-statement { font-size:clamp(.96rem,3.9vw,1.08rem); font-weight:500; line-height:1.45; margin:.8rem 0 1rem; max-width:33ch; }.hero-sun { display:none; } }

/* The direct consultation block uses one clear message instead of a paired quotation. */
.brand-emblem { aspect-ratio:3 / 2; height:auto; width:2rem; }
.approach { grid-template-columns:minmax(0,1fr); }
.approach .approach-body { max-width:43rem; padding-top:0; }
.approach .approach-body h2 { max-width:17ch; }
.approach .approach-body > p:not(.eyebrow) { font-size:1rem; max-width:50ch; }
@media (min-width:700px) { .brand-emblem { height:auto; width:2.3rem; }.approach { grid-template-columns:minmax(0,1fr); }.approach .approach-body { padding-top:0; } }

/* The hero now reads as a calm consultation space, with light preserved across the coast. */
.brand { display:block; font-size:clamp(1.35rem,2vw,1.75rem); line-height:1; }
.brand-line { display:block; }
.hero-country { align-items:center; bottom:1.55rem; display:grid; gap:.36rem; justify-items:center; position:absolute; right:1.5rem; z-index:3; }
.hero-country img { display:block; height:auto; }
.hero-country .uruguay-flag { border:1px solid rgba(255,253,247,.72); border-radius:3px; box-shadow:0 3px 8px rgba(24,42,33,.2); width:1.68rem; }
.button-whatsapp { background:var(--paper); border:1px solid rgba(31,51,39,.32); box-shadow:0 10px 24px rgba(31,51,39,.16); color:var(--moss-dark); }
.button-whatsapp .whatsapp-icon { fill:var(--whatsapp-dark); }
.button-whatsapp:hover { background:#f8f1e5; color:var(--moss-dark); }
.hero-copy { isolation:isolate; }
.hero-copy::before { background:radial-gradient(ellipse at center,rgba(25,46,35,.46),rgba(25,46,35,0) 71%); content:""; inset:-2.4rem -4rem; pointer-events:none; position:absolute; z-index:-1; }
@media (min-width:700px) { .hero-shade { background:linear-gradient(90deg,rgba(19,37,29,.04) 0%,rgba(19,37,29,0) 35%,rgba(19,37,29,.04) 62%,rgba(19,37,29,.2) 100%); }.hero-country { bottom:clamp(2.1rem,6vh,4.8rem); right:clamp(2.6rem,7vw,7rem); }.hero-country .uruguay-flag { width:1.95rem; } }
@media (max-width:699px) { .hero-country { bottom:auto; right:1.4rem; top:7rem; }.hero-copy::before { display:none; }.hero-shade { background:linear-gradient(180deg,rgba(22,43,33,.12) 0%,rgba(22,43,33,0) 48%,rgba(22,43,33,.12) 62%,rgba(22,43,33,.7) 100%); } }

/* The media area is a compact visual shelf: the artwork leads, text only guides. */
.media { padding-bottom:clamp(4rem,9vw,7rem); padding-top:clamp(4rem,9vw,7rem); }
.media-heading { align-items:baseline; display:flex; justify-content:space-between; margin-bottom:1.35rem; }
.media-heading h2 { font-size:clamp(2.45rem,6vw,4.5rem); max-width:none; }
.media-heading > p { color:var(--blossom); font-size:.78rem; font-weight:700; letter-spacing:.02em; margin:0 0 .35rem; max-width:none; white-space:nowrap; }
.media-grid { border:0; gap:1rem; }
.media-card { background:var(--moss-dark); border:0; border-radius:1.2rem; overflow:hidden; padding:0; position:relative; }
.media-thumb { aspect-ratio:16 / 10; }
.media-thumb::after { background:linear-gradient(180deg,rgba(16,34,25,0) 32%,rgba(16,34,25,.84) 100%); content:""; inset:0; pointer-events:none; position:absolute; }
.media-card h3 { bottom:1.15rem; color:var(--paper); font-family:var(--sans); font-size:clamp(1rem,1.7vw,1.35rem); font-weight:700; left:1.15rem; letter-spacing:-.025em; line-height:1.15; margin:0; max-width:calc(100% - 2.3rem); position:absolute; right:1.15rem; text-shadow:0 1px 12px rgba(7,20,13,.35); z-index:2; }
.media-card p { display:none; }
.media-play { background:var(--paper); bottom:auto; box-shadow:0 6px 16px rgba(12,30,21,.25); color:var(--moss-dark); left:1rem; top:1rem; z-index:2; }
.media-card:hover .media-play { background:var(--blossom); color:var(--paper); }
.media-status { border-top:1px solid var(--rule); margin:0; padding-top:1.25rem; }
@media (min-width:700px) { .media-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.media-card { padding:0; }.media-card h3 { bottom:1.25rem; left:1.25rem; right:1.25rem; }.media-play { left:1.15rem; top:1.15rem; } }
@media (max-width:460px) { .media-heading { align-items:flex-start; flex-direction:column; gap:.2rem; }.media-heading > p { margin:0; }.media-card h3 { font-size:1.05rem; } }

/* Footer links stay quiet while making site ownership and privacy easy to find. */
.footer-creator { align-items:center; display:inline-flex; gap:.42rem; text-decoration:none; }
.footer-creator svg { fill:currentColor; height:.9rem; width:.9rem; }
.footer-creator:hover { color:var(--moss); }
@media (max-width:699px) { .footer-creator { justify-self:start; } }

/* Legal information uses the existing visual language without competing with the landing. */
.legal-page { background:var(--paper); }
.legal-header { position:relative; }
.legal-back { color:var(--moss); font-size:.78rem; font-weight:700; text-decoration:none; }
.legal-content { color:var(--brown); max-width:900px; padding-bottom:clamp(4rem,10vw,7rem); padding-top:clamp(7rem,14vw,10rem); }
.legal-content h1 { color:var(--moss); font-family:var(--display); font-size:clamp(3rem,8vw,5.6rem); margin-bottom:1rem; }
.legal-content h2 { color:var(--moss); font-size:clamp(1.8rem,4vw,2.6rem); margin:2.75rem 0 .85rem; }
.legal-content p { font-size:1rem; }
.legal-content a { color:var(--moss); font-weight:700; }
.legal-updated { font-size:.8rem !important; }

/* Actualidad becomes the brighter public-facing shelf of the site. */
.media { background:radial-gradient(circle at 88% 4%,rgba(241,199,117,.35),rgba(241,199,117,0) 27rem),linear-gradient(122deg,rgba(255,253,247,.38),rgba(216,117,128,.07)); overflow:hidden; position:relative; }
.media-heading h2 { text-shadow:0 1px 0 rgba(255,253,247,.75); }
.media-heading > p { color:#bd536a; }
.media-card { box-shadow:0 12px 28px rgba(31,51,39,.13); }
.media-card.is-featured { box-shadow:0 18px 38px rgba(31,51,39,.25); }
.portrait-wrap { background:transparent; overflow:visible; }
.portrait-wrap::after { background:radial-gradient(ellipse at 50% 67%,rgba(216,117,128,.16),rgba(216,117,128,0) 68%); content:""; inset:0; position:absolute; z-index:0; }
.portrait-wrap img { filter:drop-shadow(0 18px 22px rgba(73,56,45,.16)); object-fit:contain; object-position:center bottom; z-index:1; }
.portrait-edge { z-index:0; }
@media (max-width:699px) {
  .media-grid.is-carousel { display:flex; gap:.8rem; margin-left:-5vw; margin-right:-5vw; overflow-x:auto; padding:.65rem 9vw 1.1rem; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .media-grid.is-carousel::-webkit-scrollbar { display:none; }
  .media-grid.is-carousel .media-card { display:block; flex:0 0 82vw; opacity:.52; scroll-snap-align:center; transform:scale(.92); transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease; }
  .media-grid.is-carousel .media-card.is-featured { opacity:1; transform:scale(1); }
  .media-grid.is-carousel .media-card[data-carousel-clone="true"] { pointer-events:none; }
  .portrait-wrap { max-width:400px; }
}
