.page-shell{gap:30px;width:100%;max-width:1200px;margin:0 auto;padding-inline:18px;display:grid;position:relative}.ambient-art{pointer-events:none;z-index:0;height:240px;position:absolute;inset:-8px 0 auto}.ambient-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.72;position:absolute}.ambient-stroke path{stroke-dasharray:12 14;animation:7s ease-in-out infinite strokePulse}.ambient-stroke-a{width:min(50vw,410px);top:20px;left:4%}.ambient-stroke-a path{stroke:#265f566b;stroke-width:10px}.ambient-stroke-b{width:min(34vw,290px);top:74px;right:6%}.ambient-stroke-b path{stroke:#965f3366;stroke-width:8px;animation-delay:1.3s}.ambient-stroke-c{opacity:.55;width:min(32vw,260px);top:110px;left:38%}.ambient-stroke-c path{stroke:#2f657a59;stroke-width:7px;stroke-dasharray:8 16;animation-delay:.7s}.hero{z-index:1;grid-template-columns:minmax(320px,1.15fr) minmax(240px,.85fr);align-items:center;gap:34px;max-width:1140px;min-height:min(75vh,700px);margin:8px auto 0;display:grid;position:relative}.hero-content{padding:26px}.badge{color:#4e2d14;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#e8b98f,#f7d9a4);border-radius:999px;margin-bottom:1rem;padding:.4rem .8rem;font-size:.73rem;font-weight:700;display:inline-block}.hero h1{font-family:var(--font-display), serif;color:#2b1a11;max-width:18ch;margin:0 0 .9rem;font-size:60px;font-weight:600;line-height:1.05}.hero-content>p{color:#513d2f;max-width:50ch;margin:0;font-size:19px}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;display:flex}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.1rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:inline-flex}.btn-primary{color:#f4f4ef;background:linear-gradient(115deg,#2f4f4b,#0f3038);box-shadow:0 10px 20px #0c2b3040}.btn-secondary{color:#2b463d;background:#fffaf4cc;border-color:#213e3866}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}.hero-visual{align-self:stretch;position:relative;transform:rotate(.45deg)}.illustration-card{background:radial-gradient(circle at 20% 20%,#ffcb94cc,#0000 30%),radial-gradient(circle at 80% 70%,#bededfbf,#0000 38%),linear-gradient(150deg,#f8ecda,#f0dac0 60%,#efdfd0);border:1px solid #42311c40;border-radius:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;height:100%;min-height:370px;padding:18px;display:grid;box-shadow:0 18px 34px #46291733}.illustration-card .card-cell{background:#ffffff0a;border-radius:16px;align-items:flex-end;min-height:150px;display:flex;position:relative;overflow:hidden}.hero-image-placeholder,.image-placeholder{color:#6b5443;background:#fffaf4eb;border:1px dashed #674f3d66;justify-content:center;align-items:center;width:100%;height:100%;font-size:.95rem;font-style:italic;display:flex}.illustration-card .card-cell span{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#4d3320;font-family:var(--font-display), serif;letter-spacing:.04em;background:#ffffffa6;border:1px dashed #38241447;border-radius:10px;margin:0;padding:6px 10px;font-size:clamp(.95rem,2vw,1.2rem);position:absolute;bottom:10px;left:10px}.illustration-card span{font-family:var(--font-display), serif;letter-spacing:.04em;color:#4d3320;background:#ffffff7a;border:1px dashed #38241447;border-radius:14px;justify-content:start;align-items:end;padding:10px;font-size:clamp(1rem,2.2vw,1.35rem);display:flex}.section{isolation:isolate;content-visibility:auto;contain-intrinsic-size:620px;max-width:1020px;margin-inline:auto;padding:30px;position:relative}.reveal-ready .section{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(12px)}.reveal-ready .section.visible{opacity:1;transform:translateY(0)}.section:before{content:"";clip-path:polygon(2% 8%,22% 2%,48% 6%,72% 2%,96% 10%,100% 36%,98% 78%,84% 96%,52% 100%,28% 96%,6% 88%,0 58%);z-index:-1;background:linear-gradient(148deg,#fff8e9e6,#f4e5cac7);border:1px solid #4e3a293d;animation:14s ease-in-out infinite sectionShift;position:absolute;inset:-10px -8px;box-shadow:0 16px 30px #422a161c}.section:after{content:"";z-index:-1;background:radial-gradient(circle at 28% 38%,#e6a4644d,#e6a46400);border-radius:36% 64% 52% 48%/60% 38% 62% 40%;width:160px;height:160px;animation:17s linear infinite blobSpin;position:absolute;top:-62px;right:-56px}.section-themes{transform:translate(-22px)}.section-portfolio{max-width:1060px;transform:translate(8px)}.section-notes{max-width:950px;transform:translate(-18px)}.section-contact{content-visibility:visible;contain-intrinsic-size:auto;transform:translate(16px)}.section-contact .contact-form{contain:layout paint}.section h2{font-family:var(--font-display), serif;color:#2f2117;margin:0 0 .5rem;font-size:42px;line-height:1.15}.section>p{color:#5a4637;max-width:70ch;margin:0 0 1.2rem;font-size:18px}.card-grid,.portfolio-grid{gap:1rem;display:grid}.section-themes .card-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.card-grid .feature-card:first-child{grid-column:1/span 7}.card-grid .feature-card:nth-child(2){grid-column:8/span 5;margin-top:18px}.card-grid .feature-card:nth-child(3){grid-column:2/span 5;margin-top:-4px}.card-grid .feature-card:nth-child(4){grid-column:7/span 6;margin-top:8px}.section-portfolio .portfolio-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(120px,auto);padding:.2rem}.section-portfolio .tile{clip-path:polygon(0 7%,97% 0,100% 92%,4% 100%);padding-left:1.2rem;padding-right:1.1rem}.section-portfolio .tile:first-child{grid-column:span 4;min-height:220px;padding-left:2rem}.section-portfolio .tile:nth-child(2){grid-column:span 2;min-height:220px}.section-portfolio .tile:nth-child(3){grid-column:span 2;min-height:170px}.section-portfolio .tile:nth-child(4){grid-column:span 4;min-height:170px;padding-left:2rem}.feature-card,.tile,.testimonials blockquote{border-radius:var(--card-radius);border:var(--card-border);background:var(--card-bg);box-shadow:var(--card-shadow);color:#4f3b2d;transform-origin:50%;padding:1rem;line-height:1.5;transition:transform .28s,box-shadow .28s}.feature-card img,.tile img{object-fit:cover;border-radius:12px;width:100%;height:auto;display:block}.image-tile{background:0 0;padding:0}.card-grid .feature-card:nth-child(2n){transform:rotate(-.9deg)}.card-grid .feature-card:nth-child(odd){transform:rotate(.8deg)}.feature-card:hover,.tile:hover,.testimonials blockquote:hover{transform:translateY(-4px)rotate(0);box-shadow:0 14px 24px #55341929}.feature-card h3{font-family:var(--font-display), serif;color:#2f291f;margin:0 0 .45rem;font-size:1.55rem}.tile{color:#452d20;font-weight:600;font-family:var(--font-display), serif;clip-path:polygon(0 7%,97% 0,100% 92%,4% 100%);background:linear-gradient(155deg,#fff2dfe6,#f5e8d1eb);align-items:end;font-size:1.35rem;display:flex}.testimonials{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.testimonials blockquote{border-left:5px solid #2447438c;margin:0;font-style:italic}.testimonials blockquote:nth-child(2n){transform:rotate(-.7deg)translateY(10px)}.testimonials cite{color:#45685f;margin-top:.5rem;font-size:.9rem;font-style:normal;font-weight:600;display:block}.contact-form{gap:.9rem;max-width:820px;display:grid}.input-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.contact-form label{color:#443327;gap:.35rem;font-weight:600;display:grid}.contact-form input,.contact-form textarea{width:100%;font:inherit;color:#2f231d;background:#fffcf6eb;border:1px solid #51382357;border-radius:12px;padding:.7rem .75rem}.contact-form input:focus,.contact-form textarea:focus{border-color:#204b458c;outline:2px solid #2e605947}.contact-success{background:#ecfcf1cc;border:1px solid #2a60505c;border-radius:16px;padding:1rem}.small{color:#6a5546;margin:0;font-size:.86rem}@media (max-width:930px){.page-shell{gap:20px;max-width:100%;padding-inline:14px}.hero{grid-template-columns:1fr;gap:.7rem;max-width:none;min-height:auto}.hero-content{padding:18px}.hero h1{font-size:44px}.hero-content>p,.section>p{font-size:17px}.section h2{font-size:34px}.hero-visual{min-height:260px;transform:none}.section,.section-themes,.section-portfolio,.section-notes,.section-contact{max-width:none;margin-inline:auto;transform:none}.section-themes .card-grid,.card-grid{grid-template-columns:1fr}.card-grid .feature-card:first-child,.card-grid .feature-card:nth-child(2),.card-grid .feature-card:nth-child(3),.card-grid .feature-card:nth-child(4){grid-column:auto;margin-top:0}.testimonials,.section-portfolio .portfolio-grid{grid-template-columns:1fr}.section-portfolio .tile:first-child,.section-portfolio .tile:nth-child(2),.section-portfolio .tile:nth-child(3),.section-portfolio .tile:nth-child(4){grid-column:auto;min-height:160px;padding-left:1rem}.input-row{grid-template-columns:1fr}.ambient-art{height:180px}.ambient-stroke-a{width:min(56vw,330px)}.ambient-stroke-b{width:min(45vw,250px)}.ambient-stroke-c{width:min(40vw,210px);top:112px;right:8%}.ambient-stroke path,.section:before,.section:after{animation:none}}@media (max-width:620px){.hero-content{padding:.5rem .2rem}.hero h1{max-width:100%;font-size:32px}.hero-content>p,.section>p{font-size:16px}.section h2{font-size:28px}.hero-actions{grid-template-columns:1fr;gap:.55rem;margin-top:1.2rem;display:grid}.hero-actions .btn{width:100%}.illustration-card{border-radius:18px;min-height:290px;padding:12px}.section{padding:1rem .9rem}.section:before{clip-path:polygon(4% 10%,22% 3%,50% 6%,76% 3%,95% 12%,99% 38%,96% 80%,82% 95%,52% 98%,28% 95%,8% 88%,2% 60%);inset:0}.section:after{width:96px;height:96px;top:-28px;right:0}.tile{font-size:1.1rem}.feature-card h3{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){.reveal-ready .section,.reveal-ready .section.visible{opacity:1;transition:none;transform:none}.ambient-stroke path,.btn,.feature-card,.tile,.section:before,.section:after{transition:none;animation:none}}@keyframes strokePulse{0%,to{stroke-dashoffset:0;opacity:.72}50%{stroke-dashoffset:36px;opacity:1}}@keyframes sectionShift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translateY(-5px)scale(1.006)}}@keyframes blobSpin{0%{transform:rotate(0)translate(0,0)}50%{transform:rotate(180deg)translate(8px,-6px)}to{transform:rotate(360deg)translate(0,0)}}
