/* Soft Line Interior — expressive editorial redesign */
:root { --ink: #20332e; --cream: #f3e4d4; --paper: #fffdf9; --red: #c65c4e; --line: #ddcec1; --gold: #e1ad77; --sage: #e3ece4; --forest: #315d52; }
body { font-family: Montserrat, Arial, sans-serif; background: var(--paper); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.announcement { padding: 12px; background: var(--forest); color: #fffaf3; font-family: Manrope, Arial, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.header { height: 96px; background: var(--paper); }
.brand span { font-family: Manrope, Arial, sans-serif; font-size: 25px; font-weight: 800; letter-spacing: .08em; word-spacing: .14em; }
.brand small { font-family: Manrope, Arial, sans-serif; margin-top: 7px; font-size: 9px; font-weight: 700; letter-spacing: .2em; }
.navigation { gap: 39px; font-family: Manrope, Arial, sans-serif; text-transform: uppercase; font-size: 12px; font-weight: 800; letter-spacing: .07em; }
.header-link { padding-bottom: 6px; border-bottom: 2px solid var(--red); font-family: Manrope, Arial, sans-serif; text-transform: uppercase; font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.header-link span { display: none; }
.header-messenger{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--forest);color:#fffaf5;font:800 10px Manrope,Arial,sans-serif;letter-spacing:.06em;transition:transform .2s,background .2s}.header-messenger:hover{background:var(--red);transform:translateY(-2px)}
.hero { min-height: 670px; grid-template-columns: minmax(0, 53%) minmax(0, 47%); background: var(--cream); }
.hero-copy { position: relative; z-index: 1; min-width: 0; padding: 74px clamp(32px, 5vw, 74px) 72px 0; }
.hero-copy::before { content: 'SOFT LINE'; display: block; margin-bottom: 18px; color: var(--red); font-family: Manrope, Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
.hero-copy .overline { margin-bottom: 15px; color: #76675d; font-family: Manrope, Arial, sans-serif; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
h1, h2, h3 { font-family: Prata, Georgia, serif; }
h1, h2 { text-wrap: balance; }
h1 { max-width: 660px; margin-left: 0; font-size: clamp(44px, 4.45vw, 68px); font-weight: 600; letter-spacing: -.055em; line-height: .94; overflow-wrap: normal; }
h1 em { display: block; margin-top: 13px; color: var(--red); font-weight: 500; }
.hero-text { max-width: 430px; margin: 28px 0 30px; color: #5a504a; font-size: 15px; line-height: 1.72; }
.dark-button { margin-left: 0; min-width: 224px; padding: 16px 19px; background: var(--red); border-radius: 100px; text-transform: uppercase; font-size: 10px; letter-spacing: .11em; }
.dark-button:hover { background: var(--forest); }
.hero-art { min-width: 0; margin: 24px 24px 24px 0; min-height: 0; height: calc(100% - 48px); border-radius: 2px; box-shadow: 0 18px 40px rgba(57, 43, 31, .12); }
.hero-art::after { background: linear-gradient(140deg, rgba(49, 93, 82, .18), transparent 45%); }
.art-caption { right: 24px; bottom: 20px; }
.intro { background: var(--paper); }
.intro h2, .section-heading h2, .consultation h2, .faq h2 { font-size: clamp(52px, 5.6vw, 88px); font-weight: 600; line-height: .86; }
.intro .intro-kicker { align-self: start; display: inline-flex; width: fit-content; padding: 11px 15px; background: var(--forest); color: #fffaf5; border-radius: 100px; font-family: Manrope, Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .07em; }
.intro h2 { font-family: Manrope, Arial, sans-serif; font-size: clamp(42px, 4.6vw, 68px); font-weight: 700; letter-spacing: -.07em; line-height: 1; }
.intro h2 em { color: #8f2e29; font-family: Manrope, Arial, sans-serif; font-style: normal; font-weight: 500; }
.intro div p, .section-heading > p { font-size: 17px; line-height: 1.75; }
.overline { font-family: Manrope, Arial, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .09em; line-height: 1.45; }
.intro div p, .section-heading > p, .process li p, .contact-note, .faq details p { letter-spacing: -.01em; }
.catalog { background: var(--forest); color: #fffaf5; }
.catalog .overline { color: #f5c69a; }
.catalog .section-heading > p, .catalog .product p { color: #e0ece2; }
.catalog-link{display:inline-flex;align-items:center;gap:25px;margin:-28px 0 42px;padding-bottom:6px;border-bottom:1px solid #f5c69a;color:#f5c69a;font:800 11px Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.catalog-link span{font-size:19px}
.products { gap: 18px; }
.product { padding: 12px; background: #477065; border: 1px solid rgba(255, 250, 245, .18); }
.product-ember { background: #865f4d; }
.product-sage { background: #527a69; }
.product-oxblood { background: #754f55; }
.product-art { height: 370px; overflow: hidden; }
.product-art img { height: 100%; object-fit: cover; object-position: center; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.product:hover .product-art img { transform: scale(1.035); }
.product-info { min-height: 175px; padding: 24px 10px 12px; border-color: rgba(255, 250, 245, .35); }
.product h3 { margin: 15px 0 10px; font-size: clamp(32px, 2.8vw, 45px); line-height: .94; }
.product p { max-width: 280px; font-size: 15px; line-height: 1.65; }
.product-info span { color: var(--gold); font-family: Manrope, Arial, sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.projects { padding-top: 112px; padding-bottom: 112px; background: var(--paper); }
.projects-heading { margin-bottom: 54px; }
.projects-heading h2 { color: var(--ink); }
.projects-heading h2 em { color: var(--red); }
.projects-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; gap: 18px; }
.project-card { display: flex; flex-direction: column; min-height: 420px; overflow: hidden; background: #eee5dc; box-shadow: 0 10px 24px rgba(44, 35, 27, .06); }
.project-card-featured { grid-row: span 1; min-height: 0; }
.project-card img { display: block; width: 100%; height: 338px; padding: 12px; background: #f7f3ee; object-fit: contain; object-position: center; transition: transform .4s ease; }
.project-card-featured img { height: 440px; }
.project-card:hover img { transform: scale(1.012); }
.project-card > div { flex: 0 0 auto; padding: 22px 22px 24px; color: var(--ink); background: #fffdf9; }
.project-card span { color: var(--red); font: 800 clamp(12px, 1.1vw, 14px) Manrope, Arial, sans-serif; letter-spacing: .08em; }
.project-card > div p { margin: 8px 0 0; color: var(--ink); font: 600 14px/1.45 Manrope, Arial, sans-serif; }
.project-card h3 { margin: 9px 0 0; font-size: clamp(26px, 2.3vw, 38px); line-height: .98; }
.project-card b { display: inline-block; margin-top: 16px; color: var(--forest); font: 800 11px Manrope, Arial, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.projects-cta { display: flex; width: fit-content; gap: 26px; align-items: center; margin-top: 43px; padding-bottom: 7px; border-bottom: 1px solid var(--red); color: var(--red); font: 800 11px Manrope, Arial, sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.projects-cta span { font-size: 20px; }
.numbers { background: #cf6b5c; }
.numbers div { border-color: rgba(255,255,255,.22); }
.numbers strong { color: #fff2df; font-family: Prata, Georgia, serif; font-size: 52px; letter-spacing: -.06em; }
.numbers span { font-size: 14px; line-height: 1.65; }
.process { background: var(--sage); }
.process h3 { font-size: 31px; }
.process li p { font-size: 16px; line-height: 1.75; }
.process li > span { font-family: Manrope, Arial, sans-serif; font-size: 11px; font-weight: 800; }
.consultation { background: #35574e; color: #fffaf5; }
.consultation .overline { color: #f6c493; }
.consultation h2 em { color: #f6c493; }
form label { color: #e6f0e8; }
form input, form textarea { border-color: #9cc1b1; color: #fffaf5; }
.light-button { background: #f6c493; color: #253430; border-radius: 100px; }
.light-button:hover { background: #fffaf5; }
.faq { background: #f7e9dd; }
.faq-list { border-color: #c9aa98; }
.faq details { border-color: #c9aa98; }
.faq summary { font-size: 27px; }
.faq summary { line-height: 1.25; }
footer { background: var(--paper); }
.footer-policy{color:var(--ink);font:700 10px Manrope,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}.footer-policy:hover{color:var(--red)}
@media (max-width: 760px) {
  .header { height: 78px; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding: 60px 20px 42px; }
  h1 { font-size: clamp(42px, 12.6vw, 56px); line-height: .93; }
  .hero-art { height: 400px; margin: 0 20px 20px; }
  .product-art { height: 370px; }
  .product-info { min-height: 152px; }
  .projects { padding-top: 75px; padding-bottom: 75px; }
  .projects-heading { margin-bottom: 36px; }
  .projects-grid { grid-template-columns: 1fr; gap: 12px; }
  .project-card, .project-card-featured { min-height: 0; }
  .project-card img, .project-card-featured img { height: 355px; }
}

/* Calm hierarchy and dependable keyboard focus */
.navigation a, .catalog-link, .dark-button, .header-messenger { transition: color .2s ease, background-color .2s ease, transform .2s ease, border-color .2s ease; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
@media (min-width: 1000px) {
  .hero-copy { padding-right: clamp(44px, 6vw, 98px); }
  .hero-art > img { object-position: 63% center; }
}

/* Every real-work caption remains visibly separate from its photograph. */
.project-card { gap: 16px; background: var(--paper); }

/* Search-friendly service overview, kept visually calm and compact. */
.services{padding-top:112px;padding-bottom:112px;background:#f7e9dd}.services .section-heading{margin-bottom:42px}.services-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 42px}.services-gallery a{display:block;overflow:hidden;background:#f7f3ee;color:var(--ink)}.services-gallery img{display:block;width:100%;height:220px;padding:8px;object-fit:contain;transition:transform .35s ease}.services-gallery a:hover img{transform:scale(1.02)}.services-gallery span{display:block;padding:14px 16px 16px;font:800 11px Manrope,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid #c9aa98}.services-grid li{min-height:144px;padding:24px 22px;border-right:1px solid #c9aa98;border-bottom:1px solid #c9aa98}.services-grid li:nth-child(3n){border-right:0}.services-grid h3{margin:0 0 14px;color:var(--ink);font:400 clamp(21px,2vw,29px)/1.05 Prata,Georgia,serif;letter-spacing:-.035em}.services-grid p{margin:0;color:var(--red);font:800 12px Manrope,Arial,sans-serif;letter-spacing:.04em}.services-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:34px;padding:26px 0 0;border-top:1px solid #c9aa98}.services-cta p{max-width:610px;margin:0;color:var(--ink);font:600 15px/1.6 Manrope,Arial,sans-serif}@media(max-width:760px){.services{padding-top:75px;padding-bottom:75px}.services-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:32px}.services-gallery img{height:178px;padding:6px}.services-gallery span{padding:12px;font-size:10px}.services-grid{grid-template-columns:1fr}.services-grid li{min-height:0;padding:20px 0;border-right:0}.services-grid h3{font-size:24px}.services-cta{align-items:flex-start;flex-direction:column;gap:18px}.services-cta .dark-button{width:100%}}
.services-grid li>a{display:block;height:100%}.services-grid li>a:hover h3{color:var(--red)}
