
:root {
  --wa-ink: #11161A;
  --wa-yellow: #F2C300;
  --wa-ivory: #F7F3E8;
  --wa-gray: #B6B8B1;
  --wa-white: #FFFFFF;
  --wa-line: rgba(17,22,26,.12);
  --wa-max: 1440px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--wa-ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility} img{max-width:100%;display:block;height:auto} a{text-decoration:none;color:inherit} button,input,textarea,select{font:inherit}
.wa-shell{width:min(calc(100% - 96px),var(--wa-max));margin:0 auto}
.wa-site-header{position:fixed;top:0;left:0;right:0;z-index:999;padding:28px 0;mix-blend-mode:normal}
.admin-bar .wa-site-header{top:32px}
.wa-header-inner{width:min(calc(100% - 96px),var(--wa-max));margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.wa-logo{font-weight:800;letter-spacing:.12em;font-size:20px}
.wa-header-actions{display:flex;align-items:center;gap:24px}
.wa-talk-link{font-size:14px;font-weight:700;letter-spacing:.08em;border-bottom:2px solid currentColor;padding-bottom:6px}
.wa-menu-btn{width:54px;height:54px;border-radius:999px;border:0;background:var(--wa-yellow);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer}
.wa-menu-btn span{width:18px;height:2px;background:var(--wa-ink);display:block}
.wa-overlay-nav{position:fixed;top:98px;right:48px;background:#fff;border:1px solid var(--wa-line);border-radius:22px;padding:18px 22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 50px rgba(0,0,0,.08)}
.wa-overlay-nav a{font-size:18px;font-weight:600}
.wa-panel{position:relative}
.wa-hero-panel{min-height:100vh;display:flex;align-items:center;background:#fff;overflow:hidden}
.wa-hero-content{position:relative;z-index:2;padding:140px 0 80px}
.wa-overline{margin:0 0 28px;color:#B78700;font-weight:700;font-size:18px;letter-spacing:.35em}
.wa-hero-panel h1,.wa-page-hero h1{margin:0;max-width:760px;font-size:clamp(64px,6.4vw,106px);line-height:.96;letter-spacing:-.06em;font-weight:700}
.wa-lead{max-width:560px;margin:26px 0 0;font-size:22px;line-height:1.6;color:rgba(17,22,26,.72)}
.wa-pill-button{display:inline-flex;align-items:center;gap:18px;margin-top:42px;padding:18px 28px;border-radius:999px;background:var(--wa-yellow);font-size:15px;font-weight:800;letter-spacing:.1em}
.wa-pill-button span{font-size:20px;line-height:1}
.wa-pill-button-dark{background:var(--wa-ink);color:#fff}
.wa-bg-mark{position:absolute;right:8%;top:52%;transform:translateY(-50%);font-size:min(42vw,720px);font-weight:800;letter-spacing:-.1em;color:rgba(242,195,0,.08);line-height:.8;pointer-events:none}
.wa-scroll-label{position:absolute;right:34px;bottom:70px;writing-mode:vertical-rl;letter-spacing:.4em;font-size:12px;font-weight:700}
.wa-work-summary{padding:90px 0 80px;background:#fff;border-top:1px solid rgba(242,195,0,.25)}
.wa-section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:38px}
.wa-accent-line{display:block;width:28px;height:4px;background:var(--wa-yellow);margin-bottom:18px}
.wa-section-top h2{margin:0;font-size:64px;line-height:1;letter-spacing:-.05em}
.wa-section-top p{margin:14px 0 0;font-size:22px;color:rgba(17,22,26,.65)}
.wa-inline-link{font-size:18px;font-weight:700;display:inline-flex;align-items:center;gap:10px;margin-top:20px}
.wa-inline-link span{color:#B78700}
.wa-work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.wa-work-card{background:#fff}
.wa-card-thumb{aspect-ratio:1.15/1;background:linear-gradient(180deg,#faf8f0,#f3f0e4);border-radius:22px;overflow:hidden}
.wa-card-thumb img{width:100%;height:100%;object-fit:cover}
.wa-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:54px;font-weight:700;letter-spacing:-.05em;color:var(--wa-ink);background:linear-gradient(135deg,#fff7d1,#fafafa)}
.wa-card-meta{display:flex;justify-content:space-between;gap:18px;padding:16px 4px 0}
.wa-card-meta h3{margin:0 0 6px;font-size:42px;letter-spacing:-.04em}
.wa-card-meta p{margin:0;color:rgba(17,22,26,.62);font-size:18px}.wa-card-arrow{font-size:34px;color:#B78700}
.wa-brand-panel{min-height:76vh;display:flex;align-items:center;background:var(--wa-ivory)}
.wa-brand-copy{padding:100px 0}.wa-brand-copy h2{margin:0;max-width:1100px;font-size:clamp(56px,5.7vw,92px);line-height:1.06;letter-spacing:-.055em}
.wa-services-summary{padding:96px 0 100px;background:#fff}
.wa-services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--wa-line);border-bottom:1px solid var(--wa-line)}
.wa-service-card{padding:40px 34px 44px 0}.wa-service-card + .wa-service-card{border-left:1px solid var(--wa-line);padding-left:34px}.wa-service-card h3{margin:0 0 14px;font-size:42px;letter-spacing:-.04em}.wa-service-card p{margin:0 0 28px;font-size:18px;line-height:1.6;color:rgba(17,22,26,.7)}.wa-service-card a{font-weight:700;color:var(--wa-ink)}.wa-service-card a span{color:#B78700}
.wa-cta-panel{min-height:72vh;display:flex;align-items:center;background:var(--wa-yellow);overflow:hidden}.wa-cta-copy{position:relative;z-index:2;padding:110px 0}.wa-cta-copy h2{margin:0;max-width:800px;font-size:clamp(60px,6vw,98px);line-height:.98;letter-spacing:-.06em}
.wa-bg-mark-cta{color:rgba(255,255,255,.16);right:7%;top:55%}
.wa-footer{background:#fff;padding:60px 0 70px;border-top:1px solid rgba(242,195,0,.25)}
.wa-footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px}.wa-footer-logo{font-size:20px;font-weight:800;letter-spacing:.12em;margin-bottom:18px}.wa-footer-copy,.wa-footer p,.wa-footer a{font-size:20px;line-height:1.6}.wa-footer-title{font-size:14px;font-weight:800;letter-spacing:.18em;margin:0 0 20px}.wa-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.wa-page-main{padding-top:0}.wa-page-hero{padding:190px 0 80px;background:#fff;border-bottom:1px solid rgba(242,195,0,.25)}
.wa-service-section{padding:80px 0;border-bottom:1px solid var(--wa-line)}.wa-service-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.wa-service-index{margin:0 0 12px;color:#B78700;font-size:18px;font-weight:700;letter-spacing:.3em}.wa-service-row h2{margin:0;font-size:clamp(50px,5vw,86px);line-height:1;letter-spacing:-.05em}.wa-service-row div:last-child > p{font-size:24px;line-height:1.6;color:rgba(17,22,26,.78);margin:0 0 34px}.wa-service-row ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--wa-line)}.wa-service-row li{padding:18px 0;border-bottom:1px solid var(--wa-line);font-size:18px}
.wa-copy-section{padding:80px 0}.wa-copy-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px}.wa-copy-grid h2{margin:0;font-size:clamp(50px,5vw,80px);line-height:1;letter-spacing:-.05em}.wa-copy-grid p,.wa-single-copy,.wa-generic-copy{font-size:22px;line-height:1.7;color:rgba(17,22,26,.78)}
.wa-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wa-contact-form label{display:block;font-size:14px;font-weight:700;letter-spacing:.08em}.wa-contact-form input,.wa-contact-form textarea,.wa-contact-form select{display:block;width:100%;margin-top:10px;padding:16px 18px;border:1px solid var(--wa-line);border-radius:16px;background:#fff}.wa-contact-form .wa-full{grid-column:1/-1}
.wa-filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.wa-filter-bar span{padding:12px 18px;border:1px solid var(--wa-line);border-radius:999px;font-size:15px;font-weight:700}.wa-work-grid-archive{grid-template-columns:repeat(2,1fr)}.wa-project-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.wa-project-badges span{padding:12px 16px;border-radius:999px;border:1px solid var(--wa-line);font-size:15px;font-weight:700}.wa-single-thumb{margin-bottom:34px;border-radius:24px;overflow:hidden}.wa-single-copy{max-width:900px}
@media (max-width: 980px){.wa-shell,.wa-header-inner{width:calc(100% - 40px)}.wa-site-header{padding:18px 0}.wa-logo{font-size:16px}.wa-talk-link{font-size:12px}.wa-menu-btn{width:48px;height:48px}.wa-hero-panel h1,.wa-page-hero h1{font-size:clamp(48px,12vw,76px)}.wa-lead{font-size:19px}.wa-bg-mark{font-size:56vw;right:-4%}.wa-section-top{flex-direction:column}.wa-section-top h2{font-size:46px}.wa-section-top p{font-size:18px}.wa-work-grid,.wa-work-grid-archive,.wa-services-grid,.wa-footer-grid,.wa-service-row,.wa-copy-grid,.wa-contact-form{grid-template-columns:1fr}.wa-service-card + .wa-service-card{border-left:0;padding-left:0;border-top:1px solid var(--wa-line)}.wa-service-card{padding-right:0}.wa-card-meta h3{font-size:28px}.wa-card-meta p{font-size:16px}.wa-brand-copy h2,.wa-cta-copy h2{font-size:clamp(44px,10vw,64px)}.wa-footer p,.wa-footer a,.wa-footer-copy{font-size:18px}.wa-scroll-label{display:none}.wa-overlay-nav{top:82px;right:20px;left:20px}}


/* =========================================================
   MENU FIX v1.1
   Dropdown must remain hidden until the yellow menu button is clicked.
   ========================================================= */
.wa-overlay-nav[hidden] {
  display: none !important;
}

.wa-overlay-nav {
  position: fixed;
  top: 96px;
  right: max(48px, calc((100vw - var(--wa-max)) / 2));
  left: auto;
  min-width: 235px;
  padding: 22px 26px;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--wa-line);
  border-radius: 26px;
  box-shadow: 0 24px 60px rgba(17,22,26,.12);
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 1001;
  transform-origin: top right;
  animation: wa-menu-in .2s ease both;
}

.wa-overlay-nav a {
  display: block;
  padding: 11px 4px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: -.025em;
}

.wa-overlay-nav a:hover {
  color: #8A6A00;
}

.wa-menu-btn {
  position: relative;
  z-index: 1002;
}

.wa-menu-btn span {
  transition: transform .2s ease, opacity .2s ease;
}

.wa-menu-btn[aria-expanded="true"] span:first-child {
  transform: translateY(4px) rotate(45deg);
}

.wa-menu-btn[aria-expanded="true"] span:last-child {
  transform: translateY(-4px) rotate(-45deg);
}

@keyframes wa-menu-in {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 980px) {
  .wa-overlay-nav {
    top: 80px;
    right: 20px;
    left: 20px;
    min-width: 0;
  }
}
