/* Glosilla Formación: the four own pages (elige-tu-puesto, ruta-de-temporada, como-funciona, la-escuela).
   Prefix p-. Builds on the tokens and helpers of site.css (.wrap .reveal .rule .btn .btn--ghost .eyebrow .tag .price .link .dark .table-wrap .zoom).
   Luxe language: ivory paper, deep-green ink, brass in hairlines, radius 0-2px, no shadows. */

.p-page{--p-edge:max(var(--gutter),calc((100% - var(--wrap)) / 2 + var(--gutter)));--p-stick:var(--head-h);overflow-x:clip}
@media (max-width:1079px){.p-page{--p-stick:64px}}
.p-page em{font-style:italic;font-weight:500}
.p-roman{font:italic 500 1.6rem/1 var(--font-head);color:var(--brass);letter-spacing:.02em;margin:0}
.p-page :where(h2){text-wrap:balance}

/* =========================================================
   1. /elige-tu-puesto : a strip of three photos, a sticky filter, one wide table
   ========================================================= */
.p-strip3{position:relative;background:var(--paper)}
.p-strip3__photos{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:2px;height:clamp(220px,32vw,440px);background:var(--paper)}
.p-strip3__photos figure{margin:0;min-width:0;overflow:hidden;background:var(--tint)}
.p-strip3__photos img{width:100%;height:100%;object-fit:cover}
.p-strip3__photos figure:nth-child(1) img{object-position:50% 40%}
.p-strip3__title{position:relative;z-index:2;background:var(--ink);color:var(--on-dark);margin:calc(-1 * clamp(56px,8vw,120px)) 0 0 var(--p-edge);width:min(680px,calc(100% - var(--p-edge) - var(--gutter)));padding:clamp(24px,3.2vw,44px) clamp(22px,3.4vw,52px) clamp(26px,3.4vw,46px)}
.p-strip3__title .eyebrow{color:var(--brass-l)}
.p-strip3__title h1{color:var(--on-dark);margin:.5rem 0 .9rem;font-size:clamp(2.5rem,5.4vw,4.6rem)}
.p-strip3__title h1 em{color:var(--brass-l)}
.p-strip3__lead{max-width:48ch;color:var(--muted-d);font-size:1.02rem}

