*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --deep-green:#0B3D2E;
  --light-green:#0E5A4A;
  --vivid-orange:#FF6B35;
  --golden:#FFD700;
  --paper-white:#F7F5F0;
  --charcoal:#1A1A1A;
  --soft-white:#FFFFFF;
  --muted-slate:#6B7280;
  --line-beige:#D1C4A8;
  --font-heading:Impact,'Arial Black','Helvetica Neue',sans-serif;
  --font-body:'Noto Sans SC','PingFang SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;
  --space-xs:.25rem;
  --space-sm:.5rem;
  --space-md:1rem;
  --space-lg:1.5rem;
  --space-xl:2.25rem;
  --space-xxl:3.5rem;
  --container:1240px;
  --header-height:3.75rem;
  --radius-sm:4px;
  --radius-md:10px;
  --radius-lg:16px;
  --shadow-sm:0 2px 8px rgba(0,0,0,.08);
  --shadow-md:0 6px 24px rgba(0,0,0,.12);
  --shadow-lg:0 12px 40px rgba(0,0,0,.2);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1)
}
@media(min-width:768px){
  :root{--header-height:4.5rem}
}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.6;
  color:var(--charcoal);
  background:var(--paper-white);
  min-height:100vh
}
img,svg,video{display:block;max-width:100%}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
a{color:var(--deep-green);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--light-green)}
ul,ol{list-style:none}
h1,h2,h3,h4{
  font-family:var(--font-heading);
  font-weight:700;
  line-height:1.1;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-wrap:balance
}
p{text-wrap:pretty}
::selection{background:var(--vivid-orange);color:var(--soft-white)}
:focus-visible{outline:3px solid var(--vivid-orange);outline-offset:2px;border-radius:2px}
#main-content{display:block;scroll-margin-top:var(--header-height)}

.ly-container{
  width:min(100% - 2rem,var(--container));
  margin-inline:auto
}
.ly-container--narrow{width:min(100% - 2rem,760px)}

.ly-section{padding:var(--space-xxl) 0}
.ly-section--tight{padding:var(--space-xl) 0}
.ly-section--alt{background:var(--deep-green);color:var(--soft-white)}
.ly-section--paper{background:var(--paper-white)}
.ly-section--white{background:var(--soft-white)}

.ly-overline{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-size:.8125rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted-slate)
}
.ly-overline::before{
  content:"";
  display:inline-block;
  width:1.75rem;
  height:2px;
  background:var(--vivid-orange);
  border-radius:2px;
  flex-shrink:0
}
.ly-overline--light{color:rgba(255,255,255,.72)}
.ly-overline--light::before{width:1.75rem;height:3px;background:var(--golden)}

.ly-title-lg{
  font-family:var(--font-heading);
  font-size:clamp(2.25rem,5vw,4.5rem);
  font-weight:700;
  font-style:italic;
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--charcoal)
}
.ly-title-md{
  font-family:var(--font-heading);
  font-size:clamp(1.5rem,3vw,2.375rem);
  font-weight:700;
  font-style:italic;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
  color:var(--charcoal)
}
.ly-lead{
  font-size:1.125rem;
  line-height:1.7;
  color:var(--muted-slate);
  max-width:60ch
}
.ly-note{
  font-size:.875rem;
  color:var(--muted-slate);
  border-left:3px solid var(--line-beige);
  padding-left:var(--space-md);
  line-height:1.5
}
.ly-index{
  font-family:var(--font-heading);
  font-size:clamp(2.75rem,8vw,5.5rem);
  font-weight:700;
  font-style:italic;
  line-height:1;
  color:rgba(255,107,53,.18);
  -webkit-text-stroke:2px var(--vivid-orange);
  user-select:none
}
.ly-rule{border:0;border-top:2px solid var(--line-beige);margin:var(--space-xl) 0}

