
:root{
 --paper:#eee2e7; --card:#f9f7f8; --dim:#e0cfe1; --ink:#362235; --deep:#1d111f;
 --muted:#5d5361; --brand:#6e592a; --brandlit:#d4c45c; --accent:#402e69; --acclit:#b6a2e2;
 --hair:#cdbcc9; --good:#1d6a5f; --bad:#a02341;
 --hold:74rem; --gap:clamp(1rem,3.4vw,2.2rem);
 --disp:"HJ Display",Georgia,"Times New Roman",serif;
 --body:"HJ Body",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
@font-face{font-family:"HJ Display";src:url(/assets/display-400.3a20410ff7.woff2) format("woff2");font-weight:400;
 font-style:normal;font-display:swap}
@font-face{font-family:"HJ Display";src:url(/assets/display-700.f29a77ab47.woff2) format("woff2");font-weight:700;
 font-style:normal;font-display:swap}
@font-face{font-family:"HJ Body";src:url(/assets/body-400.2d7f295809.woff2) format("woff2");font-weight:400;
 font-style:normal;font-display:swap}
@font-face{font-family:"HJ Body";src:url(/assets/body-500.5ebc94223e.woff2) format("woff2");font-weight:500;
 font-style:normal;font-display:swap}
@font-face{font-family:"HJ Body";src:url(/assets/body-600.5b08915922.woff2) format("woff2");font-weight:600;
 font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.66 var(--body);
 overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pr-hold{width:min(100% - 2.2rem,var(--hold));margin-inline:auto}
.pr-skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--card);
 padding:.7rem 1.1rem;z-index:60}
.pr-skip:focus{left:0}
.pr-ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;
 stroke-linejoin:round;flex:none}

/* ---- the mark: the axis is a LENGTH, never a color ---- */
.pr-mark{display:block;width:var(--w);height:4px;background:var(--brand);border-radius:0}
.pr-mark-hero{background:var(--brandlit);height:5px}
.pr-mark-rail{height:6px}
.pr-mark-tile{background:var(--card);height:4px}

/* ---- the two header rows ---- */
.pr-head{position:relative;z-index:40}
.pr-top{background:var(--deep);color:var(--card);font-size:.86rem}
.pr-toprow{display:flex;align-items:center;gap:.5rem 1.4rem;flex-wrap:wrap;
 padding:.55rem 0;min-height:2.9rem}
.pr-topaddr,.pr-toptel{display:inline-flex;align-items:center;gap:.45rem}
.pr-toptel{color:var(--card);text-decoration:none;font-weight:600}
.pr-toptel:hover{text-decoration:underline}
.pr-topcta{margin-left:auto;background:var(--brandlit);color:var(--deep);text-decoration:none;
 font-weight:600;padding:.45rem 1rem;border-radius:2px;white-space:nowrap}
.pr-topcta:hover{background:var(--card)}
.pr-bar{background:var(--card);border-bottom:1px solid var(--hair)}
.pr-barrow{display:flex;align-items:center;gap:1rem;padding:.9rem 0;flex-wrap:wrap}
.pr-brand{text-decoration:none;color:var(--ink);display:block;margin-right:auto}
.pr-brand-name{display:block;font:700 1.5rem/1.1 var(--disp);letter-spacing:.005em}
.pr-brand-say{display:block;font-size:.76rem;color:var(--muted);letter-spacing:.09em;
 text-transform:uppercase;margin-top:.2rem}
.pr-burger{display:none;align-items:center;gap:.45rem;background:none;border:1px solid var(--ink);
 padding:.5rem .8rem;border-radius:2px;color:var(--ink);cursor:pointer;font:600 .9rem var(--body)}
.pr-burger span{display:block;width:17px;height:2px;background:var(--ink)}
.pr-burger em{font-style:normal}
.pr-nav ul{display:flex;flex-wrap:wrap;gap:.2rem 1.25rem;list-style:none;margin:0;padding:0}
.pr-nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.97rem;
 padding:.35rem 0;border-bottom:3px solid transparent;display:block}
