:root { --forest:#0f3c30; --forest-deep:#092b23; --olive:#c6ce72; --olive-light:#e9edc7; --cream:#f7f6ef; --ink:#1b2c25; --muted:#63716a; --line:#d9dfd2; --white:#fff; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:var(--cream); font:16px/1.62 Arial,Helvetica,sans-serif; }
    a { color:inherit; }
    img { display:block; max-width:100%; }
    .wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
    .eyebrow { display:inline-flex; align-items:center; gap:10px; color:#537c4e; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
    .eyebrow:before { content:""; width:24px; height:2px; background:currentColor; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { line-height:1.1; }
    h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; }
    h1 { font-size:clamp(40px,4vw,58px); letter-spacing:-.045em; }
    h2 { font-size:clamp(30px,3.2vw,44px); letter-spacing:-.035em; }
    h3 { font-size:22px; }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:50px; padding:13px 22px; border:1px solid var(--forest); background:var(--forest); color:#fff; text-decoration:none; font-weight:700; font-size:14px; transition:transform .2s,background .2s,color .2s; }
    .button:hover { transform:translateY(-2px); background:var(--forest-deep); }
    .button.light { background:transparent; color:var(--forest); }
    .button.light:hover { background:var(--olive-light); }
    .arrow { font-size:20px; line-height:1; }
    .topline { background:var(--forest-deep); color:#d9e6d7; font-size:12px; }
    .topline .wrap { display:flex; justify-content:space-between; gap:20px; padding:7px 0; }
    .topline a { text-decoration:none; }
    .site-header { background:var(--forest); color:#fff; border-bottom:1px solid rgba(255,255,255,.12); }
    .site-header .wrap { display:flex; align-items:center; min-height:116px; gap:24px; }
    .brand { width:302px; flex:0 0 auto; }
    .brand img { width:250px; height:auto; }
    .nav { display:flex; align-items:center; gap:32px; margin-left:auto; }
    .nav a { color:#eef2e9; text-decoration:none; font-size:14px; font-weight:700; white-space:nowrap; }
    .nav a:hover,.nav a[aria-current="page"] { color:var(--olive); }
    .nav-group { position:relative; display:flex; align-items:center; gap:7px; }
    .nav-group > a { display:block; }
    .submenu-toggle { display:grid; place-items:center; flex:0 0 auto; width:18px; height:24px; margin:0; padding:0; border:0; background:none; color:var(--olive); cursor:pointer; font-size:0; }
    .submenu-toggle::before { content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
    .submenu-toggle[aria-expanded="true"]::before { transform:translateY(2px) rotate(225deg); }
    .submenu { display:none; position:absolute; z-index:20; top:100%; left:-18px; min-width:220px; padding:12px; background:var(--forest-deep); box-shadow:0 12px 24px rgba(0,0,0,.2); }
    .nav-group:hover .submenu,.nav-group:focus-within .submenu { display:grid; }
    .submenu a { padding:7px 9px; font-size:13px; white-space:normal; }
    .nav .nav-contact { padding:11px 17px; border:1px solid var(--olive); color:var(--olive); }
    .menu-toggle { display:none; margin-left:auto; border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff; padding:9px 12px; font-size:20px; cursor:pointer; }
    .hero { background:linear-gradient(105deg,#f5f5ea 0%,#f5f5ea 53%,#e7e9d7 53%,#e7e9d7 100%); overflow:hidden; }
    .hero-grid { display:grid; grid-template-columns:1fr 49%; min-height:595px; align-items:stretch; }
    .hero-copy { display:flex; flex-direction:column; justify-content:center; padding:58px 58px 72px 0; }
    .hero h1 { max-width:680px; margin:22px 0 21px; }
    .hero h1 span { color:#6e7e38; }
    .hero p { max-width:560px; color:#4b5b51; font-size:17px; }
    .hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
    .hero-image { position:relative; min-height:500px; margin-right:calc((min(1180px,100vw - 48px) - 100vw)/2); }
    .hero-image:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,33,26,.15),transparent 35%),linear-gradient(0deg,rgba(7,33,26,.42),transparent 45%); z-index:1; }
    .hero-image img { width:100%; height:100%; object-fit:cover; object-position:55% 50%; }
    .hero-caption { position:absolute; z-index:2; right:34px; bottom:25px; color:#fff; font-size:12px; letter-spacing:.04em; }
    .intro-strip { background:var(--forest); color:#f1f4ed; }
    .intro-strip .wrap { display:grid; grid-template-columns:230px 1fr 235px; gap:35px; align-items:center; padding:35px 0; }
    .intro-strip strong { color:var(--olive); font:34px Georgia,serif; font-weight:500; }
    .intro-strip p { margin:0; font-size:15px; line-height:1.7; }
    .intro-strip a { color:var(--olive); font-weight:700; font-size:13px; text-decoration:none; }
    section { padding:92px 0; }
    .section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:32px; }
    .section-head h2 { max-width:780px; margin:15px 0 0; }
    .section-head p { max-width:420px; margin:0 0 5px; color:var(--muted); }
    .section-link { color:var(--forest); font-size:14px; font-weight:800; text-decoration:none; white-space:nowrap; border-bottom:1px solid var(--forest); padding-bottom:4px; }
    .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .service-card { background:#fff; border:1px solid var(--line); text-decoration:none; overflow:hidden; transition:transform .2s,box-shadow .2s; }
    .service-card:hover,.catalog-card:hover { transform:translateY(-4px); box-shadow:0 15px 35px rgba(9,43,35,.10); }
    .service-card .photo { height:220px; overflow:hidden; background:#d9dccb; }
    .service-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
    .service-card:hover img,.catalog-card:hover img { transform:scale(1.035); }
    .service-card .content { padding:25px 26px 28px; }
    .service-card small { color:#79904e; font-size:11px; font-weight:800; letter-spacing:.12em; }
    .service-card h3 { margin:10px 0; font-family:Georgia,serif; font-weight:500; font-size:25px; }
    .service-card p { color:var(--muted); font-size:14px; margin-bottom:18px; min-height:45px; }
    .card-action { color:var(--forest); font-size:13px; font-weight:800; }
    .catalog { background:#eef0e6; }
    .catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .catalog-card { position:relative; min-height:330px; background:var(--forest); color:#fff; text-decoration:none; overflow:hidden; transition:transform .2s,box-shadow .2s; }
    .catalog-card img { width:100%; height:330px; object-fit:cover; transition:transform .5s; }
    .catalog-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,22,17,.85),transparent 60%); }
    .catalog-card .label { position:absolute; z-index:1; bottom:25px; left:25px; right:25px; }
    .catalog-card small { color:var(--olive); font-size:11px; font-weight:800; letter-spacing:.12em; }
    .catalog-card h3 { margin:8px 0 0; font:29px Georgia,serif; }
    .feature { background:var(--forest-deep); color:#fff; }
    .feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
    .feature-image { height:420px; overflow:hidden; }
    .feature-image img { width:100%; height:100%; object-fit:cover; }
    .feature .eyebrow { color:var(--olive); }
    .feature h2 { margin:18px 0; }
    .feature p { color:#d0dcd1; max-width:525px; }
    .feature .button { margin-top:15px; border-color:var(--olive); background:var(--olive); color:var(--forest-deep); }
    .editorial-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:18px; }
    .editorial-card { display:flex; flex-direction:column; justify-content:space-between; min-height:210px; padding:28px; background:#fff; border:1px solid var(--line); text-decoration:none; }
    .editorial-card:first-child { background:var(--olive-light); }
    .editorial-card small { color:#6c7a55; font-size:11px; font-weight:800; letter-spacing:.1em; }
    .editorial-card h3 { margin:20px 0; font:25px/1.24 Georgia,serif; }
    .editorial-card .arrow { color:var(--forest); }
    .contact-band { background:var(--olive); padding:58px 0; }
    .contact-band .wrap { display:flex; align-items:center; justify-content:space-between; gap:30px; }
    .contact-band h2 { margin:0; font-size:36px; }
    .contact-band p { margin:8px 0 0; }
    .footer { background:var(--forest-deep); color:#d7e2d7; padding:58px 0 28px; }
    .footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:35px; padding-bottom:50px; }
    .footer img { width:220px; }
    .footer p { max-width:350px; color:#b8c9bc; font-size:14px; }
    .footer h3 { font:19px Georgia,serif; color:#fff; }
    .footer a { display:block; margin:7px 0; color:#d7e2d7; text-decoration:none; font-size:14px; }
    .footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 18px; border-top:1px solid rgba(255,255,255,.16); padding-top:21px; color:#a6b9a9; font-size:12px; }
    .footer-credit { margin-left:auto; text-align:right; }
    .footer-bottom a { display:inline; margin:0; color:inherit; font-size:inherit; text-decoration:underline; text-underline-offset:3px; }
    @media (max-width:950px) {
      .brand { width:auto; }
      .brand img { width:215px; }
      .nav { gap:16px; }
      .nav a { font-size:12px; }
      .hero-grid { grid-template-columns:1fr 46%; }
      .hero-copy { padding-right:26px; }
      .intro-strip .wrap { grid-template-columns:150px 1fr; }
      .intro-strip a { grid-column:2; }
    }
    @media (max-width:700px) {
      .wrap { width:min(100% - 32px,520px); }
      .topline .wrap { justify-content:center; }
      .topline span:last-child { display:none; }
      .site-header .wrap { min-height:92px; }
      .brand img { width:202px; }
      .menu-toggle { display:block; }
      .nav { display:none; position:absolute; z-index:10; left:0; right:0; top:calc(92px + 32px); margin:0; padding:16px 24px 25px; flex-direction:column; align-items:stretch; gap:0; background:var(--forest-deep); box-shadow:0 16px 25px rgba(0,0,0,.18); }
      .nav.open { display:flex; }
      .nav a { padding:11px 4px; font-size:15px; }
      .submenu { display:grid; position:static; padding:0 0 5px 16px; min-width:0; box-shadow:none; background:transparent; }
      .submenu a { padding:6px 4px; color:#cbd8c9; font-size:13px; }
      .nav-group { display:block; }
      .nav .nav-contact { margin-top:10px; text-align:center; }
      .hero { background:#f5f5ea; }
      .hero-grid { display:flex; flex-direction:column; }
      .hero-copy { padding:62px 0 50px; }
      .hero h1 { font-size:clamp(44px,10vw,62px); }
      .hero p { font-size:16px; }
      .hero-image { min-height:330px; margin:0 -16px; }
      .hero-image img { height:330px; }
      .intro-strip .wrap { display:block; padding:30px 0; }
      .intro-strip strong { display:block; margin-bottom:12px; }
      .intro-strip p { margin-bottom:14px; }
      section { padding:68px 0; }
      .section-head { display:block; }
      .section-head p { margin:16px 0; }
      .service-grid,.catalog-grid,.editorial-grid,.feature-grid,.footer-grid { grid-template-columns:1fr; }
      .service-card .photo { height:210px; }
      .service-card p { min-height:0; }
      .catalog-card,.catalog-card img { height:300px; min-height:300px; }
      .feature-grid { gap:30px; }
      .feature-image { height:320px; }
      .contact-band .wrap { display:block; }
      .contact-band h2 { font-size:32px; }
      .contact-band .button { margin-top:22px; }
    }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; } }

/* WordPress page and archive layouts */
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { clip:auto; width:auto; height:auto; margin:0; padding:12px; background:#fff; z-index:1000; }
.interior-hero { background:linear-gradient(125deg,var(--forest-deep),var(--forest)); color:#fff; padding:72px 0 78px; }
.interior-hero .eyebrow { color:var(--olive); }
.interior-hero h1 { max-width:950px; margin:17px 0 15px; }
.interior-hero p { max-width:740px; color:#d4e1d5; font-size:18px; margin:0; }
.breadcrumbs { display:flex; gap:10px; align-items:center; margin-bottom:28px; color:#c7d8c8; font-size:12px; }
.breadcrumbs a { color:var(--olive); text-decoration:none; }
.interior-section { padding:72px 0; }
.narrow { max-width:850px; }
.group-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.group-card { display:flex; flex-direction:column; min-height:210px; padding:30px; border:1px solid var(--line); background:#fff; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.group-card:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(9,43,35,.10); }
.group-card .group-index { color:#70884c; font-size:11px; font-weight:800; letter-spacing:.12em; }
.group-card h3 { margin:13px 0 10px; font:29px Georgia,serif; }
.group-card p { margin:0 0 22px; color:var(--muted); font-size:14px; }
.group-card .arrow { margin-top:auto; color:var(--forest); }
.listing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.listing-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); text-decoration:none; overflow:hidden; transition:transform .2s,box-shadow .2s; }
.listing-card:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(9,43,35,.10); }
.listing-photo { height:220px; background:#d8ddcf; overflow:hidden; }
.listing-photo img { width:100%; height:100%; object-fit:cover; }
.listing-copy { display:flex; flex:1; flex-direction:column; padding:22px 24px 27px; }
.listing-copy small { color:#738b4d; font-size:11px; font-weight:800; letter-spacing:.12em; }
.listing-copy h3 { margin:10px 0; font:24px/1.22 Georgia,serif; }
.listing-copy p { color:var(--muted); font-size:14px; }
.listing-copy > span { margin-top:auto; padding-top:12px; color:var(--forest); font-size:13px; font-weight:800; }
.entry-cover { margin-bottom:34px; }
.entry-cover img { width:100%; height:auto; max-height:550px; object-fit:cover; }
.entry-content { font-size:17px; line-height:1.82; overflow-wrap:anywhere; }
.entry-content p { margin:0 0 1.25em; }
.entry-content h2,.entry-content h3 { margin:1.4em 0 .6em; color:var(--forest); }
.entry-content h2 { font-size:30px; }
.entry-content h3 { font-size:26px; }
.entry-content img { max-width:100%; height:auto; }
.entry-content figure { margin:25px 0; }
.entry-content a { color:#496a39; }
.entry-content table { border-collapse:collapse; display:block; max-width:100%; overflow-x:auto; }
.entry-content td,.entry-content th { padding:8px 12px; border:1px solid var(--line); }
.entry-content iframe { max-width:100%; }
.interior-section.contact-page { padding-bottom:0; }
.contact-map { margin-top:32px; }
.contact-map iframe { display:block; width:100%; height:400px; border:0; }
.entry-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:45px; }
.entry-gallery a { display:block; background:#e2e6d9; }
.entry-gallery img { display:block; width:100%; height:250px; object-fit:cover; }
.entry-cta { margin-top:70px; padding:30px; background:var(--olive-light); }
.entry-cta h2 { font-size:30px; margin:0 0 10px; }
.entry-cta p { margin-bottom:23px; }
.navigation.pagination { margin-top:35px; }
.nav-links { display:flex; flex-wrap:wrap; gap:9px; }
.page-numbers { display:inline-block; padding:8px 14px; background:#fff; border:1px solid var(--line); text-decoration:none; }
.page-numbers.current { background:var(--forest); color:#fff; }
@media (max-width:700px) {
  body.menu-open { overflow:hidden; }
  .menu-toggle { position:relative; z-index:102; }
  .site-header .nav { display:none; position:fixed; inset:0; z-index:100; width:100vw; height:100svh; min-height:100vh; overflow-y:auto; top:0; padding:125px 28px 42px; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:2px; background:var(--forest-deep); box-shadow:none; }
  .site-header .nav.open { display:flex; }
  .site-header .nav > a,.site-header .nav-group > a { display:block; padding:12px 0; font:30px/1.2 Georgia,serif; }
  .site-header .nav-group { padding-right:44px; }
  .site-header .submenu-toggle { position:absolute; top:9px; right:0; width:42px; height:42px; border:1px solid rgba(255,255,255,.24); }
  .site-header .nav-group .submenu { display:none; position:static; min-width:0; box-shadow:none; }
  .site-header .nav-group.expanded .submenu { display:grid; }
  .site-header .submenu { padding:0 0 8px 18px; }
  .site-header .submenu a { display:block; padding:7px 0; font:15px Arial,Helvetica,sans-serif; }
  .site-header .nav-contact { margin-top:22px; font:20px Arial,Helvetica,sans-serif!important; }
  .interior-hero { padding:52px 0 58px; }
  .interior-hero h1 { font-size:46px; }
  .interior-hero p { font-size:16px; }
  .group-grid,.listing-grid,.entry-gallery { grid-template-columns:1fr; }
  .interior-section { padding:55px 0; }
}