.ly-btn{
  display:inline-block;
  padding:.875rem 1.75rem;
  font-family:var(--font-body);
  font-size:.9375rem;
  font-weight:600;
  line-height:1;
  color:var(--soft-white);
  background:var(--vivid-orange);
  border:2px solid var(--vivid-orange);
  border-radius:var(--radius-sm);
  cursor:pointer;
  text-align:center;
  letter-spacing:.02em;
  position:relative;
  overflow:hidden;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease
}
.ly-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-80%;
  width:45%;
  height:100%;
  background:rgba(255,255,255,.22);
  transform:skewX(-25deg);
  transition:left .45s var(--ease)
}
.ly-btn:hover{
  background:#E55528;
  border-color:#E55528;
  color:var(--soft-white);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(255,107,53,.28)
}
.ly-btn:hover::before{left:130%}
.ly-btn:active{transform:translateY(0);box-shadow:none}
.ly-btn--ghost{
  background:transparent;
  color:var(--soft-white);
  border-color:rgba(255,255,255,.6)
}
.ly-btn--ghost::before{display:none}
.ly-btn--ghost:hover{
  background:rgba(255,255,255,.1);
  border-color:var(--soft-white);
  color:var(--soft-white);
  box-shadow:none
}
.ly-btn--dark{
  background:transparent;
  color:var(--charcoal);
  border-color:var(--charcoal)
}
.ly-btn--dark::before{display:none}
.ly-btn--dark:hover{
  background:var(--charcoal);
  color:var(--soft-white);
  border-color:var(--charcoal);
  box-shadow:none
}
.ly-btn--sm{padding:.625rem 1.125rem;font-size:.8125rem}

.ly-breadcrumb{margin-bottom:var(--space-lg)}
.ly-breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.375rem;
  font-size:.875rem;
  color:var(--muted-slate)
}
.ly-breadcrumb__item{display:inline-flex;align-items:center}
.ly-breadcrumb__item+.ly-breadcrumb__item::before{
  content:"/";
  color:var(--line-beige);
  margin-right:.375rem
}
.ly-breadcrumb__link{color:var(--muted-slate)}
.ly-breadcrumb__link:hover{color:var(--vivid-orange)}
.ly-breadcrumb__current{color:var(--deep-green);font-weight:600}
.ly-breadcrumb--light .ly-breadcrumb__link{color:rgba(255,255,255,.6)}
.ly-breadcrumb--light .ly-breadcrumb__link:hover{color:var(--golden)}
.ly-breadcrumb--light .ly-breadcrumb__current{color:var(--soft-white)}
.ly-breadcrumb--light .ly-breadcrumb__item+.ly-breadcrumb__item::before{color:rgba(255,255,255,.3)}

.ly-grid{display:grid;gap:var(--space-lg)}
.ly-grid--2,.ly-grid--3,.ly-grid--4{grid-template-columns:1fr}
@media(min-width:640px){.ly-grid--2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){
  .ly-grid--3,.ly-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1024px){
  .ly-grid--3{grid-template-columns:repeat(3,1fr)}
  .ly-grid--4{grid-template-columns:repeat(4,1fr)}
}
.ly-grid--aside{grid-template-columns:1fr;align-items:start}
@media(min-width:992px){
  .ly-grid--aside{
    grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);
    gap:var(--space-xl)
  }
}
.ly-grid__main,.ly-grid__aside{min-width:0}

.ly-card{
  background:var(--soft-white);
  border:1px solid var(--line-beige);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s ease
}
.ly-card--hover:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
  border-color:var(--line-beige)
}
.ly-card--paper{
  background:var(--paper-white);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 2px 10px rgba(0,0,0,.05)
}
.ly-card__media{
  position:relative;
  overflow:hidden;
  aspect-ratio:16/9
}
.ly-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s var(--ease)
}
.ly-card:hover .ly-card__media img{transform:scale(1.04)}
.ly-card__body{padding:var(--space-lg)}
.ly-card__title{
  font-family:var(--font-body);
  font-size:1.125rem;
  font-weight:700;
  line-height:1.3;
  color:var(--charcoal);
  margin-bottom:var(--space-xs);
  text-transform:none;
  letter-spacing:0
}
.ly-card__meta{
  font-size:.8125rem;
  color:var(--muted-slate);
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
  margin-bottom:var(--space-sm)
}

.ly-img-frame{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-sm);
  aspect-ratio:16/9;
  background:
    repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 10px,transparent 10px 20px),
    linear-gradient(145deg,var(--light-green),var(--deep-green))
}
.ly-img-frame--4x3{aspect-ratio:4/3}
.ly-img-frame--3x2{aspect-ratio:3/2}
.ly-img-frame--square{aspect-ratio:1/1}
.ly-img-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:relative;
  z-index:1
}
.ly-img-frame--overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(11,61,46,.55) 100%);
  pointer-events:none;
  z-index:2
}

.ly-tag{
  display:inline-block;
  padding:.25rem .75rem;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  border-radius:999px;
  border:1px solid var(--line-beige);
  color:var(--muted-slate);
  background:transparent
}
.ly-tag--accent{
  background:var(--vivid-orange);
  border-color:var(--vivid-orange);
  color:var(--soft-white)
}
.ly-tag--gold{
  background:var(--golden);
  border-color:var(--golden);
  color:var(--charcoal)
}
.ly-tag--green{
  background:var(--light-green);
  border-color:var(--light-green);
  color:var(--soft-white)
}