.pr-nav a:hover{border-bottom-color:var(--brand)}
.pr-nav a[aria-current]{border-bottom-color:var(--accent);font-weight:600}
@media (max-width:63rem){
 .pr-burger{display:inline-flex}
 .pr-nav{flex-basis:100%;display:none}
 .pr-nav.is-open{display:block}
 .pr-nav ul{flex-direction:column;gap:0;padding-top:.5rem}
 .pr-nav a{padding:.7rem 0;border-bottom:1px solid var(--hair)}
}

/* ---- the hero: type standing on the picture ---- */
.pr-hero{position:relative;min-height:clamp(27rem,62vh,40rem);display:flex;align-items:flex-end;
 background:var(--deep);overflow:hidden}
.pr-hero-bare{min-height:clamp(15rem,34vh,22rem)}
.pr-hero-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pr-hero-veil{position:absolute;inset:0;background:
 linear-gradient(to top,rgba(29,17,31,.96) 0%,rgba(29,17,31,.91) 42%,rgba(29,17,31,.62) 68%,
 rgba(29,17,31,.10) 92%,rgba(29,17,31,0) 100%)}
.pr-hero-say{position:relative;color:var(--card);padding:clamp(2.2rem,7vw,4.6rem) 0
 clamp(1.9rem,5vw,3.2rem)}
.pr-hero-say .pr-mark{margin-bottom:1rem}
.pr-brow{margin:0 0 .7rem;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
 color:var(--brandlit);font-weight:600}
.pr-h1{margin:0;font:700 clamp(2rem,5.2vw,3.5rem)/1.1 var(--disp);max-width:22ch;
 text-wrap:balance}
