:root{
  --plum:#643047;
  --raspberry:#9A3566;
  --ivory:#F7F3EF;
  --mauve:#D6B5C7;
  --graphite:#252124;
  --deep:#351427;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--graphite);font-family:var(--sans);font-size:16px;line-height:1.65}
img{display:block;max-width:100%}
.shell{width:min(1160px,calc(100% - 72px));margin-inline:auto;position:relative;z-index:2}
.section-dark{color:white;background:linear-gradient(125deg,#351426 0%,#51213a 53%,#3f172c 100%);position:relative;overflow:hidden}
.small-rule{width:38px;height:2px;background:var(--raspberry);margin:12px auto 0}
.section-title{text-align:center;letter-spacing:.24em}
.section-title h2{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(25px,2vw,34px)}

/* HERO */
.hero{min-height:610px;display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 38% 43%,rgba(255,255,255,.055),transparent 30%),linear-gradient(90deg,rgba(255,255,255,.015),transparent 55%);pointer-events:none}
.hero-inner{padding:54px 0 58px}
.hero-logo{width:195px;max-width:80%;max-height:none;object-fit:contain;object-position:left center;margin-bottom:42px;filter:brightness(1.1)}
.hero-copy{width:min(520px,47%)}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,5vw,74px);line-height:1.02;margin:0 0 24px;letter-spacing:-.02em;max-width:500px}
.hero h1 .nowrap{white-space:nowrap;display:inline-block}
.hero p{max-width:420px;margin:0;font-size:15px;line-height:1.8}
.hero-deco{position:absolute;right:-7%;top:18px;width:min(53vw,760px);height:auto;object-fit:contain;object-position:right top;filter:saturate(.97) brightness(.97);pointer-events:none}