.ly-panel{
  background:var(--soft-white);
  border:1px solid var(--line-beige);
  border-radius:var(--radius-md);
  padding:var(--space-lg)
}
.ly-panel--dark{
  background:var(--deep-green);
  color:var(--soft-white);
  border-color:var(--deep-green)
}
.ly-panel--dark .ly-card__title{color:var(--soft-white)}
.ly-paper{
  background:var(--paper-white);
  border:1px solid var(--line-beige);
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 8px 24px rgba(0,0,0,.05)
}

html.js [data-reveal]{
  opacity:0;
  transform:translateY(1.5rem);
  transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);
  will-change:opacity,transform
}
html.js [data-reveal].is-revealed{
  opacity:1;
  transform:translateY(0)
}

.ly-skip{
  position:absolute;
  top:-5rem;
  left:1rem;
  z-index:1200;
  background:var(--vivid-orange);
  color:var(--soft-white);
  font-weight:700;
  font-size:.875rem;
  padding:.75rem 1.25rem;
  border-radius:0 0 6px 6px;
  box-shadow:0 4px 16px rgba(0,0,0,.25);
  transition:top .25s var(--ease)
}
.ly-skip:focus{
  top:0;
  outline:none;
  border-bottom:3px solid var(--golden)
}

.ly-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  background:linear-gradient(180deg,rgba(11,61,46,.5) 0%,rgba(11,61,46,0) 100%);
  transition:background-color .35s var(--ease),box-shadow .35s var(--ease)
}
.ly-header.is-scrolled{
  background:var(--deep-green);
  box-shadow:0 4px 24px rgba(0,0,0,.2)
}
.ly-header.is-scrolled::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,var(--vivid-orange) 0%,var(--golden) 100%);
  pointer-events:none
}
.ly-progress{
  position:absolute;
  top:0;
  left:0;
  height:3px;
  width:0;
  z-index:10;
  background:linear-gradient(90deg,var(--vivid-orange),var(--golden));
  pointer-events:none
}
.ly-header__bar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:var(--header-height)
}

.ly-brand{
  display:inline-flex;
  align-items:center;
  gap:.625rem;
  color:var(--soft-white);
  text-decoration:none;
  flex-shrink:0
}
.ly-brand:hover{color:var(--soft-white)}
.ly-brand__mark{
  position:relative;
  width:2.125rem;
  height:2.125rem;
  border-radius:50%;
  background:var(--vivid-orange);
  overflow:hidden;
  flex-shrink:0;
  box-shadow:0 0 0 2px rgba(255,255,255,.28);
  transition:transform .35s var(--ease)
}
.ly-brand:hover .ly-brand__mark{transform:rotate(45deg)}
.ly-brand__mark::before{
  content:"";
  position:absolute;
  top:-20%;
  left:-20%;
  width:140%;
  height:140%;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.85) 0 2px,transparent 2px 6px);
  opacity:.65
}
.ly-brand__mark::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:var(--soft-white);
  transform:translate(-50%,-50%);
  box-shadow:0 0 8px rgba(255,255,255,.8)
}
.ly-brand__text{
  font-family:var(--font-heading);
  font-size:1.375rem;
  font-weight:700;
  font-style:italic;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  color:var(--soft-white)
}

.ly-nav__list{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:.75rem 1rem
}
.ly-nav__link{
  position:relative;
  display:block;
  padding:.875rem .75rem;
  font-size:1rem;
  font-weight:600;
  color:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:background .2s ease,color .2s ease,padding-left .2s ease
}
.ly-nav__link:hover{
  color:var(--soft-white);
  background:rgba(255,255,255,.06);
  padding-left:1rem
}
.ly-nav__link[aria-current="page"]{
  color:var(--soft-white);
  background:rgba(255,107,53,.18);
  padding-left:1rem
}