.p-pick{position:relative;margin-top:clamp(32px,5vw,64px)}
.p-pick__r{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.p-bar{position:sticky;top:var(--p-stick);z-index:20;background:rgba(246,241,231,.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-block:1px solid var(--line)}
.p-bar__in{display:flex;align-items:center;gap:clamp(12px,2vw,28px);padding-block:10px}
.p-bar__t{flex:none;font:600 .78rem/1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.p-seg{display:flex;flex-wrap:wrap;min-width:0}
.p-seg label{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin:0 -1px 0 0;padding:.5rem 1.15rem;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:500 .92rem/1.2 var(--font-ui);letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background-color .3s var(--ease),color .3s var(--ease)}
.p-seg label span{font:500 .8rem/1 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--muted);transition:color .3s}
.p-seg label:hover{background:var(--tint)}
#f-todos:checked~.p-bar label[for="f-todos"],
#f-sala:checked~.p-bar label[for="f-sala"],
#f-alojamiento:checked~.p-bar label[for="f-alojamiento"],
#f-cocina:checked~.p-bar label[for="f-cocina"],
#f-direccion:checked~.p-bar label[for="f-direccion"]{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
#f-todos:checked~.p-bar label[for="f-todos"] span,
#f-sala:checked~.p-bar label[for="f-sala"] span,
#f-alojamiento:checked~.p-bar label[for="f-alojamiento"] span,
#f-cocina:checked~.p-bar label[for="f-cocina"] span,
#f-direccion:checked~.p-bar label[for="f-direccion"] span{color:var(--brass-l)}
#f-todos:focus-visible~.p-bar label[for="f-todos"],
#f-sala:focus-visible~.p-bar label[for="f-sala"],
#f-alojamiento:focus-visible~.p-bar label[for="f-alojamiento"],
#f-cocina:focus-visible~.p-bar label[for="f-cocina"],
#f-direccion:focus-visible~.p-bar label[for="f-direccion"]{outline:2px solid var(--green);outline-offset:3px;position:relative;z-index:1}

.p-leads{padding-block:clamp(18px,2.4vw,28px) clamp(10px,1.4vw,16px)}
.p-leads__i{display:none;max-width:70ch;font:italic 500 clamp(1.2rem,1.8vw,1.5rem)/1.35 var(--font-head);color:var(--ink)}
.p-leads__i .link{font:500 .86rem/1.4 var(--font-ui);font-style:normal;letter-spacing:.04em;margin-left:.4rem;color:var(--brass);white-space:nowrap}
#f-todos:checked~.p-leads [data-for="todos"],
#f-sala:checked~.p-leads [data-for="sala"],
#f-alojamiento:checked~.p-leads [data-for="alojamiento"],
#f-cocina:checked~.p-leads [data-for="cocina"],
#f-direccion:checked~.p-leads [data-for="direccion"]{display:block}

/* the filter itself: no JS needed */
#f-sala:checked~.p-tablebox tbody tr:not([data-shelf="sala"]),
#f-alojamiento:checked~.p-tablebox tbody tr:not([data-shelf="alojamiento"]),
#f-cocina:checked~.p-tablebox tbody tr:not([data-shelf="cocina"]),
#f-direccion:checked~.p-tablebox tbody tr:not([data-shelf="direccion"]){display:none}

.p-tablebox{padding-bottom:clamp(36px,5vw,72px)}
.p-tablewrap{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.p-t{min-width:900px;border-collapse:collapse;font-size:.97rem}
.p-t thead th{padding:.95rem .75rem;border-bottom:1px solid var(--line-strong);vertical-align:bottom;white-space:normal;line-height:1.3}
.p-t tbody td,.p-t tbody th{padding:1.15rem .75rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.p-t tbody tr:last-child td{border-bottom:1px solid var(--line)}
.p-t tbody tr{transition:background-color .3s var(--ease)}
.p-t tbody tr:hover{background:rgba(236,228,211,.55)}
.p-t__shelf{width:7.6rem;font:600 .78rem/1.4 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}
.p-t tbody th.p-t__name{min-width:16rem;font:inherit;text-transform:none;letter-spacing:0;white-space:normal;color:var(--ink)}
.p-t__name a{display:inline;font:600 clamp(1.25rem,1.6vw,1.45rem)/1.2 var(--font-head);color:var(--ink);letter-spacing:.01em;background:linear-gradient(var(--brass),var(--brass)) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease)}
.p-t__name a:hover,.p-t__name a:focus-visible{background-size:100% 1px}
.p-t__name .tag{margin-left:.5rem;vertical-align:.15em}
.p-t__name em{display:block;margin-top:.4rem;max-width:36ch;font:italic 500 1.05rem/1.3 var(--font-head);color:var(--muted)}
.p-t__num{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink)}
.p-t__price{white-space:nowrap}
.p-t__price .price{font-size:1.35rem}
.p-t__who{min-width:10.5rem;max-width:14rem;color:var(--text)}
.p-t__add{width:1%;white-space:nowrap}
.p-add{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1.15rem;border:1px solid var(--ink);border-radius:var(--r);background:linear-gradient(var(--ink),var(--ink)) 0 0/0 100% no-repeat;color:var(--ink);font:600 .78rem/1.2 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background-size .4s var(--ease),color .4s var(--ease)}
.p-add:hover,.p-add:focus-visible{background-size:100% 100%;color:var(--on-dark)}
.p-note{margin-top:1rem;color:var(--muted);font-size:.9rem;max-width:70ch}

.p-how{background:var(--tint);padding-block:clamp(48px,8vw,104px);margin-bottom:calc(-1 * clamp(56px,8vw,112px));padding-bottom:calc(clamp(48px,8vw,104px) + clamp(56px,8vw,112px))}
.p-how__head{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;margin-bottom:clamp(8px,2vw,24px)}
.p-how__list{list-style:none;margin:0;padding:0}
.p-how__list li{display:grid;grid-template-columns:clamp(3.2rem,7vw,6rem) minmax(0,1.6fr) minmax(0,.4fr);gap:clamp(12px,2vw,28px);align-items:baseline;padding-block:clamp(20px,3vw,36px);border-bottom:1px solid var(--line-strong)}
.p-how__n{font:500 clamp(2.4rem,5vw,4.2rem)/1 var(--font-head);color:var(--brass)}
.p-how__list p{font:500 clamp(1.45rem,2.7vw,2.3rem)/1.22 var(--font-head);color:var(--ink);letter-spacing:.01em;max-width:34ch}
.p-how__list .link{background-image:linear-gradient(var(--brass),var(--brass)),linear-gradient(var(--line-strong),var(--line-strong))}
.p-how__out{margin-top:clamp(24px,3vw,40px)}

/* =========================================================
   2. /ruta-de-temporada : a countdown, a three-step planner, a dark calendar
   ========================================================= */
.p-rhead{padding-block:clamp(32px,5vw,72px) clamp(36px,5vw,72px)}
.p-rhead__in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,88px);align-items:center}
.p-rhead__text h1{font-size:clamp(2.4rem,4.8vw,4.2rem);margin:.6rem 0 1.2rem}
.p-rhead__text .lead{max-width:34ch}
.p-rhead__go{margin-top:1.4rem}
.p-rhead__go .link{font-weight:500;color:var(--green)}
.p-rhead__photo{position:relative;margin:10px 10px 0 0}
.p-rhead__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 60%;outline:1px solid var(--line);outline-offset:10px}
.p-rhead__count{position:absolute;left:0;bottom:0;display:flex;align-items:flex-end;gap:.9rem;max-width:calc(100% - 20px);background:var(--ink);color:var(--on-dark);padding:clamp(12px,1.8vw,22px) clamp(16px,2.2vw,30px)}
.p-rhead__num{font:500 clamp(3.6rem,8vw,6.8rem)/.78 var(--font-head);color:var(--brass-l);font-variant-numeric:lining-nums}
.p-rhead__cap{font:500 .86rem/1.35 var(--font-ui);letter-spacing:.06em;max-width:15ch;padding-bottom:.2rem}