/* ABOUT */
.about{position:relative;min-height:520px;overflow:hidden;color:white;background:#2b1822}
.about-photo{position:absolute;inset:0;background:url('assets/about-generated.png') center/cover no-repeat;filter:grayscale(.02) contrast(1.02)}
.about-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(56,21,39,.88) 0%,rgba(56,21,39,.72) 38%,rgba(56,21,39,.82) 100%),linear-gradient(180deg,rgba(154,53,102,.10),rgba(53,20,39,.18))}
.about-content{display:grid;grid-template-columns:30% 1fr;gap:44px;align-items:center;min-height:520px;padding-block:42px}
.about-text{max-width:720px}
.about-text h2{font-family:var(--serif);font-size:32px;letter-spacing:.18em;text-align:center;margin:0;color:#fff;font-weight:600}
.about-text .small-rule{background:var(--mauve);margin-bottom:32px}
.about-text p{font-size:14px;line-height:1.8;margin:0 0 18px}
.about-line-art{position:absolute;left:-2%;bottom:-3%;width:34%;max-width:430px;opacity:.88;filter:brightness(2.25) saturate(.35);z-index:1}

/* SERVICES */
.services{position:relative;overflow:hidden;background:linear-gradient(90deg,#f4f0ec,#fff 42%,#f3eeea);padding:44px 0 50px;min-height:950px}
.light-title{margin-bottom:32px;color:#30272d}
.services-grid{display:grid;grid-template-columns:1.22fr .75fr .88fr .78fr;grid-template-rows:230px 185px 215px;gap:18px 28px;align-items:center;position:relative;z-index:3}
.service-photo{margin:0;overflow:hidden;box-shadow:0 8px 25px rgba(53,20,39,.08);height:100%}
.service-photo img{width:100%;height:100%;object-fit:cover}
.service-copy h3{font-family:var(--serif);font-weight:600;font-size:21px;line-height:1.05;margin:0 0 10px;color:#2d2429}
.service-copy p{font-size:12.5px;line-height:1.65;margin:0;color:#342d31}
.finance-photo{grid-column:1;grid-row:1 / span 2;align-self:stretch}
.finance-copy{grid-column:2;grid-row:1}
.call-photo{grid-column:3;grid-row:1}
.call-copy{grid-column:4;grid-row:1}
.manuals-copy{grid-column:2;grid-row:2}
.manuals-photo{grid-column:3;grid-row:2;height:175px;width:72%;justify-self:start;transform:translateX(-22px)}
.hr-copy{grid-column:1;grid-row:3;padding-left:72px}
.hr-photo{grid-column:2;grid-row:3;height:190px}
.market-copy{grid-column:3;grid-row:3;align-self:start;padding-top:20px}
.market-photo{grid-column:3;grid-row:3;height:245px;transform:translate(72%,20px);width:128%;z-index:-1}
.roles-copy{grid-column:4;grid-row:3;align-self:center}
.services-deco-left{position:absolute;left:-18px;bottom:2px;width:240px;z-index:2}
.services-deco-right{position:absolute;right:-40px;top:44%;width:260px;z-index:2;opacity:.94}

/* PROCESS */
.process{padding:46px 0 50px;min-height:360px}
.dark-title{margin-bottom:34px}
.dark-title .small-rule{background:#c4528b}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;position:relative;z-index:2}
.step-head{display:flex;align-items:center;gap:22px;margin-bottom:6px}
.step-num{font-family:var(--serif);font-size:58px;line-height:1}
.step-line{height:2px;background:#c4528b;width:114px}
.step h3{font-family:var(--serif);font-size:20px;margin:0 0 6px;font-weight:600}
.step p{font-size:13px;line-height:1.6;margin:0;max-width:300px}
.process-deco{position:absolute;right:-75px;bottom:-36px;width:380px;opacity:.37;filter:saturate(.95)}

/* CONTACT */
.contact{position:relative;min-height:440px;background:#f4f1ed;overflow:hidden}
.contact:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,243,239,.98) 0%,rgba(247,243,239,.96) 47%,rgba(247,243,239,.52) 60%,rgba(247,243,239,.12) 100%);z-index:1}
.contact-photo{position:absolute;inset:0 0 0 47%;background:url('assets/contact-clean.jpg') center/cover no-repeat;filter:grayscale(.10) sepia(.06)}
.contact-inner{min-height:440px;display:flex;align-items:center;padding-block:38px}
.contact-card{width:55%;max-width:640px}
.contact-title{text-align:left;letter-spacing:.22em;margin-bottom:15px}
.contact-title h2{font-size:30px}
.contact-title .small-rule{margin-left:0;width:38px}
.contact-card h3{font-family:var(--serif);font-size:38px;line-height:1.05;margin:0 0 12px;font-weight:600}
.contact-card>p{font-size:13px;max-width:560px;margin:0 0 25px}
.contact-list{display:grid;gap:12px;font-style:normal;font-size:13px}
.contact-list a,.contact-list div{display:flex;gap:12px;align-items:flex-start;color:inherit;text-decoration:none}
.contact-icon{display:inline-grid;place-items:center;color:var(--raspberry);font-size:18px;line-height:1;width:20px;flex:0 0 20px;margin-top:2px}

@media (max-width:1050px){
  .shell{width:min(100% - 48px,980px)}
  .hero{min-height:540px}.hero-deco{right:-8%;top:30px;bottom:auto;width:50vw;opacity:.98}.hero-copy{width:50%}
  .services-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:24px 26px}
  .finance-photo,.finance-copy,.call-photo,.call-copy,.manuals-copy,.manuals-photo,.hr-copy,.hr-photo,.market-copy,.market-photo,.roles-copy{grid-column:auto;grid-row:auto;transform:none;width:auto;height:auto;padding:0;align-self:auto;justify-self:auto;z-index:auto}
  .service-photo{height:240px}.manuals-photo{height:210px}.market-photo{height:240px}
  .services-deco-left{width:180px;opacity:.5}.services-deco-right{width:190px;opacity:.4}
  .steps{gap:40px}.step-line{width:80px}
}

@media (max-width:760px){
  body{font-size:15px}.shell{width:calc(100% - 34px)}
  .hero{min-height:650px;align-items:flex-start}.hero-inner{padding:38px 0 235px}.hero-logo{width:180px;max-width:76%;margin-bottom:32px}.hero-copy{width:100%;max-width:520px}.hero h1{font-size:52px;max-width:100%}.hero p{font-size:14px}.hero-deco{width:88vw;height:auto;right:-24%;top:auto;bottom:0;opacity:.94}
  .about{min-height:auto}.about-content{grid-template-columns:1fr;min-height:auto;padding:58px 0 64px}.about-spacer{display:none}.about-text h2{font-size:28px}.about-text p{font-size:13px}.about-line-art{width:55%;opacity:.22}
  .services{padding:42px 0 52px}.services-grid{grid-template-columns:1fr;gap:12px}.service-photo{height:245px;margin-top:8px}.service-copy{padding:10px 4px 20px}.service-copy h3{font-size:24px}.service-copy p{font-size:13px}.finance-photo{order:1}.finance-copy{order:2}.call-photo{order:3}.call-copy{order:4}.manuals-photo{order:5}.manuals-copy{order:6}.hr-photo{order:7}.hr-copy{order:8}.market-photo{order:9}.market-copy{order:10}.roles-copy{order:11;padding-bottom:8px}.services-deco-left,.services-deco-right{display:none}
  .process{padding:44px 0 52px}.steps{grid-template-columns:1fr;gap:30px}.step{max-width:480px}.step-num{font-size:50px}.step-line{width:120px}.step p{max-width:none}.process-deco{width:260px;right:-100px;opacity:.24}
  .contact{min-height:610px}.contact:before{background:linear-gradient(180deg,rgba(247,243,239,.99) 0%,rgba(247,243,239,.98) 62%,rgba(247,243,239,.65) 77%,rgba(247,243,239,.2) 100%)}.contact-photo{inset:58% 0 0 0}.contact-inner{min-height:610px;align-items:flex-start;padding-top:50px}.contact-card{width:100%}.contact-card h3{font-size:36px}.contact-title h2{font-size:28px}.contact-list{font-size:12.5px}
}

@media (max-width:430px){
  .hero{min-height:610px}.hero-logo{width:165px;max-width:74%;margin-bottom:26px}.hero h1{font-size:43px;max-width:100%}.hero-deco{width:96vw;right:-28%;height:auto;bottom:8px}.section-title h2{font-size:25px}.service-photo{height:220px}.contact-card h3{font-size:32px}
}
