/* A layered, editorial WebRevival experience. Native scrolling throughout. */
html { scroll-padding-top: 110px; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  width: 100%; min-height: 88px; padding-inline: max(40px, calc((100% - 1240px) / 2));
  background: #f6f5f1f5; border-bottom-color: transparent;
  transition: box-shadow .25s, background .25s;
  backdrop-filter: blur(12px);
}
.site-header.is-scrolled { box-shadow: 0 1px 0 #222b2815, 0 8px 24px #222b2808; }
.site-header::after {
  content: ''; position: absolute; bottom: 0; left: 0; height: 2px; width: 100%;
  background: var(--green); transform: scaleX(var(--reading-progress, 0)); transform-origin: left;
  pointer-events: none;
}
.revival-opening { position: relative; isolation: isolate; background: #e8eee5; }
.hero { position: relative; min-height: min(660px, 72svh); padding-top: 75px; padding-bottom: 100px; }
.hero::before {
  content: ''; position: absolute; z-index: -1; width: min(48vw, 570px); aspect-ratio: 1;
  right: 4%; top: 4%; border: 1px solid #9fb5a455; border-radius: 34% 66% 58% 42%;
  transform: rotate(-22deg); pointer-events: none;
}
.hero h1 { font-size: clamp(62px, 7.2vw, 100px); letter-spacing: -.065em; }
.hero h1 > span { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; letter-spacing: -.055em; }
.hero .eyebrow { color: #3c6150; }
.hero-copy { padding-top: 20px; }
.hero .intro { font-size: 27px; }
.button { border-radius: 100px; padding-inline: 26px; transition: background .2s, box-shadow .2s; }
.button:hover { box-shadow: 0 5px 16px #163c2520; }
.transformation { position: relative; z-index: 2; padding-top: 48px; padding-bottom: 60px; }
.transformation::before {
  content: ''; position: absolute; z-index: -1; top: 0; bottom: 0;
  left: calc((100% - 100vw) / 2); width: 100vw;
  background: var(--paper); border-radius: 64px 64px 0 0;
  box-shadow: 0 -18px 35px #253e2c07;
}
.comparison-shell { border-radius: 20px; }
.revival-route { margin-bottom: 38px; }
.revival-summary { border-top: 0; padding-top: 45px; padding-bottom: 100px; }
.industry-section { position: relative; border-radius: 56px 56px 0 0; background: #e9ede5; padding-bottom: 110px; }
.section-heading h2, .process > h2, .trust-section h2 { font-size: clamp(36px, 4.2vw, 56px); }
.industry-card { border-radius: 20px; box-shadow: 0 5px 18px #223b2b04; }
.case-visual { border-bottom: 0; }
.industry-card:hover { box-shadow: 0 18px 36px -22px #223b2b65; }
.preview-invitation.section.wrap {
  position: relative; z-index: 2; margin-top: -30px; margin-bottom: 90px;
  background: #174f3e; color: #f6f5f1; border-radius: 16px 72px 16px 16px;
  padding: 65px; gap: 60px; grid-template-columns: 1fr 1fr;
}
.preview-invitation h2 { font-size: clamp(46px, 5.8vw, 76px); }
.preview-invitation h2::after { content: '↗'; display: block; color: #a4d5be; font-size: 45px; margin-top: 25px; }
.preview-invitation > div > p:not(.large-copy):not(.eyebrow) { color: #d5e2d8; }
.preview-invitation .eyebrow { color: #b6d8c4; }
.preview-invitation .button { background: #dbe9d8; color: #174333; border-color: #dbe9d8; }
.preview-invitation .button:hover { background: #edf4e9; }
.preview-invitation :focus-visible { outline-color: #b6d8c4; }
.process { padding-bottom: 105px; }
.steps { gap: 48px; }
.steps article { padding-top: 28px; }
.steps article > span { background: #e6ede1; border: 0; width: 46px; height: 46px; }
.offer-section { border-radius: 56px 56px 0 0; padding-bottom: 125px; }
.offer { border-radius: 19px; }
.custom-section { position: relative; margin-top: -40px; border-radius: 56px 56px 0 0; padding-top: 95px; padding-bottom: 130px; }
.trust-section { position: relative; margin-top: -38px; border-radius: 56px 56px 0 0; background: #e5ece2; }
.trust-section .eyebrow { color: #3c6150; }
.trust-grid article > span { background: #d7e3d2; border-radius: 50%; }
.faq { padding-top: 90px; padding-bottom: 100px; }
.contact-section { border-radius: 64px 64px 0 0; background: #dce7d7; padding-top: 90px; padding-bottom: 90px; }
.contact-layout form { border-radius: 22px; }
.contact-layout h2 { font-size: clamp(44px, 4.8vw, 64px); }
.skip { position: fixed; z-index: 30; }
/* Entry effects never gate content visibility or intercept input. */
.entering { animation: section-arrive .65s cubic-bezier(.2,.65,.2,1) both; }
.entering:focus-within { animation: none; }
@keyframes section-arrive { from { opacity: .35; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 1000px) and (min-height: 700px) and (prefers-reduced-motion: no-preference) {
  .revival-opening .hero { position: sticky; top: 88px; }
}
@media (max-width: 1100px) {
  .site-header { padding-inline: 28px; }
  .hero { gap: 36px; }
  .hero h1 { font-size: clamp(58px, 7.5vw, 88px); }
  .preview-invitation.section.wrap { padding: 45px; gap: 35px; }
}
@media (max-width: 800px) {
  html { scroll-padding-top: 100px; }
  .site-header { min-height: 78px; padding-inline: 20px; }
  .js nav { top: 72px; left: 20px; right: 20px; border-radius: 15px; }
  .hero { min-height: 0; padding-top: 45px; padding-bottom: 65px; gap: 22px; }
  .hero h1 { font-size: clamp(51px, 11vw, 78px); }
  .hero-copy { padding-top: 0; }
  .hero .intro { font-size: 22px; }
  .hero::before { width: 68vw; top: 14%; right: 0; }
  .transformation { padding-top: 32px; padding-bottom: 40px; }
  .transformation::before { border-radius: 32px 32px 0 0; }
  .comparison-shell { border-radius: 14px; }
  .revival-route { margin-bottom: 25px; }
  .revival-summary { padding-top: 30px; padding-bottom: 60px; }
  .industry-section, .offer-section, .custom-section, .trust-section, .contact-section { border-radius: 32px 32px 0 0; }
  .industry-section { padding-bottom: 85px; }
  .section-heading h2, .process > h2, .trust-section h2 { font-size: 36px; }
  .preview-invitation.section.wrap { padding: 34px 26px; grid-template-columns: 1fr; gap: 30px; border-radius: 12px 48px 12px 12px; margin-bottom: 60px; }
  .preview-invitation h2 { font-size: 49px; }
  .preview-invitation h2::after { display: none; }
  .process { padding-bottom: 65px; }
  .steps { gap: 28px; }
  .steps article { grid-template-columns: 46px 1fr; }
  .offer-section { padding-bottom: 95px; }
  .custom-section { padding-top: 65px; padding-bottom: 95px; }
  .trust-section { margin-top: -30px; }
  .faq { padding-top: 60px; padding-bottom: 60px; }
  .contact-section { padding-top: 60px; padding-bottom: 60px; }
  .contact-layout h2 { font-size: 43px; }
}
@media (max-width: 420px) {
  .site-header { padding-inline: 16px; }
  .hero h1 { font-size: clamp(45px, 12vw, 51px); }
  .preview-invitation.section.wrap { padding: 30px 22px; }
  .preview-invitation .button { padding-inline: 18px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .entering { animation: none; }
  .revival-opening .hero { position: relative; top: auto; }
  .site-header, .button { transition: none; }
}
@media print {
  .site-header, .revival-opening .hero { position: static; }
  .entering { animation: none; }
  .transformation::before { display: none; }
}

.revival-opening { overflow: clip; }

/* Available projects and informational branches are separate. */
.project-switcher{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 22px}
.project-switcher button{flex:1;min-width:150px;border:1px solid var(--line);border-radius:12px;padding:12px 18px;background:transparent;text-align:left;cursor:pointer;font-weight:700}
.project-switcher small{display:block;font-size:11px;font-weight:400;color:var(--muted)}
.project-switcher button.active{background:#dce7d7;border-color:var(--green)}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.project-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.project-select{padding:0;border:0;background:transparent;text-align:left;cursor:pointer;flex:1}
.project-select.active{box-shadow:inset 0 -3px var(--green)}
.project-images{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1.7;overflow:hidden;border-bottom:1px solid var(--line)}
.project-images>span{display:block;position:relative;overflow:hidden;background:#fff;min-width:0}
.project-images>span+span{border-left:2px solid var(--green)}
.project-images img{height:100%;width:200%;max-width:none;object-fit:cover;object-position:top left;display:block}
.project-images>span+span img{margin-left:-100%}
.project-images i{position:absolute;bottom:10px;left:8px;background:#fff;color:var(--ink);font-size:8px;font-weight:700;font-style:normal;padding:4px 6px;border-radius:3px}
.project-copy{display:block;padding:24px}.project-copy h3{font-size:30px;margin:12px 0}.project-copy p{font-size:14px;color:var(--muted);margin-bottom:24px}.project-copy .case-action{display:block;color:var(--green);font-size:14px;font-weight:700}
.project-enlarge{align-self:flex-start;margin:0 24px 24px;font-size:13px}
.luw-mini-old{display:flex;flex-direction:column;gap:16px;padding:18px 10px;background:#d6d8c8;height:100%;font-family:Georgia,serif;font-size:10px}.luw-mini-old b{border:1px solid #858c74;padding:8px}.luw-mini-old small{text-decoration:underline}
.branches-heading{margin:65px 0 25px;max-width:700px}.branches-heading h3{font-size:30px;margin-bottom:16px}.branches-heading>p:last-child{color:var(--muted)}
.branch-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.branch-card{border-top:1px solid #b7c7b6;padding-top:20px}.branch-card h4{margin:0 0 12px;font-size:16px}.branch-card p{font-size:13px;color:var(--muted)}
@media(max-width:1000px){.project-grid{grid-template-columns:1fr}.project-images{aspect-ratio:2.2}.branch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.branch-grid{grid-template-columns:1fr 1fr}.project-switcher{gap:7px}.project-switcher button{min-width:0;padding:10px;font-size:12px}.project-switcher small{font-size:9px}.project-images{aspect-ratio:1.7}.project-copy{padding:22px}}
.project-select .case-status{color:var(--muted)}

/* Clear introductory packages within the existing visual system. */
.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}
.pricing-notice{font-size:14px;color:var(--muted);margin:-12px 0 28px}
.offers.pricing-offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pricing-offers .offer h3{font-size:clamp(28px,3vw,39px)}
.pricing-offers .offer .eyebrow{min-height:0}.pricing-offers .offer>p:not(.eyebrow){min-height:0}
.package-price{margin:28px 0 8px;display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.package-price strong{font-size:58px;font-weight:500;line-height:1;letter-spacing:-3px}.package-price span{font-size:14px;color:var(--muted)}
.pricing-offers .offer ul{flex:1;margin-top:25px}.pricing-offers .button{margin-top:auto;text-align:center}
.pricing-extras{margin-top:38px;border-top:1px solid var(--line);padding-top:32px}.pricing-extras .eyebrow{margin-bottom:12px}.pricing-extras h3{font-size:29px}.extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:26px}.extras-grid h4{font-size:20px;font-weight:500;line-height:1.3;margin:0 0 12px}.extra-price{font-size:15px}.extra-price strong{font-size:30px;font-weight:500;margin-right:5px}.extra-price span{color:var(--muted);font-size:13px}.extras-grid ul{padding-left:19px;font-size:14px;color:var(--muted);line-height:1.7;margin:16px 0}.extra-note{font-size:13px;color:var(--muted);max-width:480px}.offer-scope{font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:30px;padding-top:22px}.portfolio-scope{font-size:14px;color:#cbd2cc;margin-bottom:20px}
@media(max-width:800px){.offers.pricing-offers,.extras-grid{grid-template-columns:1fr}.pricing-offers .offer{padding:28px}.package-price strong{font-size:50px}.extras-grid{gap:28px}.extras-grid article+article{border-top:1px solid var(--line);padding-top:25px}.pricing-notice{margin-top:0}.pricing-offers .button{font-size:14px;padding-inline:16px}}
