/* LOOP 360 · Editorial landing. Isolated under .loop-page to protect mariano-puerta.es */
.loop-page{--loop-ink:#232c34;--loop-rust:#aa5636;--loop-paper:#faf8f3;--loop-sand:#eee7dc;--loop-line:#dbd1c5;background:var(--loop-paper);color:var(--loop-ink)}
.loop-page .top{position:sticky;top:0}
.loop-page .container{max-width:1300px}
.loop-page h1,.loop-page h2,.loop-page h3{font-family:'DM Serif Display',Georgia,serif;letter-spacing:-.027em;font-weight:400}
.loop-page section{scroll-margin-top:85px}
.loop-page a:focus-visible,.loop-page button:focus-visible,.loop-page input:focus-visible,.loop-page summary:focus-visible{outline:3px solid #a75a3b;outline-offset:4px}
.loop-eyebrow{font-size:.72rem;letter-spacing:.17em;font-weight:800;color:var(--loop-rust);text-transform:uppercase;margin:0 0 20px;line-height:1.6}
.loop-page h1{font-size:clamp(3.45rem,5.5vw,6rem);line-height:1.04;margin:22px 0 16px}
.loop-page h2{font-size:clamp(2.8rem,4.5vw,4.9rem);line-height:1.1;margin:0 0 26px}
.loop-page h2 em,.loop-origin blockquote em,.loop-last h2 em{color:var(--loop-rust);font-weight:400}
.loop-page h3{line-height:1.18}
.loop-section{padding:110px 0}
.loop-page p{line-height:1.75;color:#585d5d}
.loop-lead{font-family:Georgia,serif;font-size:clamp(1.3rem,2vw,1.9rem);color:#3b4345!important;line-height:1.58!important;max-width:820px}
.loop-hero{background:#faf8f3;overflow:hidden;border-bottom:1px solid #e1dbd2;padding:92px 0 100px}
.loop-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}
.loop-wordmark{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(2.2rem,3.5vw,3.8rem);font-weight:850;line-height:1;letter-spacing:-.045em;color:#242c34}
.loop-wordmark span{color:var(--loop-rust)}
.loop-hero h1{max-width:750px}
.loop-hero-sub{font:400 clamp(1.6rem,2.8vw,2.6rem)/1.35 Georgia,serif!important;color:#a65337!important;margin-bottom:26px}
.loop-hero-grid>div:first-child>p:not(.loop-eyebrow):not(.loop-hero-sub):not(.loop-micro):not(.loop-price-note){max-width:610px;font-size:1rem;line-height:1.85}
.loop-hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin:31px 0 23px}
.loop-hero-cta .button{white-space:nowrap}
.loop-micro{font-size:.76rem;letter-spacing:.05em;color:#72736c!important}
.loop-price-note{font-size:.9rem;color:#444944!important}
.loop-hero-art{min-height:565px;background:#26313b;color:#f7f1e8;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;box-shadow:20px 21px 0 #ded0c2}
.loop-hero-art::before{content:'';width:530px;height:530px;border:1px solid #bd8d71;border-radius:50%;position:absolute;top:2%;left:16%;opacity:.45}
.loop-hero-art::after{content:'';width:350px;height:350px;border:1px dashed #a9755d;border-radius:50%;position:absolute;right:-120px;bottom:-95px;opacity:.6}
.loop-hero-number{position:absolute;font-family:Georgia,serif;font-size:clamp(11rem,21vw,20rem);line-height:1;top:5%;left:-16%;color:#ffffff07;z-index:0}
.loop-copper-halo{border:5px solid #b76a47;border-right-color:#b76a4700;border-bottom-color:#b76a4730;border-radius:50%;width:330px;height:330px;position:absolute;transform:rotate(-26deg);z-index:1}
.loop-copper-halo:after{content:'➜';font-size:42px;position:absolute;color:#c78361;right:22px;bottom:10px;transform:rotate(24deg)}
.loop-hero-art-inner{text-align:center;z-index:2}
.loop-hero-icon{font:110px/1 Georgia,serif;color:#c88b6b}
.loop-hero-art-title{font:400 1.7rem/1.28 'DM Serif Display',Georgia,serif;letter-spacing:.02em}
.loop-hero-art-inner p{font-size:.63rem!important;letter-spacing:.09em;color:#e2d7cb!important;line-height:2!important;margin-top:22px}
.loop-hero-side{position:absolute;top:28px;left:27px;font-size:.61rem;font-weight:800;letter-spacing:.17em;color:#ccb19f}
.loop-ticker{background:#26313b;color:#f4e7d9;padding:21px 0;text-align:center;font-size:.72rem;letter-spacing:.07em;font-weight:750;line-height:1.85}
.loop-ticker b{color:#a85b38;padding:0 11px}
.loop-editorial{display:grid;grid-template-columns:1.07fr .93fr;gap:80px}
.loop-troubles{border-top:2px solid #a65337;margin-top:10px;padding-top:7px}
.loop-troubles>p{border-bottom:1px solid #dcd2c8;padding:14px 0;font-family:Georgia,serif;font-size:1.17rem;color:#3b4144;margin:0}
.loop-troubles small{display:block;color:#a45236;line-height:1.5;padding-top:20px;font-size:.84rem;font-weight:650}
.loop-origin{background:#ede7de}
.loop-origin-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}
.loop-origin-photo{position:relative;border:9px solid #fffdf9;box-shadow:14px 15px 0 #c2a68e;max-width:470px}
.loop-origin-photo img{display:block;width:100%;height:570px;object-fit:cover;object-position:center top}
.loop-origin-photo span{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(0deg,#192127ef,transparent);color:white;font-size:.75rem;font-weight:750}
.loop-origin-grid>div:last-child p{max-width:690px;font-size:.98rem}
.loop-origin-grid>div:last-child p strong{color:#222b30}
.loop-origin blockquote{font:400 clamp(1.65rem,2.35vw,2.55rem)/1.36 Georgia,serif;border-left:3px solid #ac5a36;padding:6px 0 6px 24px;margin:27px 0 0;color:#293338}
.loop-proof{background:#293038;color:#fff;padding:90px 0}
.loop-proof-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}
.loop-proof h2{margin-bottom:0}
.loop-proof p{color:#deded8}
.loop-proof strong{color:#fff}
.loop-ring-outer{display:flex;justify-content:center;margin:45px auto 12px}
.loop-ring{height:600px;width:600px;position:relative;display:grid;place-items:center}
.loop-ring-track{width:440px;height:440px;border:3px solid #b56e4c;border-left-color:#b56e4c55;border-radius:50%;position:absolute;transform:rotate(-22deg)}
.loop-ring-track:before,.loop-ring-track:after{content:'➤';font-size:23px;color:#a35337;position:absolute;line-height:1}
.loop-ring-track:before{right:63px;top:26px;transform:rotate(50deg)}.loop-ring-track:after{left:55px;bottom:37px;transform:rotate(190deg)}
.loop-ring-center{width:230px;height:230px;background:#26313b;color:white;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 40px #1e22232b;z-index:1;text-align:center}
.loop-ring-center strong{font:400 3.35rem/.9 'DM Serif Display',Georgia,serif}
.loop-ring-center em{color:#d4a07d;font-weight:400}
.loop-ring-center small{font-size:.6rem;max-width:145px;letter-spacing:.05em;line-height:1.45;margin-top:21px;color:#e3d0c2}
.loop-ring-steps{margin:0;padding:0;list-style:none}
.loop-ring-step{position:absolute;width:165px;text-align:center;z-index:2;display:flex;align-items:center;flex-direction:column;gap:2px}
.loop-ring-step span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#ad5c3b;color:#fff;font-size:.77rem;font-weight:800;box-shadow:0 5px 18px #71381b22}
.loop-ring-step strong{font-size:.86rem;color:#253039}
.loop-ring-step.ring-1{top:0;left:50%;transform:translateX(-50%)}
.loop-ring-step.ring-2{top:87px;right:0}
.loop-ring-step.ring-3{top:258px;right:-32px}
.loop-ring-step.ring-4{bottom:45px;right:35px}
.loop-ring-step.ring-5{bottom:0;left:50%;transform:translateX(-50%)}
.loop-ring-step.ring-6{bottom:75px;left:0}
.loop-ring-step.ring-7{top:150px;left:-39px}
.loop-ring-bottom{text-align:center;color:#ab5638!important;font-size:.83rem!important;font-weight:800;letter-spacing:.06em}
.loop-tools{background:#eee8df}
.loop-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.loop-tools-grid article{padding:30px;background:#fffdfa;border:1px solid #ded5c8;min-height:185px}
.loop-tools-grid article span{color:#ad5d3d;font-weight:800;font-size:.7rem;letter-spacing:.16em}
.loop-tools-grid article h3{font-size:1.5rem;margin:20px 0 11px}
.loop-tools-grid article p{font-size:.88rem;line-height:1.65;margin:0}
.loop-commitment{background:#2a3137;color:white}
.loop-commitment h2 em{color:#db9b75}
.loop-commitment p{color:#d3cfca}
.loop-commitment-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}
.loop-statement{display:block;font:400 2rem Georgia,serif;margin-top:30px;color:#deb094}
.loop-week{border:1px solid #876d5b;background:#343f48;padding:37px 43px}
.loop-week>span{display:block;color:#e1b296;font-size:.69rem;letter-spacing:.16em;font-weight:800;margin-bottom:20px}
.loop-week ul{list-style:none;padding:0;margin:0}
.loop-week li{border-bottom:1px solid #55606a;color:#eeece8;padding:13px 0;font-size:.9rem}
.loop-week li:before{content:'✓';color:#e1a37f;margin-right:13px}
.loop-accompany{background:#faf8f3}
.loop-accompany-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d4c8bc;border-bottom:1px solid #d4c8bc;margin:35px 0}
.loop-accompany-grid>div{display:flex;flex-direction:column;padding:28px 21px;border-right:1px solid #d4c8bc;gap:4px}
.loop-accompany-grid>div:first-child{padding-left:0}
.loop-accompany-grid>div:last-child{border-right:0}
.loop-accompany-grid strong{font:400 3.1rem/1 'DM Serif Display',Georgia,serif;color:#a65536}
.loop-accompany-grid span{font-size:.77rem;color:#555c5d}
.loop-pricing{background:#ede7dd}
.loop-alumni-control{display:flex;align-items:center;gap:18px;justify-content:space-between;border:1px solid #d2ad96;background:#faf7f2;padding:18px 22px;margin:32px 0 25px}
.loop-alumni-control small{font-size:.76rem;color:#6e6761}
.loop-switch{display:inline-flex;align-items:center;gap:16px;color:#363c40;font-size:.9rem;font-weight:800;cursor:pointer}
.loop-switch input{width:20px;height:20px;accent-color:#a65536;flex:none}
.loop-toggle-slider{display:none}
.loop-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch}
.loop-plan{min-width:0;background:#fffdf9;padding:29px 24px;border:1px solid #dbd1c7;display:flex;flex-direction:column;position:relative;transition:border-color .2s}
.loop-plan.featured{border:2px solid #a35437;box-shadow:0 15px 38px #8b553217;transform:translateY(-10px)}
.loop-recommended{position:absolute;top:-15px;left:16px;background:#a35437;color:#fff;padding:6px 13px;font-size:.6rem;font-weight:800;letter-spacing:.11em}
.loop-plan-kicker{font-size:.63rem;color:#ad5b39;font-weight:800;letter-spacing:.12em}
.loop-plan h3{font-size:1.7rem;margin:16px 0 10px;min-height:65px}
.loop-plan>p:not(.loop-plan-total){font-size:.8rem;line-height:1.65;min-height:86px}
.loop-plan-price{border-top:1px solid #ddd1c2;padding-top:22px;display:flex;align-items:baseline;gap:8px;margin-top:auto}
.loop-plan-price strong{font:400 2.95rem/1 Georgia,serif;color:#293039}
.loop-plan-price small{font-size:.86rem;color:#79706c}
.loop-plan-total{font-size:.8rem;margin:17px 0 22px!important;line-height:1.45!important}
.loop-plan-total strong{color:#1f282b}
.loop-plan .button{white-space:nowrap;font-size:.62rem;padding:14px 10px;min-height:48px;width:100%}
.loop-purchase:disabled{opacity:.6;cursor:not-allowed;background:#e5d7c8;color:#413b36;border-color:#d7c2b0}
.loop-plan-legal{font-size:.78rem;margin:27px 0 6px}
.loop-purchase-info{font-size:.77rem;padding:13px 17px;background:#f8f2e9;border-left:3px solid #a65337}
.loop-talk{background:#faf8f3;padding:64px 0}
.loop-talk-inner{display:flex;gap:35px;align-items:center;justify-content:space-between}
.loop-talk h2{font-size:clamp(2.2rem,3.3vw,3.8rem);margin:0 0 15px}
.loop-talk p{max-width:670px}
.loop-talk .button{white-space:nowrap}
.loop-landing{background:#303840;color:#fff}
.loop-landing-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:65px}
.loop-landing h2 em{color:#deaa8d}
.loop-landing p{color:#d4cfca}
.loop-landing blockquote{font:400 clamp(1.7rem,2.8vw,2.7rem)/1.37 Georgia,serif;border-left:2px solid #c9845b;margin:0;padding-left:25px}
.loop-landing blockquote strong{color:#d7a486;font-weight:400}
.loop-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:39px}
.loop-service{background:#fffdf9;border:1px solid #ded5ca;min-width:0;display:flex;flex-direction:column}
.loop-service>img{width:100%;aspect-ratio:1.5;object-fit:cover;object-position:center 33%;background:#f5efe9}
.loop-service-copy{display:flex;flex-direction:column;gap:8px;padding:22px;flex:1}
.loop-service h3{font-size:1.46rem;margin:0}
.loop-service p{font-size:.82rem;line-height:1.62;margin:0 0 12px;flex:1}
.loop-service-foot{display:flex;align-items:center;justify-content:space-between;gap:7px}
.loop-service-foot strong{font:400 2rem Georgia,serif;color:#a45136}
.loop-service-foot .button{font-size:.63rem;padding:11px 12px}
.loop-service small{font-size:.73rem;color:#9b5a3b}
.loop-fit{background:#ede7dd}
.loop-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px}
.loop-fit-grid>div:first-child{border-right:1px solid #d0bdac;padding-right:60px}
.loop-fit h2{font-size:clamp(2.1rem,3vw,3.65rem)}
.loop-faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:start}
.loop-faq-items{border-top:1px solid #d7d1c5}
.loop-faq-items details{border-bottom:1px solid #d7d1c5;padding:20px 0}
.loop-faq-items summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:750;font-size:.96rem}
.loop-faq-items summary::-webkit-details-marker{display:none}
.loop-faq-items summary span{color:#a45136;font-size:1.25rem;font-weight:400}
.loop-faq-items details[open] summary span{transform:rotate(45deg)}
.loop-faq-items details p{margin:14px 0 0;font-size:.89rem}
.loop-last{text-align:center;background:#262e35;color:white}
.loop-last h2{max-width:1000px;margin:0 auto 24px}
.loop-last h2 em{color:#dda586}
.loop-last p{color:#d7d2cb}
.loop-last .button{margin:10px 5px}.loop-last .button:not(.filled){border-color:#e4ddd4;color:#fff}
.loop-last small{display:block;color:#c3ab9b;font-size:.8rem;margin-top:22px}
.loop-welcome{max-width:950px!important;padding-top:70px!important;padding-bottom:100px!important}
.loop-welcome>p:last-child a{color:#a75435;text-decoration:underline}
.loop-welcome img{margin-bottom:55px}
.loop-welcome h1{font-size:clamp(2.8rem,5vw,4.5rem)}
@media(max-width:1060px){.loop-hero-grid{gap:28px}.loop-plan{padding:24px 17px}.loop-plans{gap:10px}.loop-service-foot{flex-wrap:wrap}.loop-origin-grid{gap:50px}}
@media(max-width:870px){.loop-section{padding:80px 0}.loop-hero-grid,.loop-origin-grid,.loop-proof-grid,.loop-commitment-grid,.loop-landing-grid,.loop-editorial,.loop-faq-grid{grid-template-columns:1fr;gap:34px}.loop-hero-art{min-height:380px;box-shadow:10px 10px 0 #ded0c2}.loop-hero-art::before{left:30%}.loop-origin-photo{max-width:420px}.loop-origin-photo img{height:480px}.loop-ring{transform:scale(.88);transform-origin:center}.loop-ring-outer{margin:-20px 0}.loop-tools-grid{grid-template-columns:repeat(2,1fr)}.loop-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.loop-plan.featured{transform:none}.loop-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loop-talk-inner{align-items:flex-start;flex-direction:column}.loop-accompany-grid{grid-template-columns:repeat(2,1fr)}.loop-accompany-grid>div:nth-child(2){border-right:0}.loop-accompany-grid>div:first-child{padding-left:21px}}
@media(max-width:650px){.loop-page .container{padding-inline:24px}.loop-hero{padding:62px 0 75px}.loop-hero h1{font-size:clamp(3.2rem,11vw,4.9rem)}.loop-page h2{font-size:clamp(2.5rem,9vw,4rem)}.loop-hero-art{min-height:305px}.loop-copper-halo{width:210px;height:210px}.loop-hero-icon{font-size:75px}.loop-hero-art-title{font-size:1.2rem}.loop-ticker .container{font-size:.67rem}.loop-section{padding:69px 0}.loop-origin-photo img{height:auto;max-height:500px}.loop-tools-grid,.loop-plans,.loop-services-grid,.loop-fit-grid{grid-template-columns:1fr}.loop-tools-grid article{min-height:0}.loop-fit-grid{gap:36px}.loop-fit-grid>div:first-child{border:0;padding:0}.loop-alumni-control{flex-direction:column;align-items:flex-start}.loop-accompany-grid{grid-template-columns:1fr 1fr}.loop-ring-outer{display:block;margin:25px 0 10px}.loop-ring{width:100%;height:auto;transform:none;display:block}.loop-ring-track,.loop-ring-center{display:none}.loop-ring-steps{list-style:none;display:grid;gap:0;margin:0;padding:0;border-left:2px solid #ba7857}.loop-ring-step,.loop-ring-step.ring-1,.loop-ring-step.ring-2,.loop-ring-step.ring-3,.loop-ring-step.ring-4,.loop-ring-step.ring-5,.loop-ring-step.ring-6,.loop-ring-step.ring-7{position:static;transform:none;display:flex;flex-direction:row;text-align:left;gap:14px;width:auto;align-items:center;padding:13px 15px;margin-left:-23px}.loop-ring-step span{flex:none;width:43px;height:43px}.loop-ring-step strong{font-size:.99rem}.loop-ring-bottom{line-height:2.1!important;font-size:.7rem!important}.loop-plan h3{min-height:0}.loop-plan>p:not(.loop-plan-total){min-height:0}.loop-service>img{aspect-ratio:1.7}.loop-last .button{width:100%;margin:6px 0}}
@media(max-width:400px){.loop-hero-cta{flex-direction:column}.loop-hero-cta .button{width:100%}.loop-accompany-grid{grid-template-columns:1fr}.loop-accompany-grid>div{border-bottom:1px solid #d4c8bc;border-right:0;padding:15px 0!important}.loop-service-foot .button{width:100%}.loop-service-foot strong{width:100%}}
@media(prefers-reduced-motion:reduce){.loop-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Contract acceptance and member-specific interview tariff */
.loop-contract{padding:16px 19px;border:1px solid #d6c5b2;background:#f8f5f0;margin:18px 0 23px}
.loop-contract label,.loop-member-promo{display:flex;align-items:flex-start;gap:12px;font-size:.83rem;line-height:1.55;color:#3e4649;cursor:pointer}
.loop-contract input,.loop-member-promo input{flex:none;width:19px;height:19px;accent-color:#a65536;margin:1px 0 0}
.loop-contract a{text-decoration:underline;text-underline-offset:3px;color:#a65337}
.loop-member-promo{border-top:1px solid #ded5ca;margin-top:9px;padding-top:13px;font-size:.76rem}
.loop-member-promo strong{color:#a65337}

/* v10.9.1 · Header/footer logo guardrails for the standalone LOOP page. The original site defines logo sizes under .revisadas-v8. */
.loop-page .top .logo img.brand-v8{display:block;width:174px;max-width:100%;height:auto;max-height:66px;object-fit:contain;}
.loop-page .footer .logo img.brand-v8-footer{display:block;width:190px;max-width:100%;height:auto;max-height:75px;object-fit:contain;}

/* LOOP 360 · invitation-code fields for restricted tariffs */
.loop-access-row{max-width:460px;margin:12px 0 18px;padding:14px 18px;background:#faf7f2;border:1px solid #d8c3b4;border-radius:9px;display:grid;gap:8px}
.loop-access-row[hidden]{display:none !important}
.loop-access-row label{font-size:0.88rem;font-weight:700;color:#182a3b}
.loop-access-row input{width:100%;font:inherit;font-size:1rem;border:1px solid #bdb6af;border-radius:4px;padding:11px 12px;background:#fff;color:#182a3b}
.loop-access-row input:focus{outline:2px solid #a94f2d;outline-offset:2px}
.loop-access-row small{font-size:0.75rem;color:#594e49}

/* v10.9.9: Square artwork fully visible, consistent panels, no cropped text. */
.loop-services-grid{align-items:stretch;grid-auto-rows:auto}
.loop-service{overflow:hidden;height:100%;}
.loop-service>img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;object-position:center center;background:#fbf6f0;flex-shrink:0;}
.loop-service-copy{flex:1;min-height:190px;}
.loop-service-foot{margin-top:auto;}
@media(max-width:650px){.loop-service>img{aspect-ratio:1/1;object-fit:contain;}}