.pr-stand{margin:1rem 0 0;font-size:clamp(1.05rem,2.1vw,1.28rem);max-width:56ch;color:#f0e7ee}
.pr-hero-do{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 0}
/* ⚠️ On a narrow screen the words are tall and the picture is a narrow vertical slice of a
   landscape frame. Without a guaranteed band of clear picture above the type, the whole hero
   reads as a dark rectangle and the frame might as well not be there. */
@media (max-width:46rem){
 .pr-hero{min-height:auto}
 .pr-hero-say{padding-top:13rem}
 .pr-hero-bare{min-height:auto}
 .pr-hero-bare .pr-hero-say{padding-top:2.4rem}
}
.pr-btn,.pr-btn2{display:inline-block;text-decoration:none;font-weight:600;padding:.8rem 1.4rem;
 border-radius:2px}
.pr-btn{background:var(--brandlit);color:var(--deep)}
.pr-btn:hover{background:var(--card)}
.pr-btn2{border:2px solid var(--card);color:var(--card)}
.pr-btn2:hover{background:var(--card);color:var(--deep)}

/* ---- sections and their grounds ---- */
.pr-sec{padding:clamp(2.4rem,6vw,4.4rem) 0}
.pr-on-paper{background:var(--paper)}
.pr-on-dim{background:var(--dim)}
.pr-on-card{background:var(--card)}
.pr-on-ink{background:var(--ink);color:var(--paper)}
.pr-on-ink a{color:var(--acclit)}
.pr-on-ink .pr-h2{color:var(--card)}
.pr-lead{background:var(--card);padding:clamp(1.8rem,4vw,2.8rem) 0 0}
.pr-lead p{width:min(100% - 2.2rem,var(--hold));margin-inline:auto;font-size:1.12rem}
.pr-h2{font:700 clamp(1.45rem,3vw,2.05rem)/1.2 var(--disp);margin:0 0 1.2rem;max-width:28ch;
 text-wrap:balance}
.pr-h2-warn::before{content:"";display:block;width:52px;height:5px;background:var(--bad);
 margin-bottom:.7rem}
.pr-sec p{max-width:68ch}
.pr-list{padding-left:1.1rem;max-width:68ch}
.pr-list li{margin:.4rem 0}

/* ---- the band rail ---- */
.pr-rail{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.pr-rail-row{border-bottom:2px solid var(--ink)}
.pr-rail-link{display:grid;grid-template-columns:110px 1fr auto;gap:.4rem 1.6rem;
 align-items:center;padding:1.15rem .2rem;text-decoration:none;color:inherit}
.pr-rail-link:hover{background:var(--card)}
.pr-rail-name{font:700 1.3rem/1.15 var(--disp);grid-column:2}
.pr-rail-say{grid-column:2;color:var(--muted);font-size:.97rem;max-width:62ch}
.pr-rail-fig{grid-column:3;grid-row:1/3;font-weight:600;white-space:nowrap;color:var(--brand)}
.pr-railnote{margin:1rem 0 0;font-size:.93rem;color:var(--muted)}
@media (max-width:46rem){
 .pr-rail-link{grid-template-columns:1fr}
 .pr-rail-name,.pr-rail-say{grid-column:1}
 .pr-rail-fig{grid-column:1;grid-row:auto}
}

/* ---- tiles: words on the picture ---- */
.pr-tiles{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem;
 grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.pr-tile a{position:relative;display:block;text-decoration:none;color:var(--card);
 min-height:19rem;overflow:hidden;background:var(--deep)}
.pr-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pr-tile-wrap{position:relative;display:block;height:100%;min-height:19rem;padding:1.1rem;
 display:flex;flex-direction:column;justify-content:flex-end;
 background:linear-gradient(to top,rgba(29,17,31,.9) 0%,rgba(29,17,31,.55) 45%,
 rgba(29,17,31,.05) 100%)}
.pr-tile-wrap .pr-mark{margin-bottom:.6rem}
.pr-tile-kick{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
 color:var(--brandlit);font-weight:600}
.pr-tile-name{font:700 1.28rem/1.16 var(--disp);margin:.25rem 0 .35rem}
.pr-tile-fig{font-size:.92rem;color:#e9dfe8}
.pr-tile a:hover .pr-tile-name{text-decoration:underline}

/* ---- trip cards ---- */
.pr-cards{list-style:none;margin:0;padding:0;display:grid;gap:1.3rem;
 grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.pr-card a{display:flex;flex-direction:column;height:100%;background:var(--card);
 text-decoration:none;color:var(--ink);border:1px solid var(--hair)}
.pr-card a:hover{border-color:var(--ink)}
.pr-card-shot{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--dim)}
.pr-card-shot img{width:100%;height:100%;object-fit:cover}
.pr-card-body{display:block;padding:1rem 1.1rem 1.2rem}
.pr-card-body .pr-mark{margin-bottom:.7rem}
.pr-card-kick{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;
 color:var(--muted);font-weight:600}
.pr-card-name{display:block;font:700 1.2rem/1.2 var(--disp);margin:.3rem 0 .4rem}
.pr-card-say{display:block;color:var(--muted);font-size:.94rem}
.pr-card-fig{display:block;margin-top:.7rem;color:var(--brand);font-weight:600}
.pr-card-fig b{font-size:1.15rem}

/* ---- the full width picture strip ---- */
.pr-strip{position:relative;margin:0;min-height:36vh;display:flex;align-items:center;
 background:var(--deep);overflow:hidden}
.pr-strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* ⚠️ A scrim rather than a text shadow. Some frames are a lime washed wall in full sun, and near
   white display type on one of those is unreadable however deep the shadow is. */
.pr-strip::after{content:"";position:absolute;inset:0;background:
 linear-gradient(100deg,rgba(29,17,31,.92) 0%,rgba(29,17,31,.80) 42%,rgba(29,17,31,.34) 74%,
 rgba(29,17,31,.14) 100%)}
.pr-strip figcaption{position:relative;width:min(100% - 2.2rem,var(--hold));margin-inline:auto;
 padding:3.2rem 0;color:var(--card)}
.pr-strip figcaption span{display:block;max-width:34ch;font:700 clamp(1.3rem,3vw,2rem)/1.24
 var(--disp)}

/* ---- pictogram list ---- */
.pr-marks{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem 1.8rem;
 grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.pr-marks li{display:flex;gap:.85rem;align-items:flex-start;line-height:1.5}
.pr-marks .pr-ic{color:var(--brandlit);margin-top:.15rem}

/* ---- definition pairs ---- */
.pr-pairs{margin:0;display:grid;gap:0;border-top:1px solid var(--hair)}
.pr-pairs>div{display:grid;grid-template-columns:15rem 1fr;gap:.3rem 1.6rem;
 padding:.85rem 0;border-bottom:1px solid var(--hair)}
.pr-pairs dt{font-weight:600}
.pr-pairs dd{margin:0;color:inherit}
.pr-on-ink .pr-pairs,.pr-on-ink .pr-pairs>div{border-color:#57405a}
@media (max-width:46rem){.pr-pairs>div{grid-template-columns:1fr}}

/* ---- steps ---- */
.pr-steps{list-style:none;margin:0;padding:0;counter-reset:none;display:grid;gap:1rem}
.pr-steps li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;align-items:start;
 background:var(--card);padding:1rem 1.1rem;border-left:5px solid var(--brand)}
.pr-step-no{font:700 1.6rem/1 var(--disp);color:var(--brand)}
.pr-step-body b{display:block;font-size:1.06rem;margin-bottom:.25rem}
.pr-step-body span{color:var(--muted)}

/* ---- questions ---- */
.pr-qa{display:grid;gap:0;border-top:2px solid var(--ink)}
.pr-qa-row{padding:1.1rem 0;border-bottom:1px solid var(--hair)}
.pr-qa-row h3{margin:0 0 .4rem;font:600 1.1rem/1.3 var(--body)}
.pr-qa-row p{margin:0;color:var(--muted);max-width:74ch}

/* ---- offers ---- */
.pr-offers{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:1.1rem}
.pr-offer{background:var(--card);border:1px solid var(--hair);padding:1.1rem 1.2rem}
.pr-offer .pr-mark{margin-bottom:.75rem}
.pr-offer h3{margin:0 0 .35rem;font:700 1.16rem/1.25 var(--disp)}
.pr-offer-when{margin:0 0 .5rem;font-weight:600;color:var(--brand)}
.pr-none{color:var(--muted);max-width:66ch}

/* ---- the party table and the price ---- */
.pr-party{margin:0;border-top:3px solid var(--ink)}
.pr-party>div{display:grid;grid-template-columns:16rem 1fr;gap:.3rem 1.6rem;padding:.9rem 0;
 border-bottom:1px solid var(--hair)}
.pr-party dt{font-weight:600}
.pr-party dd{margin:0}
.pr-party-note{margin:1rem 0 0;color:var(--muted);font-size:.95rem}
@media (max-width:46rem){.pr-party>div{grid-template-columns:1fr}}
.pr-price{background:var(--card);border:2px solid var(--ink);padding:1.3rem 1.4rem}
.pr-price-fig{margin:0 0 .9rem;font:400 1.2rem/1 var(--body);color:var(--muted)}
.pr-price-fig b{font:700 2.6rem/1 var(--disp);color:var(--ink);display:inline-block;
 margin:0 .3rem}
.pr-price-what{margin:0;border-top:1px solid var(--hair)}
.pr-price-what>div{display:grid;grid-template-columns:13rem 1fr;gap:.3rem 1.4rem;padding:.7rem 0;
 border-bottom:1px solid var(--hair)}
.pr-price-what dt{font-weight:600}
.pr-price-what dd{margin:0}
.pr-price-note{margin:.9rem 0 0;color:var(--muted);font-size:.95rem}
@media (max-width:46rem){.pr-price-what>div{grid-template-columns:1fr}}

/* ---- the rest of the band ---- */
.pr-next h2{font:700 1.35rem/1.2 var(--disp);margin:0 0 1rem}
.pr-nextlist{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.8rem;
 grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
.pr-nextlist a{display:block;background:var(--card);border:1px solid var(--hair);
 padding:.9rem 1rem;text-decoration:none;color:var(--ink)}
.pr-nextlist a:hover{border-color:var(--ink)}
.pr-nextlist .pr-mark{margin-bottom:.6rem}
.pr-next-name{display:block;font:700 1.06rem/1.2 var(--disp)}
.pr-next-fig{display:block;font-size:.92rem;color:var(--muted);margin-top:.25rem}
.pr-more{font-weight:600}

/* ---- the form ---- */
.pr-form{background:var(--card);border:2px solid var(--ink);padding:clamp(1.2rem,3vw,2rem);
 max-width:44rem}
.pr-form h3{margin:0 0 .5rem;font:700 1.35rem/1.2 var(--disp)}
.pr-form-say{margin:0 0 1.2rem;color:var(--muted)}
.pr-field{margin-bottom:.95rem}
.pr-field label{display:block;font-weight:600;margin-bottom:.3rem;font-size:.95rem}
.pr-field input,.pr-field select,.pr-field textarea{width:100%;padding:.65rem .7rem;
 border:1px solid var(--muted);border-radius:2px;background:var(--paper);color:var(--ink);
 font:400 1rem var(--body)}
.pr-field textarea{resize:vertical}
.pr-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pr-form button{background:var(--accent);color:var(--card);border:0;padding:.85rem 1.6rem;
 border-radius:2px;font:600 1.02rem var(--body);cursor:pointer}
.pr-form button:hover{background:var(--ink)}
.pr-form-foot{margin:.9rem 0 0;font-size:.92rem;color:var(--muted)}

/* ---- the reserved slot ---- */
.pr-slot{margin:2.4rem 0}
.pr-slot-say{max-width:62ch;color:var(--ink);font-size:.98rem}

/* ⚠️ Generated from the band widths. These were an inline custom property until the CSP
   went on; the encoding is unchanged and only where it is written down has moved. */
.pr-mark-18{--w:18px}
.pr-mark-36{--w:36px}
.pr-mark-60{--w:60px}
.pr-mark-92{--w:92px}

/* ---- the flight lookup ----
   Filled by this office, in this office's own markup: no outside script, no widget, no partner
   identifier. Eight equal boxes read as eight unrelated questions; they are three, so each is a
   set with its own hanging label and a rule under it. */
.pr-look{margin:1.4rem 0 0;max-width:60rem;background:var(--card);
 border-top:3px solid var(--ink);border-bottom:1px solid var(--hair);padding:1.3rem 1.3rem 1.5rem}
@media(min-width:640px){.pr-look{padding:1.5rem 1.8rem 1.7rem}}
.pr-look-set{display:grid;gap:0}
.pr-set{border:0;margin:0;padding:1rem 0 1.1rem;min-width:0}
.pr-set+.pr-set{border-top:1px solid var(--hair)}
.pr-set:first-of-type{padding-top:.2rem}
.pr-set legend{padding:0;margin:0 0 .7rem;font-size:.73rem;letter-spacing:.16em;
 text-transform:uppercase;font-weight:600;color:var(--accent)}
.pr-set-row{display:grid;gap:.9rem 1.1rem}
/* One digit needs one digit of width; stacked full width the three counts add two hundred
   pixels of scrolling on a phone to say nothing. */
.pr-set-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
@media(min-width:640px){
 .pr-set:nth-of-type(1) .pr-set-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pr-set:nth-of-type(2) .pr-set-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr)}
 .pr-set-counts{grid-template-columns:repeat(3,minmax(6.5rem,9rem));justify-content:start}
}
.pr-box{display:flex;flex-direction:column;gap:.32rem;min-width:0;position:relative}
.pr-box label{font-weight:600;font-size:.84rem;color:var(--ink);
 display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .4rem}
.pr-aside{font-weight:400;font-size:.76rem;color:var(--muted)}
.pr-box input,.pr-box select{width:100%;max-width:100%;box-sizing:border-box;font:inherit;
 font-size:1.02rem;line-height:1.35;padding:.62rem .7rem;border-radius:0;
 border:1px solid var(--hair);border-bottom:2px solid var(--ink);
 background:var(--paper);color:var(--ink);-webkit-appearance:none;appearance:none;
 transition:border-color .12s ease-out}
.pr-box input::placeholder{color:var(--muted);opacity:1}
.pr-box input:hover,.pr-box select:hover{border-bottom-color:var(--accent)}
.pr-box select{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),
 linear-gradient(135deg,var(--ink) 50%,transparent 50%);
 background-position:right 1.05rem center,right .75rem center;
 background-size:.3rem .3rem,.3rem .3rem;background-repeat:no-repeat;padding-right:2rem}
.pr-box input[type=date]{min-height:2.85rem}
.pr-box input[type=hidden]{display:none}
.pr-box input:focus,.pr-box select:focus{border-color:var(--accent);
 outline:2px solid var(--accent);outline-offset:1px}
.pr-box [aria-invalid=true]{border-color:var(--bad);border-width:2px}
.pr-box.is-short input,.pr-box.is-short select{outline:2px solid var(--bad);outline-offset:1px}
.pr-set-counts input{text-align:center;font-variant-numeric:tabular-nums}
/* The refusal sits in the box it concerns, so focusing that box brings it on screen. A line kept
   beside the button lands off screen on a phone. */
.pr-box-say{margin:.3rem 0 0;font-size:.86rem;font-weight:600;color:var(--bad)}
.pr-offer{position:absolute;z-index:55;left:0;right:0;top:100%;margin:.2rem 0 0;padding:0;
 list-style:none;background:var(--card);border:1px solid var(--ink);
 box-shadow:0 8px 22px rgba(54,34,53,.2);max-height:20.5rem;overflow-y:auto}
.pr-offer li{margin:0}
.pr-offer-cap{padding:.45rem .75rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
 color:var(--muted);background:var(--dim);border-bottom:1px solid var(--hair)}
.pr-offer button{display:block;width:100%;text-align:left;cursor:pointer;background:none;border:0;
 border-bottom:1px solid var(--hair);padding:.5rem .75rem;font:inherit;font-size:.95rem;color:inherit}
.pr-offer li:last-child button{border-bottom:0}
.pr-offer button:hover,.pr-offer button:focus-visible,
.pr-offer li.is-lit button{background:var(--dim)}
.pr-offer-code{display:inline-block;min-width:3.3rem;font-weight:600;font-size:.8rem;
 letter-spacing:.09em;color:var(--accent)}
.pr-look-send{margin:0;padding-top:1.1rem;border-top:1px solid var(--hair);
 display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1rem}
.pr-look-send button{font:inherit;font-weight:600;font-size:1rem;letter-spacing:.03em;
 background:var(--accent);color:var(--card);border:2px solid var(--accent);border-radius:0;
 padding:.78rem 2.4rem;cursor:pointer}
.pr-look-send button:hover:not([disabled]){background:var(--ink);border-color:var(--ink)}
.pr-look-send button[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:639px){.pr-look-send button{flex:1 0 100%}}
.pr-say{font-size:.9rem;font-weight:600;color:var(--bad)}
.pr-say.is-done{color:var(--good)}
.pr-fine{font-size:.89rem;color:var(--ink);margin:.9rem 0 0;max-width:62ch}
.pr-broke{font-size:.9rem;border-left:4px solid var(--accent);padding:.5rem 0 .5rem .85rem;
 margin:.9rem 0 0}
/* ⚠️ The storage notice is docked FIXED TOP CENTRE on this site, which is exactly where an offer
   list lands when the form sits near the top of the window. It stands down while somebody is
   choosing and returns the moment the list folds. */
body.pr-listing .pr-note{visibility:hidden}

/* ---- who this company is ---- */
.pr-standsec{padding:clamp(2rem,5vw,3.2rem) 0}
.pr-stands p{max-width:74ch;margin:0 0 .8rem}
.pr-stands p:last-child{margin-bottom:0}

/* ---- back to the top, in the flow rather than floating ---- */
.pr-uptop{background:var(--paper);border-top:1px solid var(--hair);text-align:center;
 padding:1.3rem 0}
.pr-uptop a{font-weight:600;text-decoration:none;letter-spacing:.06em;font-size:.92rem;
 text-transform:uppercase}
.pr-uptop a:hover{text-decoration:underline}

/* ---- footer ---- */
.pr-foot{background:var(--deep);color:#e7dde6;padding:clamp(2.4rem,5vw,3.6rem) 0 2rem;
 border-top:6px solid var(--brand)}
.pr-foot a{color:var(--acclit)}
.pr-footgrid{display:grid;gap:2rem;grid-template-columns:1.35fr 1fr 1fr 1fr}
.pr-footgrid h2{font:600 .8rem/1.3 var(--body);letter-spacing:.13em;text-transform:uppercase;
 color:var(--brandlit);margin:0 0 .8rem}
.pr-footgrid ul{list-style:none;margin:0;padding:0}
.pr-footgrid li{margin:.42rem 0}
.pr-footname{font:700 1.2rem/1.2 var(--disp);color:var(--card);margin:0 0 .6rem}
.pr-footme address{font-style:normal;margin:0 0 .8rem;line-height:1.62}
.pr-footme p{margin:0 0 .7rem}
.pr-footsay{color:#b3a4b1;font-size:.86rem}
.pr-footopen{font-weight:600;color:var(--brandlit)}
.pr-footrule{height:1px;background:#4a3450;margin:2rem 0 1.4rem}
.pr-footsmall p{margin:0 0 .7rem;font-size:.9rem;color:#c3b6c2;max-width:none}
.pr-footline{letter-spacing:.02em}
@media (max-width:63rem){.pr-footgrid{grid-template-columns:1fr 1fr}}
@media (max-width:38rem){.pr-footgrid{grid-template-columns:1fr}}

/* ---- the storage notice, docked top center ---- */
.pr-note{position:fixed;top:9.4rem;left:50%;transform:translateX(-50%);width:min(94vw,36rem);
 background:var(--card);border:2px solid var(--ink);border-top:6px solid var(--accent);
 padding:1rem 1.1rem;z-index:70;box-shadow:0 14px 40px rgba(29,17,31,.28)}
.pr-note[hidden]{display:none}
.pr-note p{margin:0 0 .7rem;font-size:.93rem}
.pr-note-do{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0}
.pr-note-do button{border:1px solid var(--ink);background:var(--ink);color:var(--card);
 padding:.5rem .9rem;border-radius:2px;font:600 .9rem var(--body);cursor:pointer}
.pr-note-do button+button{background:none;color:var(--ink)}
@media (max-width:63rem){.pr-note{top:8.2rem}}
@media (max-width:34rem){.pr-note{top:auto;bottom:0;width:100vw;border-left:0;border-right:0;
 border-bottom:0}}

/* ---- arrival: transform only, never opacity, and never a timer alone ---- */
.pr-js .pr-sec{transform:translateY(12px);transition:transform .5s ease}
.pr-js .pr-sec.is-in,.pr-js .pr-sec.is-shown{transform:none}
@media (prefers-reduced-motion:reduce){
 .pr-js .pr-sec{transform:none;transition:none}
}
@media print{
 .pr-head,.pr-note,.pr-uptop,.pr-hero-shot,.pr-hero-veil{display:none}
 body{background:#fff;color:#000}
 .pr-hero{min-height:0;background:#fff}
 .pr-hero-say{color:#000}
 .pr-mark{background:#000}
}
