:root{--ink:#1d293c;--yellow:#f8dc55;--paper:#fffef9;--muted:#616975;--soft-line:#dedfd8;--display:Georgia,"Times New Roman",serif}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{background:var(--paper);color:var(--ink)}
.site-nav-shell{position:sticky;top:0;z-index:5;background:var(--paper)}
.header{height:88px;padding:0 max(5.5%,calc((100% - 1320px)/2));border-bottom:1px solid var(--soft-line);gap:30px}
.header .logo,footer .logo{font-size:38px;letter-spacing:-2.8px}
.header nav{gap:clamp(18px,2.8vw,40px);margin-left:auto;font-size:14px}
.header nav a,.mobile-nav a,footer nav a{transition:color .18s ease}
.header nav a:hover,.mobile-nav a:hover,footer nav a:hover{color:#6b6031;opacity:1}
.header-cta{width:210px;min-width:210px;flex:0 0 210px;padding:12px 17px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);font-size:13px;text-align:center;white-space:nowrap}
.header-cta:hover{background:#32455b;color:var(--paper);box-shadow:0 5px 16px #1d293c18}
.header-cta span{margin-left:12px}
.inquiry-dialog{width:min(92vw,620px);max-width:none;padding:0;border:1px solid #dedfd8;border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #1d293c28}
.inquiry-dialog::backdrop{background:#14203380}
.inquiry-dialog-content{position:relative;padding:38px 42px 30px}
.inquiry-dialog-content>.section-label{margin:0 0 12px;color:#6d704f}
.inquiry-dialog h2{max-width:460px;margin:0;font-family:var(--display);font-size:clamp(30px,4vw,42px);font-weight:500;line-height:1.12;letter-spacing:-.8px}
.inquiry-dialog-intro{margin:13px 0 23px;color:var(--muted);font-size:14px;line-height:1.6}
.inquiry-dialog-close{position:absolute;top:15px;right:17px;width:38px;height:38px;border:1px solid var(--soft-line);border-radius:50%;background:transparent;color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.inquiry-options{display:grid;border-top:1px solid var(--soft-line)}
.inquiry-options a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 2px;border-bottom:1px solid var(--soft-line)}
.inquiry-options a:hover{color:#6d6030}
.inquiry-options strong,.inquiry-options small{display:block}
.inquiry-options strong{font-family:var(--display);font-size:19px;font-weight:500;line-height:1.3}
.inquiry-options small{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45}
.inquiry-options b{font-size:17px;font-weight:500}
.inquiry-dialog-email{margin:21px 0 0;color:var(--muted);font-size:12px}
.inquiry-dialog-email a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.mobile-nav{padding:17px 6% 24px;gap:16px;border-bottom:1px solid var(--soft-line)}
.home-hero{width:100%;max-width:none;min-height:620px;margin:0;padding:72px max(5.5%,calc((100% - 1320px)/2)) 58px;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:46px;background:var(--yellow)}
.home-hero .hero-copy{container-type:normal;max-width:690px;min-width:0;padding:0}
.home-hero .eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700}
.home-hero .small-line{width:24px;background:currentColor}
.home-hero h1{font-family:var(--display);font-size:clamp(43px,4.3vw,66px);font-weight:500;line-height:1.04;letter-spacing:-2.1px;margin:28px 0 20px;max-width:720px}
.home-hero .hero-copy>p:not(.hero-slogan){max-width:590px;font-size:16px;line-height:1.75;margin:0 0 25px;color:#303747}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.hero-actions .button,.why-closing .button{gap:22px;border-radius:3px;padding:15px 20px;font-size:14px}
.hero-actions .dark,.why-closing .dark{background:var(--ink);color:white}
.hero-actions .button:hover,.why-closing .button:hover{background:#34445e}
.hero-secondary-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:600;text-underline-offset:5px}
.hero-secondary-link:hover{text-decoration:underline}
.home-hero .hero-slogan{margin:34px 0 0;font-family:var(--display);font-size:19px;line-height:1.4;letter-spacing:.1px;color:#303747}
.home-hero .hero-slogan em{font-weight:700;font-style:normal}
.home-hero .hero-visual{width:calc(100% + 52px);min-width:0;min-height:0;margin:0 0 0 -26px;overflow:visible;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;align-self:center}
.home-hero .hero-visual img{position:static;display:block;width:116%;height:auto;max-width:none;object-fit:contain;object-position:center;border-radius:0;mask-image:none;-webkit-mask-image:none;mix-blend-mode:normal}
.section.services-section,.section.why-section{padding:104px max(5.5%,calc((100% - 1320px)/2))}
.services-section{background:#fffef9}
.services-section .section-heading{max-width:1320px;margin:0 auto 42px;align-items:end}
.services-section .section-label,.why-section .section-label{font-size:11px;letter-spacing:1.4px;color:#6d704f;margin-bottom:16px}
.services-section h2,.why-section h2{font-family:var(--display);font-size:clamp(38px,4vw,54px);font-weight:500;line-height:1.1;letter-spacing:-1.1px;margin:0}
.services-section .section-heading>p{max-width:470px;font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 3px}
.service-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.service-card{display:flex;flex-direction:column;min-width:0;min-height:342px;padding:26px 28px 24px;background:#f5f5ef;border:1px solid #e8e8df;border-radius:4px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-4px);border-color:#c9c7ac;box-shadow:0 12px 26px #1d293c0b}
.service-card-link{display:flex;flex:1;flex-direction:column;min-width:0;color:inherit;text-decoration:none}
.service-card-link:focus-visible{border-radius:2px}
.service-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.service-icon{display:grid;place-items:center;width:47px;height:47px;background:#f8dc55;border-radius:50%}
.service-icon svg{width:26px;height:26px;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-index,.advantage-number{font-size:12px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#757b7b}
.service-kicker{font-size:10px;letter-spacing:1.25px;font-weight:700;color:#6d704f;margin:0 0 8px}
.service-card h3{font-family:var(--display);font-size:27px;line-height:1.17;letter-spacing:-.4px;font-weight:500;margin:0 0 12px}
.service-description{font-size:14px;line-height:1.7;color:#555e6a;margin:0 0 25px;flex:1}
.service-link{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0 3px;border-top:1px solid #d8d9d1;font-size:13px;font-weight:700;line-height:1.5}
.service-link span:last-child{font-size:18px;transition:transform .18s ease}
.service-link:hover span:last-child{transform:translateX(4px)}
.why-section{background:var(--ink);color:#fffef9}
.why-heading{max-width:1320px;margin:0 auto 36px}
.why-section .section-label{color:#e2cd5f}
.why-section h2{font-size:clamp(40px,4vw,56px)}
.why-heading>p{max-width:660px;color:#d1d5dc;font-size:16px;line-height:1.7;margin:18px 0 0}
.advantage-list{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.advantage{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:25px 25px 23px;border:1px solid #ffffff28;border-radius:4px;background:#ffffff08;align-content:start}
.advantage-featured{grid-column:1/-1;grid-template-columns:50px minmax(0,1fr);padding:28px 30px}
.advantage-number{color:#e2cd5f;padding-top:4px}
.advantage h3{font-family:var(--display);font-size:23px;line-height:1.25;font-weight:500;letter-spacing:-.3px;margin:0 0 10px;color:#fffef9}
.advantage-featured h3{font-size:29px}
.advantage p{font-size:14px;line-height:1.7;color:#d1d5dc;margin:0 0 9px}
.advantage p:last-child{margin-bottom:0}
.advantage strong{color:#fffef9;font-weight:700}
.why-closing{max-width:1320px;margin:38px auto 0;padding-top:28px;border-top:1px solid #ffffff35;display:flex;align-items:center;justify-content:space-between;gap:25px}
.why-closing>p{font-family:var(--display);font-size:clamp(22px,2.4vw,31px);line-height:1.3;margin:0}
.why-closing em{font-style:italic;color:#e2cd5f}
.faq-block{max-width:1320px;margin:68px auto 0;padding-top:38px;border-top:1px solid #ffffff35;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:42px}
.faq-heading .section-label{font-size:10px;letter-spacing:1.2px;color:#e2cd5f;margin:0 0 13px}
.faq-heading h3{font:500 clamp(25px,2.6vw,34px)/1.2 var(--display);letter-spacing:-.5px;margin:0;color:#fffef9}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 30px}
.faq-item{padding-top:15px;border-top:1px solid #ffffff35}
.faq-item h4{font:500 18px/1.35 var(--display);letter-spacing:-.1px;color:#fffef9;margin:0 0 9px}
.faq-item p{font-size:13px;line-height:1.7;color:#d1d5dc;margin:0}
footer{padding:42px max(5.5%,calc((100% - 1320px)/2)) 20px;background:#fffef9}
.footer-top{max-width:1320px;margin:0 auto;gap:32px;padding-bottom:30px}
.footer-top p{font-size:12px;line-height:1.8;margin:0}
.footer-top p span{font-size:10px;letter-spacing:1px;color:#6b7180}
.footer-top nav{gap:20px;font-size:12px}
.back-top{flex:0 0 auto;border-radius:3px}
.footer-bottom{max-width:1320px;margin:0 auto;padding-top:16px;font-size:10px;color:#68707c}
@media(max-width:950px){
  .header{gap:20px}.header nav{gap:12px;font-size:12px}.header-cta{width:180px;min-width:180px;flex-basis:180px;padding:11px 13px;font-size:12px}
  .home-hero{min-height:0;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:28px;padding-top:62px;padding-bottom:48px}
  .home-hero h1{font-size:clamp(40px,5vw,53px);letter-spacing:-1.7px}
  .home-hero .hero-copy>p:not(.hero-slogan){font-size:15px}
  .home-hero .hero-visual{width:calc(100% + 32px);margin-left:-16px}
  .home-hero .hero-visual img{width:112%}
  .section.services-section,.section.why-section{padding-top:78px;padding-bottom:78px}
  .service-card{padding:23px 22px;min-height:354px}.service-card h3{font-size:23px}
  .advantage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.advantage:nth-child(4){grid-column:1/-1}
  .footer-top{flex-wrap:wrap}.footer-top nav{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:1200px){
  .header{height:76px;padding-left:6%;padding-right:6%}
  .header nav,.header-cta{display:none}
  .menu-toggle{display:block;border:0;background:transparent;font-size:23px;color:var(--ink);padding:8px}
  .mobile-nav{display:flex;flex-direction:column;gap:16px;background:var(--paper)}
}
@media(max-width:720px){
  .header{height:76px;padding-left:6%;padding-right:6%}.header .logo,footer .logo{font-size:35px}
  .header nav,.header-cta{display:none}.menu-toggle{display:block;border:0;background:transparent;font-size:23px;color:var(--ink);padding:8px}
  .home-hero{grid-template-columns:1fr;gap:26px;padding:45px 6% 34px}
  .home-hero .hero-copy{max-width:620px}.home-hero .eyebrow{font-size:10px}
  .home-hero h1{font-size:clamp(40px,8.8vw,58px);line-height:1.04;letter-spacing:-1.8px;margin:22px 0 17px}
  .home-hero .hero-copy>p:not(.hero-slogan){font-size:15px;line-height:1.7}
  .home-hero .hero-slogan{font-size:18px;margin-top:25px}
  .home-hero .hero-visual{width:108%;max-width:620px;margin:0 auto 0 -4%;}
  .home-hero .hero-visual img{width:108%}
  .section.services-section,.section.why-section{padding:68px 6%}
  .services-section .section-heading{display:block;margin-bottom:27px}
  .services-section .section-heading>p{margin-top:15px;font-size:14px}
  .service-grid{grid-template-columns:1fr;gap:12px}
  .service-card{min-height:0;padding:22px 22px 19px}.service-card-top{margin-bottom:19px}.service-card h3{font-size:25px}
  .service-description{margin-bottom:20px}
  .why-heading{margin-bottom:27px}.why-heading>p{font-size:14px;margin-top:14px}
  .faq-block{grid-template-columns:1fr;gap:20px;margin-top:48px;padding-top:28px}.faq-list{grid-template-columns:1fr;gap:18px}.faq-item h4{font-size:18px}.faq-item p{font-size:13px}
  .advantage-list{grid-template-columns:1fr;gap:11px}
  .advantage,.advantage-featured,.advantage:nth-child(4){grid-column:auto;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:21px 19px}
  .advantage h3,.advantage-featured h3{font-size:23px}.advantage p{font-size:13px;line-height:1.7}
  .why-closing{align-items:flex-start;flex-direction:column;margin-top:27px;padding-top:24px}.why-closing>p{font-size:25px}
  footer{padding:32px 6% 18px}.footer-top{align-items:flex-start;gap:17px}.footer-top>p{margin-top:8px}.footer-top nav{width:100%;margin:7px 0 0;justify-content:flex-start;gap:12px 20px;font-size:12px}.back-top{margin-left:auto}
  .footer-bottom{font-size:9px;gap:12px;line-height:1.5}
}
@media(max-width:520px){
  .inquiry-dialog-content{padding:34px 23px 25px}
  .inquiry-dialog h2{font-size:31px;padding-right:15px}
  .inquiry-options strong{font-size:17px}
}
@media(max-width:380px){
  .home-hero h1{font-size:38px}.hero-actions{align-items:flex-start;gap:8px 16px}.hero-actions .button{padding:14px 15px;font-size:13px}.service-card{padding:20px 18px}.footer-top .logo{font-size:31px}.footer-top p{font-size:10px}.footer-top p span{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .service-card,.service-link span:last-child,.header nav a,footer nav a{transition:none}
  .service-card:hover,.service-link:hover span:last-child{transform:none}
}

/* A warm focus ring stays distinct from the dark homepage closing section and footer. */
.why-section :focus-visible,footer :focus-visible{outline-color:var(--yellow)}
