/* Service pages (/ai, /golf-cart-software, /management-software).
   Tokens, navigation and section patterns follow /web-design and /islandbook. */
:root{--paper:#f4f0e8;--paper-light:#faf8f3;--paper-deep:#e8e1d2;--ink:#2c2416;--ink-deep:#120a00;--gold:#b8963e;--gold-soft:#d4b467;--brass:#8b7355;--rule:#c4b9a4;--cream:#f5f1e6;--body:'Source Serif 4',Georgia,serif;--display:'Cormorant Garamond',Georgia,serif;--label:'Newsreader',Georgia,serif;--data:'Space Grotesk',Arial,sans-serif;--side:clamp(24px,4vw,56px)}
.svc-cart{--accent:#98583a;--wash:#efe8d9;--wash-line:#cdbb9c;--band:#211a12;--band-text:#eadcc0;--band-muted:#b9a585;--band-accent:#dca77b;--loader:#efe6d5}
.svc-ai{--accent:#3d6659;--wash:#e9e9e0;--wash-line:#b9bfae;--band:#0f1c19;--band-text:#e1e5d6;--band-muted:#a2b0a1;--band-accent:#d4b467;--loader:#f1eee5}
.svc-mgmt{--accent:#735d34;--wash:#ece6d9;--wash-line:#c7b99c;--band:#17212a;--band-text:#e6dfcf;--band-muted:#a9ada6;--band-accent:#cfb783;--loader:#f2eee5}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
h1,h2,h3,p,figure,dl,dd{margin:0}
h1,h2,h3{font-weight:400}
::selection{background:#d9cfae;color:var(--ink-deep)}
[hidden]{display:none!important}
.measure{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.skip{position:fixed;left:-999px;top:12px;z-index:1000;background:var(--gold-soft);color:var(--ink-deep);padding:14px;font:700 10px/1 var(--data);letter-spacing:.15em;text-decoration:none}
.skip:focus{left:12px}
main{padding-top:72px}

/* Navigation colours, as on /web-design; dimensions come from site-nav.css. */
.nav{position:fixed;inset:0 0 auto;z-index:80;height:72px;display:flex;align-items:center;justify-content:space-between;color:var(--ink-deep);background:rgba(250,248,243,.96);border-bottom:1px solid #c4b9a455}
.mark{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.nav nav a{position:relative;color:var(--brass)}
.nav nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--gold);transition:right .25s}
.nav nav a:not(.nav-cta):hover::after,.nav nav a[aria-current="page"]::after{right:0}
.nav nav a[aria-current="page"]{color:var(--ink-deep)}
.nav-cta{background:var(--ink-deep);border:1px solid var(--ink-deep);color:var(--paper-light)!important}
.nav-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--ink-deep)!important}

/* Shared type */
.sv-kicker{display:flex;align-items:center;gap:14px;font:600 9px/1.5 var(--data);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.sv-kicker:before{content:'';width:24px;height:1px;background:var(--gold)}
.sv-h2{font:400 clamp(48px,5.2vw,78px)/1.01 var(--label);letter-spacing:-.04em;color:var(--ink-deep)}
.sv-h2 em{color:var(--accent)}
.sv-copy p,.sv-lead{font:400 16px/1.85 var(--body);color:#6e604b;max-width:470px}
.sv-copy p+p{margin-top:18px}
.text-link{display:flex;justify-content:space-between;align-items:center;gap:35px;width:fit-content;max-width:100%;border-bottom:1px solid #9d8a65;padding-block:15px;text-decoration:none;font:500 10px/1.5 var(--data);letter-spacing:.07em;text-transform:uppercase}
.text-link span{font:400 22px/1 var(--label)}
.text-link:hover{color:var(--brass)}

/* Bordered plate: sweep fill and inner hairline. */
.plate{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:52px;padding:0 20px 0 24px;border:1px solid currentColor;background:none;color:inherit;font:600 9px/1 var(--data);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;transition:color .35s,border-color .35s}
.plate:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--plate-fill,var(--ink-deep));transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.76,0,.24,1)}
.plate:after{content:'';position:absolute;inset:3px;border:1px solid currentColor;opacity:.2;pointer-events:none}
.plate:hover{color:var(--plate-hover,var(--paper-light))}
.plate:hover:before{transform:scaleX(1)}
.plate b{font:400 18px/0 var(--label)}
.plate-solid{background:var(--ink-deep);border-color:var(--ink-deep);color:var(--paper-light);--plate-fill:var(--gold);--plate-hover:var(--ink-deep)}
.plate-solid:hover{border-color:var(--gold)}
.plate[disabled]{opacity:.6;cursor:progress}

.ai-register{position:absolute;z-index:4;top:28px;left:var(--side);right:var(--side);display:flex;justify-content:space-between;gap:20px;font:500 9px/1.4 var(--data);letter-spacing:.18em;text-transform:uppercase;color:#76603f}
.ai-baseline,.mg-baseline{position:absolute;z-index:4;left:var(--side);right:var(--side);bottom:26px;display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid #76603f33;font:500 8px/1.5 var(--data);letter-spacing:.14em;text-transform:uppercase;color:#76603f}

/* ---------- AI hero: A and I flank the mechanism ---------- */
.ai-hero{position:relative;isolation:isolate;overflow:hidden;height:clamp(760px,calc(100svh - 72px),980px);max-width:1920px;margin:auto;background:#f1eee5 repeating-linear-gradient(125deg,#1f2b2505 0 1px,transparent 1px 4px)}
.ai-title{position:absolute;z-index:1;top:64px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(230px,22vw,360px);font:400 clamp(250px,31vw,500px)/.8 var(--display);color:#1d2621;pointer-events:none}
.ai-title span:first-child{text-align:right}
.ai-title span:last-child{text-align:left}
.ai-ring{position:absolute;z-index:0;left:50%;top:48%;width:min(62vh,600px);transform:translate(-50%,-50%);color:#8b7355}
.ai-object{position:absolute;z-index:2;left:50%;bottom:118px;height:min(66%,640px);aspect-ratio:639/844;transform:translateX(-50%)}
.ai-object:before{content:'';position:absolute;left:4%;right:4%;bottom:-2.5%;height:8%;z-index:-1;background:radial-gradient(closest-side,#1d262159,#1d262100);filter:blur(3px)}
.ai-object img{width:100%;height:100%;object-fit:contain}
.ai-lede{position:absolute;z-index:3;left:max(var(--side),calc((100% - 1320px)/2));bottom:118px;width:min(340px,28vw)}
.ai-lede h1{font:400 clamp(30px,2.9vw,42px)/1.12 var(--label);letter-spacing:-.025em;color:var(--ink-deep);margin-bottom:18px}
.ai-lede h1 em{color:var(--accent)}
.ai-lede p{font:400 15px/1.75 var(--body);color:#6b5f4b}
.ai-actions{position:absolute;z-index:3;right:max(var(--side),calc((100% - 1320px)/2));bottom:118px;display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.ai-phone{font:400 22px/1.2 var(--label);text-decoration:none;border-bottom:1px solid #9d8a65;padding-bottom:6px}
.ai-phone:hover{color:var(--accent)}

/* ---------- Management hero: framed plate, limestone model ---------- */
.mg-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(760px,calc(100svh - 72px),960px);max-width:1920px;margin:auto;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(30px,4vw,70px);padding:70px var(--side) 120px max(var(--side),calc((100% - 1320px)/2));background:#f2eee5}
.mg-copy{position:relative;z-index:3}
.mg-copy h1{font:400 clamp(60px,6.6vw,106px)/.95 var(--label);letter-spacing:-.048em;color:var(--ink-deep);margin:30px 0 30px}
.mg-copy h1 em{color:var(--accent)}
.mg-deck{font:400 17px/1.8 var(--body);color:#6b5d47;max-width:440px}
.mg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin-top:36px}
.mg-stage{position:relative;height:min(64vh,620px);min-height:480px}
.mg-plate{position:absolute;inset:0 0 9% 10%;background:linear-gradient(160deg,#e9e1d0,#ddd2bd);border:1px solid #b5a383}
.mg-plate:after{content:'';position:absolute;inset:8px;border:1px solid #b5a38366}
.mg-plate:before{content:'';position:absolute;left:50%;top:-5px;width:9px;height:9px;background:var(--gold);transform:translateX(-50%) rotate(45deg)}
.mg-model{position:absolute;left:-2%;right:-5%;bottom:0}
.mg-model:before{content:'';position:absolute;left:3%;right:2%;bottom:-3%;height:12%;z-index:-1;background:radial-gradient(closest-side,#3a2c1c55,#3a2c1c00);filter:blur(4px)}
.mg-model img{width:100%}

/* ---------- Sections ---------- */
.sv-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,140px);align-items:start;padding-block:124px 120px}
.sv-intro .sv-copy{padding-top:8px}
.sv-intro .text-link{margin-top:26px}
.sv-intro+.sv-features{padding-top:24px}

.sv-work{background:var(--wash);border-block:1px solid var(--wash-line);padding-block:92px 80px}
.sv-head{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:46px}
.sv-head>p{flex:0 1 360px;font:400 15px/1.75 var(--body);color:#71664f;margin-bottom:6px}
.workbench{border-top:1px solid var(--wash-line)}
.workbench-bar{min-height:77px;display:flex;justify-content:space-between;align-items:center;gap:23px}
.workbench-name{font:400 25px/1.4 var(--label);color:var(--ink-deep);white-space:nowrap}
.workbench-name span{font:400 11px/1.4 var(--data);color:#7b715e;margin-left:8px}
.workbench-open{display:flex;align-items:center;gap:13px;min-height:44px;text-decoration:none;border-bottom:1px solid transparent;font:500 9px/1.4 var(--data);letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;color:#6b6049}
.workbench-open span{font:400 22px/1 var(--label)}
.workbench-open:hover{color:var(--ink-deep);border-color:var(--wash-line)}
.workbench-stage{border:1px solid var(--wash-line);background:#dcd6c8;box-shadow:0 18px 38px #2c241614}
.workbench-stage iframe{display:block;width:100%;height:780px;border:0;background:#f5f2ea}

.sv-features{padding-block:118px 112px}
.sv-features-head{display:grid;grid-template-columns:1fr .62fr;gap:70px;align-items:end;margin-bottom:56px}
.sv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #aa9f8a}
.sv-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sv-grid>*{padding:32px 30px 34px 0}
.sv-grid>*+*{padding-left:30px;border-left:1px solid #d3c8b3}
.sv-grid-3>:nth-child(3n+1){padding-left:0;border-left:0}
.sv-grid-3>:nth-child(n+4){border-top:1px solid #d3c8b3}
.sv-num{display:block;font:400 34px/1 var(--display);color:var(--gold);margin-bottom:26px}
.sv-grid h3{font:400 27px/1.15 var(--label);letter-spacing:-.015em;color:var(--ink-deep);margin-bottom:14px}
.sv-grid p{font:400 14px/1.8 var(--body);color:#726550}

/* ---------- AI: tools ledger ---------- */
.ai-tools{padding-block:118px 112px}
.tool-list{list-style:none;margin:0;padding:0;border-top:1px solid #aa9f8a}
.tool-list li{display:grid;grid-template-columns:64px minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.85fr);gap:32px;align-items:baseline;padding:32px 0;border-bottom:1px solid #cfc3ab}
.tool-list .sv-num{margin:0;font-size:32px;color:var(--accent)}
.tool-list h3{font:400 28px/1.15 var(--label);letter-spacing:-.015em;color:var(--ink-deep)}
.tool-list p{font:400 15px/1.8 var(--body);color:#726550;max-width:520px}
.tool-list small{font:500 9px/1.8 var(--data);letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.tool-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;margin-top:40px}
.tool-foot p{font:400 16px/1.7 var(--body);color:#5f523e;max-width:600px}

/* ---------- AI: who does the work ---------- */
.ai-who{padding-top:8px}
.ai-who-links{display:flex;flex-wrap:wrap;gap:12px 34px;margin-top:22px}

/* Steps: engraved numerals on a ruled line */
.sv-steps{background:var(--wash);border-block:1px solid var(--wash-line);padding-block:104px 108px}
.sv-steps ol{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #a99c83}
.sv-steps li{position:relative;padding:40px 30px 0 0}
.sv-steps li+li{padding-left:30px;border-left:1px solid #cfc3ab}
.sv-steps li:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.sv-steps li+li:before{left:26px}
.sv-steps .sv-num{font-size:44px;color:var(--accent);margin-bottom:22px}
.sv-steps h3{font:400 27px/1.15 var(--label);color:var(--ink-deep);margin-bottom:12px}
.sv-steps p{font:400 14px/1.8 var(--body);color:#726550;max-width:260px}


/* Prices */
.sv-prices{padding-block:118px 112px}
.price-table{border-top:1px solid #aa9f8a;margin-top:52px}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 210px;gap:40px;align-items:baseline;padding:34px 0;border-bottom:1px solid #cfc3ab}
.price-row h3{font:400 30px/1.1 var(--label);letter-spacing:-.02em;color:var(--ink-deep)}
.price-row p{font:400 15px/1.8 var(--body);color:#726550;max-width:520px}
.price-row strong{font:400 clamp(40px,4vw,56px)/1 var(--display);color:var(--ink-deep);white-space:nowrap;text-align:right}
.price-row strong small{display:block;margin-top:10px;font:600 8.5px/1.4 var(--data);letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}

/* Terms and questions */
.sv-terms{background:var(--wash);border-top:1px solid var(--wash-line);padding-block:104px}
.sv-terms-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}
.sv-terms-intro .sv-lead{margin:28px 0 34px;max-width:400px}
.sv-details{border-top:1px solid #a88b5f}
.sv-details details{border-bottom:1px solid #baa37f}
.sv-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 0;font:400 27px/1.15 var(--label);color:#392b1b}
.sv-details summary::-webkit-details-marker{display:none}
.sv-details summary span{font:300 20px/1 var(--data);color:#9e7f49;transition:transform .2s}
.sv-details details[open] summary span{transform:rotate(45deg)}
.sv-details p{font:400 15px/1.85 var(--body);color:#7b684b;margin:0 0 28px;padding-right:25px}

/* ---------- Inquiry band and form ---------- */
.inquire{background:var(--band);color:var(--band-text);padding-top:112px}
.inquire-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(50px,8vw,130px);align-items:start;padding-bottom:100px}
.inquire h2{font:400 clamp(58px,6.4vw,100px)/1 var(--label);letter-spacing:-.045em;color:var(--band-text)}
.inquire h2 em{color:var(--band-accent)}
.inquire-intro>p{font:400 16px/1.8 var(--body);color:var(--band-muted);max-width:360px;margin-top:30px}
.inquire-direct{margin-top:42px;border-top:1px solid #ffffff1f}
.inquire-direct div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:17px 0;border-bottom:1px solid #ffffff1f}
.inquire-direct dt{font:600 8px/1.5 var(--data);letter-spacing:.18em;text-transform:uppercase;color:var(--band-muted)}
.inquire-direct a{font:400 21px/1.3 var(--label);text-decoration:none;color:var(--band-text)}
.inquire-direct a:hover{color:var(--band-accent)}


.sv-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #ffffff1f;padding-block:26px 30px;font:500 8px/1.5 var(--data);letter-spacing:.1em;text-transform:uppercase;color:var(--band-muted)}
.sv-footer a{text-decoration:none}
.sv-footer a:hover{color:var(--band-text)}
.sv-footer .footer-brand{color:var(--band-text);letter-spacing:.16em}
.sv-footer div{display:flex;flex-wrap:wrap;gap:22px}

/* ---------- Entrance: two paper curtains, as on /web-design ---------- */
.page-loader-svc{color:var(--ink-deep)}
.page-loader-svc:before,.page-loader-svc:after{content:'';position:absolute;top:0;bottom:0;width:calc(50% + 1px);background:var(--loader)}
.page-loader-svc:before{left:0}
.page-loader-svc:after{right:0}
.page-loader-svc .page-loader-title{font:400 clamp(38px,10vw,128px)/1 var(--display);letter-spacing:.01em;text-transform:uppercase;animation:entrance-signature 550ms ease both}
.page-loader-svc .page-loader-rule{width:110px;background:var(--accent)}
html.page-revealing .page-loader-svc:before{animation:entrance-left var(--entrance-reveal) var(--entrance-ease) both}
html.page-revealing .page-loader-svc:after{animation:entrance-right var(--entrance-reveal) var(--entrance-ease) both}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .measure{width:calc(100% - 72px)}
  .sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-grid>:nth-child(odd){padding-left:0;border-left:0}
  .sv-grid>:nth-child(n+3){border-top:1px solid #d3c8b3}
  .sv-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-grid-3>:nth-child(n){padding-left:30px;border-left:1px solid #d3c8b3;border-top:0}
  .sv-grid-3>:nth-child(odd){padding-left:0;border-left:0}
  .sv-grid-3>:nth-child(n+3){border-top:1px solid #d3c8b3}
  .sv-steps ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sv-steps li:nth-child(3){padding-left:0;border-left:0}
  .sv-steps li:nth-child(3):before{left:0}
  .sv-steps li:nth-child(n+3){margin-top:36px;border-top:1px solid #cfc3ab}
  .ai-title{column-gap:23vw}
  .ai-lede{width:290px}
  .mg-hero{grid-template-columns:1fr;padding-top:60px;gap:40px}
  .mg-stage{height:auto;aspect-ratio:1.45;min-height:0;max-width:820px;width:100%;justify-self:center}
  .inquire-grid{grid-template-columns:1fr;gap:56px}
  .sv-terms-inner{grid-template-columns:1fr;gap:50px}
  .tool-list li{grid-template-columns:56px minmax(0,1fr) minmax(0,1.4fr);row-gap:10px}
  .tool-list small{grid-column:3}
}
@media(max-width:900px){
  main{padding-top:0}
  html{scroll-padding-top:24px}
  .sv-intro{grid-template-columns:1fr;gap:34px;padding-block:88px}
  .sv-head,.sv-features-head{display:block}
  .sv-head>p,.sv-features-head>p{margin-top:24px;max-width:460px}
  .price-row{grid-template-columns:1fr auto;gap:14px 30px}
  .price-row p{grid-column:1;grid-row:2}
  .price-row strong{grid-column:2;grid-row:1/3}
  .ai-hero{height:auto;min-height:0;display:flex;flex-direction:column;padding:28px 24px 26px}
  .ai-title{position:relative;left:auto;right:auto;top:auto;order:1;font-size:44vw;column-gap:34vw;margin-top:4px}
  .ai-ring{display:none}
  .ai-object{position:relative;left:auto;bottom:auto;transform:none;order:2;height:auto;width:min(44vw,330px);margin:-40vw auto 0}
  .ai-lede{position:relative;left:auto;bottom:auto;order:3;width:auto;max-width:420px;margin-top:40px}
  .ai-actions{position:relative;right:auto;bottom:auto;order:3;align-items:flex-start;margin-top:30px}
  .mg-hero{padding:48px 24px 26px}
  .mg-baseline{grid-column:1/-1}
  .workbench-stage iframe{height:720px}
}
@media(max-width:700px){
  .measure{width:calc(100% - 40px)}
  .sv-grid,.sv-grid-3,.sv-steps ol{grid-template-columns:1fr}
  .sv-grid>*,.sv-grid>*+*,.sv-grid-3>:nth-child(n){padding:28px 0;border-left:0;border-top:1px solid #d3c8b3}
  .sv-grid>:first-child{border-top:0}
  .sv-steps li,.sv-steps li+li{padding:32px 0 0;border-left:0;margin-top:30px}
  .sv-steps li+li{border-top:1px solid #cfc3ab}
  .sv-steps li:first-child{margin-top:0}
  .sv-steps li+li:before{left:0}
  .sv-features,.sv-prices{padding-block:80px}
  .sv-steps,.sv-work,.sv-terms{padding-block:72px}
  .sv-h2{font-size:48px}
  .workbench-name{font-size:21px}
  .workbench-name span{display:block;margin:2px 0 0}
  .workbench-stage{margin-inline:-20px;border-inline:0}
  .workbench-stage iframe{height:700px}
  .price-row{grid-template-columns:1fr;padding:28px 0}
  .price-row p,.price-row strong{grid-column:1;grid-row:auto;text-align:left}
  .price-row strong small{display:inline;margin-left:10px}
  .inquire{padding-top:78px}
  .inquire h2{font-size:56px}
  .sv-footer{flex-direction:column;align-items:flex-start}
  .mg-copy h1{font-size:15vw}
  .mg-stage{aspect-ratio:1.25}
  .mg-plate{inset:0 0 10% 6%}
  .mg-model{left:-5%;right:-8%}
  .ai-register span:last-child{text-align:right}
  .ai-tools{padding-block:80px}
  .tool-list li{grid-template-columns:40px minmax(0,1fr);gap:8px 16px;padding:28px 0}
  .tool-list .sv-num{font-size:26px}
  .tool-list p,.tool-list small{grid-column:2}
  .tool-list h3{font-size:25px}
}
@media(max-width:420px){
  .sv-h2{font-size:43px}
  .inquire h2{font-size:50px}
  .ai-phone{font-size:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.plate,.plate:before,.sv-details summary span,.text-link{transition:none}}
