:root{--green:#0c4849;--ink:#193d3b;--cream:#f5f2e9;--sand:#e8e2d5;--muted:#666c62;--line:#d6d9cc;--white:#fffdf8;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:4px;box-shadow:0 0 0 7px #f4c95d}h1,h2,h3,p{margin:0}h1,h2,.art-caption>span:first-child,.statement{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(3.6rem,5.4vw,5.6rem);letter-spacing:-.06em;line-height:1.05}h1 em{font-weight:400;color:#6b795e}h2{font-size:clamp(2.5rem,3.8vw,4rem);letter-spacing:-.045em;line-height:1.13}h3{font-size:1.3rem;font-weight:500;letter-spacing:-.03em}p+p{margin-top:18px}.wrap{max-width:1440px;margin:auto;padding-left:6%;padding-right:6%}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:35px;position:sticky;top:0;z-index:20;background:#f5f2e9f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-size:29px;line-height:1;font-weight:800;letter-spacing:-1.8px;display:inline-flex}.brand-small{display:block;font-size:10px;font-weight:500;letter-spacing:7px;margin:7px 0 0 4px}.header nav{display:flex;align-items:center;gap:25px;font-size:13px}.header nav>a:not(.button):hover,.text-link:hover{color:#7a6945}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:var(--cream);border:1px solid var(--green);padding:16px 25px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#226160;transform:translateY(-2px)}.button.small{font-size:13px;padding:12px 18px}.menu-toggle{display:none}.hero{padding-top:65px;padding-bottom:26px;display:grid;grid-template-columns:1.05fr 1fr;gap:0 6%}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:600;margin-bottom:27px;display:flex;align-items:center;gap:12px}.tiny-line{height:1px;width:30px;background:currentColor}.lead{font-size:18px;line-height:1.6;max-width:440px;margin-top:28px}.muted{color:var(--muted)}.intro{font-size:14px;max-width:425px;line-height:1.75}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hero-art{min-height:535px;position:relative;overflow:hidden;border-radius:140px 5px 5px 5px;background:#e5e3d5}.art-label{position:absolute;top:38px;right:30px;font-size:10px;letter-spacing:2px}.layers{position:absolute;width:76%;height:63%;top:13%;left:13%;transform:rotate(-17deg)}.layers i{position:absolute;border:1px solid #82917b;border-radius:42%;width:78%;height:78%;left:0;top:20%;background:#d4d8c5;box-shadow:0 9px 10px #33482b0a}.layers i:nth-child(2){transform:translate(10px,-14px);background:#dbe0cd}.layers i:nth-child(3){transform:translate(20px,-28px);background:#e2e7d4}.layers i:nth-child(4){transform:translate(30px,-42px);background:#e9ecd9}.layers i:nth-child(5){transform:translate(40px,-56px);background:#f0efdf}.art-caption{position:absolute;bottom:70px;left:35px;right:30px;display:flex;justify-content:space-between;align-items:end}.art-caption>span:first-child{font-size:35px;line-height:1.1;letter-spacing:-1px}.photo-label{font-size:9px;letter-spacing:1.3px;line-height:1.7;text-align:right;color:#57634f}.art-index{position:absolute;bottom:22px;left:35px;font-size:9px;letter-spacing:1.5px}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:35px;font-size:11px;color:var(--muted)}.ribbon{display:flex;justify-content:space-evenly;align-items:center;gap:22px;padding:24px 4%;background:var(--green);color:var(--cream);font-size:11px;letter-spacing:2px;margin-top:22px}.ribbon b{font-size:22px;font-weight:400;color:#b8c1a2}.skip-link{position:fixed;top:-70px;left:20px;z-index:50;background:var(--white);padding:12px}.skip-link:focus{top:10px}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:35px}.hero-art{min-height:580px}}
@media(max-width:1100px){.header nav{gap:15px;font-size:12px}.header nav .button{display:none}.hero{gap:5%}.hero-art{min-height:510px}}
@media(max-width:800px){.header{height:80px;padding:0 6%}.brand{font-size:25px}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;color:var(--green);padding:12px 0}.header nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--cream);padding:24px 6%;box-shadow:0 12px 20px #0001;align-items:stretch;font-size:16px}.header nav.open{display:flex;flex-direction:column}.header nav .button{display:inline-flex}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px}.hero-art{min-height:450px}.hero-copy{max-width:580px}h1{font-size:clamp(3.5rem,10vw,5.5rem)}.hero-foot{margin-top:0;gap:20px;font-size:10px}.hero-foot span:last-child{display:none}.ribbon{flex-wrap:wrap;font-size:10px;gap:12px 20px}.ribbon b:last-child{display:none}.eyebrow{font-size:10px}.lead{font-size:17px}.art-label{font-size:9px}.actions{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.section{padding-top:105px;padding-bottom:105px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{font-size:14px;max-width:365px}.creation-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.creation-card{padding:28px 24px 32px;border-right:1px solid var(--line);transition:background .2s}.creation-card:first-child{padding-left:0}.creation-card:last-child{border:0}.creation-card:hover{background:#e9eddf}.number{font-size:12px;color:#7b806e;display:block;margin-bottom:45px}.creation-card h3{font-size:23px;line-height:1.25;margin-bottom:18px}.creation-card p{font-size:13px;color:var(--muted);line-height:1.8}.card-link{display:inline-block;border-bottom:1px solid #aab09d;margin-top:28px;font-size:12px}.section-note{font-size:12px;color:var(--muted);margin-top:22px}.work-section{background:#eaeade}.work-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:start}.work-item:nth-child(2){padding-top:55px}.photo-space{min-height:320px;position:relative;overflow:hidden}.tone-sage{background:#d6dccb}.tone-clay{background:#e5d9c9}.placeholder-corner{position:absolute;top:23px;left:25px;font-size:10px;letter-spacing:1.5px}.placeholder-bottom{position:absolute;bottom:22px;left:25px;right:20px;font-size:9px;letter-spacing:1.5px;color:#526049}.empty-frame{position:absolute;inset:22% 26%;border:1px solid #7e8b6e60;border-radius:48% 48% 3px 3px}.empty-frame:before,.empty-frame:after{content:'';position:absolute;inset:12px;border:1px solid #7e8b6e40;border-radius:inherit}.empty-frame:after{inset:24px}.work-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:19px}.work-caption h3{font-size:17px}.work-caption>span{font-size:9px;letter-spacing:1px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.feature+.feature{padding-top:0}.product-space{min-height:480px;border-radius:4px}.product-word{font-family:Georgia,serif;font-size:clamp(3.5rem,5vw,5.5rem);line-height:1.08;letter-spacing:-.045em;position:absolute;top:28%;left:10%;color:#405940}.tone-clay .product-word{color:#806b58}.product-word em{font-weight:400}.feature-copy>p:not(.eyebrow){font-size:15px;margin-top:25px}.feature-copy .button{margin-top:30px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{border:1px solid #cbd1c1;border-radius:30px;padding:5px 12px;font-size:11px}.idea-band{background:var(--green);color:var(--cream);padding:85px 0;text-align:center;position:relative;overflow:hidden}.idea-band .eyebrow{justify-content:center;color:#c6cfb9}.idea-band h2{font-size:clamp(2.8rem,5vw,5rem)}.idea-band h2 em{color:#c5c9a6}.idea-band p:not(.eyebrow){margin-top:25px;font-size:15px;color:#d7ddcd}.light{background:var(--cream);border-color:var(--cream);color:var(--green);margin-top:30px}.light:hover{background:#dedfc8}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:65px}.process-grid article{border-top:1px solid #bbc4ad;padding-top:20px}.step-number{font-family:Georgia,serif;font-size:44px;color:#7a856e;display:block;margin-bottom:28px}.process-grid h3{font-size:19px;margin-bottom:14px}.process-grid p{font-size:14px;color:var(--muted)}.about{background:#e8e6dc}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.about h2 em{color:#7a8064}.location{display:block;font-size:11px;letter-spacing:2px;margin-top:40px}.about-copy .lead{margin-top:0}.about-copy>p{font-size:15px}.signature{font-size:18px;margin-top:30px;border-top:1px solid #c5cbba;padding-top:25px;line-height:1.7}.signature strong{font-weight:500}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:10%}.contact-intro{font-size:15px;max-width:300px;margin-top:25px}.contact-location{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.contact-location span{font-size:10px;letter-spacing:1.5px}.contact-location p{font-size:16px;margin-top:7px}.contact-note{font-size:12px;color:var(--muted);margin-top:22px}.idea-form{background:#edece2;padding:35px;border-radius:5px}.idea-form label{display:block;font-size:13px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}input,textarea,select{display:block;width:100%;background:var(--white);border:1px solid #cbd0c0;border-radius:3px;padding:12px;color:var(--ink);font-size:14px;margin-top:9px}textarea{resize:vertical;min-height:130px}input::placeholder,textarea::placeholder{color:#787c70}.form-hint{font-size:12px;color:var(--muted);margin:15px 0 23px}.idea-form .button{width:100%}#message-result{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.copy-button{background:none;border:0;border-bottom:1px solid;padding:4px 0;margin-top:16px;cursor:pointer;color:var(--green)}#copy-status{font-size:12px;margin-top:10px}.final-cta{text-align:center;padding-top:35px;padding-bottom:95px}.final-cta .eyebrow{justify-content:center}.final-cta .button{margin-top:30px}footer{background:var(--green);color:var(--cream)}.footer-main{padding-top:50px;padding-bottom:45px;display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-main>p{font-family:Georgia,serif;font-size:20px;line-height:1.3}.footer-main nav{display:flex;gap:22px;font-size:12px}.footer-main>span{font-size:12px;color:#c3ccb9}.footer-bottom{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;padding-top:18px;padding-bottom:18px;font-size:10px;color:#c3ccb9}.reveal{transition:opacity .65s ease,transform .65s ease}.reveal.pending{opacity:0;transform:translateY(18px)}.creation-grid .reveal:nth-child(2),.process-grid .reveal:nth-child(2){transition-delay:.07s}.creation-grid .reveal:nth-child(3),.process-grid .reveal:nth-child(3){transition-delay:.14s}.creation-grid .reveal:nth-child(4),.process-grid .reveal:nth-child(4){transition-delay:.21s}
@media(max-width:1000px){.creation-card{padding:24px 16px}.creation-card h3{font-size:20px}.feature{gap:6%}.contact-grid{gap:5%}.idea-form{padding:25px}.form-row{grid-template-columns:1fr}.footer-main{flex-wrap:wrap}.footer-main nav{flex-direction:column;gap:7px}.work-caption{align-items:start;flex-direction:column;gap:3px}}
@media(max-width:650px){.section{padding-top:65px;padding-bottom:65px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:23px}.creation-grid{grid-template-columns:1fr 1fr}.creation-card{padding:24px 15px!important}.creation-card:nth-child(2){border-right:0}.creation-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.creation-card p{font-size:12px}.creation-card h3{font-size:20px}.number{margin-bottom:28px}.card-link{font-size:11px}.work-grid{grid-template-columns:1fr;gap:30px}.work-item:nth-child(2){padding-top:0}.photo-space{min-height:310px}.feature,.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.feature-copy{order:0}.feature .photo-space{order:1}.feature+.feature{padding-top:10px}.product-space{min-height:350px}.product-word{font-size:3.7rem}.idea-band{padding:65px 0}.process-grid{grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:35px}.step-number{margin-bottom:20px}.process-grid p{font-size:13px}.process-grid h3{font-size:17px}.idea-form{padding:24px 20px}.final-cta{padding-top:15px;padding-bottom:65px}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-main>p{font-size:18px}.footer-bottom{gap:20px;font-size:9px}.eyebrow{letter-spacing:1.4px}.reveal.pending{transform:translateY(10px)}}
/* Original user-supplied screenshots are framed using CSS; no recreated logo or invented product imagery. */
.brand{align-items:center;gap:11px}.logo-crop{display:block;position:relative;width:49px;height:49px;border-radius:50%;overflow:hidden;flex:none}.logo-crop img{position:absolute;width:151.72%;height:auto;max-width:none;left:-25.75%;top:-99.14%}.product-crop{position:relative;overflow:hidden;isolation:isolate;background:#e9decc;min-width:0;container-type:size}.product-crop>img{position:absolute;width:303.43%;height:auto;max-width:none;left:calc(var(--crop-x)* -1%);top:calc(var(--crop-y)* -1%);pointer-events:none}.crop-gala{--crop-x:101.29;--crop-y:302.15}.crop-grips{--crop-x:0;--crop-y:302.15}.crop-jan{--crop-x:202.14;--crop-y:438.20}.crop-white-grip{--crop-x:0;--crop-y:438.20}.product-crop>img{width:max(303.43cqw,226.0cqh);left:calc(var(--source-x) * max(1cqw / 233 * 100, 1cqh / 313 * 100) * -1);top:calc(var(--source-y) * max(1cqw / 233 * 100, 1cqh / 313 * 100) * -1)}.crop-gala{--source-x:236;--source-y:706}.crop-grips{--source-x:0;--source-y:706}.crop-jan{--source-x:472;--source-y:1020}.crop-white-grip{--source-x:0;--source-y:1020}.real-hero{border-radius:130px 5px 5px 5px;background:#ebdfc9}.real-hero .product-crop{position:absolute;inset:0 0 0 0}.hero-photo-note{position:absolute;bottom:20px;left:20px;right:20px;background:#f5f2e9eb;padding:12px 14px;font-size:9px;letter-spacing:1.4px;border-radius:3px}.instagram-link{display:inline-block;margin-top:18px}.work-grid .photo-space{height:370px}.product-space.product-crop{height:480px}.hero-art{min-height:560px}.brand-small{letter-spacing:6px}.header nav{gap:19px}
@media(max-width:650px){.logo-crop{width:42px;height:42px}.hero-art{min-height:470px}.product-space.product-crop{height:410px}.work-grid .photo-space{height:390px}.header .brand{font-size:23px}.footer-main .brand{font-size:22px}}

/* Public commercial experience */
.product-crop.cms-media>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;pointer-events:auto}.gallery-load-more{display:block;margin:28px auto 0}.project-image.cms-media{min-height:280px}
.creation-card p{min-height:94px;font-size:14px;line-height:1.65}
.creation-card .card-link{font-size:13px}
.gallery-heading{max-width:780px;margin-bottom:38px}
.gallery-heading .eyebrow{margin-bottom:21px}
.gallery-heading>p:last-child{margin-top:22px;color:var(--muted);font-size:16px}
.gallery-filters{display:flex;gap:9px;overflow-x:auto;padding:0 0 22px;margin-bottom:22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gallery-filters::-webkit-scrollbar{display:none}
.filter-button{flex:0 0 auto;border:1px solid #aeb9aa;background:transparent;color:var(--ink);border-radius:999px;padding:10px 18px;font-size:14px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.filter-button:hover,.filter-button.active{background:var(--green);border-color:var(--green);color:var(--cream)}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 25px}
.project-card{background:var(--white);border-radius:5px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);min-height:390px}
.project-card.featured{grid-column:1/-1;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);min-height:500px}
.project-card[hidden]{display:none}
.project-image{position:relative;height:100%;min-height:390px;min-width:0;overflow:hidden}
.project-image.cms-media>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;pointer-events:auto}
.featured .project-image{min-height:500px}
.project-index{position:absolute;top:18px;left:18px;z-index:2;background:var(--cream);border-radius:999px;padding:6px 10px;font-size:12px;letter-spacing:1px}
.project-content{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere;padding:31px 28px}
.project-category{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:#697265}
.project-content h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,2.6vw,2.5rem);font-weight:400;line-height:1.08;margin-top:16px}
.project-content>p{font-size:14px;color:var(--muted);margin-top:18px}
.project-content dl{margin:24px 0 26px;border-top:1px solid var(--line);padding-top:17px}
.project-content dl div{display:grid;gap:3px}
.project-content dt{font-size:11px;text-transform:uppercase;letter-spacing:1.1px;color:var(--muted)}
.project-content dd{margin:0;font-size:13px}
.project-cta{align-self:flex-start;margin-top:auto;padding:12px 16px;font-size:13px}
.gallery-empty{border:1px solid #bdc5b8;background:#f1f0e7;padding:50px 30px;text-align:center;border-radius:5px}
.gallery-empty span{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.gallery-empty h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:30px;margin:12px 0 9px}
.gallery-empty p{font-size:14px;color:var(--muted);margin-bottom:22px}
.gallery-note{margin-top:28px}
.infantil-section{background:#eee3d2}
.infantil-section .feature{padding-top:105px;padding-bottom:105px}
.infantil-section .feature-copy h2 em{color:#96775d}
.idea-band p:not(.eyebrow){max-width:650px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.75}
.process-grid.five-steps{grid-template-columns:repeat(5,1fr);gap:20px}
.five-steps .step-number{font-size:38px}
.five-steps h3{font-size:17px;min-height:52px}
.contact-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:7%}
.idea-form{padding:40px}
.idea-form label{font-size:14px;font-weight:600}
.idea-form input,.idea-form textarea,.idea-form select{min-height:50px;padding:13px 14px;font-size:16px;border-color:#bcc7b9}
.idea-form textarea{min-height:145px}
.form-row-last{align-items:start;margin-top:25px}
.file-input{padding:10px!important;background:var(--white)}
.file-input::file-selector-button{border:0;background:var(--green);color:var(--cream);border-radius:3px;padding:10px 12px;margin-right:12px;cursor:pointer}
.field-note{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:7px}
.result-kicker{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
#message-result h3{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;margin:8px 0 6px}
#message-result>p{font-size:14px;color:var(--muted);margin-bottom:18px}
.result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.result-actions .instagram-link{margin-top:16px}
.final-cta>p{max-width:560px;margin:22px auto 0;color:var(--muted)}
.final-actions{display:flex;justify-content:center;align-items:center;gap:28px;margin-top:30px}
.final-actions .button{margin-top:0}

@media(max-width:1100px){
  .project-card,.project-card.featured{grid-template-columns:1fr;min-height:0}
  .project-card.featured{grid-column:auto}
  .project-image,.featured .project-image{min-height:360px}
  .process-grid.five-steps{grid-template-columns:repeat(3,1fr)}
  .five-steps h3{min-height:0}
}

@media(max-width:800px){
  .project-gallery{grid-template-columns:1fr}
  .project-card{grid-template-columns:1.1fr .9fr}
  .project-card.featured{grid-template-columns:1.1fr .9fr}
  .project-image,.featured .project-image{min-height:410px}
  .process-grid.five-steps{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
}

@media(max-width:650px){
  .header nav{max-height:calc(100dvh - 79px);overflow-y:auto}
  .header nav a{min-height:44px;display:flex;align-items:center}
  .header nav .button{width:100%;min-height:50px}
  .actions{align-items:stretch;flex-direction:column;gap:15px}
  .actions .button{width:100%;min-height:52px}
  .actions .text-link{align-self:flex-start}
  .creation-grid{grid-template-columns:1fr}
  .creation-card{border-right:0;border-bottom:1px solid var(--line)!important;padding:27px 4px!important}
  .creation-card:last-child{border-bottom:0!important}
  .creation-card p{min-height:0;max-width:330px;font-size:14px}
  .gallery-heading h2{font-size:clamp(2.7rem,13vw,4rem)}
  .gallery-filters{width:100%;max-width:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
  .filter-button{min-height:44px}
  .project-card,.project-card.featured{grid-template-columns:1fr}
  .project-image,.featured .project-image{height:390px;min-height:390px}
  .project-content{padding:25px 22px 27px}
  .project-content h3{font-size:2rem}
  .project-cta{width:100%;min-height:50px}
  .gallery-empty{padding:38px 22px}
  .infantil-section .feature{padding-top:65px;padding-bottom:65px}
  .idea-band p:not(.eyebrow){font-size:15px}
  .idea-band .button{width:100%;min-height:52px}
  .process-grid.five-steps{grid-template-columns:1fr;gap:0;margin-top:20px}
  .five-steps article{display:grid;grid-template-columns:58px 1fr;column-gap:17px;padding:23px 0;border-top:1px solid #bbc4ad}
  .five-steps .step-number{grid-row:1/3;margin:0;font-size:33px}
  .five-steps h3{margin:0 0 5px;font-size:18px}
  .five-steps p{grid-column:2;font-size:14px}
  .idea-form{padding:27px 19px;margin-left:-2vw;margin-right:-2vw}
  .form-row,.form-row-last{grid-template-columns:1fr;gap:22px;margin-bottom:22px}
  .idea-form .button{min-height:54px}
  .result-actions{align-items:flex-start;flex-direction:column;gap:0}
  .final-actions{align-items:stretch;flex-direction:column;gap:18px}
  .final-actions .button{width:100%;min-height:52px}
  .final-actions .text-link{align-self:center}
}

/* Conversational assistant */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.chat-launcher{position:fixed;right:22px;bottom:22px;z-index:42;display:flex;align-items:center;gap:11px;border:0;border-radius:999px;background:var(--green);color:var(--cream);padding:9px 17px 9px 9px;box-shadow:0 14px 45px #0b29283d;cursor:pointer;text-align:left;transition:transform .2s,box-shadow .2s}
.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 50px #0b29284d}
.chat-launcher-icon,.chat-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#eadfc7;color:var(--green);font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:700}
.chat-launcher strong,.chat-launcher small{display:block}.chat-launcher strong{font-size:13px}.chat-launcher small{color:#d7ddcd;font-size:11px;margin-top:1px}
.chat-panel{position:fixed;right:22px;bottom:88px;z-index:43;width:min(410px,calc(100vw - 32px));height:min(650px,calc(100dvh - 116px));background:var(--white);border:1px solid #c9d0c2;border-radius:18px;box-shadow:0 24px 80px #0b292842;overflow:hidden;grid-template-rows:auto 1fr auto auto auto}
.chat-panel:not([hidden]){display:grid;animation:chat-in .24s ease-out}
@keyframes chat-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.chat-header{display:flex;align-items:center;gap:12px;padding:16px 17px;background:var(--green);color:var(--cream)}
.chat-header .chat-avatar{width:40px;height:40px;font-size:22px}.chat-header div{min-width:0;flex:1}.chat-header h2{font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;letter-spacing:0}.chat-header p{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:11px;color:#d5ddcf}.chat-header p span{width:7px;height:7px;border-radius:50%;background:#b9d58f}
.chat-close{border:0;background:transparent;color:var(--cream);font-size:28px;line-height:1;padding:8px;cursor:pointer;border-radius:50%}
.chat-messages{overflow-y:auto;padding:20px 17px 10px;scroll-behavior:smooth;background:linear-gradient(180deg,#f7f4ec 0%,#fffdf8 35%)}
.chat-message{display:flex;margin-bottom:12px}.chat-message.user{justify-content:flex-end}.chat-bubble{max-width:84%;padding:11px 13px;border-radius:15px 15px 15px 4px;background:#e8ece1;color:var(--ink);font-size:14px;line-height:1.48;white-space:pre-wrap}.chat-message.user .chat-bubble{border-radius:15px 15px 4px 15px;background:var(--green);color:var(--cream)}
.chat-message.assistant .chat-bubble strong{font-weight:700}.chat-message-time{display:block;margin-top:5px;font-size:9px;opacity:.65}
.chat-summary{margin:4px 0 14px;border:1px solid #c9d0c2;border-radius:12px;padding:14px;background:#f4f1e8}.chat-summary h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;margin-bottom:8px}.chat-summary pre{white-space:pre-wrap;font:12px/1.55 Arial,Helvetica,sans-serif;color:var(--muted);margin:0}.chat-summary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.chat-summary-actions a,.chat-summary-actions button{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:4px;padding:8px;border:1px solid var(--green);font-size:12px;font-weight:600;cursor:pointer}.chat-summary-actions a{background:transparent;color:var(--green)}.chat-summary-actions button{background:transparent;color:var(--green)}.chat-summary-actions button:first-child{background:var(--green);color:var(--cream)}.chat-summary-actions button:disabled{cursor:wait;opacity:.75}
.chat-quick-replies{display:flex;gap:7px;overflow-x:auto;padding:8px 16px 10px;background:var(--white);scrollbar-width:none}.chat-quick-replies:empty{display:none}.chat-quick-replies::-webkit-scrollbar{display:none}.chat-quick-replies button{flex:0 0 auto;border:1px solid #b8c4b6;border-radius:999px;background:#f7f5ef;color:var(--green);padding:8px 12px;font-size:12px;cursor:pointer}.chat-quick-replies button:hover{background:#e8ece1}
.chat-composer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px;border-top:1px solid #dfe3d9;padding:10px 12px;background:var(--white)}.chat-composer textarea{margin:0;min-height:42px;max-height:105px;resize:none;border-radius:12px;padding:10px 12px;font-size:14px}.chat-composer button{min-height:42px;border:0;border-radius:10px;background:var(--green);color:var(--cream);padding:0 14px;font-size:12px;font-weight:700;cursor:pointer}.chat-privacy{padding:0 14px 10px;text-align:center;background:var(--white);color:var(--muted);font-size:9px;line-height:1.4}
@media(max-width:650px){.chat-launcher{right:14px;bottom:14px;padding-right:13px}.chat-launcher small{display:none}.chat-panel{inset:0;width:100%;height:100dvh;max-width:none;border:0;border-radius:0}.chat-header{padding-top:max(16px,env(safe-area-inset-top));}.chat-privacy{padding-bottom:max(10px,env(safe-area-inset-bottom))}.chat-bubble{max-width:88%;font-size:15px}.chat-composer textarea{font-size:16px}.chat-summary-actions{grid-template-columns:1fr}}
.chat-inline-trigger{display:inline-block;margin-top:14px;padding:0 0 3px;border:0;border-bottom:1px solid;background:transparent;color:var(--green);cursor:pointer}

/* Identidad y fotografías oficiales */
.brand-logo-horizontal{display:block;width:165px;height:auto}.footer-main .brand-logo-horizontal{filter:brightness(0) invert(1)}
.product-crop.cms-media>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;pointer-events:auto}
.project-gallery-controls{position:absolute;z-index:3;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:#f5f2e9e8;box-shadow:0 7px 25px #0b292829;backdrop-filter:blur(8px)}
.project-gallery-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #bdc5b8;border-radius:50%;background:var(--white);color:var(--green);font-size:18px;line-height:1;cursor:pointer}.project-gallery-button:hover{background:var(--green);color:var(--cream)}
.project-gallery-count{min-width:48px;text-align:center;font-size:11px;font-weight:700;letter-spacing:.5px}
@media(max-width:650px){.brand-logo-horizontal{width:145px}.footer-main .brand-logo-horizontal{width:150px}.project-gallery-controls{bottom:12px}}

/* Privacidad, consentimiento y comprobación antirrobot */
.form-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.idea-form label.consent{display:flex;align-items:flex-start;gap:10px;margin:15px 0 23px;font-size:12px;font-weight:400;color:var(--muted);line-height:1.5}
.consent input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--green)}
.consent .text-link,.chat-privacy a{font-size:inherit;border-bottom:1px solid;padding-bottom:1px}
.human-check{margin:0 0 18px}.chat-human-check{margin:0;padding:8px 14px;background:var(--white)}
.legal{max-width:820px;padding-top:70px;padding-bottom:90px}.legal h1{font-size:clamp(2.4rem,4vw,3.6rem);margin:14px 0 22px}.legal h2{font-size:1.6rem;letter-spacing:-.03em;margin:44px 0 12px}.legal ul{margin:0;padding-left:20px}.legal li+li{margin-top:10px}.legal .text-link{font-size:inherit}.legal-updated{margin:44px 0 26px;font-size:13px;color:var(--muted)}

/* Adaptación de contenido y controles flotantes. */
.hero>*,.feature>*,.about-grid>*,.contact-grid>*,.form-row>*,.creation-grid>*,.footer-main>*{min-width:0}
.idea-form input,.idea-form select,.idea-form textarea{min-width:0;max-width:100%}
.field-note,.contact-note,.footer-main>span{overflow-wrap:anywhere}
.back-to-top{position:fixed;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));z-index:41;display:grid;place-items:center;width:52px;height:52px;border:0;background:transparent;color:var(--green);transition:transform .2s,color .2s}
.back-to-top[hidden]{display:none}
.back-to-top svg{width:26px;height:26px;filter:drop-shadow(0 0 2px #f5f2e9) drop-shadow(0 0 5px #f5f2e9cc)}.back-to-top.on-dark{color:var(--cream)}.back-to-top.on-dark svg{filter:drop-shadow(0 0 4px #0b2928aa)}.back-to-top:hover{transform:translateY(-3px)}
.back-to-top:active{transform:translateY(0)}
.project-gallery-button{width:44px;height:44px}
@media(max-width:800px){
  html{scroll-padding-top:96px}
  .hero h1{font-size:clamp(2.75rem,9.5vw,4.75rem)}
  .footer-main nav{flex-wrap:wrap}
}
@media(max-width:650px){
  .back-to-top{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));width:48px;height:48px}
  .chat-launcher{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-bottom{flex-wrap:wrap;padding-bottom:90px}
  .idea-form{margin-left:0;margin-right:0}
  .hero-art.real-hero{min-height:0;height:clamp(340px,115vw,470px)}
  h2,.gallery-heading h2,.idea-band h2{font-size:clamp(2rem,9vw,3.4rem)}
  .project-content h3{font-size:clamp(1.65rem,7vw,2rem)}
  .chat-panel{grid-template-rows:auto minmax(0,1fr) auto auto auto}
}
@media(max-width:380px){
  .footer-main{grid-template-columns:1fr}
  .header{gap:16px}
  .hero .eyebrow{letter-spacing:1px;font-size:9px;gap:8px}
}

/* hidden debe prevalecer sobre los display de cada componente. */
[hidden]{display:none!important}

/* Crédito del pie: autoría y segunda línea */
.footer-credit small{display:block;margin-top:4px;font-size:inherit}

/* Enlace secundario junto al botón del diseñador */
.designer-link{display:inline-block;margin:22px 0 0 22px}
@media(max-width:650px){.designer-link{display:block;margin:20px 0 0;text-align:center;border-bottom:0;text-decoration:underline;text-underline-offset:4px}}

/* Escala de lectura: párrafos cómodos y textos de apoyo legibles. */
.intro,.section-heading>p,.creation-card p,.project-content>p,.feature-copy>p:not(.eyebrow),.about-copy>p,.contact-intro,.contact-note,.process-grid p,.five-steps p,.idea-band p:not(.eyebrow),.final-cta>p{font-size:1rem;line-height:1.7}
.lead{font-size:1.125rem;line-height:1.65}
.button,.button.small,.text-link,.card-link,.filter-button,.chat-inline-trigger{font-size:.9375rem}
.button,.filter-button{min-height:44px}
.eyebrow,.ribbon,.hero-foot,.section-note,.gallery-note,.project-category,.project-index,.project-content dt,.project-gallery-count,.number,.location,.contact-location span{font-size:.8125rem;line-height:1.55}
.eyebrow,.ribbon,.project-category,.location{letter-spacing:.08em}
.hero-photo-note{font-size:.75rem;line-height:1.5;letter-spacing:.08em;white-space:normal}
.project-content dd,.tags span,.field-note,.form-hint,.idea-form label.consent,.result-kicker,#copy-status,.legal-updated{font-size:.875rem;line-height:1.6}
.idea-form label{font-size:.9375rem}
.footer-main nav{font-size:.9375rem;flex-wrap:wrap}
.footer-main>span{font-size:.875rem;line-height:1.65}
.footer-bottom{font-size:.8125rem;line-height:1.6;gap:18px;flex-wrap:wrap}
.header nav{font-size:.9375rem;gap:18px}
.chat-launcher strong{font-size:.9375rem}
.chat-launcher small,.chat-header p,.chat-message-time,.chat-privacy{font-size:.75rem;line-height:1.5}
.chat-message-time{opacity:.85}
.chat-header h2,.chat-bubble,.chat-composer textarea{font-size:1rem}
.chat-bubble{line-height:1.6;overflow-wrap:anywhere}
.chat-summary pre{font-size:.875rem;line-height:1.6}
.chat-quick-replies button,.chat-summary-actions a,.chat-summary-actions button,.chat-composer button{font-size:.875rem;min-height:44px}
@media(max-width:1000px){
  html{scroll-padding-top:96px}
  .header{height:80px;padding:0 5%;gap:20px}
  .menu-toggle{display:flex;gap:12px;align-items:center;border:0;background:none;color:var(--green);padding:10px 0;min-height:44px;font-size:1rem}
  .header nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--cream);padding:20px 5%;box-shadow:0 12px 20px #0001;max-height:calc(100dvh - 79px);overflow-y:auto;font-size:1rem;gap:12px}
  .header nav.open{display:flex;flex-direction:column;align-items:stretch}
  .header nav a{display:flex;align-items:center;min-height:44px}
  .header nav .button{display:inline-flex;width:100%;min-height:50px}
}
@media(max-width:650px){
  .section-heading>p,.creation-card p,.project-content>p,.about-copy>p,.contact-intro,.contact-note,.process-grid p,.five-steps p{font-size:1rem}
  .hero-foot{font-size:.8125rem}
  .project-content{padding:28px 24px 30px}
  .creation-card h3,.five-steps h3{font-size:1.25rem;line-height:1.3}
  .hero-photo-note{left:16px;right:16px;bottom:16px}
  .footer-main{grid-template-columns:1fr;gap:24px}
  .footer-main nav{gap:12px}
  .chat-panel{height:100dvh;grid-template-rows:auto minmax(0,1fr) auto auto auto}
}
@media(max-width:380px){
  .hero .eyebrow{font-size:.75rem;letter-spacing:.04em;gap:8px;flex-wrap:wrap}
  .tiny-line{width:20px}
}

/* Espacio entre preguntas y referencias a ancho completo. */
.idea-form > label + label{margin-top:22px}
.idea-form .form-row-last{grid-template-columns:minmax(0,1fr);gap:22px}
.idea-form .form-row-last label{min-width:0}
.idea-form .file-input{width:100%;max-width:100%;box-sizing:border-box}
.idea-form .file-input::file-selector-button{max-width:100%;white-space:normal}