.p-plan{border-top:1px solid var(--line);padding-block:clamp(36px,5vw,72px)}
.p-plan__form{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);gap:clamp(28px,5vw,80px);align-items:start}
.p-plan__head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:clamp(14px,2vw,24px)}
.p-plan__head h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.p-courses,.p-hours{border:0;padding:0;margin:0;min-width:0}
.p-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(24px,3.4vw,52px)}
.p-grp{min-width:0}
.p-grp__h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem 1rem;padding-bottom:.4rem}
.p-grp__h h3{font-size:clamp(1.3rem,1.8vw,1.55rem)}
.p-grp__h .link{font:500 .84rem/1.4 var(--font-ui);letter-spacing:.03em;color:var(--brass);min-height:24px}
.p-grp__l{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.p-pc{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:start;margin:0;padding:.8rem 0;border-top:1px solid var(--line);cursor:pointer;min-height:44px}
.p-pc input{margin-top:.2rem}
.p-pc__t{display:block;min-width:0}
.p-pc__t b{display:block;font:600 .97rem/1.3 var(--font-ui);color:var(--ink)}
.p-pc__t small{display:block;margin-top:.2rem;color:var(--muted);font-size:.86rem;line-height:1.4;font-variant-numeric:tabular-nums}
.p-pc:hover b{color:var(--green)}
.p-pc:has(input:checked) b{color:var(--green)}

.p-plan__side{display:grid;gap:clamp(20px,2.6vw,32px);min-width:0}
.p-hours legend,.p-date label{display:flex;align-items:baseline;gap:.7rem;padding:0;margin:0 0 .7rem;font:600 .8rem/1.3 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.p-date label{display:flex}
.p-hint{margin-top:.6rem;color:var(--muted);font-size:.9rem}
.p-seg2{display:flex}
.p-seg2 input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.p-seg2 label{flex:1;display:flex;align-items:baseline;justify-content:center;gap:.3rem;min-height:56px;margin:0 -1px 0 0;padding:.6rem .4rem;border:1px solid var(--line-strong);color:var(--ink);font:500 .9rem/1 var(--font-ui);cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease)}
.p-seg2 label b{font:500 1.9rem/1 var(--font-head);color:inherit}
.p-seg2 label:hover{background:var(--tint)}
.p-seg2 input:checked+label{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
.p-seg2 input:focus-visible+label{outline:2px solid var(--green);outline-offset:3px;position:relative;z-index:1}
.p-live{margin:0;color:var(--green);font:500 .95rem/1.4 var(--font-ui);font-variant-numeric:tabular-nums}
.p-live:empty{display:none}
.p-plan__side .btn{width:100%}
.p-side-photo{margin:10px 10px 0 0}
.p-side-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;outline:1px solid var(--line);outline-offset:10px}

.p-empty{padding-block:clamp(8px,2vw,24px) clamp(24px,4vw,48px)}
.p-empty .rule{margin-bottom:clamp(20px,3vw,36px)}
.p-empty p+p{margin-top:.6rem;max-width:56ch}

.p-res{padding-block:clamp(48px,8vw,112px)}
.p-res__in{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,72px);align-items:start}
.p-res__verdict{min-width:0}
.p-res__verdict h2{font-size:clamp(2rem,3.6vw,3.1rem);margin:.7rem 0 1rem}
.p-res__verdict h2 em{color:var(--brass-l)}
.p-res__sub{color:var(--muted-d);max-width:48ch}
.p-res__dl{margin:clamp(20px,3vw,32px) 0 0;border-bottom:1px solid var(--line-d)}
.p-res__dl div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px solid var(--line-d)}
.p-res__dl dt{font:600 .78rem/1.3 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d)}
.p-res__dl dd{margin:0;font:500 1.5rem/1.1 var(--font-head);color:var(--on-dark);font-variant-numeric:lining-nums tabular-nums;text-align:right}
.p-res__tot dd{font-size:2rem;color:var(--brass-l)}
.p-res__buy{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,3vw,32px)}
.p-res__fine{margin-top:1rem;font-size:.9rem;color:var(--muted-d);max-width:56ch}
.p-res__cal{min-width:0}
.p-res__cal h3{color:var(--on-dark);margin-bottom:1rem}
.p-calwrap{border-top:1px solid var(--line-d)}
.p-cal{border-collapse:collapse;min-width:560px;font-size:.96rem}
.p-cal thead th{padding:.8rem .6rem}
.p-cal tbody th,.p-cal tbody td{padding:.95rem .6rem;border-bottom:1px solid var(--line-d);vertical-align:top;text-align:left}
.p-cal tbody tr:last-child td{border-bottom:1px solid var(--line-d)}
.p-cal tbody th{font:inherit;text-transform:none;letter-spacing:0;white-space:nowrap;color:var(--brass-l);width:1%}
.p-cal__n{font:500 2.2rem/1 var(--font-head);font-variant-numeric:lining-nums}
.p-cal td:nth-child(2),.p-cal td:nth-child(4),.p-cal td:nth-child(5){white-space:nowrap;color:var(--on-dark);font-variant-numeric:tabular-nums}
.p-cal__what ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.p-cal__what a{color:var(--on-dark);background:linear-gradient(var(--brass-l),var(--brass-l)) 0 100%/0 1px no-repeat,linear-gradient(var(--line-d),var(--line-d)) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size .45s var(--ease)}
.p-cal__what a:hover,.p-cal__what a:focus-visible{background-size:100% 1px,100% 1px}
.p-cal__what span{display:block;margin-top:.15rem;color:var(--muted-d);font-size:.88rem}
.p-cal .p-late td,.p-cal .p-late th{border-bottom-style:dashed}
.p-cal .p-late td{color:var(--muted-d);font-style:italic}
.p-cal .p-late td a{font-style:normal}
.p-cal .p-late .p-cal__what a,.p-cal .p-late td:nth-child(n){color:var(--muted-d)}
.p-cal .p-late .p-cal__what a{color:var(--on-dark)}
.p-cal .p-open td,.p-cal .p-spare td{padding:1rem .8rem;background:rgba(210,172,98,.1);border-bottom:1px solid var(--line-d);white-space:normal;font-style:normal;color:var(--on-dark)}
.p-cal .p-open td{border-top:1px solid var(--brass-l)}
.p-cal .p-spare td{border-bottom-style:dashed}
.p-cal .p-open b,.p-cal .p-spare b{display:block;font:500 1.35rem/1.2 var(--font-head);color:var(--on-dark)}
.p-cal .p-open span,.p-cal .p-spare span{display:block;color:var(--muted-d);font-size:.92rem}

