:root {
  --paper:#f8f9f5; --ink:#243b31; --muted:#68756c; --green:#244a38; --line:#dce1d8;
  --serif:"Noto Serif CJK SC","Songti SC","STSong","SimSun",serif;
  font-family:"Inter","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  color:var(--ink); background:var(--paper); font-synthesis:none; -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:36px}
body{margin:0}
a{color:inherit;text-underline-offset:6px}
a:focus-visible{outline:2px solid #7d9c62;outline-offset:7px}
::selection{background:#d5e0c7;color:#243b31}
.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:absolute;top:12px;left:12px;z-index:5;padding:12px;background:white;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.draft-banner{padding:8px 20px;text-align:center;background:#e9ede3;color:#68745f;font-size:11px;letter-spacing:1px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:30px;border-bottom:1px solid var(--line);gap:24px}
.wordmark{font-family:Georgia,"Times New Roman",serif;font-size:43px;font-weight:400;line-height:1;letter-spacing:-2.5px;text-decoration:none}
.brand-dot{color:#89a365}
.site-header nav{display:flex;gap:38px;align-items:center;font-size:12px;letter-spacing:.5px}
.site-header nav a{text-decoration:none}
.site-header nav a:hover{text-decoration:underline}
.nav-contact{display:flex;align-items:center;gap:25px;border:1px solid #bec8b9;border-radius:30px;padding:12px 19px}
.hero{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:70px;padding-block:76px 59px}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.4px;line-height:1.8;margin:0 0 26px}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7a9566;margin:0 10px 1px 0}
h1{font-family:var(--serif);font-size:clamp(42px,4.5vw,66px);font-weight:400;letter-spacing:-2px;line-height:1.5;margin:0}
.hero-copy{padding-bottom:10px;max-width:300px;justify-self:end}
.small-mark{display:block;font-family:Georgia,serif;font-size:32px;line-height:1;margin-bottom:22px;color:#718568}
.intro{font-size:13px;line-height:2;color:var(--muted);margin:0 0 24px;overflow-wrap:anywhere}
.text-link{display:inline-flex;justify-content:space-between;align-items:center;min-width:150px;gap:28px;padding-bottom:10px;border-bottom:1px solid #aebba6;font-size:12px;text-decoration:none}
.text-link span,.nav-contact span{transition:transform .18s ease}
.text-link:hover span,.nav-contact:hover span{transform:translate(2px,-2px)}
.landscape{height:390px;position:relative;border-radius:9px;overflow:hidden;margin-block:0;isolation:isolate;background:#586b4f}
.landscape img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}
.landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#172c2010 25%,#172c2055 100%);pointer-events:none}
.landscape figcaption{position:absolute;bottom:31px;left:36px;right:36px;z-index:1;display:flex;justify-content:space-between;align-items:baseline;gap:20px;color:white;font-size:16px;letter-spacing:2px;font-family:var(--serif)}
.photo-note{font-family:system-ui,sans-serif;font-size:9px;letter-spacing:2px}
.image-corner{position:absolute;top:25px;left:36px;z-index:1;color:white;font-size:9px;letter-spacing:2px}
.section{padding-block:95px 100px;scroll-margin-top:24px}
.about{display:grid;grid-template-columns:1.1fr 1fr;gap:90px}
.section-heading .eyebrow{color:var(--muted);margin-bottom:23px}
h2{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.7;letter-spacing:-1px;margin:0}
.about-copy{padding-top:6px}
.detail-label{font-size:11px;color:var(--muted);margin:0 0 18px;letter-spacing:1px}
h3{font-size:20px;font-weight:450;margin:0 0 20px;line-height:1.6;overflow-wrap:anywhere}
.about-copy>p:not(.detail-label){font-size:13px;line-height:2.1;color:var(--muted);margin:0}
.about-copy .text-link{margin-top:28px}
.service-list{list-style:none;padding:0;margin:24px 0 0}
.service-list li{padding-block:13px;border-top:1px solid var(--line);font-size:13px;line-height:1.8}
.service-list li::before{content:"↗";margin-right:14px;color:var(--green)}
.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;background:#244334;color:#f2f3e9;border-radius:9px;padding:57px 60px;position:relative}
.contact-heading .eyebrow{color:#becbb6;margin-bottom:25px}
.contact h2{font-size:38px;line-height:1.65;margin-bottom:26px}
.contact-period{color:#c0d29c}
.contact-heading>p:last-child{font-size:12px;line-height:2;color:#becbb6;margin:0}
.contact-details{padding-top:77px}
.contact-arrow{position:absolute;right:55px;top:33px;color:#c0d29c;font-size:42px;font-weight:200}
.contact-details dl{margin:0}
.contact-details dl>div{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid #ffffff24}
.contact-details dl>div:last-child{margin:0;border:0;padding:0}
.contact-details dt{font-size:9px;letter-spacing:1.2px;color:#becbb6;margin-bottom:10px}
.contact-details dd{margin:0;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.contact-details dd a{text-decoration-color:#8d9f80}
.site-footer{display:flex;gap:24px;align-items:end;justify-content:space-between;padding-block:47px 32px}
.footer-brand{display:inline-block;font-size:32px;margin-bottom:17px}
.site-footer p{margin:0;font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.footer-links{display:flex;gap:25px;align-items:center}
.footer-links a{font-size:10px;color:var(--muted);text-decoration:none}
.footer-links a:hover{text-decoration:underline}
@media(max-width:1000px){
  .wrap{width:calc(100% - 72px)}
  .hero{gap:36px;grid-template-columns:1.7fr 1fr;padding-top:60px}
  h1{font-size:45px}
  .hero-copy{max-width:240px}
  .about{gap:50px}
  .contact{gap:40px;padding:45px 38px}
  .contact h2{font-size:30px}
  .contact-arrow{right:35px}
  .landscape{height:330px}
}
@media(max-width:600px){
  .wrap{width:calc(100% - 40px)}
  .draft-banner{font-size:9px;letter-spacing:0}
  .site-header{padding-block:20px}
  .wordmark{font-size:36px}
  .site-header nav{gap:20px;font-size:11px}
  .nav-contact{gap:17px;padding:9px 15px}
  .hero{grid-template-columns:1fr;gap:25px;padding-block:43px 34px}
  .eyebrow{font-size:9px;margin-bottom:18px}
  h1{font-size:clamp(33px,8.8vw,50px);letter-spacing:-1px;line-height:1.55}
  .hero-copy{max-width:100%;justify-self:start;padding:0}
  .small-mark{display:none}
  .intro{font-size:12px;margin-bottom:19px}
  .text-link{font-size:11px;min-width:130px}
  .landscape{height:290px;border-radius:6px}
  .landscape img{object-position:40% 50%}
  .landscape figcaption{left:20px;right:20px;bottom:21px;font-size:13px}
  .photo-note{display:none}
  .image-corner{left:20px;top:20px;font-size:7px;letter-spacing:1px}
  .about{grid-template-columns:1fr;gap:30px;padding-block:49px 51px}
  h2{font-size:30px;line-height:1.6}
  .section-heading .eyebrow{margin-bottom:15px}
  .detail-label{margin-bottom:12px}
  h3{font-size:18px;margin-bottom:14px}
  .contact{grid-template-columns:1fr;gap:34px;padding:34px 25px;border-radius:6px}
  .contact h2{font-size:29px}
  .contact-arrow{right:24px;top:22px;font-size:33px}
  .contact-heading .eyebrow{font-size:8px;margin-bottom:21px}
  .contact-details{padding-top:0}
  .contact-details dd{font-size:14px}
  .site-footer{padding-block:33px 26px;gap:20px;align-items:start}
  .footer-brand{font-size:30px}
  .footer-links{align-items:end;flex-direction:column-reverse;gap:19px;padding-top:5px;flex-shrink:0}
  .footer-links a{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
