/* brand guidelines service page (Corey, Oct 29 2026). Shared look from site.css + service.css; this file only adds what's new. */
.bgs .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.sv-hero h1 em,.bg-ba h2 em{font-style:normal;color:var(--coral)}

/* hero: real guides fanned out as long pages that rise up from below the fold (Corey, Oct 29 2026: "they just need to kind of disappear at the fold") */
.bg-hero{--pb:96px;padding-bottom:var(--pb)}
.bg-fan{grid-column:8/span 5;margin:0 -60px calc(-1 * var(--pb)) 44px;position:relative;align-self:stretch;min-height:540px}
.bg-fan .fc{position:absolute;left:50%;bottom:0;width:46%;aspect-ratio:520/1092;padding:0;border:0;background:#fff;border-radius:8px 8px 0 0;overflow:hidden;cursor:pointer;
  box-shadow:0 -14px 40px -14px rgba(0,0,0,.6),0 0 0 1px rgba(239,243,244,.18);transform-origin:50% 140%;
  transform:translateX(-50%) translateX(var(--x)) translateY(calc(var(--y) + 30%)) rotate(0deg);opacity:0;transition:transform 1.3s cubic-bezier(.2,.8,.2,1),opacity .9s ease,box-shadow .4s ease}
.bg-fan .fc img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.bg-fan .fc span{position:absolute;left:0;right:0;top:0;padding:10px 12px 22px;font-size:12px;letter-spacing:.04em;color:#fff;text-align:left;background:linear-gradient(rgba(14,30,38,.85),transparent);opacity:0;transition:opacity .4s ease}
.bg-fan.up .fc{opacity:1;transform:translateX(-50%) translateX(var(--x)) translateY(var(--y)) rotate(var(--r))}
.bg-fan.up .fc:hover,.bg-fan.up .fc:focus-visible{transform:translateX(-50%) translateX(var(--x)) translateY(calc(var(--y) - 22px)) rotate(var(--r));z-index:9;box-shadow:0 -20px 50px -14px rgba(0,0,0,.7),0 0 0 2px var(--coral)}
.bg-fan .fc:hover span,.bg-fan .fc:focus-visible span{opacity:1}
.bg-fan .fc:focus-visible{outline:none}

/* the four problems */
.bg-rows{margin:56px 0 0;padding:0;border-top:1px solid var(--ink)}
.bg-rows li{list-style:none;display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--gain);align-items:baseline}
.bg-rows .n,.bg-list .n,.bg-how-steps .n{font-size:13px;letter-spacing:.06em;font-weight:600;color:var(--coral)}
.bg-rows h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:38px;line-height:1.08;letter-spacing:-.01em}
.bg-rows p{font-size:17px;line-height:1.6;color:var(--body);margin-top:8px;max-width:620px}