/* =========================================================
   3. /como-funciona : a photo banner, a scroll-snap strip of five steps, a two-column ledger
   ========================================================= */
.p-banner{position:relative;display:grid;align-items:end;min-height:clamp(400px,50vw,600px);overflow:hidden;background:var(--ink);color:var(--on-dark)}
.p-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.p-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,36,29,.92) 0,rgba(20,36,29,.84) 34%,rgba(20,36,29,.62) 52%,rgba(20,36,29,.12) 82%,rgba(20,36,29,.08) 100%)}
.p-banner__in{position:relative;z-index:1;padding-block:clamp(56px,8vw,112px) clamp(28px,4vw,52px)}
.p-banner .eyebrow{color:var(--brass-l)}
.p-banner h1{color:var(--on-dark);margin:.6rem 0 1rem;max-width:14ch}
.p-banner h1 em{color:var(--brass-l)}
.p-banner__lead{max-width:50ch;font-size:1.12rem;color:var(--on-dark)}

.p-flow{padding-block:clamp(48px,8vw,104px) clamp(40px,6vw,72px);overflow:hidden}
.p-flow__head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.p-flow__head h2{margin-top:.6rem;max-width:20ch;font-size:clamp(1.9rem,3.6vw,3rem)}
.p-flow__ctl{display:flex;gap:10px;flex:none}
.p-flow__btn{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--brass-l);border-radius:var(--r);background:transparent;color:var(--on-dark);cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease)}
.p-flow__btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.p-flow__btn:hover,.p-flow__btn:focus-visible{background:var(--brass-l);color:var(--ink)}
.p-flow__btn[disabled]{opacity:.4;cursor:default;background:transparent;color:var(--on-dark)}
.p-flow__strip{margin-top:clamp(28px,4vw,52px);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-inline:var(--p-edge);scroll-padding-inline:var(--p-edge);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.p-flow__strip::-webkit-scrollbar{display:none}
.p-flow__strip:focus-visible{outline-offset:-4px}
.p-flow__list{display:flex;width:max-content;list-style:none;margin:0;padding:0}
.p-step{flex:0 0 clamp(282px,32vw,460px);scroll-snap-align:start;padding:0 clamp(22px,2.6vw,44px) 0 clamp(20px,2.4vw,36px);border-left:1px solid var(--line-d)}
.p-step__n{display:block;font:500 clamp(5.5rem,10vw,9rem)/.85 var(--font-head);color:var(--brass-l);font-variant-numeric:lining-nums;margin-bottom:.2em}
.p-step h3{color:var(--on-dark);font-size:clamp(1.5rem,2.2vw,1.9rem);margin-bottom:.7rem}
.p-step p{color:var(--muted-d);max-width:34ch}
.p-flow__prog{display:flex;align-items:center;gap:1.4rem;margin-top:clamp(26px,3.4vw,44px)}
.p-flow__track{position:relative;flex:1;height:1px;background:var(--line-d)}
.p-flow__track i{position:absolute;left:0;top:-1px;display:block;height:3px;width:var(--p-w,20%);background:var(--brass-l);transition:width .5s var(--ease)}
.p-flow__count{flex:none;font:600 .8rem/1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted-d);font-variant-numeric:tabular-nums}

