@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--navy:#101e2c;--gold:#c6ab7d;--cream:#f6f3ed;--ink:#182b37;--muted:#687078;--line:#dedbd4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fcfbf8;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #ad8b50;outline-offset:5px}header{height:100px;display:flex;align-items:center;gap:35px;padding:0 5%;border-bottom:1px solid var(--line);background:#fcfbf8;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:15px;font-size:12px;font-weight:700;letter-spacing:1.7px;line-height:1.4;white-space:nowrap}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:3px;margin-top:6px}.monogram{font-family:Georgia,serif;font-size:32px;color:#ac8c51;letter-spacing:-9px;padding-right:8px}.monogram span{position:relative;top:7px}nav{display:flex;gap:25px;margin-left:auto;font-size:12px}nav a:hover,.quiet:hover{color:#9c7a3f}.button{border:1px solid var(--gold);background:var(--gold);color:var(--navy);display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 24px;font-weight:600;font-size:12px;cursor:pointer;line-height:1.5;transition:.2s}.button:hover{background:#dec79f;transform:translateY(-2px)}.button.small{padding:12px 18px;font-size:11px}.button.outline{background:transparent;color:inherit;border-color:#b9a78a}.button.outline:hover{background:#c6ab7d33}.menu{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:690px;background:var(--navy);color:#fff}.hero-text{padding:72px 7% 35px 10%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;color:#9e8050;margin-bottom:25px}.hero .eyebrow{color:#cfb88d}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-1px;margin:0 0 25px}h1{font-size:clamp(50px,5.5vw,84px)}h2{font-size:clamp(35px,3.4vw,52px)}h3{font-size:27px;line-height:1.22;letter-spacing:-.4px}em{font-weight:400;color:var(--gold)}.hero p{color:#bfc6cb;font-size:16px;margin:5px 0 30px;line-height:1.85}.actions{display:flex;align-items:center;gap:30px}.quiet{font-size:12px}.quiet span{margin-left:15px}.hero-caption{display:flex;gap:24px;border-top:1px solid #ffffff20;margin-top:65px;padding-top:22px;font-size:8px;letter-spacing:1.5px;color:#aeb8bd}.hero-image{position:relative;overflow:hidden}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#081622c9,transparent 45%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:52% center;position:absolute}.portrait-label{position:absolute;z-index:2;bottom:36px;left:40px;right:40px;border-top:1px solid #ffffff50;padding-top:20px}.portrait-label>span{display:block;font-size:8px;letter-spacing:2px;color:#e4dac6}.portrait-label strong{font-family:Georgia,serif;font-size:25px;font-weight:400;display:flex;justify-content:space-between;margin-top:10px}.portrait-label em{font-size:22px}.strip{display:flex;justify-content:space-around;align-items:center;gap:20px;padding:25px 5%;font-size:9px;letter-spacing:1.8px;border-bottom:1px solid var(--line);background:#f2eee5}.strip i{color:#aa8953;font-size:15px}.wrap{max-width:1340px;width:90%;margin:auto}.section{padding:90px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:45px}.section-head h2{margin-bottom:0}.section-head>p{max-width:370px;color:var(--muted);margin:0 0 5px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:34px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:.2s}.service:hover{background:#f1ede5}.index{font-size:9px;letter-spacing:2px;color:#977e55;margin-bottom:30px}.service h3{font-size:26px;max-width:300px}.service p{font-size:13px;color:var(--muted);margin:0 0 25px;flex:1}.textlink{font-size:11px;font-weight:600;letter-spacing:.4px;display:flex;justify-content:space-between}.textlink b{font-size:19px;color:#a18350;font-weight:400}.about-band{background:var(--navy);color:#f3f1eb;padding:90px 0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about-layout p{color:#bac3c9}.about-layout .large{font-size:21px;color:#ece9e1;margin-top:0;line-height:1.7}.editorial{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);gap:70px;align-items:center}.editorial>div:last-child{padding:40px 60px 40px 0}.editorial-art{padding:55px;color:#eee7d8;background:radial-gradient(ellipse at 80% 20%,#53655a,#23392f 65%);min-height:380px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.editorial-art:after{content:'✦';font-size:330px;line-height:1;position:absolute;right:-40px;top:20px;color:#c6ab7d22}.editorial-art span{letter-spacing:7px;font-size:10px}.editorial-art strong{font-family:Georgia,serif;font-size:50px;font-weight:400;line-height:1.1;z-index:1}.editorial-art small{font-size:8px;letter-spacing:2px}.editorial p{color:var(--muted)}.light{background:#f2eee6}.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:40px 0 25px}.price{border:1px solid #d6cdbd;padding:28px 24px;display:flex;flex-direction:column}.price.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.price h3{font-size:25px;min-height:65px;margin-bottom:20px}.price .eyebrow{font-size:8px}.amount{font-family:Georgia,serif;font-size:40px}.amount small{font:10px 'DM Sans',Arial,sans-serif;letter-spacing:1px}.price ul{padding:20px 0 20px 17px;font-size:12px;line-height:1.9;flex:1;min-height:165px}.price li{padding-left:3px;margin-bottom:8px}.price li::marker{color:#b69560}.price .button{padding:13px 14px;gap:10px}.note{font-size:12px;color:var(--muted);line-height:1.7}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;display:flex;justify-content:space-between;font-size:16px;gap:20px;list-style:none}summary::-webkit-details-marker{display:none}summary span{color:#9e8050}details p{max-width:850px;color:var(--muted);font-size:14px}.cta{display:flex;align-items:center;justify-content:space-between;padding:55px;border-top:1px solid #c9b792;border-bottom:1px solid #c9b792;margin-bottom:80px;gap:40px}.cta h2{font-size:40px}.cta p{margin-bottom:0;color:var(--muted)}footer{background:var(--navy);color:#d8dce0;padding:65px 5% 25px;font-size:12px}.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px}.footgrid h4{font-size:10px;color:#cbb48b;font-weight:500;letter-spacing:1.5px;margin-top:0}.footgrid a{display:block;margin:9px 0;color:#b1bcc5}.footgrid p{color:#94a1aa}.footbottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff20;padding-top:20px;margin-top:40px;font-size:10px;color:#8f9eaa}.whatsapp{position:fixed;bottom:23px;right:24px;z-index:20;border:1px solid #7eaf91;background:#244e3c;color:#fff;padding:12px 20px;border-radius:30px;font-size:12px;box-shadow:0 3px 20px #0002}.pageintro{background:var(--navy);color:#fff;padding:70px 0}.pageintro h1{font-size:clamp(43px,5vw,68px);max-width:1100px}.pageintro p{color:#b9c3cb;max-width:700px;font-size:16px;margin-bottom:0}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:80px;padding:70px 0}.article-layout article{max-width:850px}.article-layout article h2{font-size:32px;margin-top:42px}.article-layout article h2:first-child{margin-top:0}.article-layout article p{color:#53616a}.article-layout article li{margin:12px 0}.sidebox{background:var(--cream);border:1px solid var(--line);padding:30px;align-self:start;position:sticky;top:30px}.sidebox .button{width:100%;gap:12px}.sidebox p{font-size:13px;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:25px 0}.aboutphoto{width:100%;max-height:600px;object-fit:cover}.esoprice{font-family:Georgia,serif;font-size:30px;margin-bottom:20px}.esoprice small{font-family:Arial;font-size:10px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:40px 0 70px}.steps b{color:#b0925d;font-family:Georgia,serif;font-size:40px;font-weight:400}.steps h3{margin:20px 0 10px}.steps p{color:var(--muted)}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contactgrid h3{margin-top:30px}.contactgrid h3:first-child{margin-top:0}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}blockquote{margin:0;padding:35px;background:var(--cream);font:24px/1.6 Georgia,serif}cite{display:block;font:11px/1.7 'DM Sans',Arial;margin-top:25px;color:#8b7351}.prose{max-width:850px}.prose h2{font-size:32px;margin-top:30px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px}form .eyebrow{margin:40px 0 20px}form .eyebrow:first-child{margin-top:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:500;margin-bottom:18px}input,select,textarea{display:block;width:100%;border:1px solid #c9c9c0;background:white;padding:13px 12px;margin-top:8px;border-radius:0;color:var(--ink);font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid #c6ab7d;outline-offset:2px}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.check input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.check a{text-decoration:underline}#estimate{background:#e8e1d4;padding:15px;font-size:13px}dialog{width:min(700px,92vw);padding:40px;border:1px solid #c6ab7d;background:#fcfbf8;max-height:90vh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#101e2cbb}dialog h2{font-size:34px}pre{white-space:pre-wrap;word-break:break-word;background:#f1ede5;padding:20px;font:13px/1.7 'DM Sans',Arial}button.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:28px;cursor:pointer}.copy{padding:14px 20px;background:none;border:1px solid #a2947d;margin-top:12px;cursor:pointer}.menu{background:none;border:0;font-size:24px}#copy-status{font-size:12px}
@media(min-width:1600px){.hero{min-height:780px}.hero-text{padding-left:15%}}
@media(max-width:1100px){header{gap:15px;padding:0 4%}nav{gap:14px}.brand{font-size:10px}.hero{min-height:620px}.hero-text{padding:50px 8%}.hero-caption{flex-direction:column;gap:7px}.pricing{grid-template-columns:repeat(2,1fr)}.price h3{min-height:0}.price ul{min-height:130px}.article-layout,.form-layout{gap:35px;grid-template-columns:minmax(0,1fr) 290px}.editorial{gap:35px}.editorial>div:last-child{padding-right:30px}.about-layout{gap:50px}}
@media(max-width:760px){header{height:80px;justify-content:space-between;flex-wrap:wrap}.brand{font-size:10px;letter-spacing:1px}.brand small{font-size:7px}.monogram{font-size:27px}.menu{display:block;margin-left:auto}header>.button{display:none}nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fcfbf8;padding:20px 6%;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:20px;font-size:14px}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-text{padding:45px 6% 35px}.hero h1{font-size:61px}.hero p{font-size:15px}.hero-caption{margin-top:35px;flex-direction:row;gap:20px;font-size:7px}.hero-image{height:480px}.hero-image img{object-position:center 30%}.portrait-label{left:24px;right:24px;bottom:25px}.strip{flex-wrap:wrap;padding:20px 5%;gap:12px;font-size:7px}.strip i:nth-of-type(2){display:none}.strip span{width:42%;text-align:center}.wrap{width:88%}.section{padding:55px 0}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px}.services-grid{grid-template-columns:1fr}.service{padding:25px}.service h3{max-width:none}.index{margin-bottom:15px}.service p{margin-bottom:20px}.about-layout,.editorial,.contactgrid,.article-layout,.form-layout{grid-template-columns:1fr;gap:30px}.about-band{padding:55px 0}.editorial>div:last-child{padding:0 28px 35px}.editorial-art{min-height:300px;padding:35px}.pricing{grid-template-columns:1fr}.price{padding:30px}.price ul{min-height:0}.price h3{margin-bottom:10px}.cta{display:block;padding:30px 0;margin-bottom:50px}.cta h2{font-size:34px}.cta .button{margin-top:25px}.footgrid{grid-template-columns:1fr 1fr;gap:25px}.footgrid>div:first-child{grid-column:1/-1}.footgrid>div:last-child{grid-column:1/-1}.footbottom{display:block;padding-bottom:45px}.footbottom span{display:block;margin-bottom:8px}.pageintro{padding:50px 0}.pageintro h1{font-size:46px}.article-layout{padding:45px 0}.sidebox{position:static}.form-layout aside{grid-row:1}.form-layout aside h3,.form-layout aside>p,.form-layout aside hr{display:none}.form-layout aside .eyebrow{margin-bottom:10px}.steps{grid-template-columns:1fr 1fr;gap:25px}.quotes{grid-template-columns:1fr}.fields{grid-template-columns:1fr;gap:0}dialog{padding:28px 20px}.whatsapp{right:14px;bottom:14px;padding:10px 17px}.actions{gap:22px}.hero-caption span{line-height:1.7}.contactgrid .sidebox h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Desktop: use available page width and remove editorial line breaks. */
@media (min-width:1024px){
 .wrap{max-width:none;width:90%}
 .pageintro h1,.pageintro p,.service h3,.article-layout article,.prose,details p{max-width:none}
 .pageintro h1{font-size:clamp(36px,4.2vw,68px)}
 .pageintro h1 br,.section-head h2 br,.cta h2 br{display:none}
 .section-head{display:block}
 .section-head>p{max-width:none;margin-top:22px}
 .section-head>.textlink{margin-top:22px;justify-content:flex-start;gap:12px}
 .service h3{font-size:clamp(21px,1.8vw,27px)}
 .article-layout{grid-template-columns:minmax(0,1fr) 330px}
 .prose{width:90%}
}
/* Individual premium service panels */
.services-grid{border:0;gap:24px;align-items:stretch}.service{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d6c9b2;background:linear-gradient(145deg,#fffefb,#f2ede3);padding:34px;min-height:310px;box-shadow:0 10px 30px #172b3808;border-radius:8px;transition:transform .25s,box-shadow .25s,border-color .25s}.service:before{content:'';position:absolute;left:34px;right:34px;top:0;height:3px;background:linear-gradient(90deg,#b89558,#e5d4af)}.service:after{content:'✦';position:absolute;right:28px;top:23px;font:36px Georgia,serif;color:#b5945a55;z-index:-1}.service .index{width:max-content;min-width:40px;padding:6px 10px;background:#e9deca;color:#79623e;border:1px solid #d8c39e;border-radius:4px;margin-bottom:27px;font-size:10px}.service h3{font-size:clamp(23px,1.85vw,30px);line-height:1.23;max-width:none;margin-bottom:18px}.service p{font-size:14px;line-height:1.8;color:#65717a}.service .textlink{border-top:1px solid #d9cebd;padding-top:18px;margin-top:14px;align-items:center}.service .textlink b{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #c4ad83;border-radius:50%;background:#ffffff88}.service:hover{transform:translateY(-5px);border-color:#b59359;box-shadow:0 18px 35px #172b3814;background:linear-gradient(145deg,#fffefb,#eee5d5)}.service:focus-visible{outline:3px solid #b59359;outline-offset:4px}.service:nth-child(3n+2){background:linear-gradient(145deg,#192d3c,#10202e);border-color:#36505f;color:#f7f1e6}.service:nth-child(3n+2) p{color:#bcc8cc}.service:nth-child(3n+2) .index{background:#c6ab7d1c;color:#dfc89e;border-color:#c6ab7d55}.service:nth-child(3n+2) .textlink{border-color:#c6ab7d44}.service:nth-child(3n+2) .textlink b{background:#c6ab7d14;color:#dfc89e}.service:nth-child(3n+2):hover{background:linear-gradient(145deg,#223b4c,#122636)}
@media(max-width:760px){.services-grid{gap:18px}.service{min-height:0;padding:27px}.service h3{font-size:27px}.service:before{left:27px;right:27px}}

.service-photo{padding:0!important;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr auto;gap:0;min-height:0}.service-photo:before,.service-photo:after{display:none}.service-photo .service-cover{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-bottom:3px solid #c6ab7d}.service-photo .index{margin:25px 28px 18px}.service-photo h3{font-weight:700;margin:0 28px 16px;font-size:clamp(23px,1.8vw,29px);line-height:1.25}.service-photo p{margin:0 28px 22px}.service-photo .textlink{margin:0 28px 25px}.service-photo:hover .service-cover{filter:brightness(1.04)}
/* Keep intrinsic image width from expanding service grid tracks. */
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}.services-grid>.service{min-width:0;max-width:100%}.service-photo{grid-template-columns:minmax(0,1fr)}.service-photo>*{min-width:0}.service-photo .service-cover{min-width:0;max-width:100%;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;overflow:hidden}.service-photo h3{font-weight:700}
@media(max-width:760px){.services-grid{grid-template-columns:minmax(0,1fr)}}
/* Consistent light service panels. */
.service:nth-child(3n+2),.service:nth-child(3n+2):hover{background:linear-gradient(145deg,#fffefb,#f2ede3);color:var(--ink);border-color:#d6c9b2}.service:nth-child(3n+2) p{color:#65717a}.service:nth-child(3n+2) .index{background:#e9deca;color:#79623e;border-color:#d8c39e}.service:nth-child(3n+2) .textlink{border-color:#d9cebd}.service:nth-child(3n+2) .textlink b{background:#ffffff88;color:#a18350}

/* GN: G up, N down, then both separate and reunite at a gentle pace. */
.monogram{display:inline-block;white-space:nowrap;--gn-travel:12px}
.monogram .gn-letter{display:inline-block;position:relative;opacity:1;animation-duration:9.6s;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-fill-mode:both;animation-iteration-count:1;animation-delay:0s}
.monogram .gn-g{top:0;animation-name:gn-cross-g}
.monogram .gn-n{top:7px;animation-name:gn-cross-n}
@keyframes gn-cross-g{0%{transform:translate(0,0)}16.6667%{transform:translate(0,calc(-1 * var(--gn-travel)))}33.3333%,66.6667%{transform:translate(0,0)}83.3333%{transform:translate(calc(-1 * var(--gn-travel)),0)}100%{transform:translate(0,0)}}
@keyframes gn-cross-n{0%,33.3333%{transform:translate(0,0)}50%{transform:translate(0,var(--gn-travel))}66.6667%{transform:translate(0,0)}83.3333%{transform:translate(var(--gn-travel),0)}100%{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.monogram .gn-letter{animation:none;transform:none;opacity:1}}
