/* Floyd's Rent-All — concept redesign · Oculus Ventures Studio
   Palette PIL-sampled from their assets:
   - canopy navy  #081040 / #101848  (logo tent + FLOYD'S lettering)
   - ink black    #000               (logo "Rent-All Inc." script)
   - slate        #384868 / #8890a8  (logo shading)
   - album royal  #102880 / #183088  (their photo-album page pixels, mainpicture.jpg)
   Type: Bree Serif (display — the logo's sturdy friendly serif caps grown up)
         + Caveat (handwritten accents — the logo script & their album's pen notes)
         + Source Sans 3 (body/UI)                                                */

:root{
  --navy:#0b1140;          /* canopy navy (logo) */
  --navy-deep:#080d30;
  --navy-band:#0d1450;
  --slate:#384868;
  --slate-soft:#8890a8;
  --royal:#1a2f96;         /* album-page royal blue */
  --royal-deep:#142578;    /* AA on paper */
  --pen:#1c3fae;           /* ballpoint accent for marker strokes */
  --paper:#f7f4ec;
  --paper-deep:#efeadd;
  --white:#ffffff;
  --ink:#1b1d26;
  --ink-soft:#4c5060;
  --pale:#e9ecf8;          /* text on navy */
  --pale-soft:#aab2d6;
  --line:#ddd7c8;
  --line-navy:#232b5e;
  --good:#1c6b33;
  --radius:10px;
  --display:'Bree Serif',Georgia,serif;
  --hand:'Caveat',cursive;
  --body:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--royal-deep)}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:10px}

/* ---------- announcement (their verbatim 65-years line) ---------- */
.announce{background:var(--navy-deep);color:var(--pale);text-align:center;font-size:14px;padding:8px 16px;letter-spacing:.01em}
.announce strong{color:#fff;font-weight:600}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .bar{display:flex;align-items:center;gap:18px;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}
.brand img{width:64px;height:auto}
.brand .bt{line-height:1.05}
.brand .bt b{font-family:var(--display);font-weight:400;font-size:21px;letter-spacing:.01em;display:block;color:var(--navy)}
.brand .bt span{font-family:var(--hand);font-size:17px;color:var(--ink);display:block}
.nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.nav a{font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;padding:8px 11px;border-radius:8px}
.nav a:hover{background:var(--paper-deep)}
.nav a[aria-current="page"]{color:var(--royal-deep);box-shadow:inset 0 -2.5px 0 var(--royal)}
.head-call{display:flex;align-items:center;gap:12px;margin-left:8px}
.call-btn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff !important;font-weight:700;font-size:15px;text-decoration:none;padding:10px 16px;border-radius:999px;white-space:nowrap}
.call-btn:hover{background:var(--royal-deep)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;color:var(--navy)}