.ly-nav-toggle{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .875rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:var(--radius-sm);
  font-family:var(--font-body);
  font-size:.875rem;
  font-weight:600;
  color:var(--soft-white);
  background:rgba(11,61,46,.25);
  transition:background .2s ease,border-color .2s ease
}
.ly-nav-toggle:hover{
  border-color:var(--soft-white);
  background:rgba(255,255,255,.1)
}
.ly-nav-toggle__label{line-height:1}
.ly-nav-toggle__box{
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:1.125rem
}
.ly-nav-toggle__bar{
  display:block;
  height:2px;
  width:100%;
  background:currentColor;
  border-radius:2px;
  transition:transform .25s var(--ease),opacity .2s ease
}
.ly-nav-toggle[aria-expanded="true"] .ly-nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ly-nav-toggle[aria-expanded="true"] .ly-nav-toggle__bar:nth-child(2){opacity:0}
.ly-nav-toggle[aria-expanded="true"] .ly-nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media(max-width:900px){
  .ly-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:900;
    background:var(--deep-green);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 24px 40px rgba(0,0,0,.35);
    opacity:0;
    visibility:hidden;
    transform:translateY(-.5rem);
    transition:opacity .25s ease,transform .3s var(--ease),visibility 0s linear .3s
  }
  .ly-nav[data-open]{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition:opacity .3s ease,transform .3s var(--ease),visibility 0s
  }
}
@media(min-width:901px){
  .ly-nav-toggle{display:none}
  .ly-nav{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
    border-top:none;
    box-shadow:none
  }
  .ly-nav__list{
    flex-direction:row;
    align-items:center;
    gap:.25rem;
    padding:0
  }
  .ly-nav__link{
    padding:.5rem .875rem;
    font-size:.9375rem;
    border-bottom:none;
    border-radius:var(--radius-sm)
  }
  .ly-nav__link::after{
    content:"";
    position:absolute;
    left:.875rem;
    right:.875rem;
    bottom:.125rem;
    height:2px;
    background:var(--vivid-orange);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s var(--ease)
  }
  .ly-nav__link:hover{
    background:rgba(255,255,255,.08);
    padding-left:.875rem
  }
  .ly-nav__link:hover::after,
  .ly-nav__link[aria-current="page"]::after{transform:scaleX(1)}
  .ly-nav__link[aria-current="page"]{
    background:rgba(255,255,255,.08);
    padding-left:.875rem
  }
}

.ly-footer{
  background:var(--deep-green);
  color:var(--soft-white);
  position:relative
}
.ly-footer__top{padding:var(--space-xxl) 0}
.ly-footer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-xl)
}
@media(min-width:768px){
  .ly-footer__grid{grid-template-columns:1fr 1fr}
}
@media(min-width:1080px){
  .ly-footer__grid{
    grid-template-columns:2fr 1fr 1fr 1.4fr;
    gap:var(--space-xl)
  }
}
.ly-footer__brand-col{
  display:flex;
  flex-direction:column;
  gap:var(--space-lg)
}
.ly-footer__trust{
  font-size:.9375rem;
  color:rgba(255,255,255,.72);
  line-height:1.7;
  max-width:34ch
}
.ly-footer .ly-brand:hover .ly-brand__text{color:var(--golden)}
.ly-footer .ly-brand__mark{box-shadow:0 0 0 2px rgba(255,215,0,.35)}
.ly-footer__col h2{
  font-family:var(--font-body);
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--golden);
  margin-bottom:var(--space-md);
  padding-bottom:var(--space-xs);
  border-bottom:1px solid rgba(255,255,255,.15);
  text-align:left
}
.ly-footer__list li+li{margin-top:.5rem}
.ly-footer__link{
  color:rgba(255,255,255,.75);
  font-size:.925rem;
  transition:color .2s ease,padding-left .2s ease
}
.ly-footer__link:hover{
  color:var(--soft-white);
  padding-left:.25rem
}
.ly-footer__contact .ly-footer__list li{
  color:rgba(255,255,255,.75);
  font-size:.875rem;
  line-height:1.6
}
.ly-footer__bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding:var(--space-md) 0
}
.ly-footer__bottom-inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:.375rem;
  text-align:center;
  color:rgba(255,255,255,.5);
  font-size:.8125rem
}
@media(min-width:768px){
  .ly-footer__bottom-inner{
    flex-direction:row;
    text-align:left
  }
}
.ly-footer__bottom-inner p{margin:0}

.ly-top{
  position:fixed;
  right:1.25rem;
  bottom:1.25rem;
  z-index:950;
  width:3rem;
  height:3rem;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid var(--vivid-orange);
  background:var(--deep-green);
  color:var(--soft-white);
  font-size:1.375rem;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.3);
  opacity:0;
  visibility:hidden;
  transform:translateY(.75rem);
  transition:opacity .3s ease,transform .3s var(--ease),visibility 0s linear .3s,background .2s ease
}
.ly-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity .3s ease,transform .3s var(--ease),visibility 0s
}
.ly-top:hover{
  background:var(--light-green);
  border-color:var(--golden)
}
.ly-top:active{transform:scale(.94)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important
  }
  html.js [data-reveal]{
    opacity:1;
    transform:none
  }
}