/* before and after: the signature moment */
.bg-ba{background:var(--ink);color:var(--paper);margin-top:104px;padding:112px 0 120px;overflow:hidden}
.bg-ba-head{max-width:760px}
.bg-ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:56px}
.bg-stage{margin:0;display:flex;flex-direction:column;gap:16px}
.bg-stage figcaption{display:flex;gap:12px;align-items:baseline;font-size:16px;color:var(--gain);font-weight:300}
.bg-stage figcaption b{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--coral)}
.bg-after figcaption b{color:var(--laurel)}
.bg-desk{position:relative;aspect-ratio:1.32;border-radius:14px;overflow:hidden;background:
  radial-gradient(120% 90% at 20% 10%,#2b4653 0,#16303b 45%,#0b1a21 100%);box-shadow:inset 0 0 0 1px rgba(239,243,244,.1)}
.bg-desk .it{position:absolute;color:var(--ink);font-size:12px;line-height:1.35;animation:drift 7s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes drift{0%,100%{transform:translate(0,0) rotate(var(--rr,0deg))}50%{transform:translate(var(--dx,4px),var(--dy,-6px)) rotate(var(--rr,0deg))}}
.bg-desk .mail{left:5%;top:7%;width:47%;background:#fff;border-radius:8px;padding:0 0 10px;box-shadow:0 14px 30px -14px #000;--rr:-2deg}
.bg-desk .bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#eef1f2;border-radius:8px 8px 0 0;margin:0 0 8px;font-size:11px;color:#6b7b81}
.bg-desk .bar i,.bg-pop .bar i{width:8px;height:8px;border-radius:50%;background:#d4d9db}
.bg-desk .bar i:first-child,.bg-pop .bar i:first-child{background:#ef6a5a}
.bg-desk .mail .from{font-weight:600;padding:0 12px}.bg-desk .mail .txt{padding:6px 12px 0;color:#566469}
.bg-desk .att,.bg-desk .drive .f{display:flex;align-items:center;gap:8px;margin:8px 12px 0;padding:7px 9px;border:1px solid #e1e6e8;border-radius:6px;background:#f8fafa;font-size:11.5px;overflow:hidden;white-space:nowrap}
.bg-desk .ic{flex-shrink:0;font-size:9px;font-weight:700;color:#fff;background:#50798b;padding:3px 4px;border-radius:3px}
.bg-desk .dl{right:6%;top:9%;width:31%;background:rgba(239,243,244,.94);border-radius:10px;padding:12px;--rr:3deg;--d:-2s;display:flex;flex-direction:column;gap:5px}
.bg-desk .dl b{font-size:12px;margin-bottom:2px}.bg-desk .dl .f{font-size:11px;color:#41525a;padding:5px 7px;background:#fff;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bg-desk .fold{width:28px;height:20px;background:#7da69f;border-radius:3px 6px 4px 4px;position:relative}
.bg-desk .trash{left:7%;bottom:8%;width:20%;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--gain);--d:-4s;--rr:-4deg}
.bg-desk .can{width:46px;height:54px;border:2px solid #9fb1b8;border-top:6px solid #9fb1b8;border-radius:2px 2px 8px 8px;background:repeating-linear-gradient(90deg,transparent 0 9px,rgba(159,177,184,.5) 9px 11px)}
.bg-desk .trash .f{font-size:10.5px;background:#fff;color:var(--ink);padding:3px 6px;border-radius:3px;transform:rotate(-12deg) translateY(-44px);order:-1;margin-bottom:-30px;white-space:nowrap}
.bg-desk .trash b{font-weight:400;font-size:11px}
.bg-desk .drive{left:31%;bottom:9%;width:40%;background:#fff;border-radius:8px;padding:10px 0;box-shadow:0 14px 30px -14px #000;--rr:1.5deg;--d:-1s}
.bg-desk .drive .path{padding:0 12px;color:#6b7b81;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bg-desk .note{right:6%;bottom:13%;width:23%;background:#f7e98e;padding:12px;font-size:12px;font-family:'Marker Felt','Comic Sans MS','Segoe Print',cursive;box-shadow:0 10px 18px -10px #000;--rr:5deg;--d:-3s}
.bg-desk .text{right:12%;top:50%;background:#3a8dff;color:#fff;padding:8px 12px;border-radius:16px 16px 4px 16px;font-size:12px;--d:-5s;--rr:-1deg;white-space:nowrap}
.bg-desk .q{left:47%;top:36%;width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;font:600 24px/44px 'Hanken Grotesk';text-align:center;animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(239,69,69,.5)}50%{transform:scale(1.08);box-shadow:0 0 0 14px rgba(239,69,69,0)}}

.bg-desk.clean{background:radial-gradient(110% 90% at 50% 0,#2b4653 0,#16303b 50%,#0b1a21 100%)}
.bg-after .pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;background:#fff;color:var(--ink);padding:16px 24px;border-radius:999px;font-size:17px;white-space:nowrap;box-shadow:0 18px 40px -16px #000,0 0 0 1px rgba(255,255,255,.4);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.bg-after .pill b{font-weight:600;color:var(--coral)}
.bg-after .lock{width:12px;height:10px;border:2px solid #7da69f;border-radius:2px;position:relative;margin-top:4px}.bg-after .lock::before{content:"";position:absolute;left:1px;top:-8px;width:6px;height:6px;border:2px solid #7da69f;border-bottom:0;border-radius:5px 5px 0 0}
.bg-after .pill.press{transform:translate(-50%,-50%) scale(.94)}
.bg-after .pill.gone{opacity:0;transform:translate(-50%,-50%) scale(1.3)}
.bg-after .win{position:absolute;left:5%;right:5%;top:0;bottom:0;height:fit-content;margin:auto 0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -20px #000;opacity:0;transform:scale(.4);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.bg-after .win.open{opacity:1;transform:none}
.bg-after .win .bar{margin:0;border-radius:0;flex-shrink:0}.bg-after .win .bar span{margin-left:10px;background:#fff;border-radius:5px;padding:2px 10px;font-size:11px;color:#41525a}
.bg-after .view{position:relative;aspect-ratio:1.6;overflow:hidden}
.bg-after .view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .6s ease}
.bg-after .view img.on{opacity:1}
.bg-after .toast{position:absolute;left:50%;bottom:14px;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);font-size:12.5px;padding:8px 14px;border-radius:999px;opacity:0;transition:opacity .35s ease,transform .45s ease;white-space:nowrap;display:flex;align-items:center;gap:8px}
.bg-after .toast.on{opacity:1;transform:translate(-50%,0)}
.bg-after .toast i{width:12px;height:12px;border-radius:3px;display:inline-block}
.bg-after .cur{position:absolute;width:30px;height:30px;left:84%;top:86%;z-index:5;transition:left 1.1s cubic-bezier(.45,0,.2,1),top 1.1s cubic-bezier(.45,0,.2,1);filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}
.bg-after .tap{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid var(--coral);opacity:0;z-index:4;pointer-events:none}
.bg-after .tap.go{animation:tap .6s ease-out}
@keyframes tap{from{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}
.bg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0}
.bg-steps li{list-style:none;border-top:1px solid rgba(239,243,244,.2);padding-top:12px;font-size:14px;line-height:1.45;color:var(--gain);transition:color .4s ease,border-color .4s ease}
.bg-steps b{display:block;font-size:12px;letter-spacing:.06em;color:var(--laurel);margin-bottom:4px}
.bg-steps li.on{color:var(--paper);border-color:var(--laurel)}

/* what you get */
.bg-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;margin:56px 0 0;padding:0}
.bg-list li{list-style:none;border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.bg-list h3,.bg-how-steps h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:30px;line-height:1.08}
.bg-list p,.bg-how-steps p{font-size:16px;line-height:1.55;color:var(--body)}
.bg-files{margin-top:72px;background:#fff;border:1px solid var(--gain);padding:28px 32px}
.bg-files .k{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:18px}
.bg-ft{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.bg-ft div{display:flex;flex-direction:column;gap:6px}
.bg-ft b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:34px;line-height:1;color:var(--ink)}
.bg-ft span{font-size:15px;line-height:1.5;color:var(--body)}

/* the gallery of real guides: small browser windows; hover scrolls the guide, tap opens it big */
.bg-gal{background:var(--ink);color:var(--paper);margin-top:128px;padding:112px 0}
.bg-gal .lede{color:var(--gain)}
.bg-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:56px}
.bg-card{display:flex;flex-direction:column;gap:10px;padding:0;border:0;background:none;color:var(--paper);text-align:left;cursor:pointer;font-family:inherit}
.bg-card .mw{display:block;position:relative;aspect-ratio:.78;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(239,243,244,.16),0 18px 34px -18px #000;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}
.bg-card .mw::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:#eef1f2 radial-gradient(circle at 8px 7px,#ef6a5a 3px,transparent 3.5px);z-index:2}
.bg-card .mw img{position:absolute;left:0;top:14px;width:100%;height:auto;transform:translateY(0);transition:transform 6s cubic-bezier(.45,0,.55,1)}
.bg-card:hover .mw,.bg-card:focus-visible .mw{transform:translateY(-8px);box-shadow:0 0 0 2px var(--coral),0 28px 44px -18px #000}
.bg-card:hover .mw img,.bg-card:focus-visible .mw img{transform:translateY(var(--scroll,-60%))}
.bg-card:focus-visible{outline:none}
.bg-card b{font-weight:500;font-size:15.5px;line-height:1.3}
.bg-card small{display:block;font-size:13px;color:var(--gain);font-weight:300;margin-top:2px}

/* pop-up: the guide, big, scrolling slowly */
.bg-pop{position:fixed;inset:0;z-index:200;background:rgba(6,14,18,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:28px;opacity:0;transition:opacity .35s ease}
.bg-pop[hidden]{display:none}.bg-pop.in{opacity:1}
.bg-pop-in{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center;width:min(1100px,100%);transform:translateY(16px) scale(.98);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.bg-pop.in .bg-pop-in{transform:none}
.bg-pop-win{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 40px 80px -24px #000}
.bg-pop .bar{display:flex;align-items:center;gap:5px;padding:9px 12px;background:#eef1f2;font-size:12px;color:#41525a;margin:0}
.bg-pop .bar span{margin-left:10px;background:#fff;border-radius:5px;padding:2px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bg-pop-view{position:relative;height:min(64vh,620px);height:min(64dvh,620px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.bg-pop-view img{display:block;width:100%;height:auto}
.bg-pop-meta{color:var(--paper);display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.bg-pop-meta .k{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--laurel);font-weight:600}
.bg-pop-meta h3{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:44px;line-height:1.05}
.bg-pop-meta p{font-size:16px;line-height:1.55;color:var(--gain)}
.bg-x{position:absolute;right:-6px;top:-46px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(239,243,244,.3);background:none;color:var(--paper);font-size:24px;line-height:1;cursor:pointer}

/* how it works */
.bg-how-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:56px 0 0;padding:0}
.bg-how-steps li{list-style:none;border-top:1px solid var(--ink);padding-top:20px;display:flex;flex-direction:column;gap:10px}
.bg-how-steps li.now{border-top:2px solid var(--coral)}

/* buy */
.bg-buy{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.bg-buy-l{grid-column:span 5;display:flex;flex-direction:column;gap:20px}
.bg-amt{display:flex;align-items:baseline;gap:12px}
.bg-amt b{font-family:'Maitree',Georgia,serif;font-weight:200;font-size:88px;line-height:1;letter-spacing:-.03em}
.bg-amt span{font-size:18px;color:var(--body)}
.bg-inc{margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bg-inc li{list-style:none;font-size:17px;line-height:1.5;display:flex;gap:10px}
.bg-inc li::before{content:"✓";color:var(--coral);font-weight:600}
.bg-need{font-size:15px;color:var(--body)}.bg-need a{color:var(--ink);text-underline-offset:4px}
.bg-form{grid-column:7/span 6;background:#fff;border:1px solid var(--gain);border-top:3px solid var(--coral);padding:32px;display:flex;flex-direction:column}
.bg-form label{font-size:14px;font-weight:500;margin:16px 0 6px}.bg-form label:first-of-type{margin-top:0}
.bg-form label small{font-weight:300;color:var(--body)}
.bg-form input{font:300 17px 'Hanken Grotesk',Helvetica,Arial,sans-serif;padding:14px;border:1px solid var(--gain);background:#fbfcfc;color:var(--ink);border-radius:0;-webkit-appearance:none}
.bg-form input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.bg-form .btn{margin-top:24px;border:0;cursor:pointer;font-family:inherit;justify-content:center}
.bg-form .btn[disabled]{opacity:.6;cursor:wait}
.bg-err{color:#c02626;font-size:15px;margin:12px 0 0;min-height:0}.bg-err:empty{display:none}
.bg-fine{font-size:13.5px;color:var(--body);margin-top:14px;line-height:1.5}
.bg-demo{background:#fff4d6;border:1px solid #e9c46a;color:#5c4500;font-size:14px;padding:10px 12px;margin:0 0 18px}

/* the hero stacks at 1100 (service.css): the fan goes under the words, centered */
@media (max-width:1100px){
  .bg-fan{grid-column:1/-1;width:min(620px,100%);margin:56px auto calc(-1 * var(--pb));min-height:470px}
  .bg-fan .fc{width:40%}
}
/* tablets */
@media (max-width:1023px){
  .bg-ba-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .bg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bg-ft{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bg-how-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
  .bg-buy-l,.bg-form{grid-column:1/-1}.bg-form{margin-top:40px}
  .bg-pop-in{grid-template-columns:minmax(0,1fr);gap:20px;max-width:640px}
  .bg-pop-meta h3{font-size:32px}
}
/* phones */
@media (max-width:640px){
  .bg-hero{--pb:72px}
  .bg-rows li{grid-template-columns:minmax(0,1fr);gap:6px;padding:24px 0}
  .bg-rows h3{font-size:28px}
  .bg-ba,.bg-gal{margin-top:96px;padding:80px 0}
  .bg-desk{aspect-ratio:.95}
  .bg-desk .mail{left:5%;top:5%;width:62%}.bg-desk .q{left:auto;right:9%;top:8%}
  .bg-desk .dl{right:4%;top:40%;bottom:auto;width:42%}.bg-desk .text{right:auto;left:5%;top:41%;bottom:auto}
  .bg-desk .note{right:auto;left:6%;top:55%;bottom:auto;width:36%}.bg-desk .trash{left:6%;bottom:4%;width:26%}
  .bg-desk .drive{left:auto;right:4%;bottom:5%;width:54%}
  .bg-fan{width:100%;margin:40px auto calc(-1 * var(--pb));min-height:min(80vw,310px)}
  .bg-fan .fc{width:44%}
  .bg-desk.clean{aspect-ratio:1.3}
  .bg-after .pill{font-size:15px;padding:13px 18px}
  .bg-after .win{left:3%;right:3%}
  .bg-steps{grid-template-columns:minmax(0,1fr);gap:8px}
  .bg-list{grid-template-columns:minmax(0,1fr);gap:28px}
  .bg-list h3,.bg-how-steps h3{font-size:26px}
  .bg-files{padding:22px}.bg-ft b{font-size:28px}
  .bg-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-left:-16px;margin-right:-16px;padding:0 16px 8px;scrollbar-width:none}
  .bg-grid::-webkit-scrollbar{display:none}
  .bg-card{flex:0 0 46%;scroll-snap-align:start}
  .bg-how-steps{grid-template-columns:minmax(0,1fr);gap:28px}
  .bg-amt b{font-size:72px}
  .bg-form{padding:24px 20px}
  .bg-pop{padding:16px;align-items:flex-start;padding-top:72px;overflow-y:auto}
  .bg-pop-view{height:52vh;height:52dvh}
  .bg-x{top:-52px;right:0}
}
@media (prefers-reduced-motion:reduce){
  .bg-fan .fc,.bg-card .mw,.bg-card .mw img,.bg-after .win,.bg-after .pill,.bg-after .cur{transition:none}
  .bg-fan .fc{opacity:1;transform:translateX(-50%) translateX(var(--x)) translateY(var(--y)) rotate(var(--r))}
  .bg-desk .it,.bg-desk .q{animation:none}
}

/* the opening line stays clear of the fan (Oct 29 2026) */
@media (min-width:1101px){.bg-hero .dek{max-width:520px}}