/* open chip — pins its own colors in every band context */
.open-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;padding:5px 12px;border-radius:999px;background:#f1efe6;color:#3a3d33;border:1px solid #d9d4c2;white-space:nowrap}
.open-chip .dot{width:8px;height:8px;border-radius:50%;background:#9aa08c;flex:none}
.open-chip.is-open{background:#e9f2e6;color:#1c5229;border-color:#c4dcc2}
.open-chip.is-open .dot{background:#2c7a3f}
.open-chip.is-closed{background:#f4ece4;color:#6b4a2d;border-color:#e0d2bf}
.open-chip.is-closed .dot{background:#a9714b}

@media (max-width:920px){
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
       flex-direction:column;align-items:stretch;padding:8px 16px 16px;display:none;box-shadow:0 18px 30px -18px rgba(11,17,64,.3)}
  .nav.openned{display:flex}
  .nav a{padding:12px 10px;border-bottom:1px solid var(--paper-deep)}
  .nav-toggle{display:block}
  .head-call .open-chip{display:none}
  .brand .bt b{font-size:18px}
}

/* ---------- hero ---------- */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--navy-deep)}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center 62%}
.hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,48,.55) 0%,rgba(8,13,48,.38) 45%,rgba(8,13,48,.78) 100%)}
.hero .inner{position:relative;padding-top:110px;padding-bottom:96px;max-width:900px}
.kicker-hand{font-family:var(--hand);font-size:clamp(22px,3vw,30px);color:#ffe9a8;transform:rotate(-1.6deg);display:inline-block;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(34px,5.4vw,60px);line-height:1.08;letter-spacing:.005em;margin:10px 0 18px;text-wrap:balance;text-shadow:0 2px 22px rgba(0,0,0,.5)}
.hero .sub{font-size:clamp(16px,2vw,19px);color:#e7eaf9;max-width:56ch;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:16px;text-decoration:none;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;font-family:var(--body)}
.btn-primary{background:#fff;color:var(--navy) !important}
.btn-primary:hover{background:#ffe9a8}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff !important;border:1.5px solid rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.24)}
.btn-royal{background:var(--royal-deep);color:#fff !important}
.btn-royal:hover{background:var(--navy)}
.btn-navy{background:var(--navy);color:#fff !important}
.btn-navy:hover{background:var(--royal-deep)}
.hero .addr{margin-top:26px;font-size:15px;color:#c9cfe8}
.hero .addr a{color:#fff}

/* inner-page banner */
.pagehero{position:relative;color:#fff;background:var(--navy-deep)}
.pagehero .bg{position:absolute;inset:0;background-size:cover;background-position:center 60%}
.pagehero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,48,.62),rgba(8,13,48,.8))}
.pagehero .inner{position:relative;padding-top:64px;padding-bottom:52px}
.pagehero h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,4.4vw,46px);line-height:1.1;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.pagehero .crumb{font-size:14px;color:#c9cfe8;margin-top:8px}
.pagehero .crumb a{color:#fff;text-decoration:none}
.pagehero .crumb a:hover{text-decoration:underline}

/* ---------- pen-stroke signature (their handwritten logo script + album notes) ---------- */
.pen-h{position:relative;display:inline-block}
.pen-h svg{position:absolute;left:-2%;bottom:-.34em;width:104%;height:.5em;overflow:visible;pointer-events:none}
.pen-h svg path{fill:none;stroke:var(--pen);stroke-width:5.5;stroke-linecap:round;opacity:.85}
.js .pen-h[data-anim] svg path{stroke-dasharray:var(--len,320);stroke-dashoffset:var(--len,320)}
.js .pen-h[data-anim].drawn svg path{transition:stroke-dashoffset .9s cubic-bezier(.5,.1,.3,1);stroke-dashoffset:0}
.pagehero .pen-h svg path,.hero .pen-h svg path,.on-dark .pen-h svg path{stroke:#ffe9a8}
@media (prefers-reduced-motion:reduce){
  .js .pen-h[data-anim] svg path{stroke-dasharray:none;stroke-dashoffset:0;transition:none}
}

/* ---------- sections ---------- */
section{padding:74px 0}
.kick{font-family:var(--hand);font-size:24px;color:var(--royal-deep);display:block;transform:rotate(-1.2deg);margin-bottom:4px}
.on-dark .kick{color:#ffe9a8}
h2.sec{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.6vw,40px);line-height:1.14;color:var(--navy);margin-bottom:14px;text-wrap:balance}
.on-dark h2.sec{color:#fff}
.lede{color:var(--ink-soft);max-width:68ch;font-size:17.5px}
.on-dark .lede{color:var(--pale-soft)}

.band-navy{background:var(--navy);color:var(--pale)}
.band-deep{background:var(--navy-deep);color:var(--pale)}
.band-paper2{background:var(--paper-deep)}
.band-white{background:var(--white)}
.band-royal{background:var(--royal-deep);color:var(--pale)}

/* scroll reveals */
.js [data-rev]{opacity:0;transform:translateY(22px)}
.js [data-rev].rin{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
@media (prefers-reduced-motion:reduce){
  .js [data-rev]{opacity:1;transform:none}
  .js [data-rev].rin{transition:none}
}

/* ---------- category grid (their 20 verbatim category names) ---------- */
.catgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin-top:30px}
.catgrid a{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;
  padding:13px 15px;font-weight:600;font-size:15px;color:var(--ink);text-decoration:none;transition:transform .22s ease,box-shadow .22s ease}
.catgrid a:hover{transform:translateY(-3px);box-shadow:0 12px 22px -14px rgba(11,17,64,.4);color:var(--royal-deep)}
.catgrid a .tick{font-family:var(--hand);color:var(--pen);font-size:19px;flex:none}

/* ---------- split feature rows ---------- */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.split.rev{grid-template-columns:.95fr 1.05fr}
.split .ph{border-radius:12px;overflow:hidden;box-shadow:0 24px 44px -26px rgba(11,17,64,.55)}
.split .ph img{width:100%;object-fit:cover}
@media (max-width:880px){.split,.split.rev{grid-template-columns:1fr;gap:30px}}

.blist{margin-top:20px;display:grid;gap:14px}
.blist .bi{background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:9px;padding:14px 18px}
.blist .bi b{color:var(--navy)}
.blist .bi p{color:var(--ink-soft);font-size:15.5px;margin-top:2px}

/* ---------- card trio ---------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.trio .card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease}
.trio .card:hover{transform:translateY(-5px);box-shadow:0 22px 38px -22px rgba(11,17,64,.5)}
.trio .card .im{aspect-ratio:16/10;overflow:hidden}
.trio .card .im img{width:100%;height:100%;object-fit:cover}
.trio .card .tx{padding:20px 22px 24px}
.trio .card h3{font-family:var(--display);font-weight:400;font-size:23px;color:var(--navy);margin-bottom:6px}
.trio .card p{color:var(--ink-soft);font-size:15.5px;margin-bottom:14px}
@media (max-width:820px){.trio{grid-template-columns:1fr}}

/* ---------- quote-builder promo ---------- */
.qpromo{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;align-items:center}
@media (max-width:880px){.qpromo{grid-template-columns:1fr}}
.mini-clip{background:#fdfbf4;border-radius:10px;border:1px solid #d8d2bd;box-shadow:0 26px 48px -26px rgba(0,0,0,.6);
  padding:38px 26px 24px;position:relative;max-width:420px;margin:0 auto;
  background-image:repeating-linear-gradient(180deg,transparent 0 27px,#e4ddc9 27px 28px)}
.mini-clip:before{content:"";position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:120px;height:30px;
  background:linear-gradient(180deg,#8b93a8,#5c6478);border-radius:8px 8px 4px 4px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.mini-clip:after{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:52px;height:16px;background:#3c4356;border-radius:4px}
.mini-clip .rowline{display:flex;justify-content:space-between;font-size:15px;padding:2.5px 0;color:var(--ink)}
.mini-clip .rowline .dots{flex:1;border-bottom:2px dotted #b9b19a;margin:0 8px 5px}
.mini-clip .tot{display:flex;justify-content:space-between;font-weight:700;font-size:17px;margin-top:10px;padding-top:8px;border-top:2px solid var(--ink)}
.mini-clip .est{font-family:var(--hand);font-size:18px;color:var(--pen);transform:rotate(-1.4deg);margin-top:10px}

/* ---------- QUOTE BUILDER (pricing page) ---------- */
.qb-layout{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:34px;align-items:start;padding:44px 0 90px}
.qb-layout>*{min-width:0}
@media (max-width:1020px){.qb-layout{grid-template-columns:1fr}}
.qb-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:26px 0 6px}
.qb-search{flex:1;min-width:230px;position:relative}
.qb-search input{width:100%;font:inherit;font-size:16px;padding:12px 16px 12px 42px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink)}
.qb-search input:focus{outline:2.5px solid var(--royal);outline-offset:1px}
.qb-search .mag{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--slate-soft);pointer-events:none}
.qb-jump{font:inherit;font-size:15px;padding:11px 14px;border:1.5px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);max-width:290px}
.qb-note{font-size:14px;color:var(--ink-soft);margin:6px 0 0}

.qb-cat{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:26px;overflow:hidden}
.qb-cat-head{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--paper-deep);flex-wrap:wrap}
.qb-cat-head img{width:76px;height:58px;object-fit:cover;border-radius:7px;flex:none}
.qb-cat-head h2{font-family:var(--display);font-weight:400;font-size:24px;color:var(--navy);flex:1;min-width:200px}
.qb-cat-head .cnt{font-size:13.5px;color:var(--ink-soft);white-space:nowrap}
.qb-items{padding:6px 0}
.qrow{display:flex;align-items:center;gap:14px;padding:10px 22px;border-bottom:1px dashed #eae4d4;flex-wrap:wrap}
.qrow:last-child{border-bottom:0}
.qrow .nm{flex:1 1 240px;min-width:200px}
.qrow .nm b{font-weight:600;color:var(--ink)}
.qrow .nm .d{font-size:14px;color:var(--ink-soft)}
.qrow .pr{font-weight:700;color:var(--navy);font-size:15.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.qrow .pr .u{font-weight:400;color:var(--ink-soft);font-size:13.5px}
.qrow.dim{opacity:.35}
.qrow mark{background:#ffe9a8;color:inherit;border-radius:3px;padding:0 2px}

.callchip{font-size:12.5px;font-weight:700;background:#f4ece4;color:#6b4a2d;border:1px solid #e0d2bf;border-radius:999px;padding:4px 11px;white-space:nowrap}

/* day/week toggle with pen circle */
.dw{display:inline-flex;position:relative;border:1.5px solid var(--line);border-radius:999px;overflow:visible;background:#fdfbf4}
.dw button{font:inherit;font-size:13px;font-weight:700;padding:5px 13px;border:0;background:none;color:var(--ink-soft);cursor:pointer;position:relative;border-radius:999px}
.dw button.on{color:var(--pen)}
.dw button .ring{position:absolute;inset:-4px -6px;pointer-events:none;opacity:0}
.dw button.on .ring{opacity:1}
.dw .ring path{fill:none;stroke:var(--pen);stroke-width:2.4;stroke-linecap:round}
.js .dw button.on.just .ring path{stroke-dasharray:200;stroke-dashoffset:200;animation:penring .5s cubic-bezier(.4,.1,.3,1) forwards}
@keyframes penring{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.js .dw button.on.just .ring path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}}

/* stepper */
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;background:#fff}
.stepper button{font:inherit;font-size:17px;font-weight:700;width:34px;height:34px;border:0;background:none;color:var(--navy);cursor:pointer;line-height:1}
.stepper button:hover{color:var(--royal-deep)}
.stepper .q{min-width:30px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;font-size:15px}
.stepper .q.zero{color:var(--slate-soft);font-weight:400}

/* tents table */
.tent-table{width:100%;border-collapse:collapse;font-size:15px}
.tent-table th,.tent-table td{padding:9px 12px;text-align:left;border-bottom:1px dashed #eae4d4;font-variant-numeric:tabular-nums}
.tent-table thead th{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);border-bottom:2px solid var(--paper-deep)}
.tent-table td.pr{font-weight:700;color:var(--navy)}
.tent-scroll{overflow-x:auto;padding:0 22px 12px}

/* the clipboard */
.clipboard{position:sticky;top:96px;background:#fdfbf4;border:1px solid #d8d2bd;border-radius:10px;
  box-shadow:0 30px 54px -30px rgba(0,0,0,.55);padding:40px 22px 20px;
  background-image:repeating-linear-gradient(180deg,transparent 0 29px,#e7e0cc 29px 30px)}
.clipboard:before{content:"";position:absolute;top:-17px;left:50%;transform:translateX(-50%);width:132px;height:32px;
  background:linear-gradient(180deg,#8b93a8,#5c6478);border-radius:9px 9px 4px 4px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.25);z-index:2}
.clipboard:after{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:56px;height:18px;background:#3c4356;border-radius:4px;z-index:2}
.clipboard h3{font-family:var(--display);font-weight:400;font-size:22px;color:var(--navy);margin-bottom:2px}
.clipboard .sub{font-family:var(--hand);font-size:19px;color:var(--pen);transform:rotate(-1deg);display:inline-block;margin-bottom:10px}
.clip-lines{max-height:320px;overflow-y:auto;margin:4px 0 6px}
.clip-line{display:flex;align-items:baseline;gap:8px;font-size:14.5px;padding:3px 0}
.clip-line .n{flex:1;min-width:0}
.clip-line .n small{display:block;color:var(--ink-soft);font-size:12.5px}
.clip-line .dots{flex:0 1 40px;border-bottom:2px dotted #b9b19a;align-self:flex-end;margin-bottom:5px}
.clip-line .amt{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.clip-line .rm{background:none;border:0;color:#a05252;cursor:pointer;font-size:15px;padding:0 2px;line-height:1}
.clip-empty{color:var(--ink-soft);font-size:14.5px;border:1.5px dashed #cfc7ae;border-radius:8px;padding:16px 14px;text-align:center;margin:8px 0}
.clip-total{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;font-weight:700;margin-top:10px;position:relative;padding:8px 0 10px}
.clip-total .tt{font-family:var(--display);font-weight:400;color:var(--navy)}
.clip-total .amt{font-variant-numeric:tabular-nums;font-size:22px;color:var(--navy)}
.clip-total .tot-pen{position:absolute;left:0;right:0;bottom:0;height:8px;overflow:visible}
.clip-total .tot-pen path{fill:none;stroke:var(--pen);stroke-width:2.6;stroke-linecap:round;opacity:.9}
.clip-disc{font-size:13px;color:var(--ink-soft);border-top:1px solid #d8d2bd;margin-top:8px;padding-top:10px}
.clip-disc b{color:var(--ink)}
.clip-actions{display:grid;gap:9px;margin-top:14px}
.clip-actions .btn{width:100%;font-size:15.5px;padding:12px 18px}
.copied-note{font-size:13.5px;color:var(--good);font-weight:700;text-align:center;min-height:18px}

/* mobile quote bar */
.qb-mobilebar{display:none}
@media (max-width:1020px){
  .clipboard{position:static}
  .clip-wrap.sheet{position:fixed;inset:auto 0 0 0;z-index:120;background:rgba(11,17,64,.45);padding:14px;display:none}
  .clip-wrap.sheet.open{display:block}
  .clip-wrap.sheet .clipboard{max-height:78vh;overflow-y:auto}
  .qb-mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:110;background:var(--navy);color:#fff;
    align-items:center;gap:12px;padding:11px 18px;box-shadow:0 -10px 30px rgba(0,0,0,.3)}
  .qb-mobilebar .ct{font-size:14px;color:var(--pale-soft)}
  .qb-mobilebar .tot{font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
  .qb-mobilebar button{margin-left:auto;font:inherit;font-weight:700;background:#fff;color:var(--navy);border:0;border-radius:999px;padding:9px 18px;cursor:pointer}
  body.has-qbar{padding-bottom:64px}
}

/* ---------- album gallery ---------- */
.album-band{background:var(--royal-deep);color:var(--pale)}
.album-idx{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}
.album-idx a{font-size:13.5px;font-weight:700;color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);
  text-decoration:none;padding:6px 13px;border-radius:999px}
.album-idx a:hover{background:rgba(255,255,255,.28)}
.album-ch{padding:44px 0 8px}
.album-ch h2{font-family:var(--display);font-weight:400;font-size:clamp(23px,3vw,32px);color:#fff}
.album-ch .hand{font-family:var(--hand);font-size:20px;color:#ffe9a8;transform:rotate(-1.4deg);display:inline-block;margin-left:10px}
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:26px;margin-top:24px}
.mount{position:relative;background:#fdfbf4;padding:10px 10px 14px;border-radius:2px;box-shadow:0 14px 26px -14px rgba(0,0,0,.55);
  transition:transform .3s ease,box-shadow .3s ease}
.album-grid .mount:nth-child(3n+1){transform:rotate(-1.1deg)}
.album-grid .mount:nth-child(3n+2){transform:rotate(.9deg)}
.album-grid .mount:nth-child(3n){transform:rotate(-.4deg)}
.mount:hover{transform:rotate(0) translateY(-4px);box-shadow:0 22px 38px -16px rgba(0,0,0,.65);z-index:2}
.mount img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8e4d6}
.mount .corner{position:absolute;width:26px;height:26px;background:rgba(247,244,236,.92);clip-path:polygon(0 0,100% 0,0 100%)}
.mount .c1{top:4px;left:4px}
.mount .c2{top:4px;right:4px;transform:rotate(90deg)}
.mount .c3{bottom:8px;left:4px;transform:rotate(-90deg)}
.mount .c4{bottom:8px;right:4px;transform:rotate(180deg)}

/* ---------- about / article ---------- */
.newsclip{background:#fdfcf7;border:1px solid var(--line);border-radius:4px;padding:38px 40px;box-shadow:0 22px 40px -26px rgba(11,17,64,.4);max-width:860px;margin:0 auto}
.newsclip .np-head{border-bottom:3px double var(--ink);padding-bottom:12px;margin-bottom:20px}
.newsclip h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3.4vw,38px);line-height:1.12;color:var(--ink)}
.newsclip .np-sub{font-size:17px;color:var(--ink-soft);font-style:italic;margin-top:4px}
.newsclip .np-by{font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px}
.newsclip .np-body{columns:2 300px;column-gap:34px;font-size:16px;color:#2a2c36}
.newsclip .np-body p{margin-bottom:14px;break-inside:avoid-column}
.newsclip .np-body p:first-of-type::first-letter{font-family:var(--display);font-size:52px;float:left;line-height:.9;padding:4px 8px 0 0;color:var(--navy)}
@media (max-width:640px){.newsclip{padding:26px 20px}}

/* ---------- testimonials ---------- */
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin-top:32px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 26px;display:flex;flex-direction:column;gap:12px}
.tcard .stars{color:#c9a227;letter-spacing:2px;font-size:15px}
.tcard p{color:var(--ink);font-size:15.5px;flex:1}
.tcard .who{font-family:var(--hand);font-size:21px;color:var(--royal-deep)}

/* forms */
.form-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 32px;max-width:640px}
.form-card label{display:block;font-weight:600;font-size:14.5px;margin:14px 0 5px}
.form-card input,.form-card select,.form-card textarea{width:100%;font:inherit;font-size:16px;padding:11px 14px;border:1.5px solid var(--line);border-radius:8px;background:#fdfcf8;color:var(--ink)}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:2.5px solid var(--royal);outline-offset:1px}
.form-note{font-size:13.5px;color:var(--ink-soft);margin-top:10px}

/* hours */
.hours-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px}
.hours-card table{width:100%;border-collapse:collapse;font-size:15.5px}
.hours-card td{padding:8px 4px;border-bottom:1px dashed #eae4d4}
.hours-card tr:last-child td{border-bottom:0}
.hours-card tr.today td{font-weight:700;color:var(--royal-deep)}
.hours-card tr.today td:first-child:after{content:" ← today";font-family:var(--hand);font-size:16px;color:var(--pen);font-weight:400}

/* contact cards */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:34px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 28px}
.ccard h3{font-family:var(--display);font-weight:400;font-size:21px;color:var(--navy);margin-bottom:8px}
.ccard p{color:var(--ink-soft);font-size:15.5px}
.ccard a.big{font-size:21px;font-weight:700;color:var(--royal-deep);text-decoration:none}
.ccard a.big:hover{text-decoration:underline}

/* tools page */
.toolgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px;margin-top:34px}
.toolcard{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 22px;border-top:4px solid var(--navy)}
.toolcard h3{font-family:var(--display);font-weight:400;font-size:19.5px;color:var(--navy);margin-bottom:10px}
.toolcard ul{list-style:none}
.toolcard li{font-size:15px;color:var(--ink);padding:4.5px 0;border-bottom:1px dashed #eee8d8}
.toolcard li:last-child{border-bottom:0}
.callout{background:var(--navy);color:var(--pale);border-radius:12px;padding:30px 34px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:40px}
.callout .tx{flex:1;min-width:240px}
.callout h3{font-family:var(--display);font-weight:400;font-size:24px;color:#fff;margin-bottom:4px}
.callout p{color:var(--pale-soft);font-size:15.5px}

/* ---------- footer ---------- */
footer{background:var(--navy-deep);color:var(--pale);padding:60px 0 40px}
footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
@media (max-width:880px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .cols{grid-template-columns:1fr}}
footer h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--pale-soft);margin-bottom:12px}
footer a{color:var(--pale);text-decoration:none}
footer a:hover{color:#fff;text-decoration:underline}
footer .fbrand img{width:74px;background:#fff;border-radius:9px;padding:6px;margin-bottom:12px}
footer .fbrand .hand{font-family:var(--hand);font-size:20px;color:#ffe9a8;transform:rotate(-1.2deg);display:inline-block}
footer ul{list-style:none}
footer li{padding:4px 0;font-size:15px}
footer .fine{border-top:1px solid var(--line-navy);margin-top:44px;padding-top:22px;font-size:13.5px;color:var(--pale-soft);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}

/* sticky mobile call bar (non-pricing pages) */
.mob-call{display:none}
@media (max-width:700px){
  .mob-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--navy);padding:10px 14px;gap:10px;box-shadow:0 -8px 26px rgba(0,0,0,.35)}
  .mob-call a{flex:1;text-align:center;font-weight:700;font-size:15px;color:#fff;text-decoration:none;padding:11px 6px;border-radius:9px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3)}
  .mob-call a.pri{background:#fff;color:var(--navy)}
  body.has-mobcall{padding-bottom:64px}
}
@media (max-width:700px){
  section{padding:56px 0}
  .hero .inner{padding-top:84px;padding-bottom:72px}
}

/* keep the studio corner pill clear of the sticky mobile bars */
@media (max-width:700px){
  body.has-mobcall .ovs-pill{bottom:76px !important}
}
@media (max-width:1020px){
  body.has-qbar .ovs-pill{bottom:76px !important}
}
