/* Key Shore Real Estate — Service pages only.
 * One layout, one theme system, no legacy service rules.
 */
.ks-service-page{
  --service-surface:var(--ks-bg);
  --service-surface-alt:var(--ks-bg-alt);
  --service-card:var(--ks-card);
  --service-text:var(--ks-text);
  --service-muted:var(--ks-muted);
  --service-line:var(--ks-line);
  --service-border:var(--ks-border);
  width:100%;margin:0;padding:0;background:var(--service-surface);color:var(--service-text);overflow:hidden;
}

/* Heading */
.ks-service-heading{width:100%;padding:126px 32px 56px;background:var(--service-surface);border-bottom:1px solid var(--service-line);text-align:center}
.ks-service-heading__inner{width:min(1400px,100%);margin:0 auto}
.ks-service-heading h1{max-width:1200px;margin:0 auto;color:var(--service-text);font-family:EBG,Georgia,serif;font-size:clamp(46px,5.7vw,82px);font-weight:400;line-height:.94;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}
.ks-service-heading__rule{display:block;width:58px;height:1px;margin:26px auto 0;background:var(--ks-gold)}

/* Main service canvas */
.ks-service-main{width:100%;padding:82px 40px 100px;background:var(--service-surface-alt);border-bottom:1px solid var(--service-line)}
.ks-service-main__inner{width:min(1400px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:78px;align-items:center}

/* Copy */
.ks-service-copy{min-width:0;width:100%;max-width:790px;margin:0;justify-self:start}
.ks-service-copy__lead{max-width:760px;margin:0 0 25px;color:var(--service-text);font-size:20px;line-height:1.58;letter-spacing:-.008em}
.ks-service-copy__body{max-width:760px;color:var(--service-muted);font-size:15px;line-height:1.85}
.ks-service-copy__body p{margin:0 0 22px}
.ks-service-copy__body p:last-child{margin-bottom:0}
.ks-service-copy__body h2,.ks-service-copy__body h3{margin:30px 0 13px;color:var(--service-text);font-family:EBG,Georgia,serif;font-weight:400;line-height:1.08}
.ks-service-copy__body h2{font-size:clamp(27px,3vw,39px)}
.ks-service-copy__body h3{font-size:24px}

/* Points */
.ks-service-points{width:100%;max-width:720px;margin-top:30px;border-top:1px solid var(--service-line)}
.ks-service-point{min-height:52px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--service-line)}
.ks-service-point span{flex:0 0 28px;color:var(--ks-gold);font-size:9px;line-height:1;letter-spacing:.12em}
.ks-service-point strong{color:var(--service-text);font-size:11px;line-height:1.4;font-weight:600;letter-spacing:.025em}

/* Image: smaller than the copy column, with visible breathing room. */
.ks-service-media{width:min(100%,540px);margin:0 auto;padding:11px;border:1px solid var(--ks-gold-dark);background:var(--service-card);box-shadow:0 24px 65px rgba(0,0,0,.20);justify-self:center}
.ks-service-media__frame{width:100%;overflow:hidden;background:var(--service-card);border:1px solid var(--service-border)}
.ks-service-media img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;object-position:center;transition:transform .65s var(--ease),filter .45s ease}
.ks-service-media:hover img{transform:scale(1.025);filter:saturate(1.03) contrast(1.01)}