.p-ledger{padding-block:clamp(56px,9vw,128px) clamp(40px,6vw,80px)}
.p-ledger__in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,100px);align-items:start}
.p-ledger__side{position:sticky;top:calc(var(--p-stick) + 24px)}
.p-ledger__side h2{margin:.6rem 0 1rem;font-size:clamp(2rem,3.6vw,3rem)}
.p-ledger__lead{max-width:34ch;color:var(--text)}
.p-lt{min-width:0;border-top:1px solid var(--ink);font-size:1rem}
.p-lt thead th{padding:1rem 1rem .9rem;font:500 clamp(1.4rem,2.1vw,1.8rem)/1.1 var(--font-head);text-transform:none;letter-spacing:.02em;color:var(--ink);white-space:normal;border-bottom:1px solid var(--line-strong);width:50%}
.p-lt thead th+th{border-left:1px solid var(--line)}
.p-lt tbody td{padding:1.05rem 1rem;border-bottom:1px solid var(--line);vertical-align:top;width:50%}
.p-lt tbody td+td{border-left:1px solid var(--line)}
.p-lt tbody tr:last-child td{border-bottom:1px solid var(--line)}
.p-lt__yes,.p-lt__no{position:relative;padding-left:2.4rem!important}
.p-lt__yes{color:var(--ink)}
.p-lt__no{color:var(--muted)}
.p-lt__yes::before{content:"";position:absolute;left:1rem;top:1.45rem;width:.8rem;height:.45rem;border-left:1.5px solid var(--green);border-bottom:1.5px solid var(--green);transform:rotate(-45deg)}
.p-lt__no::before{content:"";position:absolute;left:1rem;top:1.7rem;width:.8rem;border-top:1.5px solid var(--muted)}

