/* OLGA SANTOS — Portuguese Teacher | responsive website */
:root{--cream:#f8f6ef;--paper:#fffdf7;--ink:#203e34;--deep:#234b40;--dark:#16382f;--muted:#5e7068;--terracotta:#c47254;--peach:#f5d9c9;--sage:#d8e4d7;--blue:#dce5ed;--sand:#efdfbc;--line:#d8ded3;--font-sans:'DM Sans',Arial,sans-serif;--font-display:'Fraunces',Georgia,serif;--wrap:1220px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:104px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:#eab99b;color:var(--ink)}:focus-visible{outline:3px solid #d68261;outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.057em}h1 em,h2 em,.peek-quote em{font-style:italic;color:var(--terracotta)}.wrap{width:min(var(--wrap),calc(100% - 88px));margin:auto}.section-space{padding:115px 0}.skip-link{position:absolute;left:16px;top:-100px;z-index:1000;background:#fff;padding:12px 20px}.skip-link:focus{top:12px}
/* utility + navigation */
.top-note{height:39px;background:var(--deep);color:#f7f2e7;font-size:11px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}.top-note-inner{display:flex;justify-content:space-between;align-items:center;height:100%}.top-note-inner>span:first-child{display:flex;align-items:center;gap:10px}.note-dot{height:7px;width:7px;display:inline-block;border-radius:50%;background:#eebc89;box-shadow:0 0 0 4px #ffffff14;animation:noteBreath 2.6s ease-in-out infinite;transform-origin:center center}@keyframes noteBreath{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #eebc8959,0 0 0 4px #ffffff14}50%{transform:scale(1.22);box-shadow:0 0 0 7px #eebc8924,0 0 0 4px #ffffff14}}@media (prefers-reduced-motion:reduce){.note-dot{animation:none}}.top-note-right{opacity:.8}.site-header{height:90px;background:var(--cream);position:sticky;top:0;z-index:50;border-bottom:1px solid #234b4019}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:inline-flex;align-items:center;gap:11px;flex-shrink:0;line-height:1}.logo-icon{height:49px;width:49px;display:flex;align-items:center;justify-content:center;position:relative;border:1.5px solid var(--deep);border-radius:50%;font-family:var(--font-display);font-weight:600;letter-spacing:-.09em;font-size:25px}.logo-dot{color:var(--terracotta)}.logo-type{display:flex;flex-direction:column;gap:7px;font-family:var(--font-display);font-weight:600;font-size:25px;letter-spacing:-.05em}.logo-type span{font-family:var(--font-sans);font-size:9px;letter-spacing:.21em;font-weight:700}.navigation{display:flex;align-items:center;gap:35px}.navigation>a:not(.nav-cta){font-size:13px;font-weight:650;position:relative;padding:12px 0}.navigation>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:1.5px;background:var(--terracotta);transition:right .25s}.navigation>a:not(.nav-cta):hover:after,.navigation>a[aria-current=page]:after{right:0}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;min-height:51px;padding:13px 22px;border-radius:4px;border:1px solid var(--deep);font-size:12px;font-weight:700;letter-spacing:.015em;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.nav-cta{background:var(--deep);color:#fff9ec;font-size:12px;min-height:43px;padding:10px 20px;gap:20px}.nav-cta:hover,.button:hover{transform:translateY(-3px);box-shadow:0 8px 24px #17372d26}.button-dark{background:var(--deep);color:#fffdf4}.button-dark:hover{background:#316450}.button-cream{background:#fbf6e9;color:var(--deep);border-color:#fbf6e9}.button-cream:hover{background:white}.text-link{display:inline-flex;align-items:center;gap:24px;border-bottom:1px solid var(--ink);padding:7px 0;font-size:13px;font-weight:700;transition:gap .2s,color .2s}.text-link:hover{color:var(--terracotta);gap:34px}.menu-button{display:none}.eyebrow,.kicker,.section-number,.card-index{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.19em}.eyebrow{display:inline-block;margin-bottom:21px}.eyebrow-light{color:#f7d6bc}.section-number{color:var(--terracotta)}
/* hero */
.hero{position:relative;overflow:hidden;background:var(--cream)}.hero-grid{display:grid;grid-template-columns:1.01fr 1fr;gap:18px;min-height:705px;align-items:center;padding:46px 0 63px}.hero-copy{padding:36px 0 40px;position:relative;z-index:2}.kicker{display:flex;align-items:center;gap:11px;color:var(--terracotta);margin-bottom:26px}.kicker-icon{display:inline-flex;width:30px;height:30px;border-radius:50%;background:#f4e7d5;align-items:center;justify-content:center;font-size:18px}.hero h1{font-size:clamp(63px,6.05vw,91px);max-width:730px;margin-bottom:28px;line-height:1.025}.hero h1 em{white-space:nowrap}.hero-lead{max-width:500px;color:var(--muted);font-size:17px;line-height:1.85;margin-bottom:30px}.hero-lead strong{color:var(--ink);font-weight:600}.hero-actions{display:flex;align-items:center;gap:31px;flex-wrap:wrap}.hero-mini{margin-top:79px;display:flex;gap:19px;align-items:center;font-size:11px;line-height:1.5;color:var(--muted);letter-spacing:.03em}.mini-overlap{display:flex;padding-left:6px}.mini-overlap span{display:grid;place-items:center;height:45px;width:45px;border:2px solid var(--cream);margin-left:-8px;border-radius:50%;background:#e4d4c0;color:#5e493e;font:italic 15px var(--font-display)}.mini-overlap span:nth-child(2){background:#bcd2c3;color:#264b3e}.mini-overlap span:nth-child(3){background:#e9a98b;color:#612f20}.hero-visual{align-self:stretch;position:relative;min-height:640px;display:flex;align-items:center;justify-content:center}.visual-backdrop{position:absolute;width:68%;height:65%;border-radius:50%;background:#e3e7d5;filter:blur(70px);right:0;top:20%}.porto-illustration{position:absolute;z-index:1;width:min(78%,560px);aspect-ratio:1/1;object-fit:cover;border-radius:50%;right:6%;top:12%;border:14px solid #ecf0e6;box-shadow:0 28px 60px #1f3f3324,0 0 0 1px #dfe7d7;filter:saturate(1.02) contrast(1.02)}.postcard-tag{position:absolute;z-index:2;left:-11%;bottom:16%;background:#fffaf0;padding:16px 24px 17px 16px;transform:rotate(-8deg);box-shadow:0 10px 25px #34442e1e;display:flex;gap:11px;align-items:center;border:1px solid #e9e2d2;font-family:var(--font-display);font-size:19px;line-height:1.1}.postcard-star{font-size:36px;color:var(--terracotta)}.hero-vertical{position:absolute;z-index:2;right:-3%;top:43%;writing-mode:vertical-rl;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.27em;opacity:.6}.hero-scribble{position:absolute;left:9%;top:6%;z-index:2;font-size:65px;color:var(--terracotta);transform:rotate(13deg);font-family:Georgia}.hero-bottom{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-bottom-inner{height:63px;display:flex;align-items:center;gap:30px}.hero-bottom span{font-size:10px;font-weight:700;letter-spacing:.22em}.hero-bottom-line{height:1px;background:var(--line);flex:1}
/* intro */
.intro-grid{display:grid;grid-template-columns:1fr 2.2fr;gap:70px}.section-label{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.small-sun{font-size:110px;color:var(--terracotta);line-height:1;transform:rotate(-18deg);font-family:Georgia}.oversized-intro{font:500 clamp(35px,3.4vw,51px)/1.26 var(--font-display);letter-spacing:-.048em;max-width:820px;margin-bottom:26px}.oversized-intro em{font-style:italic;color:var(--terracotta)}.intro-under{color:var(--muted);font-size:16px;line-height:1.9;max-width:640px;margin:0}
/* services */
.lessons-section{background:#e9eee6}.section-heading-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px;gap:25px}.section-heading-row h2,.method-copy h2,.about-peek h2,.home-faq h2,.values-section h2{font-size:clamp(46px,4.7vw,68px);margin:0}.section-heading-row .eyebrow{margin-bottom:15px}.section-heading-row .text-link{margin-bottom:10px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{display:flex;flex-direction:column;background:var(--paper);border-radius:6px;overflow:hidden;transition:transform .3s,box-shadow .3s;min-width:0}.service-card:hover{transform:translateY(-8px);box-shadow:0 23px 30px #1e3e3121}.service-art{height:220px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.art-portuguese{background:#f1d5c5}.art-ring{position:absolute;display:block;width:240px;height:240px;border-radius:50%;border:29px solid #dc9277;opacity:.56;top:38px;right:-44px}.art-hello{font:italic 118px/.9 var(--font-display);letter-spacing:-.08em;color:#a45137;transform:rotate(-10deg);text-shadow:2px 3px #f8eee1;position:relative;z-index:1}.art-small-text{position:absolute;left:19px;bottom:17px;font-size:9px;font-weight:750;letter-spacing:.2em;color:#99563e}.art-english{background:#c7dbd1}.art-bubble{position:absolute;display:grid;place-items:center;border-radius:80px;background:#fff9ed;padding:15px 31px;font:italic 43px var(--font-display);color:#326253;box-shadow:7px 8px 0 #567d6633;transform:rotate(-11deg);left:12%;top:24%}.art-bubble-two{background:#d7e6ed;color:#3c606e;font-size:31px;left:auto;right:7%;top:51%;transform:rotate(10deg)}.art-star{position:absolute;right:18%;top:4%;font-size:65px;color:#729b85}.art-culture{background:#d6e3e6}.culture-tile{display:grid;place-items:center;border:6px solid #f3f3ed;width:150px;height:150px;color:#ecf5f2;background:#427b88;font-size:116px;line-height:1;box-shadow:16px 16px 0 #94bbc1;transform:rotate(-13deg)}.art-culture-caption{position:absolute;bottom:15px;left:20px;font-size:9px;font-weight:700;letter-spacing:.19em;color:#35646e}.service-card-content{padding:29px 30px 29px;position:relative;flex:1;display:flex;flex-direction:column}.card-index{color:var(--terracotta);letter-spacing:.17em}.service-card h3{font:500 36px/1.12 var(--font-display);letter-spacing:-.04em;margin:15px 0 13px}.service-card p{color:var(--muted);font-size:14px;line-height:1.82;max-width:315px;padding-right:8px;margin-bottom:27px}.circle-arrow{margin-top:auto;display:grid;place-items:center;width:42px;height:42px;border:1px solid #a9b6aa;border-radius:50%;font-size:20px;transition:background .2s,color .2s}.service-card:hover .circle-arrow{background:var(--deep);color:white}
/* method */
.method-section{background:var(--cream)}.method-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center}.method-art-wrap{position:relative}.method-art-wrap>img{border-radius:7px;width:100%;box-shadow:18px 18px 0 #dfe8dc}.method-stamp{position:absolute;right:-37px;bottom:-35px;display:grid;place-items:center;text-align:center;border-radius:50%;background:#cc785b;color:#fff8ed;height:157px;width:157px;transform:rotate(-10deg);font-size:13px;line-height:1.7;box-shadow:0 8px 25px #234b401a}.method-stamp strong{font:italic 24px var(--font-display);font-weight:500}.method-copy h2{margin-bottom:24px}.method-description{color:var(--muted);line-height:1.86;max-width:475px}.method-steps{margin:26px 0 28px;border-top:1px solid var(--line)}.method-steps>div{display:grid;grid-template-columns:45px 1fr;gap:17px;padding:19px 0;border-bottom:1px solid var(--line)}.method-steps>div>span{font:italic 21px var(--font-display);color:var(--terracotta)}.method-steps h3{font-size:15px;margin:0 0 4px;font-weight:700}.method-steps p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.phrase-band{background:#e9d6bb;color:var(--deep);padding:35px 0}.phrase-band .wrap{display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:16px}.phrase-band strong{font:italic 31px var(--font-display);font-weight:500}.phrase-band .wrap span:last-child{font-size:35px;color:var(--terracotta)}
/* meet Olga */
.about-peek{overflow:hidden}.about-peek-grid{display:grid;grid-template-columns:.9fr 1fr;gap:11%;align-items:center}.about-peek-copy{max-width:500px}.about-peek-copy h2{margin-bottom:29px}.about-peek-copy p{color:var(--muted);line-height:1.88;font-size:15px;margin:0 0 19px}.about-peek-copy .button{margin-top:14px}.about-peek-art{height:500px;position:relative;display:grid;place-items:center;isolation:isolate}.peek-shape-one{position:absolute;inset:2% 8%;background:#d4dfd2;border-radius:48% 53% 38% 61%;transform:rotate(17deg)}.peek-shape-two{position:absolute;left:8%;top:8%;width:70%;height:82%;background:#ebc6aa;border-radius:45% 60% 37% 55%;transform:rotate(-20deg)}.peek-note{z-index:1;position:relative;background:#fffaf0;box-shadow:14px 19px 0 #234b4026;transform:rotate(7deg);width:min(78%,380px);height:340px;padding:35px;display:flex;flex-direction:column;justify-content:space-between}.peek-note-top{font-size:10px;letter-spacing:.19em;font-weight:700;color:var(--terracotta)}.peek-quote{font:500 clamp(28px,3vw,43px)/1.17 var(--font-display);letter-spacing:-.05em}.peek-sign{font:italic 21px var(--font-display);color:var(--terracotta)}.peek-flower{position:absolute;right:2%;bottom:0;font-size:110px;color:#cb7857;z-index:2;transform:rotate(-15deg)}
/* FAQ */
.home-faq{background:#eaf0e7}.faq-grid{display:grid;grid-template-columns:.83fr 1fr;gap:10%}.home-faq h2{font-size:clamp(42px,4.1vw,60px);margin-bottom:25px}.home-faq .faq-grid>div:first-child>p{color:var(--muted);margin-bottom:12px}.faqs{border-top:1px solid #aebfb2}.faqs details{border-bottom:1px solid #aebfb2;padding:0 0}.faqs summary{list-style:none;font-weight:650;cursor:pointer;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{height:30px;width:30px;border-radius:50%;border:1px solid #9ead9f;display:grid;place-items:center;font-size:21px;font-weight:400;transition:transform .2s}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{color:var(--muted);font-size:14px;margin:-2px 45px 23px 0;line-height:1.86}
/* shared page hero */
.page-hero{background:#e8eee6;overflow:hidden}.page-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:8%;align-items:center;min-height:510px;padding:70px 0}.page-hero h1{font-size:clamp(58px,6vw,83px);line-height:1.06;margin-bottom:26px}.page-hero p{font-size:17px;line-height:1.88;color:var(--muted);max-width:580px;margin-bottom:29px}.page-hero-art{height:335px;position:relative;display:flex;justify-content:center;align-items:center}.lessons-hero-art{background:#f2d3bc;border-radius:48% 52% 48% 54%;transform:rotate(-8deg)}.lessons-art-text{font:500 90px/.94 var(--font-display);letter-spacing:-.075em;color:#a5533c;text-align:center}.lessons-art-text em{font-size:84px;color:var(--deep)}.lessons-art-sub{position:absolute;bottom:21px;letter-spacing:.2em;font-size:10px;font-weight:750;color:#815845}.hero-quote-ring{position:absolute;right:1%;top:-14%;font-size:105px;color:#d2a67d;transform:rotate(20deg)}
/* lessons detail */
.center-heading{text-align:center;max-width:790px;margin:0 auto 58px}.center-heading h2{font-size:clamp(42px,4.4vw,64px);margin-bottom:18px}.center-heading p{color:var(--muted);line-height:1.8;max-width:600px;margin:auto}.detail-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.detail-service{background:#fffcf5;display:grid;grid-template-columns:150px 1fr;border:1px solid #e5e7da;border-radius:7px;padding:31px;gap:26px;scroll-margin-top:125px}.service-ornament{height:124px;width:124px;border-radius:48% 51% 44% 53%;display:grid;place-items:center;align-self:start;font:italic 46px var(--font-display);letter-spacing:-.08em;transform:rotate(-8deg)}.service-ornament span{color:var(--terracotta)}.peach-ornament{background:#f4d9c8;color:#a6533b}.blue-ornament{background:#d6e6e9;color:#456b77}.sage-ornament{background:#d4e5cf;color:#65836a;font-size:90px}.sand-ornament{background:#efdfbc;color:#80693e}.coral-ornament{background:#efd4cd;color:#b3695c}.lavender-ornament{background:#e2dce7;color:#73617e}.detail-service h3{font:500 32px/1.13 var(--font-display);letter-spacing:-.04em;margin:15px 0}.detail-service p{font-size:14px;color:var(--muted);line-height:1.85}.detail-service ul{padding-left:18px;margin:20px 0 25px;font-size:13px;color:var(--ink);line-height:1.9}.detail-service li::marker{color:var(--terracotta)}.detail-service .text-link{font-size:12px}.lesson-callout{text-align:center;background:#e3e9dc;padding:83px 20px}.lesson-callout-content{max-width:770px}.callout-spark{font-size:44px;color:var(--terracotta)}.lesson-callout h2{font-size:50px;margin:0 0 13px}.lesson-callout p{color:var(--muted);line-height:1.82;max-width:580px;margin:0 auto 28px}
/* about */
.about-hero{background:#f4e3d4}.about-hero-art{background:#dce5d8;border-radius:50% 50% 7px 7px;max-width:390px;margin:auto;width:100%;transform:rotate(6deg)}.about-art-note{width:77%;height:75%;background:#fffaf0;transform:rotate(-12deg);padding:27px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:12px 13px #b3c4b5}.about-art-note>span{font-size:10px;letter-spacing:.18em;color:var(--terracotta);font-weight:700}.about-art-note strong{font:500 48px/1.08 var(--font-display);letter-spacing:-.055em}.about-art-note em{font:italic 24px var(--font-display);color:var(--terracotta)}.about-art-flower{position:absolute;top:-55px;right:-45px;font-size:95px;color:var(--terracotta)}.story-grid{display:grid;grid-template-columns:.68fr 1.42fr;gap:17%}.story-small p{font:italic 26px/1.4 var(--font-display);letter-spacing:-.03em;margin-top:26px}.story-main h2{font-size:clamp(39px,4.2vw,59px);margin-bottom:27px}.story-main p{color:var(--muted);font-size:16px;line-height:1.96;margin-bottom:20px}.handwritten{font:italic 30px var(--font-display);color:var(--terracotta);margin-top:33px}.handwritten span{margin-left:12px}.values-section{background:#e8eee7}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.values-grid article{background:#fffcf4;padding:34px;min-height:285px;position:relative}.value-num{font-size:11px;letter-spacing:.15em;color:var(--terracotta);font-weight:750}.value-icon{font:45px var(--font-display);color:var(--terracotta);margin:13px 0 29px}.values-grid h3{font:500 29px var(--font-display);letter-spacing:-.04em;margin-bottom:12px}.values-grid p{font-size:14px;color:var(--muted);line-height:1.85}.about-photo-grid{display:grid;grid-template-columns:1fr .8fr;gap:11%;align-items:center}.about-photo-frame{position:relative}.about-photo-frame img{border-radius:6px}.about-photo-tab{position:absolute;bottom:18px;left:19px;background:#fffaf0;padding:10px 15px;font-size:10px;font-weight:750;letter-spacing:.15em}.about-photo-grid h2{font-size:clamp(42px,4.2vw,61px)}.about-photo-grid p{color:var(--muted);line-height:1.9;max-width:430px;margin-bottom:26px}
/* contact */
.contact-hero{background:#f1e0d3}.contact-hero .page-hero-grid{min-height:435px}.contact-hero-doodle{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg)}.contact-hero-doodle>div{font:italic 155px/.95 var(--font-display);letter-spacing:-.09em;color:#ad654b}.contact-hero-doodle>div span{color:var(--deep)}.contact-hero-doodle>p{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--deep);margin:18px 0}.doodle-asterisk{position:absolute;right:4%;top:-17%;font-size:90px;color:#d49b7b}.contact-grid{display:grid;grid-template-columns:1.32fr .68fr;gap:25px;align-items:stretch}.contact-form-card{background:#fffdf7;padding:54px 52px;border:1px solid #e6e7dc}.form-intro{margin-bottom:30px}.form-intro h2{font-size:clamp(39px,3.7vw,53px);margin-bottom:12px}.form-intro p{font-size:14px;color:var(--muted);line-height:1.8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{margin-bottom:18px}.form-field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.form-field label>span:not(.optional){color:var(--terracotta)}.optional{font-size:11px;color:#8a978e;font-weight:400;margin-left:5px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d8ded2;border-radius:3px;background:#fbfaf5;color:var(--ink);padding:14px 14px;font-size:14px;outline:none;transition:border .2s,box-shadow .2s;min-height:52px}.form-field textarea{resize:vertical;min-height:165px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#779f87;box-shadow:0 0 0 3px #648d7323}.form-field input::placeholder,.form-field textarea::placeholder{color:#99a49d}.form-field [aria-invalid=true]{border-color:#b54e3a}.form-submit{display:flex;align-items:center;gap:18px;margin-top:2px}.form-submit>p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}.contact-aside{background:var(--deep);color:#fbf8ef;padding:46px 36px;display:flex;flex-direction:column}.contact-aside h2{font-size:clamp(36px,3vw,48px);margin:4px 0 15px}.contact-aside h2 em{color:#efbd99}.contact-aside-top>p{color:#d1ddd4;font-size:13px;line-height:1.85;margin-bottom:31px}.contact-method{border-top:1px solid #ffffff2c;padding:20px 0;display:flex;gap:16px;align-items:center}.contact-method-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff5c;border-radius:50%;font-size:25px;flex-shrink:0}.contact-method div{display:flex;flex-direction:column;gap:5px;min-width:0}.contact-method small{font-size:9px;letter-spacing:.2em;color:#d7b7a0;font-weight:700}.contact-method a,.contact-method div>span{font-size:14px;overflow-wrap:anywhere}.contact-method a:hover{text-decoration:underline}.aside-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;padding-top:22px}.aside-bottom>span:first-child{font:italic 34px var(--font-display);color:#e9b38e}.aside-bottom>span:last-child{font-size:54px;color:#e9b38e}
/* footer */
.footer-cta{background:var(--terracotta);color:#fff9ed;overflow:hidden}.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;min-height:355px;padding:65px 0}.footer-cta h2{font-size:clamp(45px,5.4vw,75px);margin:13px 0 16px;position:relative;z-index:1}.footer-cta h2 em{color:#f4d7be}.footer-cta p{font-size:15px;color:#fff1e7;margin:0}.footer-cta .button{z-index:1;min-width:170px;flex-shrink:0}.footer-cta-doodle{position:absolute;right:18%;top:-23px;font:italic 195px var(--font-display);color:#ffffff14;transform:rotate(-11deg);pointer-events:none}.footer{background:#173b31;color:#faf8ef;padding:46px 0 18px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:8%;padding-bottom:28px;align-items:start}.logo-footer .logo-icon{border-color:#f7f3e8}.logo-footer .logo-type{color:#faf8ef}.footer-intro>p{display:none}.footer-grid h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin:7px 0 14px;color:#e2bba0}.footer-grid>div:not(:first-child)>a,.footer-grid>div:not(:first-child)>p{display:block;font-size:13px;line-height:1.7;color:#d8e3d9;margin:0 0 7px}.footer-grid a:hover{color:#e2bba0}.footer-bottom{border-top:1px solid #ffffff2b;padding-top:16px;display:flex;justify-content:flex-start;gap:20px;font-size:11px;color:#b4c9bc}.footer-bottom>span:last-child{display:inline-flex}.footer-bottom>span:last-child span{color:#dfad8d;margin-left:5px}
/* motion */
@media(prefers-reduced-motion:no-preference){.service-card,.button{will-change:transform}}
/* breakpoints */
@media(max-width:1100px){.wrap{width:min(var(--wrap),calc(100% - 60px))}.navigation{gap:23px}.hero h1{font-size:clamp(60px,6.3vw,78px)}.porto-illustration{right:0}.hero-vertical{right:-2%}.postcard-tag{left:-13%}.hero-grid{min-height:640px}.hero-visual{min-height:580px}.detail-service{grid-template-columns:100px 1fr;gap:18px}.service-ornament{width:94px;height:94px;font-size:39px}.sage-ornament{font-size:72px}.service-card h3{font-size:31px}.service-card-content{padding:26px 24px}.about-peek-grid{gap:7%}}
@media(max-width:850px){.wrap{width:calc(100% - 42px)}.top-note-right{display:none}.site-header{height:75px}.logo-icon{width:43px;height:43px;font-size:22px}.logo-type{font-size:22px}.logo-type span{font-size:8px}.menu-button{display:flex;flex-direction:column;justify-content:center;align-items:center;width:43px;height:43px;gap:6px;border:1px solid var(--deep);background:transparent;border-radius:50%;position:relative;z-index:61}.menu-button span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .25s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}.navigation{display:none;position:absolute;top:75px;left:0;right:0;height:calc(100dvh - 75px);overflow:auto;background:var(--cream);padding:40px 22px;flex-direction:column;align-items:stretch;gap:10px;z-index:60;box-shadow:0 20px 40px #1b392a25}.navigation.is-open{display:flex}.navigation>a:not(.nav-cta){font:500 33px var(--font-display);padding:14px 4px;border-bottom:1px solid var(--line)}.navigation>a:not(.nav-cta):after{display:none}.navigation .nav-cta{margin-top:25px;align-self:flex-start;padding:16px 25px}.hero-grid{grid-template-columns:1fr;gap:8px;padding:68px 0 32px}.hero-copy{padding:0}.hero h1{font-size:clamp(62px,10vw,88px);max-width:770px}.hero-lead{max-width:650px}.hero-mini{margin-top:34px}.hero-visual{height:510px;min-height:unset;max-width:580px;width:100%;margin:6px auto 0}.porto-illustration{width:min(86%,460px);right:7%;top:8%;border-width:12px}.postcard-tag{left:0;bottom:16%}.hero-vertical{right:0;top:40%}.intro-grid{grid-template-columns:1fr;gap:30px}.section-label{flex-direction:row;align-items:center}.small-sun{font-size:58px}.service-grid{gap:14px}.service-art{height:175px}.service-card-content{padding:23px 19px}.service-card h3{font-size:29px}.service-card p{font-size:12px}.art-hello{font-size:87px}.art-bubble{font-size:31px;padding:13px 15px}.art-bubble-two{font-size:23px}.culture-tile{width:115px;height:115px;font-size:85px}.method-grid{grid-template-columns:1fr;gap:77px}.method-art-wrap{max-width:600px;margin:auto}.method-copy{max-width:680px}.about-peek-grid{grid-template-columns:1fr;gap:25px}.about-peek-copy{max-width:670px}.about-peek-art{height:430px;max-width:610px;margin:auto;width:100%}.faq-grid{grid-template-columns:1fr;gap:50px}.page-hero-grid{grid-template-columns:1fr;gap:15px;padding:62px 0}.page-hero-art{height:285px;width:min(430px,95%);margin:12px auto}.story-grid{grid-template-columns:1fr;gap:35px}.story-small{display:flex;gap:25px;align-items:center}.story-small p{font-size:21px;margin:0}.about-photo-grid{grid-template-columns:1fr;gap:42px}.about-photo-frame{max-width:630px}.contact-grid{grid-template-columns:1fr}.contact-aside{min-height:490px}.contact-hero .page-hero-grid{min-height:unset}.contact-hero-doodle{height:215px}.contact-hero-doodle>div{font-size:120px}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.section-space{padding:77px 0}.top-note{height:33px}.top-note-inner{justify-content:center}.top-note{font-size:9px}.site-header{height:72px}.navigation{top:72px;height:calc(100dvh - 72px)}.hero-grid{padding-top:48px}.kicker{font-size:9px;letter-spacing:.14em;margin-bottom:21px}.hero h1{font-size:clamp(48px,12.5vw,74px);letter-spacing:-.068em}.hero h1 em{white-space:normal}.hero-lead{font-size:15px;line-height:1.8}.hero-actions{gap:20px}.hero-actions .button{width:100%;gap:20px;justify-content:space-between}.hero-mini{margin-top:31px}.hero-visual{height:395px;max-width:430px}.porto-illustration{width:min(88%,320px);right:6%;top:10%;border-width:10px}.postcard-tag{font-size:13px;padding:9px 11px;left:-1%;bottom:14%}.postcard-star{font-size:27px}.hero-scribble{font-size:47px;left:1%;top:2%}.hero-vertical{font-size:8px;right:-1%}.hero-bottom-inner{height:55px;gap:15px}.hero-bottom span{font-size:8px;letter-spacing:.09em}.oversized-intro{font-size:clamp(34px,9vw,45px)}.intro-under{font-size:14px}.section-heading-row{align-items:start;flex-direction:column;margin-bottom:28px}.section-heading-row h2,.method-copy h2,.about-peek h2,.home-faq h2,.values-section h2{font-size:clamp(40px,10vw,56px)}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{display:grid;grid-template-columns:40% 60%;min-height:238px}.service-art{height:100%;min-height:238px}.service-card-content{padding:23px 20px}.service-card h3{font-size:clamp(23px,6vw,32px);margin:10px 0}.service-card p{font-size:12px;line-height:1.7;padding:0;margin-bottom:14px}.art-hello{font-size:65px}.art-ring{width:160px;height:160px;right:-100px}.art-small-text,.art-culture-caption{font-size:7px;max-width:100px}.art-bubble{font-size:22px;left:4%;top:22%;padding:10px 13px}.art-bubble-two{font-size:17px;right:-14%;top:54%}.art-star{font-size:42px}.culture-tile{width:90px;height:90px;font-size:60px;border-width:4px}.circle-arrow{height:35px;width:35px;font-size:18px}.method-stamp{right:-6px;bottom:-35px;width:119px;height:119px;font-size:11px}.method-stamp strong{font-size:18px}.method-grid{gap:75px}.phrase-band{padding:26px 0}.phrase-band .wrap{flex-direction:column;gap:4px;align-items:flex-start;font-size:13px}.phrase-band strong{font-size:26px}.phrase-band .wrap span:last-child{display:none}.about-peek-art{height:350px}.peek-note{height:275px;padding:24px}.peek-quote{font-size:35px}.peek-flower{font-size:70px;bottom:9px}.home-faq .faq-grid{gap:34px}.faqs summary{font-size:14px;padding:19px 0}.page-hero-grid{padding:47px 0}.page-hero h1{font-size:clamp(48px,12vw,68px)}.page-hero p{font-size:15px}.page-hero-art{height:250px}.lessons-art-text{font-size:73px}.lessons-art-text em{font-size:65px}.center-heading{text-align:left;margin-bottom:32px}.center-heading h2{font-size:clamp(39px,10vw,54px)}.detail-service-grid{grid-template-columns:1fr}.detail-service{grid-template-columns:92px 1fr;padding:20px;gap:14px}.detail-service h3{font-size:27px}.detail-service p{font-size:13px}.detail-service ul{font-size:12px}.service-ornament{height:81px;width:81px;font-size:33px}.sage-ornament{font-size:61px}.detail-service .text-link{font-size:11px;gap:10px}.lesson-callout{padding:66px 20px}.lesson-callout h2{font-size:39px}.about-hero-art{height:280px;max-width:320px}.about-art-note strong{font-size:37px}.about-art-flower{right:-12px;font-size:70px}.story-small{flex-direction:column;gap:14px;align-items:start}.story-main h2{font-size:43px}.story-main p{font-size:14px}.values-grid{grid-template-columns:1fr;gap:14px;margin-top:33px}.values-grid article{min-height:auto}.about-photo-grid h2{font-size:44px}.contact-hero-doodle>div{font-size:94px}.contact-hero-doodle{height:195px}.doodle-asterisk{font-size:67px}.contact-form-card{padding:34px 22px}.form-intro h2{font-size:40px}.form-row{grid-template-columns:1fr;gap:0}.form-submit{flex-direction:column;align-items:start;gap:12px}.form-submit .button{width:100%;justify-content:space-between}.contact-aside{padding:36px 26px}.footer-cta-inner{min-height:unset;flex-direction:column;align-items:flex-start;padding:65px 0;gap:30px}.footer-cta h2{font-size:clamp(46px,10vw,63px)}.footer-cta-doodle{right:-10%;top:3%;font-size:140px}.footer{padding-top:42px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 15px;padding-bottom:26px}.footer-intro{grid-column:1/-1}.footer-intro>p{display:none;max-width:100%}.footer-bottom{font-size:10px;flex-direction:column;gap:7px}}
@media(max-width:380px){.service-card{grid-template-columns:35% 65%}.service-card-content{padding:18px 14px}.service-card h3{font-size:23px}.service-card p{font-size:11px}.art-hello{font-size:55px}.detail-service{display:block}.service-ornament{margin-bottom:20px}.hero h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Contact form status states for private branded SMTP delivery. */
.form-feedback-success{color:#2e6a4e!important;font-weight:700}.form-feedback-error{color:#a44236!important;font-weight:700}.form-feedback-pending{color:#6c735d!important}.form-submit button:disabled{opacity:.7;cursor:progress}


/* Enquiry form: e-mail on its own row; Adults and Minors together at all sizes. */
.form-row-attendees{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-row-attendees .form-field{min-width:0;margin-bottom:8px}
.form-row-attendees input[type=number]{font-variant-numeric:tabular-nums}
.form-service{margin-bottom:23px}
@media(max-width:480px){.form-row-attendees{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* Phone country: calling code + country selector on the first line, phone number below. */
.phone-input-group{display:flex;flex-direction:column;gap:9px;min-width:0}
.phone-country-picker{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:stretch;border:1px solid var(--line);border-radius:4px;overflow:hidden;min-width:0;min-height:54px;background:transparent;transition:border-color .2s}
.phone-country-picker:focus-within{border-color:var(--deep);outline:2px solid #234b4023;outline-offset:1px}
.phone-dial-prefix{display:flex;align-items:center;justify-content:center;padding:0 15px;min-width:70px;border-right:1px solid var(--line);font-size:14px;color:var(--ink);white-space:nowrap}
.phone-country-picker select{width:100%;min-width:0;min-height:52px;height:100%;border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;background-color:transparent!important;padding:0 38px 0 15px;font-size:14px;cursor:pointer;text-overflow:ellipsis;color:var(--ink)}
.phone-input-group input{width:100%;min-width:0;margin:0}
@media(max-width:380px){.phone-dial-prefix{min-width:63px;padding:0 10px}.phone-country-picker select{padding-left:10px;font-size:13px}}

/* Compact international phone input: a selectable dial code and phone number in ONE row. */
.phone-input-group{display:flex;flex-direction:row;align-items:stretch;gap:9px;width:100%;min-width:0}
.phone-country-picker{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 91px;width:91px;min-width:0;min-height:54px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:transparent}
.phone-country-picker:focus-within{border-color:var(--deep);outline:2px solid #234b4023;outline-offset:1px}
.phone-dial-prefix{display:flex;align-items:center;justify-content:center;gap:7px;border:0;min-width:0;padding:0 13px 0 9px;width:100%;height:100%;font-size:14px;white-space:nowrap;pointer-events:none}
.phone-dial-prefix::after{content:"";display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7}
.phone-country-picker select{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer!important;border:0!important;z-index:1}
.phone-input-group>input#phone{flex:1 1 auto;min-width:0;width:1%;height:54px;margin:0}
@media(max-width:380px){.phone-input-group{gap:7px}.phone-country-picker{flex-basis:80px;width:80px}.phone-dial-prefix{font-size:13px;padding-left:5px;padding-right:8px}}


/* Floating WhatsApp shortcut — branded label + bright green icon. */
.whatsapp-float{position:fixed;right:clamp(16px,2.5vw,34px);bottom:clamp(16px,2.5vw,30px);z-index:90;display:inline-flex;align-items:center;gap:10px;padding:0;background:transparent;color:var(--ink);font-family:var(--font-sans);font-size:13px;line-height:1.1;white-space:nowrap;transition:transform .2s ease}
.whatsapp-float:hover{color:var(--ink);transform:translateY(-3px)}
.whatsapp-float:focus-visible{outline:3px solid var(--terracotta);outline-offset:5px;border-radius:999px}
.whatsapp-float-text{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 17px #173b3120;font-weight:650;transition:background .2s ease,box-shadow .2s ease}
.whatsapp-float-circle{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex-shrink:0;background:#25d366;color:#fff;border-radius:50%;box-shadow:0 7px 19px #173b3133;transition:background .2s ease,box-shadow .2s ease}
.whatsapp-float-icon{display:block;width:34px;height:34px;flex-shrink:0}
.whatsapp-float:hover .whatsapp-float-text{background:#f4e9d8;box-shadow:0 8px 20px #173b3129}
.whatsapp-float:hover .whatsapp-float-circle{background:#1db954;box-shadow:0 10px 22px #173b3144}
@media(max-width:620px){.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));gap:8px}.whatsapp-float-text{min-height:38px;padding:0 12px;font-size:12px}.whatsapp-float-circle{width:52px;height:52px}.whatsapp-float-icon{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.whatsapp-float-text,.whatsapp-float-circle{transition:none}.whatsapp-float:hover{transform:none}}


/* PACKAGES PAGE — editorial subscription-card design. Features intentionally blank. */
.packages-hero{background:#e9eee6;overflow:hidden;position:relative}
.packages-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:5%;align-items:center;min-height:520px;padding:68px 0 76px}
.packages-hero-copy{position:relative;z-index:2}.packages-hero h1{font-size:clamp(56px,6vw,88px);line-height:1.07;margin:16px 0 24px}.packages-hero-copy>p{max-width:530px;color:var(--muted);font-size:16px;line-height:1.88;margin-bottom:29px}
.packages-hero-art{height:365px;position:relative;isolation:isolate;display:grid;place-items:center}
.packages-hero-art::before{content:"";position:absolute;width:320px;height:320px;background:#d2ded0;border-radius:50%;right:6%;top:6%;z-index:-1}
.packages-art-paper{position:absolute;background:#fffaf1;display:flex;flex-direction:column;box-shadow:16px 18px 0 #244a3c16;letter-spacing:-.04em}
.packages-art-paper-one{top:18px;left:11%;width:245px;height:290px;padding:35px 27px;transform:rotate(-11deg);font:italic 43px/1.24 var(--font-display);color:var(--deep);border:1px solid #e4dbcc}
.packages-art-paper-one strong{font:500 60px/1 var(--font-display);letter-spacing:-.08em;color:var(--terracotta)}
.packages-art-paper-one i{font-size:39px;font-weight:400}
.packages-art-paper-two{top:83px;right:4%;width:180px;height:212px;padding:28px 22px;transform:rotate(12deg);background:#f2ccad;color:#a85e44;font:italic 64px/1 var(--font-display);justify-content:space-between}
.packages-art-paper-two span{align-self:flex-end;font-size:62px;color:#faf4e9;font-style:normal}
.packages-art-ring{position:absolute;z-index:-1;border:2px solid #c2765780;border-radius:50%;width:220px;height:220px;right:-4%;bottom:-9%;transform:rotate(20deg)}
.packages-art-seal{position:absolute;bottom:9px;left:6%;font-size:10px;font-weight:700;letter-spacing:.15em;color:#587163}
.package-section{background:var(--cream);padding:105px 0 120px}
.package-section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.package-section-heading h2{font-size:clamp(41px,4.3vw,62px);line-height:1.15;margin:17px 0 0}.package-section-heading>p{color:var(--muted);line-height:1.85;font-size:14px;max-width:340px;margin:0 0 7px}
.package-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;align-items:stretch}
.package-card{grid-column:span 2;background:var(--paper);border:1px solid #d7dfd6;display:flex;flex-direction:column;min-width:0;padding:27px 28px 26px;border-radius:11px;box-shadow:0 14px 28px #173b3109;transition:transform .25s ease,box-shadow .25s ease;position:relative;overflow:hidden}
.package-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px #173b3119}
.package-card:nth-child(4){grid-column:2 / span 2}.package-card:nth-child(5){grid-column:4 / span 2}
.package-card::before{content:"";height:6px;position:absolute;left:0;right:0;top:0;background:var(--card-accent,#d9e4d7)}
.package-card--personal{--card-accent:#ce8262;--symbol-bg:#f4dfd1;--symbol-ink:#9c5c43}
.package-card--friends{--card-accent:#89aa8a;--symbol-bg:#e1ebdc;--symbol-ink:#3d7458}
.package-card--business{--card-accent:#7e9ea8;--symbol-bg:#dfe9ed;--symbol-ink:#416878}
.package-card--partners{--card-accent:#bd8d91;--symbol-bg:#f1e0e0;--symbol-ink:#9c5c68}
.package-card--communities{--card-accent:#c9a164;--symbol-bg:#f4e9d4;--symbol-ink:#97703d}
.package-card-top{display:flex;justify-content:space-between;align-items:center;min-height:77px}
.package-number{font-size:11px;font-weight:700;letter-spacing:.18em;color:#788b80}
.package-symbol{height:70px;width:70px;border-radius:22px 22px 22px 7px;background:var(--symbol-bg);color:var(--symbol-ink);display:grid;place-items:center;font:normal 42px/1 var(--font-display)}
.package-card-heading{min-height:195px;padding:12px 0 20px;border-bottom:1px solid #dce2da}
.package-small-copy{font:italic 18px var(--font-display);color:var(--terracotta);margin-bottom:6px}
.package-card h3{font:500 clamp(30px,2.65vw,38px)/1.15 var(--font-display);letter-spacing:-.055em;margin:0 0 12px;color:var(--deep)}
.package-description{font-size:13px;line-height:1.78;color:var(--muted);margin:0;max-width:275px}
.package-feature-wrap{padding:24px 0 27px;flex:1}.package-feature-title{font-weight:750;font-size:10px;letter-spacing:.13em;margin:0 0 14px;color:var(--deep)}.package-feature-title span{font-weight:450;letter-spacing:0;color:#84938a}
.package-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.package-features li{display:flex;align-items:center;gap:13px;min-height:18px}
.package-features li::before{content:"";height:9px;width:9px;flex:0 0 9px;border:1.5px solid #88a48e;border-radius:50%;background:#e5ebe4}
.package-feature-line{height:1px;background:#d8ded5;width:100%;display:block}
.package-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;border:1px solid var(--deep);border-radius:5px;padding:12px 15px;background:var(--deep);color:#fffdf6;font-size:12px;font-weight:700;transition:background .2s,color .2s;line-height:1.3}
.package-action span{font-size:20px;font-weight:400}.package-action:hover{background:#315e4f;color:#fff}
.package-help{margin-top:70px;padding:36px 44px;display:flex;align-items:center;gap:25px;background:#e4ebdf;border-radius:9px}
.package-help-icon{color:var(--terracotta);font:50px/1 var(--font-display);flex-shrink:0}.package-help>div{flex:1}
.package-help h2{font:500 29px var(--font-display);letter-spacing:-.04em;margin:0 0 6px}.package-help p{font-size:13px;color:var(--muted);line-height:1.7;margin:0;max-width:700px}
.package-help .button{flex-shrink:0}
@media(max-width:1050px){.packages-hero-grid{grid-template-columns:1fr .7fr}.packages-hero-art{transform:scale(.83);transform-origin:center}.package-card{padding:26px 20px}.package-card h3{font-size:clamp(26px,3vw,36px)}.package-card-heading{min-height:205px}}
@media(max-width:850px){.packages-hero-grid{grid-template-columns:1fr;gap:25px;padding:66px 0 53px}.packages-hero-art{max-width:530px;width:100%;margin:auto;transform:none}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-card,.package-card:nth-child(4),.package-card:nth-child(5){grid-column:auto}.package-card:nth-child(5){grid-column:1 / -1;max-width:calc(50% - 11px);width:100%;justify-self:center}.package-card-heading{min-height:185px}.package-section-heading{align-items:start;flex-direction:column;gap:16px}.package-section-heading>p{max-width:650px}.package-help{gap:17px;padding:30px}}
@media(max-width:620px){.packages-hero-grid{padding:54px 0 42px}.packages-hero h1{font-size:clamp(47px,11vw,66px)}.packages-hero-copy>p{font-size:14px}.packages-hero-art{height:260px;max-width:340px;transform:scale(.82);transform-origin:top center;margin-bottom:-40px}.package-section{padding:70px 0 78px}.package-section-heading h2{font-size:clamp(38px,9.2vw,51px)}.package-grid{grid-template-columns:1fr;gap:17px}.package-card,.package-card:nth-child(4),.package-card:nth-child(5){grid-column:1;max-width:none;width:100%}.package-card{padding:25px}.package-card-top{min-height:60px}.package-symbol{width:61px;height:61px;font-size:36px}.package-card-heading{min-height:unset;padding-bottom:22px}.package-card h3{font-size:37px}.package-feature-wrap{padding-top:19px}.package-help{margin-top:40px;padding:28px 24px;flex-direction:column;align-items:flex-start;gap:17px}.package-help h2{font-size:27px}.package-help .button{width:100%;justify-content:space-between}}

/* Packages page layout certainty: always render cards as a responsive grid. */
.package-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
@media(max-width:850px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.package-grid{grid-template-columns:1fr}}


/* OLGA SANTOS: subtle motion + light seasonal snow (no libraries). */
@media (prefers-reduced-motion: no-preference) {
  .olga-hero-enter { animation: olga-hero-enter .76s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes olga-hero-enter {
    from { opacity: .45; translate: 0 18px; }
    to { opacity: 1; translate: 0 0; }
  }
  .olga-reveal {
    opacity: 0;
    translate: 0 19px;
    transition: opacity .7s ease, translate .7s cubic-bezier(.2,.72,.2,1);
    transition-delay: var(--olga-reveal-delay, 0ms);
  }
  .olga-reveal.is-visible { opacity: 1; translate: 0 0; }

  /* Buttons feel tactile but don't jump around. */
  .button, .nav-cta, .package-action {
    transition: background-color .22s ease, color .22s ease,
      transform .22s cubic-bezier(.2,.7,.2,1),
      box-shadow .22s ease, border-color .22s ease;
  }
  .button > span:last-child, .nav-cta > span:last-child,
  .package-action > span:last-child, .text-link > span:last-child {
    display: inline-block;
    transition: translate .22s ease;
  }
  .button:hover > span:last-child, .nav-cta:hover > span:last-child,
  .package-action:hover > span:last-child,
  .text-link:hover > span:last-child { translate: 3px -2px; }
  .package-action:hover { transform: translateY(-2px); box-shadow: 0 9px 20px #173b3120; }
  .button:active, .nav-cta:active, .package-action:active {
    transform: translateY(0) scale(.985);
  }
  .home-package-card, .package-card, .values-grid article {
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .home-package-card:hover, .package-card:hover {
    border-color: #b4c9ba;
  }
  .whatsapp-float-circle { transition: transform .22s ease, box-shadow .22s ease; }
  .whatsapp-float:hover .whatsapp-float-circle { transform: scale(1.055); }

  .olga-snow {
    position: fixed;
    inset: 0;
    z-index: 24;
    pointer-events: none;
    overflow: hidden;
    contain: layout paint;
  }
  .olga-snowflake {
    position: absolute;
    left: var(--snow-left);
    top: -25px;
    color: #92b9d5;
    font-size: var(--snow-size);
    line-height: 1;
    opacity: 0;
    text-shadow: 0 1px 2px #ffffffc9;
    animation: olga-snow-fall var(--snow-duration) linear var(--snow-delay) infinite;
    user-select: none;
  }
  .olga-snowflake svg {
    display: block;
    width: 1em;
    height: 1em;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    filter: drop-shadow(0 1px 1px rgba(255,255,255,.7));
  }
  @keyframes olga-snow-fall {
    0% { transform: translate3d(0,-3vh,0) rotate(0deg); opacity: 0; }
    10% { opacity: var(--snow-opacity); }
    88% { opacity: var(--snow-opacity); }
    100% { transform: translate3d(var(--snow-drift),110vh,0) rotate(80deg); opacity: 0; }
  }
  .olga-snow-paused .olga-snowflake { animation-play-state: paused; }
}
@media (max-width: 620px) {
  .olga-snowflake { color: #8eb7d5; }
  .olga-snowflake:nth-child(n + 15) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .olga-snow { display: none !important; }
  .olga-reveal { opacity: 1 !important; translate: none !important; }
  .olga-hero-enter { animation: none !important; }
  .button, .nav-cta, .package-action, .home-package-card,
  .package-card, .whatsapp-float-circle { transition-duration: 0.01ms !important; }
}

/* Service and dependent package selection. A single service fills the row;
   the package selector joins it only when Packages is chosen. */
.form-service-package-row { display:grid; grid-template-columns:minmax(0,1fr); gap:17px; align-items:start; }
.form-service-package-row.has-package { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-service-package-row .form-field { min-width:0; margin-bottom:23px; }
.form-service-package-row .form-field select { min-width:0; text-overflow:ellipsis; }
.form-service-package-row .form-package-type[hidden] { display:none!important; }
@media (max-width:760px) { .form-service-package-row.has-package { grid-template-columns:minmax(0,1fr); gap:0; } }

/* Contact banner: allow the circular arrow to overlap its lower edge without clipping. */
.contact-hero { position: relative; overflow: visible; isolation: isolate; z-index: 1; }
.contact-scroll-arrow {
  position: absolute; left: 50%; bottom: -29px; z-index: 4;
  display: grid; place-items: center; width: 58px; height: 58px;
  border: 4px solid var(--cream); border-radius: 50%;
  background: var(--deep); color: #fffdf7;
  box-shadow: 0 6px 20px #173b3124;
  transform: translateX(-50%);
  transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.contact-scroll-arrow svg { display: block; animation: contact-arrow-bob 2.4s ease-in-out infinite; }
.contact-scroll-arrow:hover { background: var(--terracotta); transform: translate(-50%, -3px); box-shadow: 0 9px 24px #173b3130; }
.contact-scroll-arrow:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 3px; }
#contact-form-card { scroll-margin-top: 110px; }
@keyframes contact-arrow-bob { 0%,100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
@media (max-width:620px) { .contact-scroll-arrow { width: 52px; height: 52px; bottom: -26px; } #contact-form-card { scroll-margin-top: 90px; } }
@media (prefers-reduced-motion: reduce) { .contact-scroll-arrow svg { animation: none; } .contact-scroll-arrow { transition: none; } }



/* FIX 2026-11-02: Use an actual square clipping container, not img aspect ratio.
   Explicit width and height prevent intrinsic image dimensions becoming an oval. */
.hero-visual .porto-photo-circle {
  position: absolute;
  z-index: 1;
  width: min(82%, 505px);
  height: auto;
  aspect-ratio: 1 / 1;
  top: 11%;
  right: 5%;
  overflow: hidden;
  border: 12px solid #e9eee4;
  border-radius: 50%;
  background: #dce5dd;
  box-shadow: 0 20px 44px rgba(25, 55, 45, .16), 0 0 0 1px rgba(43, 78, 60, .09);
}
.hero-visual .porto-photo-circle > .porto-illustration {
  display: block;
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  right: auto;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: 57% center;
  box-shadow: none;
  filter: none;
}
@media (max-width: 850px) {
  .hero-visual .porto-photo-circle { width: min(84%, 455px); top: 6%; right: 8%; border-width: 10px; }
}
@media (max-width: 620px) {
  .hero-visual .porto-photo-circle { width: min(82%, 315px); top: 10%; right: 9%; border-width: 8px; }
}

/* Balanced breathing: visible, but without the oversized flashing ring. */
.top-note .note-dot {
  position: relative;
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  background: #efbb88;
  box-shadow: 0 0 0 3px rgba(239,187,136,.19);
  transform-origin: center;
  animation: olga-dot-soft-breathe 2.8s ease-in-out infinite;
  will-change: transform;
}
.top-note .note-dot::before {
  content: "";
  position: absolute;
  inset: -3px;
  border: 1px solid rgba(239,187,136,.55);
  border-radius: 50%;
  pointer-events: none;
  animation: olga-dot-soft-ring 2.8s ease-out infinite;
}
@keyframes olga-dot-soft-breathe {
  0%,100% { transform: scale(1); box-shadow: 0 0 0 3px rgba(239,187,136,.14); }
  45% { transform: scale(1.17); box-shadow: 0 0 0 4px rgba(239,187,136,.32); }
}
@keyframes olga-dot-soft-ring {
  0% { transform: scale(.9); opacity: .5; }
  70%,100% { transform: scale(1.75); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .top-note .note-dot, .top-note .note-dot::before { animation: none !important; will-change: auto; }
}


/* Homepage: split editorial services showcase (replaces package teaser cards). */
.my-services { background: #fffefa; border-top: 1px solid #eae9e1; border-bottom: 1px solid #eae9e1; }
.my-services-layout { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(35px, 6vw, 105px); align-items: center; }
.my-services-intro { padding: 10px 0; }
.my-services-intro .eyebrow { color: var(--terracotta); margin-bottom: 19px; }
.my-services-intro h2 { font-size: clamp(47px, 4.8vw, 74px); line-height: 1.08; margin: 0 0 28px; color: var(--deep); }
.my-services-intro p { max-width: 440px; color: var(--muted); font-size: 15px; line-height: 1.9; margin-bottom: 30px; }
.my-services-intro .text-link { color: var(--deep); }
.my-services-list { display: grid; gap: 16px; min-width: 0; }
.my-service-tile {
  position: relative; overflow: hidden; isolation: isolate;
  min-height: 144px; display: flex; align-items: center; gap: 24px;
  padding: 25px 27px; background: #f4f4ef;
  border: 1px solid #dedfd6; border-radius: 5px;
  box-shadow: 0 10px 30px rgba(22, 56, 47, .035);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background-color .28s ease;
}
.my-service-tile::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(148deg, transparent 27%, #ffffff84 27.2%, transparent 56%),
              linear-gradient(25deg, transparent 28%, #dce6db66 28.3%, transparent 61%),
              linear-gradient(155deg, transparent 48%, #f5e5d948 48.4%, transparent 85%);
  opacity: .85;
}
.my-service-tile::after {
  content: ""; position: absolute; height: 180px; width: 210px;
  transform: rotate(34deg); right: 13%; top: -98px;
  border: 1px solid #ffffffa8; border-radius: 0 0 45% 45%; z-index: -1;
  pointer-events: none;
}
.my-service-circle {
  flex: 0 0 52px; height: 52px; width: 52px; display: grid;
  place-items: center; border-radius: 50%; background: var(--deep);
  color: #fffaf1; font-family: var(--font-sans); font-size: 30px; line-height: 1;
  box-shadow: 0 4px 10px #173b311c;
  transition: transform .28s ease, background-color .28s ease;
}
.my-service-name {
  margin-left: auto; text-align: right; color: var(--terracotta);
  font-size: clamp(18px, 2vw, 28px); line-height: 1.12;
  font-weight: 700; letter-spacing: -.035em; text-transform: uppercase;
}
.my-service-index { position: absolute; top: 12px; right: 16px; font-size: 10px; font-weight: 700; letter-spacing: .14em; color: #a9b5a8; }
.my-service-tile:hover, .my-service-tile:focus-visible { transform: translateY(-3px); background: #f9f5ec; border-color: #c9d5c7; box-shadow: 0 17px 35px rgba(22, 56, 47, .11); }
.my-service-tile:hover .my-service-circle, .my-service-tile:focus-visible .my-service-circle { transform: rotate(45deg); background: var(--terracotta); }
.my-service-tile:active { transform: translateY(0); }
@media (max-width: 960px) {
  .my-services-layout { grid-template-columns: minmax(0,1fr); gap: 38px; }
  .my-services-intro h2 { margin-bottom: 17px; }
  .my-services-intro p { max-width: 710px; margin-bottom: 20px; }
  .my-services-list { max-width: 760px; width: 100%; }
}
@media (max-width: 620px) {
  .my-service-tile { min-height: 110px; padding: 20px 17px; gap: 15px; }
  .my-service-circle { flex-basis: 42px; height: 42px; width: 42px; font-size: 25px; }
  .my-service-name { font-size: clamp(16px, 4.6vw, 22px); }
  .my-service-index { top: 8px; right: 10px; font-size: 9px; }
  .my-services-list { gap: 11px; }
  .my-services-intro p { font-size: 14px; line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) {
  .my-service-tile, .my-service-circle { transition: none !important; }
  .my-service-tile:hover, .my-service-tile:focus-visible { transform: none; }
}


/* Accessible expandable service descriptions — homepage only. */
.my-service-details {
  min-width: 0;
  border: 1px solid #dedfd6;
  border-radius: 7px;
  background: #fffdf7;
  box-shadow: 0 10px 30px rgba(22,56,47,.035);
  overflow: hidden;
  transition: box-shadow .25s ease, border-color .25s ease;
}
.my-service-details .my-service-tile {
  cursor: pointer;
  user-select: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  list-style: none;
  width: 100%;
}
.my-service-details summary::-webkit-details-marker { display: none; }
.my-service-details .my-service-tile::marker { content: ""; }
.my-service-details:hover,
.my-service-details:focus-within,
.my-service-details[open] {
  border-color: #bfcebe;
  box-shadow: 0 15px 34px rgba(22,56,47,.09);
}
.my-service-details .my-service-tile:hover,
.my-service-details .my-service-tile:focus-visible { box-shadow: none; transform: none; }
.my-service-details .my-service-tile:focus-visible { outline: 3px solid #cf8a6b; outline-offset: -3px; }
.my-service-details .my-service-circle {
  font-size: 29px;
  transition: transform .28s ease, background-color .28s ease;
}
.my-service-details .my-service-tile:hover .my-service-circle,
.my-service-details .my-service-tile:focus-visible .my-service-circle { transform: translateY(3px); }
.my-service-details[open] .my-service-circle { transform: rotate(180deg); background: var(--terracotta); }
.my-service-details[open] .my-service-tile:hover .my-service-circle { transform: rotate(180deg) translateY(3px); }
.my-service-panel {
  border-top: 1px solid #e1e7dc;
  background: #fffdf8;
  padding: 23px 28px 27px;
  /* Height is animated on <details> to move both columns naturally. */
}
.my-service-bullets { padding: 0; margin: 0; list-style: none; display: grid; gap: 14px; }
.my-service-bullets li {
  position: relative;
  padding-left: 23px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--deep);
}
.my-service-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 8px;
  height: 8px;
  border: 1.5px solid var(--terracotta);
  border-radius: 50%;
}
@keyframes olgaServicePanelIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width:620px) {
  .my-service-panel { padding: 19px 18px 23px; }
  .my-service-bullets { gap: 12px; }
  .my-service-bullets li { font-size: 13px; line-height: 1.55; }
}
@media (prefers-reduced-motion: reduce) {
  .my-service-panel { animation: none !important; }
  .my-service-details, .my-service-details .my-service-circle { transition: none !important; }
}

/* Short descriptions within the expanded My Services cards. */
.my-service-description {
  margin: 0 0 20px;
  padding: 0 0 18px;
  border-bottom: 1px solid #e8e6db;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
@media (max-width: 620px) {
  .my-service-description { font-size: 13px; margin-bottom: 17px; padding-bottom: 15px; }
}


/* 2026-11-02: Key Features + accessibility-aware motion refinements. */
.key-features {
  position: relative;
  background: #fbf6ed;
  border-top: 1px solid #eee9df;
  border-bottom: 1px solid #e8e4d9;
  overflow: clip;
}
.key-features-heading {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,.85fr);
  gap: 18px 7%;
  align-items: end;
  margin-bottom: clamp(34px,5vw,60px);
}
.key-features-heading .eyebrow { grid-column: 1 / -1; color: var(--terracotta); margin: 0; }
.key-features-heading h2 { font-size: clamp(42px,4.4vw,66px); line-height: 1.08; color: var(--deep); margin: 0; max-width: 640px; }
.key-features-heading h2 em { color: var(--terracotta); }
.key-features-heading p { color: var(--muted); font-size: 15px; line-height: 1.9; margin: 0; max-width: 450px; }
.key-features-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.key-feature {
  position: relative;
  min-width: 0;
  border: 1px solid #e4e0d5;
  border-radius: 10px;
  background: #fffdf8;
  padding: 28px 20px 26px;
  box-shadow: 0 9px 26px rgba(26,63,50,.035);
  transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease;
}
.key-feature-icon {
  display: flex; align-items: center; justify-content: center;
  width: 59px; height: 59px; border-radius: 17px;
  background: #f6e9db; color: var(--terracotta);
  margin-bottom: 28px;
  transition: transform .32s cubic-bezier(.2,.7,.2,1), background-color .28s ease;
}
.key-feature-icon svg { width: 33px; height: 33px; }
.key-feature-number { position: absolute; top: 29px; right: 20px; font-size: 10px; font-weight: 700; letter-spacing: .16em; color: #9aaa9c; }
.key-feature h3 { font-size: clamp(16px,1.35vw,19px); line-height: 1.3; font-weight: 700; color: var(--deep); margin: 0 0 14px; }
.key-feature p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 0; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .key-feature:hover { transform: translateY(-5px); border-color: #c5d5c7; box-shadow: 0 20px 37px rgba(26,63,50,.1); }
  .key-feature:hover .key-feature-icon { transform: rotate(-7deg) scale(1.07); background: #f3e2d2; }
}
@media(max-width: 1100px) {
  .key-features-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width: 760px) {
  .key-features-heading { grid-template-columns: 1fr; gap: 14px; }
  .key-features-heading .eyebrow { grid-column: auto; }
  .key-features-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 480px) {
  .key-features-grid { grid-template-columns: 1fr; gap: 12px; }
  .key-feature { padding: 23px 22px; }
  .key-feature-icon { margin-bottom: 18px; }
  .key-feature h3 { font-size: 20px; }
  .key-features-heading h2 { font-size: clamp(38px,10vw,53px); }
}

/* The FAQ stays accessible with native <details>; JS animates the measured height. */
.faqs details { overflow: visible; }
.faqs summary { transition: color .24s ease, padding .24s ease; }
.faqs summary:hover { color: var(--terracotta); }
.faqs summary:focus-visible { outline: 2px solid var(--terracotta); outline-offset: -4px; border-radius: 5px; }
.faqs summary span { flex-shrink: 0; transition: transform .28s ease, background-color .28s ease, color .28s ease; }
.faqs details[open] summary span { background: var(--deep); color: white; border-color: var(--deep); }
.faqs .faq-answer { overflow: hidden; }
.faqs .faq-answer p { margin: 0; padding: 0 45px 25px 0; line-height: 1.82; }
@media (prefers-reduced-motion: no-preference) {
  .faqs details[open] .faq-answer { animation: olga-faq-fade-in .36s ease both; }
  @keyframes olga-faq-fade-in { from { opacity: .55; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
  .olga-motion-pending { opacity: 0; translate: 0 17px; transition: opacity .65s ease, translate .65s cubic-bezier(.18,.8,.25,1); transition-delay: var(--olga-motion-delay,0ms); }
  .olga-motion-pending.olga-motion-visible { opacity: 1; translate: 0 0; }
  .footer-cta .button:hover { transform: translateY(-3px); }
  .navigation a:not(.nav-cta) { transition: color .22s ease; }
  .navigation a:not(.nav-cta):hover { color: var(--terracotta); }
}
@media (prefers-reduced-motion: reduce) {
  .key-feature, .key-feature-icon, .faqs summary, .faqs summary span { transition: none !important; }
  .olga-motion-pending { opacity: 1 !important; translate: none !important; }
  .faqs details[open] .faq-answer { animation: none !important; }
}

/* Keep the method section within the mobile viewport (pre-existing grid min-content issue). */
@media (max-width: 850px) {
  .method-grid { grid-template-columns: minmax(0,1fr); }
  .method-grid > *, .method-art-wrap, .method-copy { min-width: 0; max-width: 100%; width: 100%; }
  .method-art-wrap > img { display: block; max-width: 100%; height: auto; }
  .method-stamp { right: 0; }
}

/* Gentle first-visit introduction, intentionally limited to the hero. */
@media (prefers-reduced-motion: no-preference) {
  .hero-copy { animation: olga-page-entrance .68s cubic-bezier(.2,.75,.2,1) both; }
  .hero-visual { animation: olga-page-entrance .85s cubic-bezier(.2,.75,.2,1) .1s both; }
  .page-hero-grid > div:first-child { animation: olga-page-entrance .7s cubic-bezier(.2,.75,.2,1) both; }
  @keyframes olga-page-entrance {
    from { opacity: .25; translate: 0 14px; }
    to { opacity: 1; translate: 0 0; }
  }
}

/* Decorative numbering removed: maintain balanced layouts without counters. */
.method-steps > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
.package-card-top { justify-content: flex-end; }
.values-grid .value-icon { margin-top: 0; }


/* Olga Santos — trust, online-only, testimonials, and privacy (2026-11-02) */
.olga-online-badge{display:inline-flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 26px;padding:10px 16px;border:1px solid #b6c8b8;background:#e9f0e7;border-radius:100px;color:#234b40;font-size:11px;letter-spacing:.09em;line-height:1.35;max-width:100%;box-shadow:0 6px 20px #21483b0a}
.olga-online-badge-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#254e40;color:#fff9ec;font-size:12px;flex:none}
.olga-online-badge strong{font-size:11px;letter-spacing:.11em;font-weight:750}
.olga-online-badge-caption{color:#5c7467;font-weight:500;letter-spacing:0;font-size:12px}
.olga-online-badge-packages{margin:25px 0 0}
.olga-testimonials{background:#f6f3eb;position:relative;overflow:hidden}
.olga-testimonials-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:35px}
.olga-testimonials-head h2{font-size:clamp(44px,4.9vw,70px);line-height:1.05;margin:5px 0 0;color:#234b40}
.olga-testimonials-head h2 em{color:var(--terracotta)}
.olga-testimonials-head > p{max-width:405px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 5px}
.olga-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.olga-testimonial-card{background:#fffdf7;border:1px solid #dfe4d7;border-radius:10px;padding:28px 27px 22px;min-width:0;display:flex;flex-direction:column;min-height:320px;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.olga-testimonial-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #1d40351a;border-color:#b9ccba}
.olga-testimonial-icon{font-family:Georgia,serif;color:#c97757;font-size:76px;line-height:.75;height:57px}
.olga-testimonial-label{font-size:10px;font-weight:700;letter-spacing:.15em;color:#a75f47}
.olga-testimonial-lines{display:grid;gap:10px;margin:24px 0 15px}
.olga-testimonial-lines span{display:block;border-radius:100px;height:8px;background:#e8ece3;width:100%}
.olga-testimonial-lines span:nth-child(2){width:87%}
.olga-testimonial-lines span:nth-child(3){width:63%}
.olga-testimonial-card p{color:#61766c;font-size:13px;line-height:1.7;margin:0 0 23px}
.olga-testimonial-footer{border-top:1px solid #dfe4d7;padding-top:15px;margin-top:auto;display:flex;align-items:center;gap:11px;color:#527265;font-size:12px;font-weight:650}
.olga-testimonial-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e7eddf;color:#c77655;font-size:20px;flex:none}
.olga-footer-privacy{color:#d5e2d8;text-decoration:underline;text-underline-offset:4px;font-size:11px}
.olga-footer-privacy:hover{color:#fff9ec}
.olga-form-data-note{font-size:12px;color:#60776b;line-height:1.65;margin:22px 0 0;max-width:620px}
.olga-form-data-note a{color:#234b40;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.olga-privacy-hero{background:#f1e3d9;padding:105px 0 100px}
.olga-privacy-hero h1{font-size:clamp(57px,6.3vw,86px);line-height:1.04;color:#234b40;margin:0 0 24px}
.olga-privacy-hero h1 em{color:#c97656}
.olga-privacy-hero p{max-width:680px;font-size:17px;line-height:1.85;color:#5b7368}
.olga-privacy-main{background:var(--cream)}
.olga-privacy-layout{display:grid;grid-template-columns:1fr 2fr;gap:10%;align-items:start}
.olga-privacy-sidebar{position:sticky;top:125px}
.olga-privacy-sidebar h2{font-size:39px;color:#234b40;margin:0 0 12px}
.olga-privacy-sidebar p{color:#60776b;line-height:1.8}
.olga-privacy-content{max-width:760px;color:#4f675d;font-size:15px;line-height:1.85}
.olga-privacy-content h2{font-size:29px;line-height:1.3;margin:31px 0 9px;color:#234b40}
.olga-privacy-content a{text-decoration:underline;text-underline-offset:3px;color:#aa664d}
.olga-privacy-content p{margin:0 0 11px}
.olga-privacy-draft{background:#f6ece3;border-left:4px solid #c97656;padding:19px 22px;font-size:13px;line-height:1.75;color:#714a3b}
.olga-privacy-draft strong{display:block;color:#673a2c;margin-bottom:5px}
.olga-privacy-updated{border-top:1px solid #d9dfd5;padding-top:21px;margin-top:35px!important;font-size:12px}
@media(max-width:900px){.olga-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.olga-testimonial-card:last-child{grid-column:1/-1}.olga-privacy-layout{gap:6%}}
@media(max-width:680px){.olga-online-badge{gap:6px;padding:9px 12px;margin-bottom:20px}.olga-online-badge-caption{font-size:11px}.olga-testimonials-head{display:block}.olga-testimonials-head > p{margin-top:20px}.olga-testimonial-grid{grid-template-columns:1fr}.olga-testimonial-card:last-child{grid-column:auto}.olga-testimonial-card{min-height:285px;padding:24px}.olga-privacy-hero{padding:65px 0}.olga-privacy-layout{grid-template-columns:1fr;gap:35px}.olga-privacy-sidebar{position:static}.olga-privacy-content h2{font-size:25px}.olga-footer-privacy{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.olga-testimonial-card{transition:none}.olga-testimonial-card:hover{transform:none}}

/* Footer legal navigation — Privacy Notice / Terms & Conditions */
.olga-footer-legal-links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px 24px}.olga-footer-legal-links a[aria-current="page"]{color:#fff9ec;text-decoration-thickness:2px}@media(max-width:680px){.olga-footer-legal-links{gap:12px 20px}}

/* Legal links should remain visible in the compact footer. */
.footer-bottom{justify-content:space-between;align-items:center;flex-wrap:wrap}
.footer-bottom>.olga-footer-legal-links{display:inline-flex;align-items:center;gap:12px 24px;flex-wrap:wrap}
.footer-bottom>.olga-footer-legal-links a{color:#d8e3d9;text-decoration:none;transition:color .2s ease}
.footer-bottom>.olga-footer-legal-links a:hover,.footer-bottom>.olga-footer-legal-links a:focus-visible{color:#fffaf0;text-decoration:underline;text-underline-offset:4px}
@media(max-width:620px){.footer-bottom{align-items:flex-start;gap:12px}.footer-bottom>.olga-footer-legal-links{gap:10px 18px}}

/* OS-independent SVG icons and snowfall (mobile consistency fix 2026-11-03). */
.olga-symbol { display:inline-block; width:1em; height:1em; vertical-align:-.13em; flex-shrink:0; overflow:visible; stroke:currentColor; fill:none; pointer-events:none; }
.my-service-circle .olga-symbol, .package-symbol .olga-symbol, .value-icon .olga-symbol, .package-help-icon .olga-symbol {display:block; margin:auto; }
.kicker-icon .olga-symbol, .olga-online-badge-icon .olga-symbol { width:1em; height:1em; vertical-align:middle; }
.postcard-star .olga-symbol, .small-sun .olga-symbol, .about-art-flower .olga-symbol, .peek-flower .olga-symbol {display:block; }
.button .olga-symbol, .nav-cta .olga-symbol, .text-link .olga-symbol, .package-action .olga-symbol {height:1.1em;width:1.1em;vertical-align:-.12em; }
.my-service-circle .olga-symbol {width:29px;height:29px;}
.my-service-details[open] .my-service-circle .olga-symbol {transform:none;}
@media(max-width:620px){.my-service-circle .olga-symbol {width:24px;height:24px;}.olga-snowflake svg {filter:none;}}
/* Keep flakes icy blue on all devices, independently of system theme / emoji fonts. */
.olga-snowflake {font-family:Arial,sans-serif;color:#8bb8d7!important;}
.olga-snowflake svg {fill:none;stroke:currentColor;}

/* Prevent the About Me illustration's intrinsic dimensions from widening mobile pages. */
@media (max-width:850px) {
 .about-photo-grid { grid-template-columns:minmax(0,1fr); }
 .about-photo-grid > * { min-width:0; max-width:100%; }
 .about-photo-frame { width:100%; }
 .about-photo-frame img { display:block; width:100%; max-width:100%; height:auto; }
}


/* Olga Santos: shared cookie notice + fixed-domain sharing control. */
.olga-cookie-notice {
  position: fixed;
  left: clamp(16px, 2.5vw, 34px);
  bottom: clamp(16px, 2.5vw, 30px);
  z-index: 190;
  width: min(410px, calc(100vw - 32px));
  padding: 25px 26px 23px;
  border-radius: 14px;
  border: 1px solid #d1dbcd;
  background: #fffaf0;
  color: #173b31;
  box-shadow: 0 16px 50px rgba(23,59,49,.19), 0 2px 8px rgba(23,59,49,.08);
  font-family: var(--font-sans, sans-serif);
  text-align: left;
  animation: olga-cookie-appear .38s cubic-bezier(.2,.85,.2,1) both;
}
.olga-cookie-eyebrow {
  display: block;
  color: #c76f50;
  letter-spacing: .17em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 750;
  margin-bottom: 7px;
}
.olga-cookie-notice h2 {
  color: #173b31;
  font-family: var(--font-display, Georgia, serif);
  font-weight: 500;
  font-size: 27px;
  letter-spacing: -.04em;
  margin: 0 0 8px;
}
.olga-cookie-notice p { font-size: 13px; line-height: 1.65; color: #4f6961; margin: 0 0 16px; }
.olga-cookie-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.olga-cookie-privacy { font-weight: 650; color: #234b40; text-decoration: underline; text-underline-offset: 4px; font-size: 12px; }
.olga-cookie-privacy:hover { color: #c76f50; }
.olga-cookie-accept {
  color: #fffaf0; background: #234b40; border: 1px solid #234b40;
  padding: 10px 21px; border-radius: 6px; font-size: 12px;
  font-weight: 700; min-height: 42px; transition: background .2s, transform .2s;
}
.olga-cookie-accept:hover { background: #326551; transform: translateY(-2px); }
.olga-cookie-notice.olga-cookie-exit { opacity: 0; transform: translateY(9px); transition: opacity .24s, transform .24s; pointer-events: none; }
@keyframes olga-cookie-appear { from {opacity:0; transform:translateY(14px)} to {opacity:1;transform:translateY(0)} }
.olga-social-rail {
  position: fixed;
  top: 50%;
  right: clamp(12px, 1.7vw, 28px);
  transform: translateY(-50%);
  z-index: 91;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 4px 0;
}
.olga-social-link {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  border-radius: 50%;
  border: 1.5px solid #f6f3e8;
  background: #173b31;
  color: #fffaf0;
  box-shadow: 0 5px 15px #173b3135;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.olga-social-link:hover {
  color: #fffaf0;
  background: #c77352;
  transform: translateX(-3px) scale(1.035);
  box-shadow: 0 8px 19px #173b3140;
}
.olga-social-link:focus-visible {
  outline: 3px solid #c77352;
  outline-offset: 3px;
}
.olga-social-link svg {
  display: block;
  width: 24px;
  height: 24px;
}
@media (max-width:620px) {
  .olga-cookie-notice { left: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 20px 19px; width: calc(100vw - 32px); }
  .olga-cookie-notice h2 { font-size: 24px; }
  .olga-cookie-notice p { font-size: 12px; }
  .olga-social-rail { right: 7px; gap: 9px; }
  .olga-social-link { width: 40px; height: 40px; }
  .olga-social-link svg { width: 22px; height: 22px; }
  body.olga-cookie-open .olga-social-rail,
  body.olga-cookie-open .whatsapp-float { visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion:reduce) {
  .olga-cookie-notice { animation: none; }
  .olga-cookie-notice.olga-cookie-exit, .olga-social-link, .olga-cookie-accept { transition: none; }
  .olga-social-link:hover { transform: none; }
}