/* Dark / light refinements */
body[data-theme="dark"] .ks-service-main{background:#0b151a}
body[data-theme="dark"] .ks-service-media{background:#071015;border-color:rgba(220,169,62,.34)}
body[data-theme="dark"] .ks-service-media__frame{border-color:rgba(255,255,255,.08)}
body[data-theme="light"] .ks-service-page{--service-surface:#f6f2e9;--service-surface-alt:#ede7dc;--service-card:#fbf9f4;--service-text:#202827;--service-muted:#59625f;--service-line:rgba(32,40,39,.11);--service-border:rgba(121,85,17,.23)}
body[data-theme="light"] .ks-service-main{background:#ede7dc}
body[data-theme="light"] .ks-service-media{background:#fbf9f4;border-color:rgba(121,85,17,.38);box-shadow:0 22px 60px rgba(62,52,36,.13)}
body[data-theme="light"] .ks-service-media__frame{border-color:rgba(121,85,17,.20)}

/* Large screens: requested editorial one-line title treatment where it fits. */
@media(min-width:1200px){
  .ks-service-heading h1{white-space:nowrap}
}

/* Tablet */
@media(max-width:1050px){
  .ks-service-heading{padding:108px 28px 50px}
  .ks-service-main{padding:70px 30px 84px}
  .ks-service-main__inner{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:50px}
  .ks-service-copy__lead{font-size:18px}
  .ks-service-copy__body{font-size:14px}
  .ks-service-media{max-width:470px}
}

/* Mobile */
@media(max-width:780px){
  .ks-service-heading{padding:94px 20px 44px}
  .ks-service-heading h1{font-size:clamp(40px,10.8vw,58px);line-height:.95}
  .ks-service-main{padding:54px 20px 68px}
  .ks-service-main__inner{grid-template-columns:1fr;gap:40px}
  .ks-service-copy{max-width:800px}
  .ks-service-copy__lead{font-size:17px;line-height:1.62}
  .ks-service-copy__body{font-size:14px;line-height:1.82}
  .ks-service-media{width:min(100%,560px);max-width:560px;padding:9px}
}
@media(max-width:520px){
  .ks-service-heading{padding:86px 16px 40px}
  .ks-service-main{padding:48px 16px 60px}
  .ks-service-main__inner{gap:34px}
  .ks-service-copy__lead{font-size:16px}
  .ks-service-media{padding:8px}
}
@media(max-width:360px){
  .ks-service-heading h1{font-size:38px}
  .ks-service-main{padding-inline:13px}
}
@media(prefers-reduced-motion:reduce){.ks-service-media img{transition:none}}

/* Final responsive safety layer — service pages */
@media(min-width:1500px){
  .ks-service-heading__inner,
  .ks-service-main__inner{width:min(1460px,calc(100% - 96px))}
  .ks-service-main__inner{gap:92px}
}
@media(max-width:1050px){
  .ks-service-heading{padding:106px 28px 48px}
  .ks-service-main{padding:68px 28px 82px}
  .ks-service-main__inner{
    grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
    gap:44px;
  }
  .ks-service-media{max-width:440px}
}
@media(max-width:780px){
  .ks-service-heading{padding:88px 20px 42px}
  .ks-service-heading h1{
    font-size:clamp(39px,10.5vw,56px);
    line-height:.96;
    white-space:normal;
  }
  .ks-service-main{padding:52px 20px 64px}
  .ks-service-main__inner{grid-template-columns:1fr;gap:34px}
  .ks-service-copy__lead{font-size:17px}
  .ks-service-copy__body{font-size:13.5px;line-height:1.8}
  .ks-service-media{width:min(100%,620px);max-width:620px;margin-inline:auto}
}
@media(max-width:520px){
  .ks-service-heading{padding:80px 14px 36px}
  .ks-service-heading h1{font-size:clamp(34px,10.5vw,46px)}
  .ks-service-main{padding:44px 14px 54px}
  .ks-service-main__inner{gap:28px}
  .ks-service-copy__lead{font-size:16px;line-height:1.6}
  .ks-service-copy__body{font-size:13px;line-height:1.76}
  .ks-service-point{min-height:50px;gap:12px}
  .ks-service-point span{flex-basis:25px}
  .ks-service-point strong{font-size:10px}
  .ks-service-media{padding:7px}
}
@media(max-width:360px){
  .ks-service-heading h1{font-size:33px}
  .ks-service-main{padding-inline:12px}
}
