/* CORAFTER Phase 5: About, Portfolio, Process, Contact and Quote page refinement.
   Additive stylesheet: intentionally preserves existing page markup and PHP behaviour. */
:root{--cora-ink:#0b1738;--cora-muted:#65728d;--cora-blue:#1764ff;--cora-violet:#6955ff;--cora-line:#dce6f7;--cora-soft:#f5f8ff}
.page-hero,.portfolio-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 82% 22%,rgba(54,123,255,.38),transparent 34%),linear-gradient(120deg,#09183d 0%,#123b91 56%,#155ce4 100%);color:#fff}
.page-hero:before,.portfolio-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 95%)}
.page-hero .container,.portfolio-hero .container{position:relative;z-index:1}
.page-hero h1,.portfolio-hero h1{max-width:850px;letter-spacing:-.045em;line-height:1.04;text-wrap:balance}
.page-hero p,.portfolio-hero p{max-width:650px;color:rgba(239,245,255,.84);line-height:1.8}
.page-hero-art img,.portfolio-hero-art>img,.contact-art img,.quote-art img{display:block;width:100%;height:100%;max-height:480px;object-fit:contain;object-position:center}
.page-hero-art,.portfolio-hero-art,.contact-art,.quote-art{min-width:0;overflow:visible}
.story-grid,.split-section,.portfolio-hero-grid,.page-hero-inner,.contact-grid,.quote-layout{align-items:center;gap:clamp(28px,5vw,76px)}
.story-grid>*,.split-section>*,.portfolio-hero-grid>*,.page-hero-inner>*,.contact-grid>*,.quote-layout>*{min-width:0}
.detail-visual,.showcase-art,.process-checklist,.contact-art,.quote-art,.portfolio-art-3d{border-radius:28px}
.detail-visual{display:grid;place-items:center;min-height:350px;padding:clamp(18px,3vw,36px);background:radial-gradient(circle at 50% 42%,#fff 0,#eef4ff 56%,#e2eaff 100%);border:1px solid #e3ebfb;overflow:hidden}
.detail-visual img,.giant-c-image{display:block;width:100%;max-width:460px;max-height:440px;object-fit:contain;object-position:center;filter:drop-shadow(0 22px 35px rgba(22,78,180,.17))}
.section-heading{max-width:820px}.section-heading h2,.story-grid h2,.split-section h2{letter-spacing:-.035em;text-wrap:balance}.section-heading p{max-width:680px;margin-inline:auto;line-height:1.8;color:var(--cora-muted)}
.value-card,.team-card,.portfolio-card,.form-card{border:1px solid var(--cora-line);border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(17,45,105,.055);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.value-card,.team-card{padding:clamp(22px,3vw,32px)}
.value-card:hover,.team-card:hover,.portfolio-card:hover{transform:translateY(-5px);border-color:#b9ccff;box-shadow:0 20px 48px rgba(17,45,105,.12)}
.value-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:18px;border-radius:15px;background:linear-gradient(135deg,#e8f1ff,#eeeaff);color:var(--cora-blue);font-size:24px;font-weight:800}
.values-grid,.team-grid{gap:20px}
.team-avatar{display:grid;place-items:center;width:58px;height:58px;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,#1764ff,#7656ff);color:#fff;font-weight:800;font-size:20px;box-shadow:0 10px 24px rgba(61,91,230,.22)}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 32px}
.filter-btn{min-height:42px;padding:10px 17px;border:1px solid var(--cora-line);border-radius:999px;background:#fff;color:#203052;font-weight:650;transition:all .2s ease}
.filter-btn:hover,.filter-btn.active{border-color:transparent;background:linear-gradient(110deg,#1764ff,#6a55ff);color:#fff;box-shadow:0 8px 20px rgba(49,87,230,.18)}
.portfolio-grid{align-items:stretch;gap:24px}.portfolio-card{overflow:hidden;display:flex;flex-direction:column;min-width:0}.portfolio-media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#e8f1ff,#dfe7ff)}
.portfolio-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .35s ease;padding:10px}
.portfolio-card:hover .portfolio-media img{transform:scale(1.035)}.portfolio-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px}.portfolio-card-body p{line-height:1.75;color:var(--cora-muted)}.portfolio-card-body .text-link{margin-top:auto;padding-top:18px}
.project-arrow{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--cora-blue);box-shadow:0 5px 20px #0a1d4930}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag-row span{padding:6px 10px;border-radius:999px;background:#f0f4ff;color:#314b83;font-size:.78rem;font-weight:650}
.process-timeline-v2{gap:18px}.process-timeline-v2 article{border:1px solid var(--cora-line);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(17,45,105,.05);transition:transform .2s ease,border-color .2s ease}.process-timeline-v2 article:hover{transform:translateY(-3px);border-color:#b7caff}.process-timeline-v2 article>span{box-shadow:0 10px 24px rgba(54,92,229,.2)}.process-timeline-v2 article p{line-height:1.75}
.process-checklist .check-card{padding:19px 20px;border:1px solid var(--cora-line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(17,45,105,.045)}
.contact-grid,.quote-layout{align-items:start}.contact-grid>div:first-child,.quote-intro{padding-top:12px}.contact-list{display:grid;gap:14px;margin-top:28px}.contact-list>div{display:flex;align-items:flex-start;gap:15px;padding:17px;border:1px solid var(--cora-line);border-radius:17px;background:#fff}.contact-list>div>b{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#edf3ff;color:var(--cora-blue);font-size:20px}.contact-list>div>span{display:grid;gap:5px;min-width:0}.contact-list a{overflow-wrap:anywhere;color:#185ce0;font-weight:650}
.form-card{padding:clamp(22px,3.2vw,36px)}.form-card h2{margin-top:0;letter-spacing:-.03em}.form-card>p{color:var(--cora-muted)}.stack-form{gap:18px}.stack-form label{display:grid;gap:8px;color:#203052;font-size:.92rem;font-weight:650}.stack-form input,.stack-form select,.stack-form textarea{width:100%;min-width:0;min-height:48px;border:1px solid #d7e1f2;border-radius:12px;background:#fbfcff;padding:12px 14px;color:var(--cora-ink);font:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.stack-form textarea{min-height:150px;resize:vertical}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus{outline:none;border-color:#648cff;background:#fff;box-shadow:0 0 0 4px rgba(45,103,255,.12)}.stack-form .btn{justify-self:start;min-height:50px}.form-message{overflow-wrap:anywhere}.quote-points{display:grid;gap:14px;margin-top:28px}.quote-points>div{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;background:linear-gradient(120deg,#f0f5ff,#f8f7ff);border:1px solid #e1e9fb}.quote-points>div>b{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:#fff;color:var(--cora-blue)}.quote-points>div>span{display:grid;gap:5px;line-height:1.6;color:var(--cora-muted)}.quote-points strong{color:var(--cora-ink)}
.cta-box{overflow:hidden}.cta-orbit{flex-shrink:0}.mini-points>div{border-bottom:1px solid var(--cora-line)}.empty-state{padding:32px;border:1px dashed #c9d7f2;border-radius:18px;text-align:center;color:var(--cora-muted)}
@media(max-width:900px){.story-grid,.split-section,.portfolio-hero-grid,.page-hero-inner,.contact-grid,.quote-layout{gap:32px}.portfolio-hero-art,.page-hero-art{max-width:600px;margin-inline:auto}.detail-visual{min-height:280px}.contact-art,.quote-art{max-width:520px;margin-inline:auto}}
@media(max-width:600px){.page-hero h1,.portfolio-hero h1{font-size:clamp(2.25rem,11vw,3.4rem);line-height:1.07}.detail-visual{min-height:230px;border-radius:22px}.detail-visual img,.giant-c-image{max-height:300px}.value-card,.team-card{padding:21px}.portfolio-grid{gap:17px}.portfolio-card-body{padding:19px}.portfolio-filters{gap:8px;margin:22px 0}.filter-btn{min-height:39px;padding:8px 13px;font-size:.88rem}.form-card{padding:21px;border-radius:19px}.form-two{grid-template-columns:1fr}.contact-list>div{padding:14px}.process-timeline-v2 article{padding:18px}.cta-box{gap:20px}}
@media(prefers-reduced-motion:reduce){.value-card,.team-card,.portfolio-card,.portfolio-media img,.process-timeline-v2 article,.filter-btn{transition:none}}
