/* Small CMS additions; the original SOBRANO styles.css remains unchanged. */
.sr-only,.form-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lead-form .lead-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.5;color:#52646b}.lead-consent input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;padding:0;accent-color:var(--green)}.lead-form .form-status{margin:0;font-size:13px;line-height:1.55}.form-status:empty{display:none}.form-status[data-state=error]{color:#8d2424}.form-status[data-state=success]{color:var(--green)}button.btn{cursor:pointer}button.btn:disabled{opacity:.65;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #78bca5;outline-offset:3px}.prose a:not(.btn){color:var(--green);text-decoration:underline;text-underline-offset:3px}.prose img{max-width:100%;height:auto}.prose ul,.prose ol{font-size:17px;line-height:1.72;color:#42545c;padding-left:24px}.prose table{border-collapse:collapse;width:100%;display:block;overflow:auto}.prose td,.prose th{border:1px solid var(--line);padding:10px;text-align:left}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.photo-gallery figure{margin:0}.photo-gallery img{width:100%;height:250px;object-fit:cover;border-radius:4px}.photo-gallery figcaption{font-size:12px;color:#6e7c82;margin-top:8px;line-height:1.5}.journal-entry img{display:block;width:100%;height:180px;object-fit:cover;margin-bottom:18px}.journal-entry a{display:block;height:100%}.read-more{display:block;color:var(--green);font-size:13px;font-weight:700;margin-top:18px}.journal-grid article:has(a):hover{border-color:#9abbaa}.empty-state{grid-column:1/-1;color:#6e7c82;line-height:1.7;max-width:650px}.preview-banner{padding:10px 20px;background:#fff2c7;color:#584511;text-align:center;font-size:13px}.preview-banner a{text-decoration:underline}.tag+ h3{margin-top:0}.stat b,.card h3,.list-card h3,.prose{overflow-wrap:anywhere}@media(max-width:900px){.photo-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:260px}.preview-banner{font-size:12px}}
.contact-float{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;gap:20px;align-items:center;border:1px solid #d6e7df;background:#fff;color:var(--green);box-shadow:0 5px 24px #17382c18;border-radius:40px;padding:14px 21px;font:600 13px/1.4 Arial,sans-serif;cursor:pointer}.contact-float span{font-size:20px}.chat-panel{position:fixed;right:22px;bottom:88px;z-index:65;width:min(370px,calc(100vw - 32px));max-height:calc(100dvh - 116px);background:#fff;border:1px solid var(--line);box-shadow:0 15px 60px #132c3524;border-radius:14px;overflow:auto}.chat-panel[hidden]{display:none}.chat-heading{padding:18px 20px;background:#eff5f2;display:flex;justify-content:space-between;gap:12px}.chat-heading strong{letter-spacing:2px}.chat-heading small{display:block;font-size:11px;color:#567166;margin-top:5px}.chat-heading button{background:none;border:0;font-size:26px;color:var(--ink);cursor:pointer}#chat-messages{height:230px;overflow:auto;padding:12px 18px;font-size:13px;line-height:1.6}.chat-reply,.chat-question{padding:12px;border-radius:10px;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-reply{background:#f2f5f3;margin-right:14px}.chat-question{background:#e0f1e9;margin-left:14px}#chat-form{display:grid;gap:9px;padding:0 18px 14px}#chat-form textarea{font:14px/1.5 Arial,sans-serif;padding:10px;border:1px solid #ccd9d3;border-radius:6px;resize:vertical;max-height:110px;min-height:65px;width:100%;box-sizing:border-box}#chat-form small{font-size:10px;line-height:1.5;color:#5e7168}#chat-form small a,.lead-consent a{text-decoration:underline}.chat-contact{display:block;text-align:center;font-size:12px;color:var(--green);padding:12px;border-top:1px solid var(--line)}@media(max-width:620px){.contact-float{right:14px;bottom:14px;padding:11px 16px;font-size:12px}.chat-panel{right:16px;bottom:74px;max-height:calc(100dvh - 90px)}}
.page-hero h1,.hero h1{overflow-wrap:anywhere}.article-grid>*{min-width:0}

/* 2026-09-23 final public polish */
.concept-note{margin:0 0 28px;padding:18px 20px;border:1px solid #cfe0d8;border-left:4px solid var(--green);background:#f4f8f6;color:#354a41;font-size:14px;line-height:1.65}.concept-note strong{color:var(--ink)}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:56px;align-items:start}.contact-page-copy h2,.contact-form-card h2{margin-top:0}.contact-page-copy p,.contact-page-copy li{font-size:16px;line-height:1.7;color:#42545c}.contact-form-card{padding:26px;border:1px solid var(--line);background:#fff;box-shadow:0 16px 50px rgba(16,42,32,.06)}.contact-form-card .lead-form{margin-top:18px}.privacy-copy{max-width:860px}.privacy-copy h2{margin-top:38px}.privacy-copy h2:first-child{margin-top:0}.nav a{white-space:nowrap}.foot>div:nth-child(2) a{margin-top:7px;color:var(--green)}
@media(max-width:900px){.contact-page-grid{grid-template-columns:1fr}.contact-form-card{padding:22px}}
@media(max-width:620px){.contact-page-grid{gap:30px}.contact-form-card{padding:18px}}

.footer-contacts{display:grid;gap:4px;margin-top:8px}.footer-contacts a{color:var(--green);overflow-wrap:anywhere}

.project-start{font-size:11px;color:#708079;margin:2px 0 10px}.project-start b{color:#20312a;font-weight:700}

/* === SOBRANO responsive hardening 2026-09-24 === */
html,body{max-width:100%;overflow-x:hidden}body{min-width:0}#root,main,section,.wrap,.nav,.hero-grid,.cards,.card,.list-grid,.list-card,.article-grid,.prose,.aside,.cta-grid,.contact-page-grid,.journal-grid,.photo-gallery{min-width:0}img,svg,video,canvas,iframe{max-width:100%}img{height:auto}.prose pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.prose code{overflow-wrap:anywhere}.prose table{max-width:100%;-webkit-overflow-scrolling:touch}.card h3,.list-card h3,.page-hero h1,.hero h1,.prose h1,.prose h2,.prose h3{overflow-wrap:break-word;word-break:normal;hyphens:auto}.lead-form input,.lead-form textarea,.lead-form button,.contact-form-card input,.contact-form-card textarea{min-width:0;max-width:100%;width:100%}.lead-form textarea{resize:vertical}.meta>*{min-width:0}.meta b{overflow-wrap:break-word}.list-card .row{gap:12px;flex-wrap:wrap}.list-card .row>*{min-width:0}.crumbs{overflow:hidden;text-overflow:ellipsis}.contact-float{max-width:calc(100vw - 28px)}

@media (max-width:1080px){
  .top{z-index:100}
  .nav{height:68px;gap:14px}
  .logo{font-size:24px;letter-spacing:.09em}
  .nav>.btn{display:none}
  .burger{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;padding:0;border:1px solid #dbe5e1;border-radius:8px;background:#fff;color:var(--ink);font:600 24px/1 Arial,sans-serif;cursor:pointer;flex:0 0 44px}
  .nav nav{display:none;position:fixed;left:0;right:0;top:68px;margin:0;padding:8px max(22px,calc((100vw - 1220px)/2 + 22px)) 18px;background:rgba(255,255,255,.99);border-top:1px solid #edf2f0;border-bottom:1px solid #dfe8e5;box-shadow:0 18px 40px rgba(16,42,32,.10);flex-direction:column;gap:0;max-height:calc(100dvh - 68px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav nav.open{display:flex}
  .nav nav a{display:flex;align-items:center;min-height:48px;padding:0 2px;border-bottom:1px solid #edf2f0;font-size:16px;white-space:normal}
  .nav nav a:last-child{border-bottom:0}
  html.nav-open,html.nav-open body{overflow:hidden}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero{background:#fff}
  .hero-copy{padding:44px 0 28px}
  .hero-img{height:auto;aspect-ratio:16/9;border-radius:8px;margin:0 0 34px;overflow:hidden;background:#eef4f2}
  .hero-img:before{display:none}
  .hero-img img{width:100%;height:100%;object-fit:cover}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card img{height:auto;aspect-ratio:16/10;object-fit:cover}
  .list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .list-card img{height:auto;aspect-ratio:16/10;object-fit:cover}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .article-grid{grid-template-columns:1fr;gap:30px}
  .aside{position:static;top:auto}
  .cta-grid{grid-template-columns:1fr;gap:24px}
  .cta-grid>p{max-width:760px}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-page-grid{grid-template-columns:1fr;gap:34px}
}

@media (max-width:760px){
  .wrap{width:calc(100% - 32px)}
  .section{padding:44px 0}
  .page-hero{padding:48px 0 38px}
  .hero-copy{padding:38px 0 24px}
  .hero h1,.page-hero h1{font-size:clamp(34px,9.2vw,43px);line-height:1.04;letter-spacing:-.035em;margin-bottom:18px}
  .hero p,.page-hero .lead{font-size:16px;line-height:1.55}
  .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:14px}
  .actions{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0 30px}
  .actions .btn{width:100%;min-height:48px;padding:14px 18px}
  .usp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
  .usp div{min-width:0;padding:12px 8px;background:#f7faf9;border:1px solid #e5ece9;border-radius:6px;font-size:10px;line-height:1.35;text-align:center}
  .usp b{font-size:20px;margin-bottom:5px}
  .hero-img{aspect-ratio:16/10;margin-bottom:26px}
  .head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:20px}
  .head h2,.section h2{font-size:29px;line-height:1.08}
  .head>a{padding:5px 0}
  .cards,.list-grid,.journal-grid{grid-template-columns:1fr;gap:14px}
  .card img,.list-card img{aspect-ratio:16/10}
  .card-body,.list-card .body{padding:16px}
  .card h3{font-size:19px;line-height:1.22}
  .list-card h3{font-size:21px;line-height:1.18}
  .card p,.list-card p{font-size:14px;line-height:1.5}
  .tag{margin-bottom:9px}
  .project-start{font-size:11px;line-height:1.45;margin-bottom:9px}
  .meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .meta b{font-size:12px;line-height:1.35}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
  .step{padding-top:12px}
  .step i{width:38px;height:38px}
  .why{grid-template-columns:1fr;gap:0}
  .why div{padding:18px 0;border-right:0;border-bottom:1px solid #e4ebe8}
  .why div:first-child{padding-top:0}
  .why div:last-child{border-bottom:0;padding-bottom:0}
  .crumbs{white-space:nowrap;font-size:11px;margin-bottom:18px}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px}
  .stat{min-width:0;padding:13px 14px}
  .stat small{font-size:10px}
  .stat b{font-size:15px;line-height:1.25;overflow-wrap:break-word}
  .detail-hero-img{height:auto;aspect-ratio:16/10;margin-top:24px}
  .detail-hero-img img{width:100%;height:100%;object-fit:cover}
  .article{padding:40px 0}
  .article-grid{gap:24px}
  .prose h2{font-size:25px;line-height:1.15;margin:30px 0 10px}
  .prose h3{font-size:21px;line-height:1.2}
  .prose p,.prose ul,.prose ol{font-size:16px;line-height:1.68}
  .prose ul,.prose ol{padding-left:20px}
  .quote{padding:18px 18px;font-size:17px;line-height:1.5;margin:24px 0}
  .split{grid-template-columns:1fr;gap:12px}
  .split div{padding:17px}
  .aside{padding:18px}
  .aside .btn{min-height:48px}
  .cta{padding:42px 0}
  .cta h2{font-size:28px;line-height:1.1}
  .lead-form{gap:10px}
  .lead-form input,.lead-form textarea{font-size:16px;padding:13px 14px}
  .lead-form .btn{width:100%;min-height:50px}
  .lead-form .lead-consent{font-size:11px;line-height:1.45}
  .contact-form-card{padding:18px}
  .photo-gallery{grid-template-columns:1fr;gap:16px}
  .photo-gallery img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .foot{grid-template-columns:1fr;gap:18px;padding-bottom:4px}
  .foot>div{min-width:0}
  .foot .logo{font-size:22px}
  .footer-contacts{margin-top:10px}
  .copy{margin-top:20px}
  .contact-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:11px 14px;font-size:12px;gap:10px;min-height:44px}
  .chat-panel{left:10px;right:10px;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 84px - env(safe-area-inset-bottom));border-radius:12px}
  #chat-messages{height:min(230px,31dvh)}
}

@media (max-width:420px){
  .wrap{width:calc(100% - 24px)}
  .logo{font-size:21px;letter-spacing:.08em}
  .logo small{display:none}
  .hero h1,.page-hero h1{font-size:34px}
  .hero-img{aspect-ratio:4/3}
  .usp{grid-template-columns:1fr;gap:7px}
  .usp div{display:grid;grid-template-columns:28px 1fr;align-items:center;text-align:left;padding:10px 12px}
  .usp b{margin:0;font-size:18px}
  .stats{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;gap:16px 12px}
  .meta{grid-template-columns:1fr 1fr}
  .contact-float{max-width:calc(100vw - 24px)}
}

@media (max-width:340px){
  .wrap{width:calc(100% - 20px)}
  .hero h1,.page-hero h1{font-size:31px}
  .stats,.steps,.meta{grid-template-columns:1fr}
}

@media (hover:none),(pointer:coarse){
  .card:hover{transform:none;box-shadow:none}
  .btn:hover{background:var(--green)}
}