.p-fine{padding-block:clamp(16px,3vw,40px) clamp(24px,4vw,56px)}
.p-fine__in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(18px,3vw,36px) clamp(28px,6vw,100px);align-items:start}
.p-fine__in .rule{grid-column:1/-1}
.p-fine__body{grid-column:2;max-width:62ch}
.p-fine__body .eyebrow{margin-bottom:.6rem}
.p-fine__cta{grid-column:2;display:flex;flex-wrap:wrap;gap:12px}

/* =========================================================
   4. /la-escuela : an asymmetric photo pair, a giant-numeral index, four lines, one closing band
   ========================================================= */
.p-esc{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,.62fr);gap:clamp(24px,4.4vw,72px);align-items:center;padding-block:clamp(20px,3vw,44px) clamp(24px,4vw,56px);padding-right:var(--p-edge)}
.p-esc__photos{position:relative;padding-bottom:clamp(36px,6vw,88px);min-width:0}
.p-esc__big{margin:0}
.p-esc__big img{width:100%;aspect-ratio:3/2;max-height:82vh;object-fit:cover;object-position:50% 55%}
.p-esc__small{position:absolute;right:clamp(16px,4vw,64px);bottom:0;width:clamp(150px,28%,320px);margin:0;border:10px solid var(--paper);background:var(--paper)}
.p-esc__small img{width:100%;aspect-ratio:4/3;object-fit:cover}
.p-esc__text{min-width:0}
.p-esc__text h1{font-size:clamp(2.2rem,3.9vw,3.5rem);margin:.6rem 0 1.2rem}
.p-esc__p{max-width:44ch}
.p-esc__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.4rem;margin:1.6rem 0 0;border-top:1px solid var(--line-strong)}
.p-esc__facts div{padding:.8rem 0;border-bottom:1px solid var(--line)}
.p-esc__facts dt{font:600 .78rem/1.3 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.p-esc__facts dd{margin:.1rem 0 0;font:500 2.3rem/1 var(--font-head);color:var(--ink);font-variant-numeric:lining-nums}
.p-esc__go{margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.p-esc__go .link{font-weight:500;color:var(--green)}

.p-index{padding-block:clamp(40px,7vw,96px) clamp(40px,7vw,96px)}
.p-index__head{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center}
.p-index__list{list-style:none;margin:clamp(8px,2vw,20px) 0 0;padding:0}
.p-idx{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(16px,4vw,64px);align-items:center;padding-block:clamp(24px,4vw,52px);border-bottom:1px solid var(--line-strong)}
.p-idx:first-child{border-top:0}
.p-idx__n{font:500 clamp(6.5rem,16vw,14rem)/.8 var(--font-head);color:var(--brass);letter-spacing:.01em;padding-bottom:.08em}
.p-idx__b h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:.8rem;max-width:20ch}
.p-idx__b p{max-width:54ch}

.p-make{background:var(--tint);padding-block:clamp(48px,8vw,104px)}
.p-make__in{display:grid;gap:clamp(24px,4vw,48px)}
.p-make__head h2{margin-top:.6rem;font-size:clamp(1.9rem,3.4vw,2.8rem);max-width:24ch}
.p-make__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
.p-make__list li{padding-top:1rem;border-top:1px solid var(--ink)}
.p-make__k{display:block;margin-bottom:.7rem;font:600 .8rem/1.3 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.p-make__list p{font:500 clamp(1.25rem,1.7vw,1.5rem)/1.3 var(--font-head);color:var(--ink)}

.p-reach{border-bottom:1px solid var(--line-d);padding-block:clamp(44px,7vw,88px);margin-bottom:calc(-1 * clamp(56px,8vw,112px))}
.p-reach__in{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(24px,5vw,80px);align-items:center}
.p-reach h2{margin:.6rem 0 1rem;font-size:clamp(1.9rem,3.4vw,2.8rem)}
.p-reach__p{max-width:56ch;color:var(--muted-d)}
.p-reach__cta{display:grid;gap:12px}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1000px){
  .p-plan__form{grid-template-columns:1fr}
  .p-res__in{grid-template-columns:1fr}
  .p-ledger__in{grid-template-columns:1fr}
  .p-ledger__side{position:static}
  .p-fine__in{grid-template-columns:1fr}
  .p-fine__body,.p-fine__cta{grid-column:1}
  .p-make__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1001px) and (min-height:720px){
  .p-res__verdict{position:sticky;top:calc(var(--p-stick) + 24px)}
}
@media (max-width:900px){
  .p-rhead__in{grid-template-columns:1fr}
  .p-rhead__photo{order:-1}
  .p-esc{grid-template-columns:1fr;padding-right:0}
  .p-esc__text{padding-inline:var(--gutter)}
  .p-reach__in{grid-template-columns:1fr}
  .p-reach__cta{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
  .p-idx{grid-template-columns:1fr;gap:.4rem}
  .p-idx__n{font-size:clamp(5.5rem,26vw,9rem)}
  .p-how__list li{grid-template-columns:3.2rem minmax(0,1fr)}
  .p-how__list li p{grid-column:2}
}
@media (max-width:760px){
  .p-strip3__photos{grid-template-columns:1.2fr 1fr 1fr;height:clamp(150px,44vw,240px)}
  .p-strip3__title{margin:-40px var(--gutter) 0 0;width:auto;padding:22px var(--gutter) 28px}
  .p-bar__t{display:none}
  .p-seg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);padding-right:var(--gutter)}
  .p-seg::-webkit-scrollbar{display:none}
  .p-seg label{flex:none}
  .p-bar__in{padding-inline:var(--gutter)}

  /* the table becomes a list of stacked rows; still a table for assistive tech */
  .p-tablewrap{border-top:0}
  .p-t{min-width:0;display:block}
  .p-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .p-t tbody{display:block}
  .p-t tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem 1rem;padding:1.3rem 0;border-bottom:1px solid var(--line-strong)}
  .p-t tbody td,.p-t tbody th{display:block;padding:0;border:0;min-width:0}
  .p-t tbody td.p-t__shelf{grid-column:1/-1;order:1;width:auto}
  .p-t tbody th.p-t__name{grid-column:1/-1;order:2;min-width:0}
  .p-t__name em{max-width:none}
  .p-t__num,.p-t__price{order:3;white-space:normal}
  .p-t__who{grid-column:1/-1;order:4;max-width:none;min-width:0}
  .p-t__add{grid-column:1/-1;order:5;width:auto;margin-top:.5rem}
  .p-t__add .p-add{width:100%}
  .p-t tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.1rem;font:600 .78rem/1.3 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .p-t tbody td.p-t__shelf::before{display:none}
  .p-t__price .price{font-size:1.3rem}
  .p-t tbody tr:hover{background:none}

  .p-courses{grid-template-columns:1fr}
  .p-rhead__count{position:static;max-width:none;margin-top:-6px}
  .p-rhead__photo{margin:0}
  .p-rhead__photo img{outline:0}

  /* calendar rows */
  .p-calwrap{border-top:0}
  .p-cal{min-width:0;display:block}
  .p-cal thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .p-cal tbody{display:block}
  .p-cal tbody tr{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.2rem .6rem;padding:1rem 0;border-bottom:1px solid var(--line-d)}
  .p-cal tbody tr.p-late{border-bottom-style:dashed}
  .p-cal tbody th,.p-cal tbody td{display:block;padding:0;border:0;white-space:normal!important}
  .p-cal tbody th{grid-row:1/span 4;width:auto}
  .p-cal tbody td{grid-column:2}
  .p-cal tbody td[data-label]::before{content:attr(data-label) ": ";font:600 .78rem/1.3 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-d)}
  .p-cal tbody td.p-cal__what::before{display:block}
  .p-cal tbody tr.p-open,.p-cal tbody tr.p-spare{display:block;padding:0}
  .p-cal tbody tr.p-open td,.p-cal tbody tr.p-spare td{display:block;padding:1rem .8rem}

  /* ledger */
  .p-lt,.p-lt tbody{display:block}
  .p-lt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .p-lt tbody tr{display:block;padding:0 0 .6rem;border-bottom:1px solid var(--line-strong)}
  .p-lt tbody td{position:relative;display:block;width:auto;border:0!important;padding:1.75rem 0 .3rem 2.2rem!important}
  .p-lt tbody td::after{content:attr(data-label);position:absolute;left:2.2rem;top:.65rem;font:600 .78rem/1.3 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .p-lt__yes::before{left:0;top:2.2rem}
  .p-lt__no::before{left:0;top:2.45rem}
}
@media (max-width:560px){
  .p-make__list{grid-template-columns:1fr}
  .p-flow__head{align-items:flex-start}
  .p-flow__ctl{display:none}
  .p-step{flex-basis:min(82vw,330px)}
  .p-esc__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-res__dl dd{font-size:1.3rem}
  .p-res__tot dd{font-size:1.7rem}
  .p-res__buy .btn{flex:1 1 100%}
  .p-seg2 label b{font-size:1.6rem}
}

/* hover-only decoration must not hide anything for touch; motion is already tamed in site.css */
@media (prefers-reduced-motion:reduce){
  .p-flow__track i{transition:none}
  .p-flow__strip{scroll-behavior:auto}
}
